Nejvíc mě ovšem dojímá kritika C++, že není objektový jazyk a jako příklad se uvádí Java, která je koncipována naprosto shodně jako C++. Smaltalkisté se vůbec rádi pouští do C++ a ty ostatní jazyky jako by přehlíželi. co si o tom myslíte? (ať flame začne v samostatném vlákně)
Je nutne si uvedomit na jakou platformu je dotaz smerovan. Jestli se bavis o programovani 16 bitovych mikroprocesoru, tak tam kvuli nedostatku pameti samozrejme jedine proceduralni jazyk C. Ale to asi neresis.
Bavis-li se o PC, tak tam uz aspon 15 let proceduralni jazyk nepatri (vyjma SQL). Duvod je jediny: Proceduralnim jazykem proste NELZE!!! programovat nektere situace a zaroven s nim NELZE programovat efektivne. Proceduralnim jazykem taky NELZE rozlisit data od logiky, coz je zakladem pro vicevrstve aplikace. Branit se OOP je jako chtit v roce 2010 jezdit z Bratislavy do Prahy na kravskem povoze. Dovede vas to tam, ale unavite se, bude vas bolet zadek, zmoknete u toho a hlavne vam to bude trvat milionkrat dele nez autem.
Ad C++ vs. Java)
C++ je opravdu desnej jazyk! Clovek v nem vice hleda zpusob jak problem vyresit, nez aby programoval funkcnost samotnou. Taky neni pravda, ze Java koncepcne vychazi z C++! Tobychom mohli prohlasit o SQL, ze vychazi z assembleru, protoze v nem lze zapsat pismenka a zavorky.
C# je momentalne nejmodernejsi a nejefektivnjsi jazyk na programovani. Jeho jedinou slabinou je multiplatformnost. Coz muze byt zasadni slabina.
V multiplatformnosti vede Java. Java ma jeste tu vyhodu, ze Javiste patri mezi nejlepe placene programatory. Duvod je ten, ze jde o rozsireny jazyk ale technicky zastaraly, takze kdyz chce nekdo vice zabavy, jde do C#, kdyz chce nekdo vice penez a nevadi mu reseni naprosto zbytecnych problemu v/s naprosto hnusnym grafickym prostredim, spatnym memory managementem, nevzhlednym zapisem kodu, s problemy Javovske prostredi rozchodit, tak jde do Javy. Nejvice pracovnich nabidek je na Javu a trva to jiz 10 let.
Mnohem efektivnejsi jazyk nez C/C++ a Java byl Delphi (potomek Pascalu), jenomze ten se bohuzel tolik nerozsiril, protoze programatori jsou divni lide, kteri si mysli, ze kdyz budou psat write-only kod (cti "zmateny, prekomplikovany, tj. necitelny") tak si o nich lide budou rikat, ze jsou vice coool. A tak kdo chtel byt cool, trapil se s C++. Delphi uz je dnes ale minulost a vetsina Delphistu presla na C#. C# vychazi z Delphi a z Javy. Vzdyt hlavni architekti C# jsou prave od Javy a od Borlandu (Delphi). Z obou svetu vzali to nejlepsi a spojili to do bezkonkurencne nejefektivnejsiho jazyka vsech dob (zatim) - C#.
Povsimnete si jednu vec! Cim vic modernejsi jazyk, tim objektovejsi. Proc asi?! Protoze objekty jsou efektivita!!! Efektivita ekonomicka, casova, efektivita pri ladeni, pri cteni a zapisu kodu. Efektivita a elegance pri reseni problemu. Efektivita pri kresleni UML diagramu. Zkuste si proceduralni apliakci zapsat do UML. Delphi byl objektovy jak by smet a aplikace se v nem psali nejrychleji, ale s prichodem C# je OOP proti Delphi jeste o nekolik levlu vykonnejsi.
Takze dnes lze uvazovat pouze o dvou jazycich - Java a C#. Jak uz jsem zminil, penize = Java, zabava = C#.
Pak jsou ruzne jine jazyky jako Python, J#, .... ale to jsou minoritni jazyky a hledat s v tom praci je problem. Sktipty taky resit nechci, to je prokleti IT. Bohuzel skripty jako HTML 5, JavaScript, PHP zas*raji tuhle IT planetu jejich neefektivitou, nachylnosti na chybovost a neladitelnosti. Skripty resit nebudem.
Pak jsou jazyky na specialni ukoly pro matematiky, fyziky, ... to je okrajova zalezitost.
No a pak jsou zastarale jazyky, jako Pascal, Foxpro, ABAP a pod. V tom se uz opravdu pouze udrzuji archaicke vykopavky, ale kdo ma to stesti, ze musi udrzovat takove aplikace, vydela si slusny balik. Ale je to opravdu o stesti.
GN!