Nie można tego problemu rozpatrywać ten język jest lepszy a ten gorszy. Osobiście ja lubię programować mikrokontrolery w ASM, nie lubię C, a lubię Javę i Delphi. Każdy język ma inne pozytywne cechy, każdy ma swe “różne różności” . Nie uczysz się języka, ale logicznego rozwiązywania problemów i myślenia programistycznego. Chyba, że lubisz się uczyć API na pamięć, bo nie ma nic innego do roboty ? Owszem należy poznać pewne podstawy danego języka, no ale ile można poznawać …
Polecam książkę wydawnictwa Microsoft Press “Kod doskonały” Wydanie II McConnel.
Wracając do meritum sprawy, chciałbym dodać że osoba która opanuje np Javę bez problemu może pisać pod C# poznając tylko wyróżniające się różnice. Ja jestem elektronik(chyba) i mieliśmy na pracowni do zaprogramowania skrzyżowanie w ASM kontrolowane przez 8051(model DSM-51) - nigdy nie pisałem nic w asm, do tego momentu, poznało się szybko język, lista instrukcji do łapy i w ciągu 2h skrzyżowanie stało, wraz z sygnalizacją dla niepełnosprawnych. Nie że się chwale, bo nie ma czym podaje tylko dowód że się da , znając tylko Delphi i Jave.
Nie rozumiem awantur który język lepszy. Każdy język jest tak dobry jak nasza umiejętność jego wyboru do konkretnych celów i nasze podejście do problemu. Naprawdę można napisać wydajny algorytm w VB, kiedy można go skopać w C++. W książce wymienionej wyżej przeze mnie znajdziemy mnóstwo takich przykładów które mogą wydawać się nawet niemożliwe, a jednak.
Jasne, że znając Javę i mając Google’a pod ręką, można z doskoku napisać coś w C# (i odwrotnie). Tyle że coś takiego sprawdza się przy małych i prostych aplikacyjkach (projekty szkolne ;)), a do tego C-sharpowiec napisałby coś takiego dużo szybciej + dzięki znajomości specyfiki języka i różnych kruczków program na bank działałby po prostu lepiej. W końcu nie pisze się ogłoszeń typu “Szukamy kogoś od programowania obiektowego. Język - nieważne, nauczy się w trakcie”, tylko szuka się specjalistów z w miarę wąskich dziedzin. Do dużych projektów .NET-owych nie dopuszcza się ludzi typu “Poradzę sobie, znam Javę”.
Oj, nie przesadzajmy. Powiedzmy, że główny projektant zmieszał to, co miał w Delphim, z Javą
I i ile rozwój Javy odbywa się głównie bocznymi furtkami, MS ciągle hołubi i dopieszcza swoje dziecko.
True, Gógle potrafi zrobić straszną dokumentację. Pamiętam, jak miałem na uczelniany projekt wyrzeźbić coś w GWT. Część zagadnień na oficjalnej stronie była wyjaśniona wręcz łopatologicznie, a reszta…
Ale na projekty uczelniane rzeźbiłem też w C# (nic wielkiego, ale jednak) i, prawdę mówiąc, nie miałem większych problemów ze znalezieniem potrzebnych informacji. MSDN + StackOverflow i pochodne + blogi. Kwestia jest taka, że kto danej technologii używa, ten wie, czego i jak szukać.
W C# są: typy liczbowe bez znaku, wbudowany decimal, typy wartościowe i nullowalne, właściwości, zdarzenia, można przeciążać operatory, definiować indeksery oraz jawne i niejawne konwersje typów, klasy częściowe i anonimowe, inicjalizatory obiektów i kolekcji, przekazywanie parametrów ref i out, argumenty nazwane i opcjonalne, metody rozszerzające i generatory, wbudowany, a nie doklejony system typów generycznych z nakładaniem ograniczeń na typy i konstruktory, zestaw mechanizmów funkcyjnych: wyrażenia lambda i drzewa wyrażeń, LINQ, tablice wielowymiarowe (nie mylić z tablicami tablic), wskaźniki z całą ich arytmetyką, typami natywnymi, alokacją stosu, itp.
Te rzeczy, których w Javie nie ma, wybitnie pokazują, jak nieudolną kopią Javy jest C#. :rotfl:
No faktycznie jest to jakiś brak w C#, z drugiej strony, jeśli ktoś nie pisze metod na tysiąc linijek kodu tylko góra 40 i stosuje TDD, to nie jest to jakiś wielki problem.
Oczywiście, że Ty nie miałeś. Tylko niepełnosprawny internetowo javowy fanboj może mieć problem ze znalezieniem w internecie dokumentacji innego niż Java języka. No, ale jak widać, i tacy się zdarzają.
Ludzie ja Was proszę - za chwile dojdzie do przepychanek pomiędzy fanatykami C# a Javy. To nie język jest ważny, ale umięjętność wyboru do konkretnych zadań oraz pracy z nim.
McConnel podał stwierdzenie, że nawet współczynnik inteligencji nie ma znaczenia, a osobowość programisty ma ! Sam jestem wyjątkowo tępą osobą ale staram się jak mogę bo to lubię
A też macie problem z wyborem, jak to ktoś tu napisał zależy co chcesz robić:
Strony internetowe - Php,html,css,js,SQL jakiś framework ze strony php i js, to jest minimum co trzeba umieć, można jeszcze dodać pythona i ruby
Aplikacje dla firm - Java,C#,Objective-C,C++,C
Gry - C++ i łączenie ich z jakimś językiem skryptowym, najlepiej LUA według mnie.
Android - Java i C++.
Nie chce mi się wymieniać wszystkiego bo to trochę dużo by pisać, kończyć studiów też nie trzeba by pracować w zawodzie wystarczy najpierw sprawdzić języki, który wygodniejszy i łatwiejszy, co w nim najlepiej jest robić i co chciałoby się robić, bo tak nauczysz się jakiegoś języka, będzie się umiało go perfect ale jak będziesz chciał robić tylko pod windowsa aplikacje a nie chcesz robić na iOS no to niestety będzie ci ciężko się do tego przyzwyczaić choć zależy jaką ma się cierpliwość. A jak komuś zależy tylko na kasie to w hakera się zabawić, po cichu zakraść się do banku i zmienić sobie kwotę na koncie wypłacić później z banku to wszystko, zlikwidować konto i wywalać za granicę gdzieś poza Europę XD.