Różnice między C++, a Phython'em?

Why? Wszystkie trzy są od C++ nowsze i operują w wyższej warstwie abstrakcji. Napisany w nich program często będzie działał wolniej, jednak kod prawdopodobnie będzie przyrastał dużo szybciej i mniej problemowo. IMO każdy z nich lepiej od C++ nada się do prostej aplikacji bazodanowej (dodawanie, usuwanie, tworzenie raportów), gdzie ułamek sekundy w tę czy w tę nikogo nie zbawi. Także spośród tej trójki - program w każdym z tych języków będzie działał równie dobrze, o ile tylko programista odpowiednio dobrze zna dane narzecze. Droga Jednego Najlepszego Języka to według mnie domena… cóż, świeżo nawróconych, fanatycznych neofitów.

Moim zdaniem szybkość wykonania danej operacji przez program nie ma już takiego znaczenia w obecnych czasach. Zazwyczaj wszystko działa względnie szybko, ile można zyskać pisząc w C++? 0.3 sekundy? Według mnie to są nieznaczne różnice, które użytkownikowi nie robią zbytnio różnicy. Także zostałbym przy zdaniu nie ważne w czym, ważne żebyś to dobrze robił.

Chyba każdy woli dostawać prezenty niż żreć jajka.

Hmm… Jak w Javie utworzyć tablicę generyczną? A jak to się robi w C#? :wink:

Dokumentacja tej funkcji jest bardzo wtfowa: http://docs.oracle.com/javase/6/docs/ap … oArray%28T[]%29

Podobnie jak takie komunikaty kompilatora:

Java jako język (nie platforma) jest kulejąca, brak w niej wielu mechanizmów, które są w C# (a także w wielu innych językach): właściwości, zdarzeń, przeładowania operatorów, nazywanych i opcjonalnych argumentów metod, żadnych cech programowania funkcjonalnego ani czegoś w rodzaju LINQ, wskaźników ani żadnych możliwości działania na stosie. Nic dziwnego, że coraz większą popularność zdobywa Scala, która jest jednak zgrabniejszym językiem niż ten Cobol z lat 90tych.

Jeżeli użytkownikiem jest fizyk/chemik/biolog/farmaceuta, który analizuje lub modeluje jakieś dane, i wykorzystuje w tym celu jakiekolwiek metody wymagające wielu obliczeń, to wydajność może mieć wielkie znaczenie.

Po pierwsze LINQ, dzięki czemu wygodnie, łatwiej, szybciej możemy operować na kolekcjach.

Po drugie jest językiem nowoczesnym, ma przejrzystą składnię. Wykorzystuje .NET co w połączeniu z WPF i DataBinding daje niesamowite możliwości.

Po za tym jest to język przyszłościowy, co pokazują liczne oferty pracy.

Posiada także świetne środowisko programistyczne.

I wiele, wiele innych zalet.

O, to prawda. Scala to kapitalnie zaprojektowany język. Początkowo wydaje się być skrajnie nieintuicyjna, ale dzięki świetnej książce autora języka (chyba jeden z lepszych i najjaśniej napisanych podręczników) szybko można przekonać się o pięknie i mocy drzemiącej w tej ‘nakładce na Javę’. To, co w Javie jest skomplikowane i wymaga niezłego nagimnastykowania się palców, w Scali często zamyka się w linijce. Do tego takie konstrukcje często zawierają w sobie podstawową optymalizację i działa podobnie szybko jak czysta Java (w skrajnych przypadkach szybciej).

Co prawda na razie istnieją u nas bardzo małe szanse na komercyjne wykorzystanie języka (a i wtedy jest skromnym dodatkiem do JEE), ale na świecie sprawa powoli toczy się naprzód. Dużym krokiem jest otwarcie się na Scalę nieźle rokującego frameworka Play 2 (i w ogóle platforma Typesafe Stack 2). O ile jeszcze chyba nie pora na pełne przestawianie się na Scalę jako główny język, to być może warto zapoznać się choćby z podstawowymi założeniami i od czasu do czasu rzucić okiem na newsy.

Zgadza się, to wszystko co wymieniłeś to naprawdę fajna sprawa. Jedno ale, to nie są cechy C# jako takiego, a .NET’a. Sam C# ma oczywiście wiele bajerów, których nie uświadczysz w Javie, ale ciężko na tej podstawie stwierdzić, że coś jest akurat X czy Y razy lepsze.

Nie twierdzę również, że Java jest w jakimkolwiek stopniu lepsza. Pisałem zarówno w C# jak i w Javie, dostrzegam pewne ograniczenia i braki Javy.

Jeżeli dokładniej przeczytasz mojego posta to napisałem wyraźnie że wykorzystuje .NET