HOVD 2019 fork: Python 2 vagy Python 3?

Címkék

A HOVD 2019 - Kedvenc szkriptpnyelv szavazás győztese a Python lett. Mit használtok inkább, Python 2 vagy Python 3?

Python 2
6% (33 szavazat)
Python 3
90% (509 szavazat)
Egyéb, leírom a hozzászólásban
4% (24 szavazat)
Összes szavazat: 566

Hozzászólások

Semmi közöm a Python-hoz.

trey @ gépház

- Inkább a windows 10 mint a 7.
- Inkább a systemd mit az init.
- Inkább a Python 3 mint a 2! :D

Tertilla; Tisztelem a botladozó embert és nem rokonszenvezem a tökéletessel! Hagyd már abba!; DropBox

A Python 2 már EOL állapotban van. Amely programot még nem portoltak 3-asra, azt valszeg amúgy sem érdemes használni, mert nem tartják karban.

Csakhogy a python2-t mar lehet nyugdtan nem mukodonek tekinteni. A legnagyobb baj, hogy javitas mar nem lesz hozza, igy ha security issue van akkor az is benne marad. De a disztrokbol is el fogjak tavolitania  python2-t, ugyhogy technikailag se fog igazan mukodni. (Persze, persze, fel lehat majd varazsolni, de minek?!)

Python2-t használunk, Python3-at kéne...

"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." John F. Woods

Python2, de annyira kevés python2 specifikus kódom van, hogy akár egyből python3 is lehetne.

Nem a preferálás a legfőbb kérdés, az ma már egyértelmű. Inkább a sok örökségként maradt Python2 kód mikor nyugdíjazható (íródik át Python3-ra)?
Avagy Fortranos érzésem van. Ebben sem készül sok új kód, ám sok tudományos számítás abban maradt fenn így van létjogosultsága.

Tudnál példát mondani olyan népszerű csomagra, ami nem működik 3.x alatt? Privát kódok gondolom vannak szép számmal, de publikus csomagok közül tavaly ősszel találkoztam összesen eggyel, ami csak 2.x alá volt, de év végére lett belőle 3.x alatt működő béta kiadás. Mostanában én inkább azt tapasztalom, hogy a 2.x kompatibilitási kódrészleteket kukázzák a csomagokból és csak a 3.6+ a támogatott verzió.

Ubuntu 20.04 fejlesztés alatt álló disztró mai állapota szerint a Python2 dobása dobja:

    - texlive-extra-utils   2019.20191208-1ubuntu1  <-- pstricks rántja fel
    - texlive-latex-extra  2019.20191208-1ubuntu1
    - texlive-pictures      2019.20191208-1ubuntu1  <-- latex-extra rántja fel
    - texlive-pstricks      2019.20191208-1ubuntu1

csomagokat.

Egyeb: mindkettot ruhellem

I hate myself, because I'm not open-source.

Egyéb. Most használom, vagy preferálom? A Python2-t preferálom, de azt használom, ami van.

Hát mire használja az ember a print-et?

Amúgy van egy komolyabb indok is. Az osztást szerintem nagyon elcseszték a 3-asban. Kíváncsi lennék, miért kellett azt megváltoztatni. Kik nem voltak képesek hozzáírni a számokhoz egy ".0"-t, vagy a változókhoz egy "*1.0"-t? Inkább nekik kellett volna bevezetni a // operátort, nem nekünk.

amelyiket a disztribucio tamogatja.

amugy mi a kulonbseg?

neked aztan fura humorod van...

mondjuk ez pont a py 2.7 elonye most :) hogy evek ota valtozatlan, ami par eve mukodott az meg evekig mukodni fog vele ;)

emlexem anno a py 2.3-2.5 korul folyton varialtak a szintaxist es mindig reszelni kellett frissiteskor a kodokat (pl. split() valtozott stb)

most ugyanez megy a py 3.5-3.7 korul, par havonta jon ki ujabb verzio es mindig valtoztatnak valamit ami miatt nem fut ami az elozo alverzioval meg jo volt. eles hasznalatban ez problemas, mert mondjuk ha 3.5-on fejlesztek, nem biztos hogy 3.7-en is futni fog, es forditva is ugyanez igaz. es akkor meg csak a sajat kodokat neztem, a kulso libek meg nehezebben kovetik a folytonos valtoztatasokat :(

raadasul a major disztrok is eltero 3.x verziokat szallitanak (ubi 16-18 / centos 7-8)

A 3.x sorozatnál egyetlen jelentős előre-inkompatibilitással találkoztam csak: amikor az async kifejezés nyelvi elemmé vált és nem lehetett 3.6-tól függvény paraméterként használni. Mással nem nagyon. Visszafelé persze nyilván egyértelműbb: ha nem használok 3.8-ban bevezetett szintaktikai elemeket, akkor menni fog 3.6-tal is (ez alá sosem megyek az f-string miatt).

A "pár havonta" új verzió kicsit túlzás, 3.9-től éppenséggel átállnak 17 hónapos fejlesztési ciklusra.

Meg távol álljon tőlem, hogy így látatlanban kritizáljam a fejlesztési módszeredet, de elég triviális feladatnak tűnik kideríteni, hogy fut-e a kódod tetszőleges Python verzió mellett. Egyszerűen beleírod a kedvenc test-runner vagy CI/CD (vagy egyéb eszköz) konfigjába, hogy mely Python verziók mellett futtassa le a kódhoz írt teszteket. Így egy pillanat alatt kiderül, hogy melyikkel megy és eldöntöd hogy átírod a kódot, vagy jelzed, hogy mivel kompatibilis a program.

jobb lett volna kulon bontani a szavazast, mert a hasznaltok es a preferaltok nem mindig egyezik...

nekem tetszik a py3, sokmindent rendberaktak ami gany vagy kovetkezetlen volt a 2-ben, igy uj dolgoknak mar abban allok neki.

de egyreszt sok helyen py2 van (regi szerverek, beagyazaott rendszerek), tehat hasznalni meg inkabb py2, most meg.

meg vannak 3rd party lib-ek amik meg nem vagy nem teljesen kompatibilisek py3-al. ezek miatt is van ahol py2 fut meg.

egyelore probalok ugy kodolni hogy 2-vel es 3-al is fusson, de neha nem egyszeru, nagyon nem, vagy nagyon sokat kell emiatt if-ezni vagy egyeb modon ganyolni.

meg van egy raklapnyi (kb 15 ev termese) py2 kodom, amit portolni kene, es sokszor nem csak a print zarojelezesen mulik...

A'rpi

Szélsőségesen idealista fejlődésmániás Tapicskoló Tamásként az "újjabb jobb" elv értelmében a Python 3-at jelöltem meg. Pedig fogalmam sincs mi a különbség.

Szerkesztve: 2020. 01. 22., sze – 20:24

joesetben nem kell az elemi muveleteket hasznalnunk!