Jaký jazyk bych se měl učit?

Re:Jaký jazyk bych se měl učit?
« Odpověď #15 kdy: 26. 05. 2022, 07:24:22 »
Nevíme, proto jsem psal „pokud”. Jinak nezpochybňuju závěr – tyto dva jazyky rozhodně mohou dávat smysl pro nemalou část lidí, netroufl bych si to ale vypálit bez kontextu. (A samozřejmě bych to až na možná nějaké velmi specifické případy nebral jako jedinou možnost.)


Re:Jaký jazyk bych se měl učit?
« Odpověď #16 kdy: 26. 05. 2022, 09:27:27 »
Nějaký mainstreamový, aby jsi sehnal job a mohl procvičovat programování 8/5 za peníze. Důležité je se nechat zaměstnat někde, kde se ti bude někdo věnovat.
Pak už si cestu najdeš sám.

Re:Jaký jazyk bych se měl učit?
« Odpověď #17 kdy: 26. 05. 2022, 09:39:31 »
Angličtinu.
Děkuji za možnost editace příspěvku.

Re:Jaký jazyk bych se měl učit?
« Odpověď #18 kdy: 26. 05. 2022, 09:52:46 »
Nebo se nauč třeba Cobol, poptávka je pořád vysoká, vývojáři vymírají a nových je málo, klienti ti budou ruce trhat.

Osobně bych odhadl, že zvládnout úspěšně programování ti zabere 10 a víc let. Je naprosto nepodstatné jaký jazyk si vybereš, stejně ho i několikrát změníš a stejně jich budeš umět nakonec víc. Často je více jazyků v synergii, v C je dobré znát dobře makefile, v Javě zase bez mavenu (to už svým rozsahem spíše považuji za vlastní jazyk).

Stotožňuji se s postojem Tomáše Procházky, nauč se cokoliv, na co teď seženeš práci (mrkni na nabídky práce a podle toho začni studovat). Osobně bych pak dodal, že pokud máš vytrvalost, je pro začátek naprosto nejlepší jakýkoliv obskurní a složitý jazyk, naučí tě totiž lépe problematice porozumět.


Anglicky mluví kdejaká opice, to už se dnes bere jako samozřejmost. Přidaná hodnota angličtiny je dneska nulová, zejména v IT, kde je to opravdu většinou základní požadavek.

To s tebou nesouhlasím, pasivní znalost je v IT penetrovaná dobře, ale aktivní znalost a schopnost komunikace je kupodivu nedostatkové zboží, velice málo lidi, s kterými se potkávám umí plynule řešit věci v angličtině. Na pohovorech, když přepnu do angličtiny, nechytá se dobrá 1/2 uchazečů vůbec a dobrou znalosti má tak jen každý pátý. Dělám asi 50 pohovorů ročně pro různé firmy.

Re:Jaký jazyk bych se měl učit?
« Odpověď #19 kdy: 26. 05. 2022, 10:05:54 »
Na web-ovky urcite PHP + Javu
Na vsetko ostatne Python tam si vies poriesit v podstate hocico pre hociaku platformu a rychlo sa dostanes do zakladov.
Ak mas ale nieakeho konicka, nieco co ta zaujima tak by som sa asi pozeral po tom aky jazyk sa pouziva tam. Napriklad "high-speed" kamery = > C alebo tie webovky tam urcite java,php, scriptovacky atd atd...



Re:Jaký jazyk bych se měl učit?
« Odpověď #20 kdy: 26. 05. 2022, 10:17:26 »
K mojej predchádzajúcej odpovedi:

Vôbec som neriešil situáciu, že by som mohol odpovedať niekomu, kto už pogramovať vie a iba hľadá ďalší jazyk, v ktorom by sa mohol uplatniť na trhu. Riešil som sitáciu, že nevie programovať vôbec.

K niektorým príspevkom vyššie:

Python ale nie je jazyk na výuku, je to jazyk na programovanie. A na výuku sa iba používa. Asi kvôli tomu, že je vo svojich základoch jednoduchý. Je ale otázka, či python ako taký vznikal s dôrazom na výukový proces a či pri jeho návrhu boli zohľadnené špecifiká tohto procesu, prípadne, či súbežne s návrhom jazyka vznikal aj výukový proces.

Jazyky na výuku programovania pritom ale existujú. Napríklad v mnou vyššie odkazovanej knihe How To Design Programs je popísaných niekoľko takýchto jazykov, počínajúc jazykom pre začiatočníkov, cez jazyk pre pokročilých až po jazyk použiteľný v produkcii.

Niekomu sa to môže zdať byť na hlavu, ale čo som si všimol, tak reálmym jazykom sa často vyčíta, že s tým ako dozrievajú, postupne majú všetko, čo sa dá a potom sa v tom nedá vyznať a je to hlavne problém pre začiatočníkov.

K Haskellu:

OSN vlastne nebol ani náhodou tak ďaleko, ako by sa mohlo zdať. How to Design Programs síce nie je na báze Haskellu, ale Lispu. Teda Scheme. Vlastne Racketu... Ale to je pre toto použitie úplne jedno.

A áno, kniha vyučuje vývoj programov na báze funkcionálneho programovania, ako jedného z možných prístupov k programovaniu, pričom iný z možných prístupov, ktorý je asi prevládajúci, teda imperatívne programovanie, bolo v druhom vydaní vypustené, ale to vôbec nevadí. Naopak, môže to byť skôr plus.

Pretože, ako už niekto vyššie spomenul, funkcionálne prístupy dlhodobo prenikajú do všetkých jazykov. Jenoducho sa pre aktuálne podmienky, kedy máme veľké množstvo výpočtových jadier a tým veľké množstvo činností vykonávaných "súčasne", ukázali byť v niektorých aspektoch vhodnejšie a jednoduchšie na rozmýšľanie o tom, čo sa to v programe vlastne deje, ale hlave o tom, čo sa v ňom diať nemôže a nie je to preto nutné riešiť ani to nemôže spôsobovať problémy.

A pokiaľ sa človek naučí funkcionálne vyriešiť všetko, tak keď potom v iných jazykoch potrebuje funkcionálne riešiť iba niečo, a som presvedčený, že do takej situácie sa v modernej dobe dostane, lebo bude chcieť používať vlastnosti jazyka, ktoré pre neho budú výhodné, tak iba použije podmnožinu toho, čo už vie.

Techniky funkcionálneho programovania majú v súčasnosti uplatnenie všade. Či už je to JavaScript, Java, asi najpoužívanejšia hračka na moderné weby, ktorá sa volá React, alebo v technológie, ktoré bežia pod tým ako ReactiveX, atď.

Dokonca aj v najmenej populárnom jazyku na tomto fóre, teda v C++, u ktorého sa nemôžem ubrániť dojmu,  že je provažované za absolútny protiklad dobrých jazykov, a o ktorom by to asi nikto, kto v ňom nepíše, možno nepovedal, sa dajú techniky funkcionálneho programovania úspešne používať, a sú autoritami odporúčané už minimálne dve dekády.

A keď sa napríklad zamyslíme nad tým kedy začala v C++ naozajstná revolúcia, odhliadnuc od STL Alexandra Stepanova, tak to bolo podľa mňa v roku asi 2001, keď Andrei Alexandrescu vydal Modern C++ Design, kde v jadre základných stavebných prvkov knižníc používa techniky, pri ktorých je už z prvých kapitol tej knihy jasné, že sa musel veľmi dobre orientovať v Lispe.

Takže jednoducho, veci sa prelínajú a keď sa niečo človek principiálne dobre naučí, bude to vedieť použiť aj inde.

Re:Jaký jazyk bych se měl učit?
« Odpověď #21 kdy: 26. 05. 2022, 11:25:04 »
Na web-ovky urcite PHP + Javu

PHP a Javu? Hele, já jsem sice staromilec, ale s JavaScriptem tedy udělá díru do světa podstatně větší. PHP se pochopitelně používá, ale poptávka třeba po javascriptových vývojářích je několikanásobná. S PHP bude ve většině případů někde udržovat historický codebase. O Javě to ostatně do jisté míry na webu platí také, ale uznávám, že se (bohužel) na backendech používá i u nových projektů jakkoliv je to odporné (konec flamu).

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Jaký jazyk bych se měl učit?
« Odpověď #22 kdy: 26. 05. 2022, 11:27:01 »
How to Design Programs síce nie je na báze Haskellu, ale Lispu. Teda Scheme. Vlastne Racketu... […] kniha vyučuje vývoj programov na báze funkcionálneho programovania
To je záslužné, ale je to vhodné pro úplné začátečníky?

Re:Jaký jazyk bych se měl učit?
« Odpověď #23 kdy: 26. 05. 2022, 11:27:47 »
Haskell.

Není zač.

To tedy v tomto případě opravdu není. Haskell je sice bezpochyby zajímavý jazyk, ale reálných nasazení je pomálu a třeba mě osobně to ani moc nemrzí. Já osobně sekty zase až tak moc nemusím.

Re:Jaký jazyk bych se měl učit?
« Odpověď #24 kdy: 26. 05. 2022, 11:29:57 »
Nemám na to silný názor, ale údajně čistě funkcionální styl někdy lépe pobírají ti, kteří s imperativním ještě nepřišli do kontaktu. Minimálně bych to nezavrhoval.

Re:Jaký jazyk bych se měl učit?
« Odpověď #25 kdy: 26. 05. 2022, 11:30:36 »
Jaký jazyk bych se měl naučit, abych byl úspěšný ve své kariéře?
Za mě Bash (naučit se ovládat svůj počítač!), Python, C. S tím pak slepíš cokoli :D

Python a C je dobrá rada pro slepování čehokoliv. Ale přemýšlím, jestli je něco horšího, na co se dá narazit běžněji než vzácně, než projekty slepované Bashem :D A že jich tak málo bohužel není...

Re:Jaký jazyk bych se měl učit?
« Odpověď #26 kdy: 26. 05. 2022, 11:35:53 »
Nemám na to silný názor, ale údajně čistě funkcionální styl někdy lépe pobírají ti, kteří s imperativním ještě nepřišli do kontaktu. Minimálně bych to nezavrhoval.

Samozřejmě, že ho netřeba zavrhovat. Haskell je rozhodně zajímavý jazyk. Jenomže je kolem něj z neznámých důvodů komunita, která připomíná náboženské uskupení. A reálná použitelnost v praxi je mizivá nikoliv kvůli tomu jazyku jako takovému, ale hlavně proto, že firem, které by něco tvořily v Haskellu je jako šafránu. Ostatně podobně, jako v kdečem jiném exotičtějším. Je to dobrý jazyk aby se člověk dost naučil z funkcionálního programování, je to dobrý jazyk aby se pobavil, určitě je použitelný pro soukromé použití, fakt hodí se na malé write-and-forget programy, na které člověk po pár letech zapomene, že vůbec existují a ony stále spolehlivě běží a běží. Jen lidí, co vás za něj zaplatí je dost málo.

Re:Jaký jazyk bych se měl učit?
« Odpověď #27 kdy: 26. 05. 2022, 11:42:00 »
Jo. Šlo mi spíše o to, že kvůli tomu nemusíme zavrhovat knihu HTDP.

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Jaký jazyk bych se měl učit?
« Odpověď #28 kdy: 26. 05. 2022, 12:38:08 »
To tedy v tomto případě opravdu není. Haskell je sice bezpochyby zajímavý jazyk, ale reálných nasazení je pomálu a třeba mě osobně to ani moc nemrzí. Já osobně sekty zase až tak moc nemusím.
Pokud vadí sektářství u Haskellu, tak co teprve taková Agda? :)

Ymzk

Re:Jaký jazyk bych se měl učit?
« Odpověď #29 kdy: 26. 05. 2022, 14:24:58 »