Hoj, nakonec sem se rozhodl taky přihodit svůj názor do tohoto pěkně roztočeného filozofického kolotoče :)
Na vícero jazyků se dá koukat několika způsoby: 1) syntax - to je otázka jednoho dne. Ale opravdový programátor podle mě ví, že takhle to prostě nefunguje. Ano téměř libovolný kus kódu (pokud mi to syntax dovolí) lze napsat v různých jazycích úplně stejně. Pravda je ale taková, že např. v každém jazyce to bude různě rychlé, prostě proto, že každý jazyk k tomu přistupuje malinko jinak. 2) možnosti jazyka - to už je trochu jiný level. Nejde se to naučit během jednoho dne, ale trvá to opravdu měsíce trávené s jazykem, než člověk zjistí a naučí se všechny kouzla, který ten jazyk umí. Ten nejsušší příklad je jen OOP, které některé jazyky nemají, a nebo mají implementované jen nějaké části. Ale jde i o iterátory, paralelní/asynchroní běh, anonymní funkce, signály, atd. 3) optimalizace - to už sem vlastně zmiňoval. Každý jazyk umí různé věci jinak a je stavěný na něco jiného. Záleží prostě na konkrétní implementaci daného problému. A pokud člověk honí rychlost, tak už je pekelně znát, jak moc tomu jazyku opravdu rozumí. Ono je velmi lehké napsat program ve dvou jazycích. A např. v pythonu může být rychlejší a v C++ může být pomalejší, to ale neznamená že by byl python rychlejším jazykem. Takže si myslím že programátor určitě může být opravdu dobrým programátorem, i když zná právě jeden jazyk. Ovšem zkušenosti jsou zkušenosti a tak znát jich víc neznamená nutně, že v nich umí hůře programovat. Ano fokus na jeden jazyk = hlubší znalost jazyka. Já osobně o sobě tvrdím, že umím programovat v mnoha jazycích, ale do hloubky jich znám méně, každý jinak. A to že jich znám víc, si myslím mě rozhodně obohatilo. Ale pro firmu je z čistě ekonomického hlediska výhodné, pokud její programátoři používají omezené množství jazyků. Ideálně takových, které umí i týpek, co stojí dole na autobusové / tramvajové / šalinové / vlakové zastávce. A hlavně firma o 5 vývojářích si může dovolit něco jiného než firma o 200 vývojářích. V případě Javascriptu existuje ještě problém, který my na backendu téměř neznáme a to je rozdílná implementace. Vedle toho že front-endisti musí řešit verzi, tak řeší také implementaci. My máme v podstatě jen verzi a 2 implementace (IronPython). Resp. když potřebujeme, rozjet na libovolném systému OS implementaci libovolného jazyka (kompilátoru/interpreta) téměř nic nám neprání. Hawk, domluvil sem :) Ondra V Wed, 20 Apr 2016 19:32:10 +0000 Ales Zoulek <ales.zou...@gmail.com> napsáno: > Snad jen mala poznamka k polyglotum. Myslim, ze je to ve skutecnosti > neexistuji. (Ostatne i prekladatele prirozenych jazyku prekladaji z > nekolika jazyku do materskeho, zatimco naopak tolik ne - a kdyz, tak > znatelne hure). > > Tak i ve firme budu radsi obklopen perfektnim Pythonarem, dalsim > uzasnym JavaScriptakem a jinym supr Shellistou. Ze zkusenosti lidi, > kteri se povazovali za programatorske polygloty, neumeli opravdu > poradne ani jeden jazyk (nebo v lepsim pripade prave jeden). > Samozrejme je dobre znat vic a mit prehled, ale univerzalni > programator je - myslim - nebezpecna iluze, kterou naopak razi firmy, > ktere se snazi usetrit a nenajimat odborniky. > > > A. > > On Wed, Apr 20, 2016 at 6:33 PM Honza Javorek <m...@honzajavorek.cz> > wrote: > > > Ohledně polyglotnosti, > > > > - z hlediska programátora je polyglotnost jednoznačné plus > > - z hlediska firmy a toho v čem píše svoje věci je polyglotnost > > podle mě významný risk - a schválně nepíšu nevýhoda, ale risk > > > > Zprasený kód v jazyce, který všichni ve firmě znají, a > > udržovatelnost kódu v jazyce, který nikdo ve firmě nezná, vidím > > jako dvě dost různé věci, byť důsledky můžou mít podobné. > > > > Být polyglotní je super, ale realita trhu je taková, že lidi > > většinou polyglotní moc nejsou a uvažují ve škatulkách jednotlivých > > jazyků, jaké umí. Takže vyčistit zprasený kód je podle mě > > ekonomicky a rizikově mnohem méně náročné, než mít kód v jazyce, > > který pořádně neumí nikdo ve firmě nebo jen jeden člověk. Pokud je > > to nemainstreamový jazyk, tak toho člověka špatně nahradím (nenajdu > > nebo nezaplatím lidi na trhu), špatně dohledám informace, atd. (s > > předpokladem, že čím méně mainstreamový ten jazyk je, tím méně > > najdu dokumentací, odpovědí na StackOverflow, diskusních skupin, > > srazů, apod.) > > > > Samozřejmě, pokud je nějaká nika, jako zpracování XML (XSLT), nebo > > dotazování databáze (SQL), tak tam je jasné, že to použiju. Ale > > tyhle věci pořád nějak většinou nějak fungují s ekosystémy těch > > hlavních jazyků, můžeš je nějak namixovat. Web a JavaScript > > potřebujou dnes všichni, ale s ničím se namixovat moc nedá a to je > > ten problém. Nebo mi to tak aspoň přijde. > > > > Ad progress v JS a tucty frameworků - ano. Nebudu se toho nijak > > zastávat, taky mi vyhovuje, že se v Pythonu můžeš opřít o Django, v > > Ruby o Rails, a je to. Ale že se vůbec nic nového nevymýšlí a za > > nic to nestojí, to bych asi neřekl. Třeba když srovnám jak funguje > > npm a jak pip/setuptools/virtualenv, tak i přes aféry, se kterými > > se npm potýká, je mi zrovna npm o dost milejší. Jasně, není to > > rocket science, vše je založeno na knížkách a paperech ze 70. let a > > návrhové vzory rotují co pět let jak móda v katalogu co 50 let, ale > > přijde mi, že i přesto se to posouvá, minimálně třeba k nějaké > > developer experience apod. > > > > Honza > > > > 2016-04-20 16:57 GMT+02:00 Hynek Fabian > > <hynek.fab...@firma.seznam.cz>: > > > >> No dobře, když už teda filozofování tak si taky přisadím… > >> > >> > Takze to, ze je JS na webu hegemon ma vyhody i nevyhody. Z > >> > globalniho hlediska se mi libi, ze JS dava lidem "laser > >> > focus" a muzou se soustredit na reseni problemu a inovaci > >> > (otazka je, zda to tak doopravdy je?). > >> Podle toho co vidím na dnešním webu je "inovace" přebalování > >> dvacet let starých nápadů nejlevnější phpracovní silou. > >> > >> > Na druhou stranu se mi nelibi presne to, ze > >> > clovek nema na vyber. Jsem zastancem toho, ze na urcity > >> > problem by se mela pouzit adekvatni technologie. Taky pro maly > >> > tymy ktery nejedou na microservices (a i pro vetsi tymy co na > >> > nich jedou) nemusi davat smysl byt polyglotni a psat to v > >> > ruznejch jazycich, > >> Být polyglotní je VŽDY lepší. Ja se dokonce odvažuju tvrdit ze > >> dokud člověk umí jen jeden jazyk tak je jen bastlíř - ať už > >> céčkař, javista nebo pythonýr… Až když člověk zná jazyků více tak > >> je Programátor. Eric Raymond doporučuje poznat Lisp protože "That > >> experience will make you a better programmer for the rest of your > >> days, even if you never actually use LISP itself a lot." > >> (http://www.catb.org/esr/faqs/hacker-howto.html#skills1) > >> > >> > protoze pak ti klesa schopnost udrzovat to a posouvat si > >> > mezi sebou vedomosti. K cemu ti je kus v super jazyku ktery se > >> > na to hodi, kdyz clovek co ho napsal odesel z firmy a nikdo jiny > >> > to moc neumi. > >> Pokud je to něco dost jednoduchého tak by právě proto neměl být > >> problém to pochopit. A v opačném případě by to mělo mít zřejmé > >> nebo aspoň zdokumentované výhody. Pokud je to opravdu dobré řešení > >> mého problému tak bych k tomu přece měl dojít nezávisle i kdyby to > >> onen ujdoucí kolega spáchal jinak. > >> BTW nejnesrozumitelnější kód co v haklu máme není v žádném > >> exotickém jazyce nebo prostředí, ale je to prostě zprasený python. > >> Ergo "nikdo jiny to moc neumi" není problém jazyka, ale > >> dokumentace, codereview, prostě štábní kultury. > >> > >> > Udrzovat svuj stack na jednom jazyku dava smysl. A kdyz 80 % > >> > tvojeho byznysu dava smysl udelat v Pythonu, treba kvuli numpy a > >> > pandas atd., tak nechces mit 20 % v jinem jazyce. Je to problem. > >> Jo. A ne. Pokud mám 80% kodu řekněme v pajtnu, tak to nebudu > >> přepisovat do Ruby protože je zrovna v módě a ty jazyky jsou si > >> natolik podobný že si můžu být jistý že o nic nepřicházím. > >> Ale pokud potřebuju dejme tomu překopat xml tak se znova (už asi > >> popáté) budu učit zapomenuté xslt, páčž je to správný nástroj pro > >> takovou práci a tečka. > >> Zkušenost mě naučila že když něco rychle ubastlím, tak riskuju že > >> nakonec spálím daleko víc času objevováním zákeřných mezních > >> situací který dobře znal autor "správného" řešení. > >> Držet se zarputile jednoho jazyka/prostředí dáva smysl jen když je > >> tvým cílem mít tým lidí minimálně placených, maximalně > >> zaměnitelných… a minimálně kompetentních. > >> > >> > psat umi. Ale tim, ze existuji aspon castecna reseni, ktera > >> > nekdo aspon trochu pouziva, tak to neni uz uplne uzavreny jak to > >> > bylo a pro nejakyho vedce co by si chtel ke svemu pandas skriptu > >> > udelat mobilni appku v pythonu to reseni existuje, treba to > >> > Kivy. Na webu tohle zatim porad neni, Brython atd. jsou uplne > >> > experimentalni haluze, ktery nikdy nepreskocily ani na okraj > >> > mainstreamu. > >> Brython je narovnávák na vohejbák. Začátečníkovi přece nemůžu > >> doporučit něco seskládaný na tak vysokým stacku technologií že > >> vůbec nemá šanci pochopit jak ta věc funguje bez znalosti tuctu > >> dalších technologií. Člověk který kódovat umí se může rovnou > >> naučit Javascript bez dodatečných komplikací a obezliček. A tvůj > >> hypotetický vědec udělá líp když sáhne po nějakým JS frameworku > >> který mu ušetří skutečnou práci. > >> > >> > Fuj to jsem se zase rozepsal. Co si o tom myslite, krome > >> > toho, ze jsem blbec co to mel od zacatku psat s diakritikou? > >> Ja si myslím že Java přesvědčive dokázala že idea jednoho > >> "univerzálního" jazyka je kravina nezávisle na tom kolik peněz se > >> do ní naleje. Javascript je nezastupitelnej v tom na co je > >> stavěnej a více či měně na prd v tom ostatním. Čímž se nijak > >> neliší od jiných jazyků… > >> _______________________________________________ Python mailing list > >> python@py.cz > >> http://www.py.cz/mailman/listinfo/python > >> > >> Visit: http://www.py.cz > >> > > > > _______________________________________________ > > Python mailing list > > python@py.cz > > http://www.py.cz/mailman/listinfo/python > > > > Visit: http://www.py.cz -- Ondřej Tůma <mc...@zeropage.cz> www: http://ipv6.mcbig.cz jabber: mc...@jabber.cz twitter: mcbig_cz
pgp0PBd5UIQ49.pgp
Description: OpenPGP digital signature
_______________________________________________ Python mailing list python@py.cz http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz