środa, stycznia 06, 2010

Java, JavaScript, Python, C++, C#? co ma przyszłość?

Teraz wiadomo Java rządzi w aplikacjach Enterprise, C++ też sobie dobrze poczyna.
Ale co w przyszłości? Czego warto się uczyć?

Java
Java mimo swych zalet ma dwie wady, Swinga i to, że źródła są ciężkawe. Ten sam algorytm zakodowany w Java'ie i C++ wygląda zwykle lepiej w C++ :-)
Zmiany w Java 7, czyli np. operator czy jak to nazwać ;-) diamentowy <> powinien uczytelnić kod, jest szansa, że do języka wejdą też domknięcia czy upraszczając sprawę metody anonimowe ;-) Przydałoby się chyba jeszcze przeciążanie operatorów.
Moja rekomendacja: Jak nie znasz Java'y albo znasz tak sobie to warto się jej uczyć :-) Jeśli już znasz to pogłębiaj swoją wiedzę. Ciągle liczę, że Sun czy teraz Oracle da Java'ie kopa w górę i usprawni Swinga [bo to jest bardzo zacna biblioteka, dużo pozwala zrobić i jest ładna, ale żeby dobrze używać Swinga trzeba się z niego doktoryzować, a i tak w końcu się poddajesz i tworzysz GUI przy pomocy edytora prawie WYSIWYG [prawie bo oczywiście to, że w edytorze są takie, a nie inne wymiary wcale nie musi oznaczać, że w ostatecznym wyglądzie będzie tak samo].
Ale w zastosowaniach Enterprise Java będzie pewnie jeszcze jakiś czas królować np. dzięki bezwładności ;-) choć szybkość i przenośność też będą miały wpływ [i to większy :-)]. Java ma też to do siebie, że żeby w niej pisać trzeba być w miarę dobrym programistą [to wynik wnioskowania ;-) Ja piszę w Java'ie, ja z definicji jestem dobrym programistą ;-) czyli dobrzy programiści piszą w Java'ie ;-) [tak zdaję sobie sprawę z luk w tym rozumowaniu ;-)]]

JavaScript
JavaScipt jest wielki [mówię głównie o tym co widać z ECMAScript w przeglądarkach bo to jednak nadal jego główna emanacja ;-)], miło by było gdyby dodano do niego [i do HTMLa] parę rzeczy takich jak np. możliwość pracy na wyższym poziomie abstrakcji w GUI, coś w takim stylu, że chcę stworzyć diva z tekstem i guzikami w środku, to zamiast tworzyć np. DIV przez document.createElement użyłbym:
div = new DivElement(); div.add(new TextElement("Napis"));
button = new Button("tekst guziczka",function(){
div.style.display="none";
});
div.style.top=300;
div.style.left=300;
div.style.display="block";

Sam HTML mógłby się za to nabawić jakichś bardziej przyjaznych developerom elementów, takich jak nieśmiertelny ;-) ComboBox
Moja rekomendacja: Podobnie jak Java, na dodatek różne straszne rzeczy w stylu Flasha też używają ECMAScript ;-) Czy się to komu podoba czy nie JavaScript staje się coraz ważniejszy. Ziszcza się to czego chciałem 10 lat temu ;-) czyli przenosi się wiele działań serwera na stronę klienta, bo w końcu po co przesyłać klientowi wygląd całej strony jak można przesłać same dane, a JavaScript sobie wygeneruje zawartość strony? [z dumą podkreślę, że 10 lat temu sam na to wpadłem :-) i tak działa w dużej części BuffyPedia :-)]
Przez to JavaScript powoli acz skutecznie staje się podstawowym językiem sieci :-)

Python
Python jest fajny, ale mimo wszystko udziwniony ;-) Ja mam zawsze problem gdy w nim pisze przy użyciu notatnika czy czegoś podobnego bo strasznie dużo muszę się napisać i strasznie dużo spacji wstawić czy tabów ;-)
Toż IF z ELSE są straszne:
if number==1:
print("1");
else:
print("coś innego")

4 linijki na 1 prostego IFa to strasznie dużo ;-)
Moja rekomendacja: podpadnę pewnie, ale mimo wszystko, choć momentami jest to przyjemny język to chyba nie warto w niego inwestować zbyt wiele czasu, do WEBa wygodniej użyć np. Java'y, C# czy PHP, do aplikacji okienkowych praktycznie wszystko się lepiej nadaje, pozostają skrypty i np. proste serwerki, miło sobie to pokodować, ale czy jest to opłacalna inwestycja? Wątpię.

C++
C++ jest szybki, elegancki i piekielnie trudny. W C było prościej, w C++ to się komplikuje, szczególnie w sytuacji gdy masz pecha pisać dla MS Windows i używać musisz Microsoftowej notacji węgierskiej......... C++ zyskałby chyba BARDZO dużo gdyby ktoś go ściął w taki sposób, że zamiast 48 typów do trzymania tekstu byłby 1, no może 2 ;-)
Moja rekomendacja: Nie wiem jak wy, ale ja ciągle się chcę C++ nauczyć i to tylko z powodu "bo wypada", i takiego że gdybym chciał np. wziąć udział w pisaniu Firefoksa, OpenOffice.org czy Chrome to musiałbym użyć C++, skoro takie wspaniałe programy są pisane w C++ to ten język musi być wart nauki.

C#
C# jest ble, taki miks Java'y z Delphi, w którym pewnie dla przekory zdecydowano się zastosować inną konwencję nazewniczą i rozwalić wszystko w dziwny sposób po dziwnych bibliotekach przypisując wszystko praktycznie na stałe do jednego systemu operacyjnego [tak, wiem, jest Mono, ale ile znacie aplikacji w .NET, które działają na .NET Frameworku pod Windows i Mono pod Linuksem i wyglądają i działają tak samo?]. Jednak mimo mojej niechęci ;-) muszę przyznać, że C# się stara.
Moja rekomendacja: zagryźć zęby i się uczyć. Tak, człowiek może czuć się odrobinę brudny ;-) ale powiedzmy wprost nie ma prostszego sposobu na mały okienkowy programik niż napisać go w C#. Z jednej strony w miarę czytelny język, z drugiej WinForms, które są po prostu dobre i wygodne. Co ważne gdy umiesz napisać aplikację okienkową w WinForms to prawie natychmiast potrafisz też napisać podobną aplikację na cokolwiek z Windows Mobile [które podobno jest w odwrocie, ale to już inna historia], umiejętność korzystania z ASP.NET też łatwo wchodzi ;-)

Co tam jeszcze jest?

PHP
Moja rekomendacja: zostaw, nie warto, te 8 lat temu to było coś, ale teraz? I nie chodzi o sam język [choć obrzydliwego $ przed zmiennymi mu nie daruję ;-)], a o developerów. Każdy dzieciak, który zakodował więcej iż 100 linii w PHP go "zna", a przez to ktoś kto zna go świetnie i umie w nim czarować [podobno pierwsza wersja GMAILa czy Google Calendar była napisana w PHP] jest automatycznie klasyfikowany do grupy tych wannabe programistów.
Inna sprawa do czego go chcesz używać, przecież do zrobienia prostej stronki sklepu nie będziesz używać kolosów w stylu Java'y czy ASP.NET, zrobisz to elegancko w PHP i użyjesz MySQLa do trzymania danych. Czyli PHP tak jak chcesz robić takie rzeczy. Ja nie chcę więc dla mnie jest na nie :-)

Ruby
Moja rekomendacja: brak zdania, sam język mi się nie podoba, ale to tylko problem "estetyki" i jak będzie trzeba to się go nauczę :-) Inna sprawa, że Ruby jest z nami od 15 lat i nadal nie jest wiodącą technologią [.NET wypłynął w 2002 roku i jest już o wiele bardziej popularny], są jednak Railsy, które mają 5 czy 6 lat i coś tam zrobiły na rynku. Więc nie mam zdania, warto się przyglądać chyba ;-)

Delphi
W Delphi pisałem długo, choć przyznaję, że nieumiejętnie ;-) za dużo w tym było Turbo Pascala, a za mało Object Pascala ;-)
Moja rekomendacja: niby szybkie, niby fajne środowisko, ale chyba sam Borland w nie nie wierzył bo jak jeszcze była ich to zabili Kyliksa i nie ma wersji dla Linuksa [OK, inna sprawa, że się wtedy sam Borland przejechał na tym hypie Linuksowym, kiedy to Linux już miał wchodzić pod strzechy, tylko, że nie wszedł, i teraz nie jest w stanie gonić nawet Mac'a który ma od 4 do 8 razy większy udział w rynku desktopów] przez co jesteś uwiązany/uwiązana do Windows, co w przypadku np. softu serwerowego jest do bani. Bo w pewnym momencie staniesz przed wyborem czy porzucić swój kod i użyć czegoś bardziej przenośnego, czy pisać drugi produkt czy może udać, że poza Windows nic nie istnieje ;-) [OK, jest np. Free Pascal Compiler, czy Lazurus [który chyba jest tym samym, ale głowy nie dam ;-)] ale jakoś szczególnie popularne nie są].

Objective-C
Na Apple bez tego ani rusz. Sam język to tak na pierwszy rzut oka taki mutant z C, C++, C# i Java'y ;-)
Moja rekomendacja: chyba warto, nie znam, ale może to być źródło pewnego dochodu ;-) bo jak chcesz pisać na iPhone'a to nie masz innego wyjścia niż Objective-C [OK, są inne wyjścia, ale nie tak dobre], do tego to jest super ważny język dla MacOS'a.

VisualBasic
Koszmar, zawsze twierdziłem i twierdzę, że jeśli programista ma złe uczynki na sumieniu to po śmierci w piekle będzie programował w VisualBasic'u ;-)
Moja rekomendacja: omijać szerokim łukiem. Jeśli już chcesz to użyj C#. Swego czasu Sun próbował tworzyć [czy kilku inżynierów z Suna raczej] coś w stylu własnego VisualBasica........ na szczęście projekt chyba umarł ;-)


Podobne postybeta
HP7 bez manifestu ;-)
Najkrótsza droga do przyszłości - Polymer ;-)
Java, JavaScript, Python, C++, C#? co ma przyszłość? 7 lat później ;-)
A jednak Pythona warto ;-)
"Kodowanie" na Chrome OS ;-)

23 komentarze:

  1. Hej, a gdzie Scala? Moim skromnym zdaniem to właśnie Scala jest językiem, który w przyszłości zastąpi w wielu zastosowaniach Javę. Dodam jeszcze, że powoli rozważania który język wyprze który powoli tracą sens, bo już teraz na JVM można uruchamiać kod napisany w Javie, JRuby, Scali, JPythonie, Groovy... Polyglot programming.

    Natomiast co do opinii że dany algorytm w C++ wygląda czytelniej niż w Javie to zupełnie się nie zgodzę. Kiedyś programowałem (zawodowo, 8h dziennie) w C++, a potem zamieniłem to na Javę (też na pełny etat). Wrażenie miałem jakbym się przesiadł z ciasnego malucha do Lexusa. Wygoda, i czytelność, IMHO o wiele większa. Zresztą dalej piszesz, że C++ jest piekielnie trudny (właśnie przez mało czytelny kod), i że przydałoby się go "ściąć". To właśnie uczynili autorzy Javy, która nawet nazywana była czasami żartobliwie C++-- :)

    OdpowiedzUsuń
  2. Według mnie Ruby jest bardzo estetycznym językiem. Ma niby te 15 lat, ale przez większość tego czasu nie wyszedł poza Japonię i nie stała za nim żadna duża firma. Gdyby nie Railsy język dalej byłby zapomniany pewnie. Dołóż do tego JRuby i możesz mieć coś całkiem fajnego. Osobiście jest to mój ulubiony język i narzędzie do zarabiania pieniążków. Ale boję się, że stanie się kolejnym PHP (pod względem postrzegania). Wielu "mastah pehapowców" próbuje Ruby on Rails poczytają jakieś how to czy coś takiego potrafią zrobić jakiś scafolding i już znają dobrze Ruby. A robią strasznie gówniane rzeczy.
    Przy każdym z tych języków powinieneś jeszcze pisać do czego do używać sam napisałeś, że nie użyjesz Javy do prostej stronki sklepu.

    OdpowiedzUsuń
  3. Z języków które wymieniłeś w tytule przyszłość ma chyba wyłącznie JavaScript, może Python ale w mniejszym stopniu.

    Java i C++ najlepsze dni mają już za sobą, co nie znaczy że nie warto ich znać, programy które w nich powstały nie znikną, a nowe nadal będą powstawać.

    Programista w mojej opinii powinien znać wiele języków. Do wymienionych tutaj dodał bym jeszcze mało znany język Lua.
    Niby nie jest on głównym nurtem, ale gdy czytać jakiekolwiek opracowania dotyczące nowo powstających kompilatorów to wszędzie można zobaczyć że stanowi on źródło inspiracji, a to za sprawą eleganckiego projektu, oraz małej i zaskakująco wydajnej maszyny wirtualnej.

    OdpowiedzUsuń
  4. Co do języków na JVM to niby można mieć uruchomiony dowolny język ale jednak w większości używa się Javy. Najbardziej chyba popularne są w chwili obecnej Java, Scala i Groovy. Scala jest szybka ale kod(nie znam Scali) wygląda strasznie, Java od wersji 7 ma mieć domknięcia więc coś się poprawia, natomiast Groovy jest fajny ale najwolniejszy z nich. Ciężko stwierdzić co tak naprawdę ma przyszłość.

    Wracając jednak do tematu co opłaca się uczyć, może mój przypadek jest unikalny jednak najłatwiej jest znaleźć pracę jako programista PHP.

    PHP: dość dużo ofert pracy, łatwo 'coś' znaleźć jednak płace takie jak by się nic nie umiało.

    Ruby: oferty pracy pojawiają się sporadycznie, jednak płace doświadczonych programistów są raczej motywujące. Nie znam języka nie wiem więc jak to wygląda na etapie zdobywania doświadczenia.

    Python: Albo mi się wydaje albo wraz z Django staje się coraz bardziej popularny. Jednak nie wypowiadam się.

    C#: Nie znam, jednak zgadzam się z autorem.

    JavaScript: Zgadzam się z @blog, język jest na topie i raczej nic tego nie zmieni.

    Java: sądzę że tu się nic nie zmieni. Mój przypadek może być szczególny, jednak po roku uczenia się Java/ JEE/ JSF i JavaFX znalazłem pracę(no staż) po 2 tygodniach uczenia się PHP.

    Objective-C: Jeśli ktoś lubi Jabłka ;)

    Trash: VisualBasic, Delphi(chociaż jeden znajomy zna i sobie chwali ;)

    OdpowiedzUsuń
  5. Nie zgodzę się że Scala jest nieczytelna. Jest tak samo nieczytelna jak każdy język którego nie znasz :) Ja też Scali nie znam (jestem na etapie poznawania), ale Ci co w niej piszą twierdzą, że jest bardzo czytelna. Kod wielowątkowy robi się o rząd wielkośći szybciej niż w Javie, i jest on o rząd wielkości krótszy. To też wpływa na czytelność (pozytywnie).

    OdpowiedzUsuń
  6. @pawelstawicki co do czytelności C++ to myślę, że ten język ma potencjał do bycia bardzo nieczytelnym ;-) ale gdy ogląda się np. rozwiązania zadań z Google Code Jam to kod rozwiązań w C++ wydaje się być elegantszy od rozwiązań w Java'ie :-) Choć faktem jest że szukając teraz przykładów na poparcie mojego twierdzenia widzę dowody mu przeczące ;-)

    OdpowiedzUsuń
  7. @saban słyszałem dużo zachwytów nad Ruby, ale jak na razie były to zachwyty ze strony powiedzmy bardziej geeków niż programistów, ale z drugiej strony napisali w tym Twittera :-) czyli coś w tym języku jest :-)

    OdpowiedzUsuń
  8. @blog no nie wiem czy masz rację co do tego czy Java i C++ najlepsze czasy mają już za sobą, fakt oba tracą wg. rankingów TIOBE http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html, ale nadal wg. tego rankingu i Java i C++ biją o wiele długości np. JavaScript :-)

    OdpowiedzUsuń
  9. Może źle policzyłem, ale Wasze głosy chyba się tak rozkładają :-)
    JavaScript 2
    Java 1.7
    Ruby i PHP 1.5
    Scala 1
    C# 1
    Groovy 1
    C++ 0.7
    Lua 0.5

    OdpowiedzUsuń
  10. Ocena skrajnie niesprawiedliwa. C# ma delegaty, lambdy, przeciazanie operatorow, wnioskowanie typow, LINQ, (od 4.0) jest dynamiczny (DynamicObject Expando). Jezeli C# jest dla ciebie be tzn, ze jestes tzw fanboyem. Smutne...

    OdpowiedzUsuń
  11. Dodam jeszce jedno. W C# nie masz tylko WF, ale takze WPF ktory razem ze wzorcem MVVM przebija (na leb na szyje) prostota, mozliwosciami i latwoscia utrzymania Swing i jego krewniakow. Dla .NET sa dostepne platformy Spring oraz Hibernate. Co wiecej o ile w Javie robia one furore to w .NET praktycznie nikt ich nie uzywa bo sa uznawane za cienkie i przestarzale. Zainteresuj sie Entity Framework. Nie powiesz mi, ze jakakolwiek opcja dostepu do danych w Javie jest wygodniejsza i prostsza w utrzymaniu niz EF+LINQ (poza Java rowna wygode mozna znalezc np w RoR). Z reszta, co ja bede tlumaczyl... faboyow i tak nic nie przekona;P
    I ten zarzut z "wsadzaniem wszystkiego p odziwnych bibliotekach". Juz bardziej na sile nie dalo sie nic wymyslec. Moze Zapytania o czas milisekundach bezposrednio do System, a nie do obiektu Date, albo operacje na Date przy pomocy Calendar sa dla ciebie normalne... ale chyba nie znasz zasady mowiacej, ze MNIEJ KODU = MNIEJ MOZLIWOSCI POPELNIENIA BLEDU = MNIEJSZE KOSZTY.

    OdpowiedzUsuń
  12. Czemu? Ja lubię Java'ę, C# jest dla mnie zbyt bałaganiarski [całkowicie subiektywne odczucie, spowodowane np. występowaniem typu String i string [bo jeden jest języka, a drugi platformy], właściwości i dziwnych smaczków [z czego najbardziej mi przeszkadza ściągnięta z C++ zasada, że interfejsy powinny mieć nazwy zaczynające się od I, a jak ktoś tego nie przestrzega to widząc MyClass:Toster nie wie czy Toster to klasa czy interfejs ;-)]], ale mimo tego, że nie lubię C# to uważam, że warto się go uczyć bo jak napisałem nie ma prostszego sposobu na pisanie aplikacji okienkowych albo co piszę teraz ;-) AcitveX'ów.

    Specjalnie rozdzieliłem moje zdanie od rekomendacji, bo co innego moja subiektywna ocena języka, a co innego rekomendacja bazująca na jakiejś tam ocenie świata [też jest subiektywna, ale jednak mniej]

    OdpowiedzUsuń
  13. No i kto tu jest fanboyem? ;-) "Brzydki pan napisał, że mu się nie podoba mój ukochany język więc musi być palantem" ;-)
    Napisałem, że choć nie lubię C# to warto się go uczyć.
    Uważasz, że fanboy'uje bo krytykuje bałagan i podobne rzeczy w C#, sam robisz to samo tylko że w odróżnieniu do mnie nie podkreślasz, że to jest Twoje subiektywne zdanie.
    Ja nie lubię C#, widziałem dużo złego kodu napisane w C#, a dużo mniej złego kodu w Java'ie, ale czy twierdzę, że ktoś kto programuje w C# i uważa Java'ę za gorszy język jest od razu gorszym programistą? Nie, nie twierdzę tak.

    Czas w milisekundach jest czymś bezpośrednio związanym z systemem, no i o wiele szybciej wykona się System.currentTimeMillis() niż new Date().getTime() bo nie trzeba tworzyć nowego obiektu [System.currentTimeMillis() jest szybsze o ponad 30%], a co do Calendara to też jest dość wygodny, choć nie porównywałem go akurat do tego jak to jest w C#.

    A zasada MNIEJ KODU = MNIEJ BŁĘDÓW jest mi znana i nie widzę tutaj przewagi C# nad Java'ą ani Java'y nad C#.

    OdpowiedzUsuń
  14. heh... Przeszkadzaja ci interfejsy rozpoczynajace sie na literke "I"? A kto ci kaze to robic? Mozna je nazywac jak sie chce. Trudniej wtedy rozronic interfejs od klasy niz w Javie? Przeszkadza ci string i String? Heh.. a mi moze przeszkadzac rozdzielanie typow prywmitywnych i ich owijek?
    Jezeli chodzi o kalendarz to c# ma takie podle i niewygodne rozwiazania jak przeciazanie operatorow i zeby odjac dwie daty wystarczy uzyc operatora '-', strasznie brzydko no nie? Czemu getMiliseconds nie jest wiec statyczna metoda Date? To lamie podstawowa zasade pojedynczej odpowiedzialnosci! To samo sie tyczy tego, ze Java nie potrafi sie zdecydowac czy kozystac zasade "co mozna zrobic obiektowy" czy "co moze zrobic obiekt". To jest dopiero bajzel....

    OdpowiedzUsuń
  15. Hmm.. a to jaki kod widziales mnie nie obchodzi. Mnie bardziej obchodzi jaki kod mozna napisac:

    public class A
    {
    public string P { get; set; }
    }

    Juz takie podstawowe konstrukcje zajmuja wiecej miejsca w Javie.
    Nie mowie juz o tego, ze trzeba korzystac z golego wzorca obserwatora tam, gdzie w c# sa deleagaty. No i operacje na danych. Co w Javie przescignie w swojej zwiezlosci LINQ?
    db.Users.Where(u => u.Income > 1000).Select( u => u.Age).Average();
    Wydaje mi sie, ze utknales na C# 1.1 lub 2.0... ten jezyk znacznie poszedl do przodu od tamtego czasu, a Java nie...

    OdpowiedzUsuń
  16. I twierdzisz, ze C# to moj ulubiony jezyk? Nie mam ulubionego jezyka. Lubie Ruby, JavaScript, SmallTalk, C++. Po prostu gdybym mial porownywac Java i C# w roku 2003 to nie wiedzialbym co wybrac, ale w roku 2010? Java jak dla mnie zostaje coraz bardziej w tyle.. spojrz na nowa specyfikacje C++! C++ wyprzedzil Jave - w nim juz sa lambdy, a w Javie jeszcze nie! Java po prostu tkwi jeszcze w XXwieku, kiedy nawet stary, poczciwy C++ potrafil sie porzadnie zmodernizowac.

    OdpowiedzUsuń
  17. Z reszta... C++ tez oceniles niesprawidliwie? Po pierwsze: kto ci kaze uzywac notacji wegierskiej?? Pisalem swojego czasu cale systemy COM+ z GUI w MFC bez jednej zmiennej w notacji wegierskiej.... co ciekawe, nie uzywalem jej bo wynikalo to z zasad przyjetych w firmie. Uwazam to za super sprawe, chociaz dzisiaj juz troche niepotrzebna. Pewnie wiesz po co ta notacja zostala w ogole wprowadzona i nie wiesz jak wygladalo pisanie duzych systemow w latach 90tych - wtedy notacja ta byla prawdziwym blogoslawienstwem, uwiez mi.
    I czy warto sie go uczyc tylko dlatego, bo wypada? Zalezy jakimi programami sie zajmujesz! Znam ludzi, ktorzy sie uczyli Javy lub C# tylko i wylacznie dlatego, bo wypada.

    OdpowiedzUsuń
  18. Słusznie zakładasz, moja ocena bazuje na C# 2.0 i 3.0, bo to tych wersji musiałem używać te ponad 3 lata temu gdy pisałem w C# w pracy oraz gdy pisałem prywatnie dla .NET CF.

    W Java'ie mają tą zasadę, że zachowują wsteczną kompatybilność na poziomie źródeł, praktycznie każdy program napisany dla Java 1.0 da się skompilować w Java 1.6 czy nawet 1.7 i języka prawie nie zmieniają dodając tylko nowe biblioteki [bez zmiany starych, choć w Java 1.6 poszli po bandzie i zmienili jeden z interfejsów związanych z JDBC i do teraz chyba wiele osób im tego nie może wybaczyć ;-)], z C# miewałem za to problemy z kompilacją niektórych rzeczy nowszymi wersjami .NETa.
    Inna sprawa czy taka wsteczna kompatybilność stosowane w Java'ie ma w ogóle sens, bo rzeczywiście prowadzi do stagnacji języka i chyba swoje źródło ma właśnie w tym, że za procesem JSR stoją wielkie firmy, które nie chcą ryzykować przepisywania nawet fragmentu kodu [niektóre systemy do teraz działają na Java 1.3].

    O notacji węgierskiej napisałem tylko tyle "C++ to się komplikuje, szczególnie w sytuacji gdy masz pecha pisać dla MS Windows i używać musisz Microsoftowej notacji węgierskiej", czyli w pewnym szczególnym przypadku i wtedy ujednolicenie typów by tylko pomogło i chyba się z tym zgodzisz.

    OdpowiedzUsuń
  19. co do pythona to ten czterolinijkowy kod mozna uproscic do jednej od wersji 2.5 :)

    print "1" if number==1 else "cos innego"

    OdpowiedzUsuń
  20. @SzalonyEdek: masz rację :-)

    OdpowiedzUsuń
  21. Zgadzam się z anonimem powyżej.

    W naszym kraju prawdopodobnie obecnie największy potencjał ma właśnie C#. Piszę już trochę, zaczynałem od basiców, przez TP, C, C++ i masę innych. Największe pozytywne zmiany odczułem przesiadając się z C++ na Javę, a potem równie pozytywną przesiadką był właśnie C#. Nie jestem fanem ani nic, bo i tak najwięcej pisze w Javie, co dla mnie jest okropne. Java nie nadąża za C# niestety. Ostatnio pracowałem w firmach, które całe szczęście produkowały w C# oprogramowanie. Przyznam, że nigdy nie byłem bardziej zadowolony z procesu zamieniania pomysłu w program :).
    BTW dla porównania, w C# pisałem wcześniej dosłownie 2 programy, a w Javie pisałem ładne kilka lat. To chyba mówi samo za siebie.

    OdpowiedzUsuń
  22. @RMK: C++ nie ma interfejsów. A praktyka rozpoczynania nazw od "I" pochodzi od Javy.

    OdpowiedzUsuń
  23. @RMK: C++ nie ma interfejsów, bo ma wielodziedziczenie. Praktyka nazywania klas interfejsowych Icośtam wzięła się z Javy :-)

    OdpowiedzUsuń