Cytat(nasty_psycho @ 21.09.2006, 16:35:12 )

zachcialo mi sie nauczyc Javy ale sie bardzo rozczarowalem pomijajac kwestje wydajnosci, bo niema co porownywac, to zauwarzylem ze sun chce zeby programy pisane w javie by na chama doskonale, np. przez wymuszanie try catch albo throws, (jak cos zle mowie to prosze mnie poprawic, bo nie jestem javista

).
Co prawda akurat powszechna konieczność łapania wyjątków nie jest tak programmer-friendly, to o ile zamordyzm Javy na początku mnie nieco denerwował, to po pewnym czasie się go docenia. Kod staje się bardziej przejrzysty, przynajmniej na poziomie składni, mało jest domyślania się, o co autorowi chodziło. Oczywiście jak kod od strony logicznej jest tragicznie napisany, to żaden język mu nie pomoże.

[Jeśli chodzi o wyjątki, można korzystać z interceptorów i nie zaśmiecać właściwego kodu licznymi try/catch, zazwyczaj zresztą pustymi.]
Ogólnie rzecz biorąc Java i C# są do siebie bardzo podobne, ale do nauki początkowej, jeśli chce się dobrze programowanie poznać, lepsze są języki bliższe sprzętu, gdzie pewne rzeczy trzeba jednak ręcznie porobić. Jeśli jednak ktoś orientuje się w algorytmice, myśli jak programista, to język należy już dobrać po prostu do potrzeb. Zresztą mniejsza o język - to biblioteka standardowa czy framework musi potrzebom odpowiadać.
W końcu dla .NET można i w php (php.NET) i w Pythonie (IronPython) i w C++ (C++/CLI) i w ObjectPascalu i w Brainfuck i w F# i w wielu innych pisać.

Myślę że dobrym początkiem jest sobie ściągnąć choćby Visual C# 2005 Express lub Visual C++ 2005 Express i podłubać, czy środowisko odpowiada, czy język jest znośny, ewentualnie potem inne sprawdzić. Borland teraz wypuścił Turbo C#, nowe wersje Turbo C++, Turbo Delphi, może sprawdzić co tam jest pod maską.

Ja zaczynałem od ZX Spectrum Basic, potem QBasic z DOSa, potem Visual Basic nieco pomacałem, po dostaniu się do liceum Pascala się nauczyłem, w pierwszej klasie liceum go na zajęciach męczyliśmy, potem 3 lata Asembler x86 wraz z algorytmiką (gdy zbuduje się parę makr i procedur, pracuje się prawie jak w C

), w międzyczasie liznąłem nieco Javy i C. Po liceum chwyciłem php, potem C++, Win32, a teraz w pracy głównie Javę i Pythona uprawiam, z domieszkami .NETa, jak trzeba, a w domu PHPczę i Win32/C++/WTL - nie ma idealnego języka do wszystkiego.
Uwaga - Python jest znakomity, php jest w porównaniu z nim lata świetlne do tyłu, ale do nauki zdecydowanie nie polecam - strasznie rozleniwia, bo jest diabelnie wygodny, prosty i jednocześnie elastyczny oraz zupełnie inny niż wszystkie C-podobne.

Niedawno miałem metody numeryczne - programy pisaliśmy w C, ale ja z ciekawości też tworzyłem ich wersje w Javie - wydajność była na tym samym poziomie. Kompilatory JIT w Javie i C# robią już naprawdę świetną robotę w optymalizacji kodu i dostosowaniu go do platformy. Oczywiście jeśli ktoś w Javie w AWT zrobi aplikację okienkową, to się można powiesić. Jeśli nie Swing (można odpowiednio zoptymalizować), to SWT jest bardzo szybkim frameworkiem do aplikacji okienkowych. Eclipse jak widać całkiem nieźle na nim chodzi.