[python] Python na frontendu, Brython
Honza Javorek
mail na honzajavorek.cz
Středa Duben 20 18:33:06 CEST 2016
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.fabian na 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 na py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20160420/b1dc6eea/attachment.html>
Další informace o konferenci Python