Co se učit za programovací jazyk?

tojsemja

Co se učit za programovací jazyk?
« kdy: 06. 08. 2014, 08:35:22 »
Ahoj,
inspirovalo mě vlákno “jak dlouho se dá živit programováním”.

několik let programuji v Javě a mám lehce pocit, že Oracle Javu potápí. Možá je to tím, že podobný pohled má i moje okolí a jsem deformovaný. Aktuálně si doplňuji novoty z Javy 8 a pořád si říkám – wtf? Myslel jsem si, že Oracle chce začlápnout Microsoft a Java bude dobrá zbraň. Taky od starších lidí slyším jak Sun Microsystems hodně investoval do Javy penězi, energí, vším možným a Oracle to už nedělá.

Mám relativně dost času (v řádu několika let) se ponořit do nějakého jiného jazyka. Ale do jakého? Má smysl Javu kombinovat s něčím typově podobným jako je C# ? Nebo mám jít do C/C++ ? Nebo čekat a naučit se třeba Python? Přemýšlím nad tím dlouhou dobu a vůbec nevím. Třeba vůbec se mi nechce dělat PHP nebo věcí typu Objective-C.

Díky :)
« Poslední změna: 06. 08. 2014, 09:25:29 od Petr Krčmář »


Kolemjdoucí

Re:co se učit za programovací jazyk? (filozoficky)
« Odpověď #1 kdy: 06. 08. 2014, 08:39:30 »
Podívat se třeba na jobs.cz a podle toho se zařídit.
C/C++, C# a Java momentálně není špatná volba.

tojsemja

Re:co se učit za programovací jazyk? (filozoficky)
« Odpověď #2 kdy: 06. 08. 2014, 08:50:54 »
určitě java není špatná volba. Android, webové aplikace, nově hadoop je dělaný v javě. RedHat si myslím že hodně táhne Javu svým JBossem.

spíš moje myšlenky jsou směrem že cpp je tu od roku 1985 a že to asi není módní výstřelek...

tady když člověk zaskroluje tak je pěkný gráfek. na jazyky v legendě se dá klikat...
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

tady jsou nějaké další zdroje, které ale mluví proti mě
http://spectrum.ieee.org/static/interactive-the-top-programming-languages#index/1/1/1/1/1/25/1/25/1/50/1/25/1/25/1/50/1/25/1/25/1/100/1/100/1/25/1/40/

eMko

  • ****
  • 456
    • Zobrazit profil
    • E-mail
Re:Co se učit za programovací jazyk?
« Odpověď #3 kdy: 06. 08. 2014, 09:41:08 »
Tak po tom, co jsem si reálně vyzkoušel C++ 11 musím říct, že je to dobrý posun oproti předchozím verzím, byť do výstřelku poslední módy to má daleko. Ostatně módní jazyky/frameworky nejsou "bezpečnou" volbou pro učení se a shánění zaměstnání, za 5 let se po nich pravděpodobně slehne zem.

C, C++ (jak starší tak novější norma, je dobré znát oboje), Java a C# jsou rozšířené a ne-módní jazyky, jsou to nejpoužívanější jazyky současnosti a zcela jistě nejsou špatnou volbou. Je dobré jich znát víc, zvlášť u C# se dá občas narazit na to, že existuje nativní knihovna, kterou potřebuješ zavolat z .Netu - pak je dobré vědět, jak ji obalit slušným a dobře použitelným C rozhraním a použít přímo z C# případně umět použít managed C++, už se mi to párkrát vyplatilo.

Případně na platformě Javy lze nalézt také zajímavé jazyky jako Scala nebo Clojure. Z hlediska sehnání práce to asi nebude "bezpečná" volba, ale dokáže to rozšířit obzory a udělat z člověka lepšího programátora s větším rozhledem.

omg

Re:Co se učit za programovací jazyk?
« Odpověď #4 kdy: 06. 08. 2014, 09:45:51 »
system funguje tak, ze za louzi v ameru vydava nekolik firem ruzne manazerske casopisy. v nich se cas od casu objevi clanky treba o outsourcingu nebo jave pripadne c#. presne na tom miste sun v minulosti investoval a zviditelnil javu a vyrobil tak poptavku z managementu smerem na pracovni trh mezi dodavatele aplikaci. takze jestli te zajima co dalsiho a chces to z pohledu masovky a zamestnance, tak ti nezbyva nez sledovat managerske trendy bohatsiho a vetsiho trhu, ktery do CR outsourcuje nebo zde zaklada pobocky. a s tim ti jen tak nekdo nepomuze. ale plati to i opacne. kdyz v tom jazyku nikdo nechce programovat, tak se tim da utlumit i takto umele vytvorena poptavka.


Bla

Re:Co se učit za programovací jazyk?
« Odpověď #5 kdy: 06. 08. 2014, 10:29:14 »
Jazyků umím celou řadu, pokud se nejedná o komplet jiný jazyk, tak se dá načit za měsíc celkem obstojně za předpokladu, že znáte nějaký jemu dostatečně podobný. Jenže ono to není o jazyku, je to o systému, na který programuješ, prostředí, knihovnách atd.
K čemu je ti vědět, že for (int i=0;i<100;i++){...když nevíš, jakou knihovnu máš zavolat, aby se na obrazovce to i objevilo...}
Je to o knihovnách, frameworku, atd.

Java je ještě poměrně životaschopná zombie.

Na druhou stranu Microsoft pindal něco o tom, že chce zabít celý .net a C#!
Bez zadeke, dějí se tam v poslední době divné věci, jako sloučení všech verzí os do jedné (pro mobil, tablet, PC i server...) atd.
S tím má ukončení .netu dost společného, protože když chcete programovat pro arm, potřebujete o poznání vyšší efektivitu respektive nižší nenažranost. Možné je vše, včetně toho, že Microsoft zařízne .net i C# stejně jako Silverlight a hromadu podobných věcí.

No, přemýšlej o tom.

Bla


Kolemjdoucí

Re:Co se učit za programovací jazyk?
« Odpověď #7 kdy: 06. 08. 2014, 10:39:21 »
S tím má ukončení .netu dost společného, protože když chcete programovat pro arm, potřebujete o poznání vyšší efektivitu respektive nižší nenažranost.

Dle selského rozumu vyšší efektivitu než .NET poskytuje hlavně C/C++. Je to ta správná konspirační teorie, nebo se chystá něco nového ?

mjakl

Re:Co se učit za programovací jazyk?
« Odpověď #8 kdy: 06. 08. 2014, 10:44:08 »
Tak já jsem po mnoha letech skončil u kombinace c++, pro věci, kde je podstatný výkon, python3, pro prototypy, GUI a tooly, cython pro spojování pythonu a C++, javascript pro web a bash pro slepování všeho dohromady. Ostatní jazyky mi nepřinášejí proti jmenovaným žádné výhody navíc.

Tomáš Roll

Re:Co se učit za programovací jazyk?
« Odpověď #9 kdy: 06. 08. 2014, 10:45:19 »
Protože tu je hodně troubů, kteří neumí googlovat a řekli by, že si dělám srandu, tak to rovnou doplním odkazy:
...
Zabíjačka .netu s tím přímo souvisí:
http://news.techeye.net/internet/the-move-away-from-net-could-kill-microsoft

Člověče, to je 3 roky starý článek. Taky si pamatuju řeči v té době, že C# a .net končí a všichni přejdou na html5 a C++. No a jak se ukazuje, i přes sjednocení platforem se všechno programuje na C# a buď pro .net, nebo pro něco, co se sice jmenuje jinak, ale má fungl stejné rozhraní.

Bla

Re:Co se učit za programovací jazyk?
« Odpověď #10 kdy: 06. 08. 2014, 10:50:42 »
Člověče, to je 3 roky starý článek.

Zprávy o sjednocení všech widlí a návratu k C++ se objevují dost pravidelně.
Jestli chceš novější odkaz, no tak pohni zadekí a vygoogluj si ho, naposledy jsem o tom četl nějaké slinty na začátku roku.
Jestli to je pravda a nebo jestli je to součást nějakého kultu uctívání C#, no tak to netuším a je mi to úplně fuk.

Dle selského rozumu vyšší efektivitu než .NET poskytuje hlavně C/C++. Je to ta správná konspirační teorie, nebo se chystá něco nového ?
Hele, nevím, pokud to jsou informace, které opakovaně trousí Microsoft, tak to až zas taková konspirační teorie není. Může to být přání nějakého z managerů. Co já vím. Přijde mi to jako blbost, ale i sloučení všech widlí do jedněch mi přijde jako blbost a přesto to chtějí udělat. Jako blbost mi přišlo už Metro a taky to udělali.

Co já vím...a je mi to jedno.

Tomáš Roll

Re:Co se učit za programovací jazyk?
« Odpověď #11 kdy: 06. 08. 2014, 11:00:09 »
Člověče, to je 3 roky starý článek.
Zprávy o sjednocení všech widlí a návratu k C++ se objevují dost pravidelně.
Jestli chceš novější odkaz, no tak pohni zadekí a vygoogluj si ho, naposledy jsem o tom četl nějaké slinty na začátku roku.
Jestli to je pravda a nebo jestli je to součást nějakého kultu uctívání C#, no tak to netuším a je mi to úplně fuk.

Sjednocení Windows a návrat k C++ jsou dvě různé věci, které spolu vůbec nesouvisí.  Je to klasický argumentační klam.
http://cs.wikipedia.org/wiki/Argumenta%C4%8Dn%C3%AD_klam
Když jsem viděl tvůj názor, měl jsem deja-vu, že tohle už tu bylo. No a bylo, před 3 lety.

Tomáš Roll

Re:Co se učit za programovací jazyk?
« Odpověď #12 kdy: 06. 08. 2014, 11:08:34 »

Dle selského rozumu vyšší efektivitu než .NET poskytuje hlavně C/C++. Je to ta správná konspirační teorie, nebo se chystá něco nového ?

Většina programů čeká ze 70% na reakci uživatele a z 25% na nějaký server. Takže vyšší efektivity dosáhneš ne přechodem na C++, ale zlepšením GUI.

Kolemjdoucí

Re:Co se učit za programovací jazyk?
« Odpověď #13 kdy: 06. 08. 2014, 11:14:03 »
Hele, nevím, pokud to jsou informace, které opakovaně trousí Microsoft, tak to až zas taková konspirační teorie není. Může to být přání nějakého z managerů. Co já vím. Přijde mi to jako blbost, ale i sloučení všech widlí do jedněch mi přijde jako blbost a přesto to chtějí udělat.

Hlavní smysl sloučeného OS je možnost spouštět aplikačky z telefonu ARM na desktopu amd64 a případně obráceně. Na tohle se ale hodí spíše .NET. Tedy informace jsou značně protichůdné.

Většina programů čeká ze 70% na reakci uživatele a z 25% na nějaký server. Takže vyšší efektivity dosáhneš ne přechodem na C++, ale zlepšením GUI.

Bavíme se o jiné efektivitě a to zejména konzumaci paměti, procesorového času a hlavně energie z baterek.

Makovec

Re:Co se učit za programovací jazyk?
« Odpověď #14 kdy: 06. 08. 2014, 11:14:35 »
Já jsem zastáncem toho že by se člověk měl když má roupy a čas učit se zkusit něco co ho dráždí jako výzva, má z toho trochu strach že na to třeba nemá a tak se mu to vlastně ani moc nelíbí ale cítí že by za tím mohlo něco být. A vůbec nevadí že to vypadá z neprakticky.

Protože jak napsal jeden z předřečníků: to z něj udělá člověka s lepším rozhledem a nadhledem a zkušeností. A to je jedna z věcí co se dlouhodobě počítají.

Zkuste třeba to Objective-C nebo Swift (nebo si o nich alespoň přečtěte a zkuste si odpovědět na otázky proč jsou takové jaké jsou pokud nemáte Mac na hraní s nimi). A nebo když jste javista tu Scalu a Clojure.