Diit.cz - Novinky a informace o hardware, software a internetu

Diskuse k Interpret Pythonu 2 se od příštího Ubuntu přesouvá do komunitního repozitáře

Byl bych spíše pro postupné nahrazení tohoto jazyka lepší alternativou.

+1
-4
-1
Je komentář přínosný?

Všetko na svete má, alebo o chvíľu bude mať, lepšiu alternatívu. Je blbosť neustále preskakovať.
Python už má lepšiu alternatívu - Python3. Keď ešte popracujú na dôvode kvôli ktorému získava Golang svoj trhový podiel (concurrency), budem spokojný.

+1
0
-1
Je komentář přínosný?

Problém je v tom, že pro Python existovaly lepší alternativy ještě dříve, než vůbec vznikl. Ale to už tak v informatice často bývá, že znovuvynalezené kolo je horší, než to původní...

+1
-3
-1
Je komentář přínosný?

Které alternativy jsou lepší? Ptám se ze zájmu, sám jsem pythnou nepřišel na chuť...

+1
+1
-1
Je komentář přínosný?

Na výučbu programovania (pôvodný účel pythonu) lepšia alternatíva neexistuje. Na rýchle prototypovanie si dovolím tvrdiť že taktiež nie. Pracujem dost veľa s Go, ale učiť by som sa to ako prvý jazyk nechcel. Zbytočne komplikovaná syntax, príliš málo knižníc tretích strán (rovnaký problém má LUA). Ruby sa pri živote drží už len vďaka RoR a Puppet. Ostatné jazyky sú absolútne nevhodné ako náhrada pythonu. Fakt nevidím alternatívu.

+1
+3
-1
Je komentář přínosný?

Na prototypovaní je super.
Na výuku programování ... nevím, ale spíš bych tady viděl C, Javu, Delphi, .NET. Ne proto, že by Python nebyl jednoduchý, ale proto, že se svým způsobem nepodobá žádnému jazyku. Člověk moc neřeší typy (a díky tomu není na první pohled jasné, co funkce vlastně očekává), třídy jsou řešeny "divně" a delší udržovatelný kód je v tom obtížné napsat. C++ bych asi nechtěl pro složitou syntax a variabilitu v tom, jak program vlastně zbuildovat.

+1
-2
-1
Je komentář přínosný?

Ono je dost složité zvolit vhodný jazyk pro výuku, v jakémkoliv případě. C je velmi těžká cesta pro začátečníky, ale zase naučí člověka, jak to funguje blíže k samotnému železu a naučí se šetřit se zdroji. Python je lépe čitelný, ale zase nedává možnost pochopit pro začátečníky funkcionalitu v pozadí. Navíc je v něm již mnoho funkcí implementovaných. Co se musí v C implementovat, pro to je v Pythonu metoda. Python zase rychle uvede do objektového paradigmatu... což může jít oběma směry... Java se svým přepisováním metod, rozhraními, abstraktními třídami, kontejnery, čistě objektovým přístupem a taktéž spoustou implementovaných metod může zamotat začátečníkům hlavu. Není to jednoduché téma s jedním možným řešením.

+1
+2
-1
Je komentář přínosný?

"ale proto, že se svým způsobem nepodobá žádnému jazyku"

To je dost bizarní tvrzení, když má očividně třeba blokovou strukturu z Algolu, 2D syntaxi z Haskellu nebo moduly z Moduly ( :)). Jak jsou třídy řešeny "divně"? Že se teď podobají třídám z Moduly? Proč je v tom obtížné napsat delší udržovatelný kód? (PEBKAC?)

+1
+1
-1
Je komentář přínosný?

> Na výuku programování ... nevím, ale spíš bych tady viděl C, Javu, Delphi, .NET.

Nežijem síce v CZ/SK, takže neviem čo sa na výučbu používa tam, ale napr v GB sa programovanie pythonom učia 11-12 ročné deti a BAVÍ ich to. Žiadna z vaších alternatív toto nedokáže. A študent má základy kompatibilné a ľahko prenositeľné na iné programovacie jazyky.

+1
+3
-1
Je komentář přínosný?

Například Go-Lang (google a významná část internetu) a Rust (Firefox).

Python má výhodu, že existuje už strašně dlouho a že je triviální (nebo výukový). Ale myslím, že ani ve verzi 3 nepřekročí svůj stín.

+1
-3
-1
Je komentář přínosný?

Tak z jazyků, které mají zhruba podobný charakter jako Python, vznikly dříve než Python, a přitom v nich od začátku nebyly tak zásadní chyby, že by se musely dvakrát předělávat, mě napadají třeba Scheme nebo Dylan. V současnosti je minimálně Scheme technicky daleko před Pythonem (nativní vlákna, nativní kompilátor, systémy modulů apod.), Dylan bohužel poněkud zapadl - podle mě dost škoda, protože nabízel spoustu flexibility v "konvenčnějším" balení.

+1
-2
-1
Je komentář přínosný?

Tyhle jazyky netlačí žádná firma ani aliance, takže od začátku bylo jasné, že se neprosadí. Podle mně mají šanci z těchto důvodů jedině Go a Rust. Navíc jsou mnohem výkonnější než například ten Python, i když ne tak jednoduché. A další výhody jako například konkurenčnost namísto paralelních vláken a error exit parametry u funkcí namísto výjimek.

Apropos na tom Pythonu mi zásadně vadí právě ta jednoduchost a totálně exotický způsob zápisu (snad kromě Lispu nebo Prologu, ale i tyhle zápisy mi připadají konzistentnější).

+1
-1
-1
Je komentář přínosný?

"Tyhle jazyky netlačí žádná firma ani aliance, takže od začátku bylo jasné, že se neprosadí."

Vy o tom mluvíte, jako kdyby dav určoval, co budu nebo nebudu používat za jazyk. Já si svoje programovací prostředí vždycky vybíral podle vlastních potřeb, ne podle nějaké soutěže popularity (s výjimkou Javascriptu, za který v současnosti v prohlížeči neexistuje uspokojivá náhrada, ale v budoucnu se to díky WebAssembly snad změní).

"A další výhody jako například konkurenčnost namísto paralelních vláken a error exit parametry u funkcí namísto výjimek."

To první není buď-anebo (předpokládám, že tím podivným slovem "konkurenčnost" máte na mysli souběžné zpracování?), a že by chybové kódy byly lepší než restartovatelné výjimky ve stylu St80 nebo CL řízené shora, no to tedy fakt nevím.

+1
0
-1
Je komentář přínosný?

Jaký dav prosím? Dav vymyslel věci jako je PHP nebo MySQL a ukázalo se to nakonec jako velmi úspěšné. Za Go například stojí Ken Thompson, něco si o tom zjistěte.

Jinak názor na výběr jazyka respektuju, ale žeby cokoli nahradilo javascript, který se nám dnes rozvinul např. do reactu a na serverovou stranu, to si zrovna myslím, že rozvoj jde spíš opačným směrem (ECMA5, 6 atd.)!

Go a Rust zatím jen zkoumám, ale co vím, tak souběžné- paralelní zpracování znamená vlákna a z toho problémy s jejich řízením a komplikovanost. Ohledně výjimek je to prostě trochu jiný přístup, funkce namísto aby házela výjimku napřímo, se vrátí s chybou. Ta se zpracuje v programu po návratu (u Rustu pres match result Ok(value), Err(error)).

Sečteno vidím tam samé výhody - podle testů rychlý jako céčko, přitom syntax je o dost jednodušší, žádné komplikace s ukazateli a jejich aritmetikou, alokací paměti, řízením vláken. Potřebné vyšší knihovny + tooly existují už od začátku atd. Škoda že to nevymysleli dřív :)

+1
0
-1
Je komentář přínosný?

Asi by vás dost překvapilo, jak hodně se Python používá třeba pro vědecké výpočty. Ať už díky scipy nebo bindingu na R.

+1
+5
-1
Je komentář přínosný?

Ani ne. Vzhledem k tomu, že je s množstvím knihoven svým způsobem alternativou k matlabu, ale zdarma.
Byť programuju v C++, tak Python používám na různou konverzi a dávkové zpracování dat, které dělám čas od času. V C++ bych to psal dýl, v Pythonu je o dost jednodušší práce s textovými soubory a tak, občas se hodí knihovny pro čtení dat z HDF5 do numpy 3D polí, občas načíst XML, občas něco jiného ... v C++ by to vyžadovalo přilinkovat knihovnu, číst dokumentaci ... v Pythonu člověk často najde na githubu podobný kód.
Na druhou stranu bych v Pythonu nechtěl psát kód přesahující pár stovek řádků a řešící všemožné chybové stavy

+1
0
-1
Je komentář přínosný?

Čím je python úspěšnější, tím silnější je proti němu hejt. :-) Python je výborný jednoduchý a flexibilní jazyk v kterém se dá snadno naprogramovat kde co a je to snadné i pro laiky. Zároveň je vhodný i na velké náročné věci, používá ho Google i Seznam. Třeba pohání youtube. Asi ta použitelnost pro laiky je trnem v oku pro lidi, ktéří se museli složitě učit, jak udělát něco, co lze v pythonu udělat velmi snadno.Já stále používám 2.x protože nemám zatím důvod, proč používat verzi 3.x.

+1
0
-1
Je komentář přínosný?

Krom nedostatku důvodů pro přechod na Python3, je nějaký důvod pro Python2? Krom jednoduššího zápisu funkce print a případně specifických knihoven, které nejsou v Pythonu3.

+1
0
-1
Je komentář přínosný?

Kromě pohodlnosti asi žádný není. Určitě by se měl minimálně zmrazit vývoj 2.x a jeho knihoven, ale měl by se udržovat pro chod starých programů.

+1
+1
-1
Je komentář přínosný?

Ok. Verze 2.7 z r. 2010 je prý finální Python2.

+1
0
-1
Je komentář přínosný?

Pro psaní komentářů se, prosím, přihlaste nebo registrujte.