<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<meta content="text/html; charset=UTF-8">
<style type="text/css" style="">
<!--
p
{margin-top:0;
margin-bottom:0}
-->
</style>
<div dir="ltr">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Arial,Helvetica,sans-serif">
<p></p>
<div>Něco na způsob statické kontroly kódu už v pythonu existuje.<br>
Je to mypy, ve kterém se osobně angažuje Guido.<br>
http://mypy-lang.org/<br>
http://www.elfsternberg.com/2016/12/04/write-python-mypy/<br>
<br>
V Pythonu 3 koneckonců objevily typové anotace, které toto umožňují elegantněji než Python 2.7. To že o nich lidé<br>
buď neví, nebo jim nerozumí nebo bůhví proč je vlastně nepoužívají, je věc jiná. Kontrolu kódu umí i PyCharm.<br>
Dále, pokud si přečteš novinky v 3.6, pak se tam cosi o vylepšené podpoře JIT kompilátorů objevuje.<br>
<br>
http://www.infoworld.com/article/3149782/application-development/python-36-is-packed-with-goodness.html<br>
<br>
Mimochodem, Python jako takový je specifikace jazyka, nikoliv jeho implementace. CPython, který ty myslíš, je referenční implementace, nicméně existují i jiné jako Jython, PyPy, IronPython, které například nemají GIL a jsou tuším kompilované pro své virtuální
stroje.<br>
<br>
GIL je kapitola sama pro sebe, k té se nechci vyjadřovat. Viděl jsem pitomě napsanou funkci, kterou autor demonstroval, že Python neumí paralélní výpočty. Doporučuji tento starý článek:<br>
https://jeffknupp.com/blog/2012/03/31/pythons-hardest-problem/<br>
<br>
<br>
Co se týče rychlosti, tak Python podle Guida nikdy nekladl rychlost na první místo. Existuje NumPy, Cython, Numba, které toto řeší, pokud má člověk takovou potřebu.
<br>
https://www.ibm.com/developerworks/community/blogs/jfp/entry/A_Comparison_Of_C_Julia_Python_Numba_Cython_Scipy_and_BLAS_on_LU_Factorization?lang=en </div>
<br>
<p></p>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>Od:</b> Python <python-bounces@py.cz> za uživatele Vláďa Macek <macek@sandbox.cz><br>
<b>Odesláno:</b> 2. ledna 2017 21:01:06<br>
<b>Komu:</b> Konference PyCZ<br>
<b>Předmět:</b> Re: [python] Too much freedom?</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">Děkuju za dosavadní odpovědi.<br>
<br>
Určitě jsou zajímavý, ale tak nějak mám pocit, že jste se nezdrželi na<br>
podstatě otázky. :-)<br>
<br>
Nebo si to mám jednoznačně vyložit jako "svobodnou dynamičnost jazyka<br>
neomezovat, protože zmíněný hypotetický zisky ve skutečnosti většina<br>
nevyužije nebo je možné jich dosáhnout jinak"?<br>
<br>
Víte, mě se vždy líbila myšlenka RISC v obklopení bloatem CISC. Přemýšlím,<br>
jestli Python trochu nezakopává o svojí nespoutanost ve chvíli, kdy záměrem<br>
je psát v něm opravdu velký => konzistentní a stabilní systém. Vím, že se v<br>
něm (úspěšně) píšou.<br>
<br>
Pythoní packaging taky vnímám jako něco, do čeho nechci vstupovat. Bolest.<br>
Napadlo mě, jestli její kořeny netkví už třeba u importování, sys.path,<br>
opět nespoutaném a tudíž nejednotném.<br>
<br>
Nemusíte mě nutně brát doslova, uvažuju.<br>
<br>
V.<br>
<br>
<br>
On 2.1.2017 20:19, Michal Vyskocil wrote:<br>
> Ahoj,<br>
><br>
> Souhlasím, že gil je větší problém. Na rychlost je pypy, volitelné<br>
> typování už fanda standardní knihovna.<br>
><br>
> Já bych za sebe přidal lepší a jednodušší packaging, než setup.py,<br>
> setup.cfg, manifest, requirements.txt a všechny ty věci.<br>
><br>
> Nevím jak pro ostatní, ale pro mě je setuptools čirá magie. Jakékoli<br>
> rozšířeni, třeba o py.test, je jenom o hledání magických postupů na<br>
> internetu.<br>
><br>
> Michal<br>
><br>
> Dne 2. 1. 2017 6:18 PM napsal uživatel "Petr Messner"<br>
> <petr.messner@gmail.com <<a href="mailto:petr.messner@gmail.com">mailto:petr.messner@gmail.com</a>>>:<br>
><br>
> Ahoj,<br>
><br>
> mě to všechno zatím řeší Cython :) Když teda potřebuju rychlost.<br>
><br>
> Zrychlení o 20% (nebo 25% nebo 50%...) - opravdu by to něčemu<br>
> prakticky pomohlo? Jen málokdo funguje v takových rozměrech, aby 20%<br>
> zrychlení Pythonu znamenalo, že se ušetří vůbec nějaké množství<br>
> nákladů na hardware. <br>
><br>
> Mě by se Python třeba výrazně zrychlil odstraněním GILu :)<br>
><br>
> Jako já žádné zrychlovací snahy nechci shazovat, pokud to jde, tak<br>
> sem s tím :) Jen prostě pokud za odpověď někdo považuje "zrychlit<br>
> Python", jaká je vlastně otázka? A není na ní lepší odpověď? :) Třeba<br>
> změnit databázové schéma, kešovat, jinak zpracovávat data, snížit<br>
> počet I/O operací, použít nějakou hustou knihovnu, co využívá<br>
> vektorové instrukce CPU/GPU... Nejspíš existují i jiné možnosti, než<br>
> dojdete k okamžiku "a teď už by tomu opravdu pomohla jen kvantová JIT<br>
> VM".<br>
><br>
> Ad statická kontrola kódu - můžu začít tím, že si sem a tam budu<br>
> anotovat, že funkce vrací string, nebo že to nějaký nástroj dokonce<br>
> odvodí za mě... Ale čím vic jdu do hloubky, tím víc si říkám, že bych<br>
> to teda raději dělal rovnou v tom C++ :) Ale to je možná tím, že<br>
> jakmile mám kladivo (C++), tak prostě všechno najednou vypadá jako<br>
> hřebík. I v tom Google si raději vymysleli Go, než aby každého<br>
> programátora museli zasvěcovat do tajů C++.<br>
><br>
> Jsem zvědavý na další názory :) Hodně zdraví a málo segfaultů v novém<br>
> roce!<br>
><br>
> PM<br>
><br>
> Dne 2. ledna 2017 17:12 Vláďa Macek <macek@sandbox.cz<br>
> <<a href="mailto:macek@sandbox.cz">mailto:macek@sandbox.cz</a>>> napsal(a):<br>
><br>
> Ahoj všem, hezký nový rok.<br>
><br>
> Občas mě napadne...<br>
> Python je silně dynamický jazyk, tj. umožňuje velmi svobodné<br>
> operace s<br>
> objekty, metaprogramování atp. Až tolik, že to některým lidem<br>
> přijde moc a<br>
> vyvíjejí aktitivy, jak ho trochu spoutat a něco za to získat.<br>
><br>
> Otázka. Obětovali byste některý z dynamických rysů pythonování<br>
> výměnou<br>
> třeba za (hypotetické) zisky, jako aby mainstreamový interpret<br>
><br>
> * se všem zrychlil v průměru o 15% či o 20%?<br>
> * se dal kompilovat do efektivního nativního kódu?<br>
> * umožňoval výrazně lepší podporu automatické statické kontroly<br>
> kódu?<br>
> * ...<br>
><br>
> Podotýkám, že to jsou podněty k zamyšlení, nikoli k flamewar. :-)<br>
><br>
> Pokud máte načteno a ozkoušeno něco z toho, co se tématu týká,<br>
> uvítám i,<br>
> pokud se o to podělíte. Nikdy nezaškodí si rozšířit obzory.<br>
><br>
> Vláďa<br>
><br>
><br>
> _______________________________________________<br>
> Python mailing list<br>
> python@py.cz <<a href="mailto:python@py.cz">mailto:python@py.cz</a>><br>
> <a href="http://www.py.cz/mailman/listinfo/python">http://www.py.cz/mailman/listinfo/python</a><br>
> <<a href="http://www.py.cz/mailman/listinfo/python">http://www.py.cz/mailman/listinfo/python</a>><br>
><br>
> Visit: <a href="http://www.py.cz">http://www.py.cz</a><br>
><br>
><br>
><br>
> _______________________________________________<br>
> Python mailing list<br>
> python@py.cz <<a href="mailto:python@py.cz">mailto:python@py.cz</a>><br>
> <a href="http://www.py.cz/mailman/listinfo/python">http://www.py.cz/mailman/listinfo/python</a><br>
> <<a href="http://www.py.cz/mailman/listinfo/python">http://www.py.cz/mailman/listinfo/python</a>><br>
><br>
> Visit: <a href="http://www.py.cz">http://www.py.cz</a><br>
><br>
><br>
><br>
><br>
> _______________________________________________<br>
> Python mailing list<br>
> python@py.cz<br>
> <a href="http://www.py.cz/mailman/listinfo/python">http://www.py.cz/mailman/listinfo/python</a><br>
><br>
> Visit: <a href="http://www.py.cz">http://www.py.cz</a><br>
<br>
<br>
-- <br>
: Vlada Macek : <a href="http://macek.sandbox.cz">http://macek.sandbox.cz</a> : +420 608 978 164<br>
: UNIX && Dev || Training : Python, Django : PGP key 97330EBD<br>
<br>
(Disclaimer: The opinions expressed herein are not necessarily those<br>
of my employer, not necessarily mine, and probably not necessary.)<br>
<br>
_______________________________________________<br>
Python mailing list<br>
python@py.cz<br>
<a href="http://www.py.cz/mailman/listinfo/python">http://www.py.cz/mailman/listinfo/python</a><br>
<br>
Visit: <a href="http://www.py.cz">http://www.py.cz</a><br>
</div>
</span></font>
</body>
</html>