Mám se učit Python 2 nebo 3?

Mám se učit Python 2 nebo 3?
« kdy: 09. 10. 2013, 22:37:30 »
ahoj
vzdy som sa chcel ucit programovat. tak som sa odhodlal a zacal som sa ucit python. na stranke coursera. kurz bol/je v pythone 3. nedokoncil som ho, lebo mi to neislo.
ale teraz sa zacal novy podobny kurz pre zaciatocnikov od inej univerzity a ten je v python 2.
a onedlho sa zacne na inej stranke edx kurz od MIT v pythone 2 tiez.

ale mna velmi serie, ze si neviem vybrat comu sa venovat. nechcem sa ucit naraz oba. to je hovadina.
na prvy laicky pohlad sa mi pozdava 3. a aj logicky - novsie je lepsie.  ale zase na dvojku ze je vela kniznic a neviem coho.
ale ked by vsetci mali ostat pri dvojke, vyvoj by sa nedial. musi sa to hybat.

lenze ak by som ostal pri 3, tak prepasnem tieto 2 kurzy. na trojku uz neni dalsi.


tak preto, ak chcem ostat pri trojke, mozte mi prosim odporucit KNIHU z ktorej sa mam ucit ?


dakujem
« Poslední změna: 09. 10. 2013, 23:55:25 od Petr Krčmář »


někdo

Re:python 2 alebo python 3 ? TAG: zaciatocnik. kniha. rada.
« Odpověď #1 kdy: 09. 10. 2013, 23:41:46 »
Zdar,
klidně se uč python 2 a pokud u pythonu do budoucna zůstaneš, tak přechod na trojku nebude žádný velký problém. V současné době se běžně používá spíše python 2.

To že novější je lepší v tomto případě úplně nemusí platit. Je pravda, že python 3 je v mnoha ohledech lepší, ovšem zatím není dostatečně zralý, respektive teď jsme se dostali na onen bod zlomu. Python 3 se teprve v aktuální verzi 3.3 dostal do stavu, kdy je možné začít uvažovat o tom, že by mohl začít nahrazovat python 2. Verze 3.3 například "opravila" svět webových vývojářů, který původně python 3 tak trochu rozbil. Jeden z core vývojářů pythonu se v článku asi před rokem pozastavoval nad faktem, že arch linux již přešel na 3 a uvedl, že předpokládá že čas na přechod na trojku přijde tuším někdy okolo roku 2015.

wamba

Re:python 2 alebo python 3 ? TAG: zaciatocnik. kniha. rada.
« Odpověď #2 kdy: 09. 10. 2013, 23:47:53 »

Pavel 'TIGER' Růžička

Re:python 2 alebo python 3 ? TAG: zaciatocnik. kniha. rada.
« Odpověď #3 kdy: 09. 10. 2013, 23:59:12 »
Zdar,
klidně se uč python 2 a pokud u pythonu do budoucna zůstaneš, tak přechod na trojku nebude žádný velký problém. V současné době se běžně používá spíše python 2.

To že novější je lepší v tomto případě úplně nemusí platit. Je pravda, že python 3 je v mnoha ohledech lepší, ovšem zatím není dostatečně zralý, respektive teď jsme se dostali na onen bod zlomu. Python 3 se teprve v aktuální verzi 3.3 dostal do stavu, kdy je možné začít uvažovat o tom, že by mohl začít nahrazovat python 2. Verze 3.3 například "opravila" svět webových vývojářů, který původně python 3 tak trochu rozbil. Jeden z core vývojářů pythonu se v článku asi před rokem pozastavoval nad faktem, že arch linux již přešel na 3 a uvedl, že předpokládá že čas na přechod na trojku přijde tuším někdy okolo roku 2015.

Takže pokud se ho chce naučit dobře, tak je lepší se učit tu trojku, protože až jí bude umět, tak se bude akorát nasazovat, čož je ideální, no ne?

txt

Re:Mám se učit Python 2 nebo 3?
« Odpověď #4 kdy: 10. 10. 2013, 00:25:11 »
Podle toho jaký knihovny chceš používat


df5830

Re:Mám se učit Python 2 nebo 3?
« Odpověď #5 kdy: 10. 10. 2013, 02:09:35 »
Sám jsem aktivní student knih od Marka Lutze (Learning Python a Programming Python) a mohu jen a jen doporučit. Je to již celé o Pythonu 3 ale souběžně s tím i detailně popisuje rozdíly v dvojce (takže ve výsledku se vyznáš v obojím). Knížky se čtou jedním dechcem jako pohádka a autor umí perfektně vysvětlit o každém aspektu jazyka proč je daná věc v Pythonu udělána takhle a ne jinak (a že to je vlastně přesně to co chceme :D ).

Learning Python klidně doporučím úplnému začátečníkovi nepolíbenému programováním, úplný základ v knize najde a rovnou ho bude umět používat. Případně další info se dá lehce vygooglit.

eMko

  • ****
  • 456
    • Zobrazit profil
    • E-mail
Re:Mám se učit Python 2 nebo 3?
« Odpověď #6 kdy: 10. 10. 2013, 06:58:49 »
Pro začátečníky bych obecně doporučil Python 3 a knihu typu 'Head First Programming'.

Nicméně není vše tak jednoduché, jak se zdá. Python 3, ač jej mám raději, je prostě jiný a ne všichni autoři knihoven na něj přešli, což může být velký problém.
Dobrý seznam je tu https://python3wos.appspot.com/ . (Mám dojem, že původně se jmenovala "Wall of Shame", na "Wall of Superpower" to přešlo až od určitého počtu portovaných knihoven, ale můžu se mýlit.) Pokud chceš použít některé z těch knihoven, které Python 3 nepodporují (Django, WxPython...?), tak budeš muset zatím zůstat u dvojky. Jinak k tomu není důvod a je lepší se učit přímo Python 3. Budoucnost je tam.

Osobně bych ten rozdíl přirovnal k rozdílu Favorit (1993 - s motorem s jednobodovým vstřikováním) a Felicia (1998 1.3MPI). Filcka je hezčí auto, táhne líp, nehnije tolik, ovládací prvky jsou příjemnější a může mít pár vychytávek jako airbag a posilovač, které ale ve výsledku nehrají až tak extra velkou roli - posilovač trochu zpříjemní parkování a průser-vyhýbací manévry, airbag je (v tomto případě) na ozdobu pro dobrý pocit. Ale když se na to podíváš s odstupem, až tak velký rozdíl v nich není.

někdo

Re:Mám se učit Python 2 nebo 3?
« Odpověď #7 kdy: 10. 10. 2013, 07:38:12 »
Takže pokud se ho chce naučit dobře, tak je lepší se učit tu trojku, protože až jí bude umět, tak se bude akorát nasazovat, čož je ideální, no ne?

Nechápu proč by se 2 nemohl naučit dobře a až bude v bodoucnu přecházet na 3, což nebude nijak složité, tak  ho to alespoň přiměje se zamyslet nad tím a nastudovat proč se některé věci změnily, což také bude mít svůj přímos.

To podstatné co jsem chtěl naznačit je, že byť existuje python 3.3, tak verze 2.7 není nikterak archaická a ještě tu s námi pár let bude. Pokud tedy tazatel preferuje studium pomocí online kurzů, tak není důvod se vyhýbat kurzům na python 2.

Nehledě na to, že pokus se jedná o začátečníka, tak na tom jestli se bude učit python 2 nebo 3 vůbec nezáleží.

Pokud chceš použít některé z těch knihoven, které Python 3 nepodporují (Django, WxPython...?), tak budeš muset zatím zůstat u dvojky.

Django již python 3 podporuje (zatím experimentálně), WxPython bohužel ne, ale pro začátečníka toto asi není až tak rozhodující.

pavele

Re:Mám se učit Python 2 nebo 3?
« Odpověď #8 kdy: 10. 10. 2013, 07:40:03 »
Je pravda, že je verze 3 pomalejší než 2?

eMko

  • ****
  • 456
    • Zobrazit profil
    • E-mail
Re:Mám se učit Python 2 nebo 3?
« Odpověď #9 kdy: 10. 10. 2013, 10:19:18 »
Krátce: Není.

Dlouze: Před pár lety, v dobách 3.0 vs 2.5, opravdu platilo, že 3 byla obecně pomalejší než 2, ale nijak zvlášť citelně. Nyní je důležité, že verze 3 se stále ještě vyvíjí, kdežto 2 už moc ne. Poslední major verze 2.7 je z roku tuším 2010, od té doby bylo několik minoritních releasů, ale bez velkých změn. V Python 3 je pár jazykových konstrukcí, které jsou jiné a pokud je použiješ stejně jako v 2, můžeš napsat ve výsledku pomalejší kód - např. map/zip vrací generátor, ne seznam a tím se u kratších kolekcí může projevit vyšší overhead (na druhou stranu můžeš pracovat s nekonečnými kolekcemi a nezapráskat paměť).

A i kdysi to zpomalení nebylo nijak citelné - chceš-li napsat větší aplikaci, která poběží rychle, sáhni po něčem jiném. Síla Pythonu je jinde.


Re:Mám se učit Python 2 nebo 3?
« Odpověď #10 kdy: 10. 10. 2013, 12:44:03 »
Nejlepší se učit hned nejnovější verzi
Michal Kolesa
29 let, Invalidní důchodce, Vyučen: elektrikářem - silnoproud, Maturita: Strojírenství, Zájmy: Počítače AOI

Re:Mám se učit Python 2 nebo 3?
« Odpověď #11 kdy: 10. 10. 2013, 16:40:32 »
df5830

ktoru konkretne knihu by si mi odporucil pre uplny zaciatok a v originaly (anglictina?) alebo preklad slovencina(asi nie je ..), cestina ?

Jakub L.

Re:Mám se učit Python 2 nebo 3?
« Odpověď #12 kdy: 10. 10. 2013, 20:07:18 »
Protože jsem programoval v obojím, přiznám se, že rovnou doporučuji Python 3. Oba jsou velmi podobné, ale trojka řeší spoustu bolístek z Pythonu 2, třeba unicode.

Pokud chcete mermomocí použít Python2, doporučuji použít __future__ a zkompatibilnit co nejvíc kód i zvyklosti s Pythonem 3

df5830

Re:Mám se učit Python 2 nebo 3?
« Odpověď #13 kdy: 11. 10. 2013, 03:30:41 »
df5830

ktoru konkretne knihu by si mi odporucil pre uplny zaciatok a v originaly (anglictina?) alebo preklad slovencina(asi nie je ..), cestina ?

O cz/sk překladu bohužel nic nevím, knihy mám v angličtině. Learning Python je první díl probírající základní konstrukce jazyka (srozumitelně a zároveň do obdivuhodné hloubky) a představující dobré návyky při práci s Pythonem. Více viz obsah. Angličtina je to jednoduchá a moc dobře se mi to četlo (a to bych řekl že jsem v tomto jazyku vyloženě slabý).

Programmig python je myšleno jako druhý díl ve kterém se rozebírají už jen některé konkrétní oblasti (viz obsah).

iwtu

Re:Mám se učit Python 2 nebo 3?
« Odpověď #14 kdy: 11. 10. 2013, 04:32:33 »
Nechápu proč by se 2 nemohl naučit dobře a až bude v bodoucnu přecházet na 3, což nebude nijak složité, tak  ho to alespoň přiměje se zamyslet nad tím a nastudovat proč se některé věci změnily, což také bude mít svůj přímos.

Ak sa chces ucit programovat, tato dilema Ta nemusi trapit. Vyber si to, k comu mas lepsie materialy a co sa Ti bude lepsie ucit. Hej, sice sa budes ucit v Pythone ale dlabat na to. Za svoj karieru prejdes niekolkymi jazykmi, predpokladam.. Ja som zacal s Pacal, potom C, C++, Java, Haskell, C#, Javascript, Haskell, Python.. Najdolezitejsie je to, ze zacnes a pri tom ostanes. Bude sa ohybat a menit mysel. Budes sa ucit abstrakcia a sposoby riesenia problemov. Googlit. Uprimne je jedno, v ktorom jazyku zacnes ak zacnes s Python2 a potom prejdes na Python 3, nastudujes si, preco sa niektore veci zmenili co bude mat velky prinos pre Tvoje vnimanie.