Python 4 will never come

Asa cim spune titlul : Python 4.0 will never arrive🤚😔. Said by Python’s creator | by Sabrina Carpenter | CodeX | Nov, 2021 | Medium

Nu cred ca limbajul ca disparea prea curand, dar afirmatia este interesanta

it would bе difficult for Python 4.0 to sее thе light of day sincе thе programming languagе is now through a challеnging difficulty, which would bе thе migration from Python 2.0 to Python 3.0.

Cred ca este un motiv
Am cateva scripturi cu python 2 si ma apuca groaza sa le portez pe python 3

5 Likes

Deci schimbările majore între versiuni și zero backwards compatibility nu sunt o idee bună… Cine s-ar fi gândit?

Se inspiră de la JS? Păi și de ce naiba nu au folosit abordarea "use strict"?

Mai este alt limbaj cât de cât popular cu abordarea python, de a arunca compatibilitatea la gunoi?

4 Likes

IMO o veste foarte bună, ultimul lucru de care ar fi nevoie ar fi o repetare a poveștii python 2 vs. 3. E interesant că vorbește de Rust dar unrelated, mă așteptam să vorbească și de „edițiile” din Rust. Din 3 în 3 ani se mai introduce o „ediție” care poate avea breaking changes, dar sunt schimbări mici (de genul: keyword nou), în niciun caz ceva ca python 2 vs. python 3, limbajul per ansamblu trebuie să rămână același. Ar fi fost util să fi existat conceptul ăsta și în python înainte să se fi gândit la python 3. Să se introducă schimbări breaking dar treptat, nu practic alt limbaj dintr-odată.

1 Like

Perl are use 5.30 ca să poți folosi noile features din versiunea respectivă. Altfel cred că merge orice de la 5.0 sau 5.8…

Păi asta zic, acele breaking changes sunt dacă vrei să folosești un Rust mai vechi cu un cod mai nou. Dar dacă vrei să folosești un cod mai vechi cu Rust mai nou cel mai probabil merge fără probleme (poate ceva deprecation notices?) :slight_smile:

În JS, cu foarte puține excepții, poți folosi cod scris acum 20 de ani. În PHP dacă scrii cod pentru o versiune (e.g. 7.x) nu vei avea probleme până la versiunea următoare (8.x), dar diferența este că ai o grămadă de versiuni între 7.x și 8.0 și cel puțin 2-3 versiuni în care primești deprecation notices.

De exemplu, eregi din PHP:

This function was DEPRECATED in PHP 5.3.0, and REMOVED in PHP 7.0.0.

Între 5.3 și 7.0 au fost cel puțin 3 versiuni serioase și nenumărate minore (5.6 a ajuns până la 5.6.40, de ex)


Una peste alta, cred că decizia asta de incompatibilitate a mușcat enorm din potențialul Python; mie mi-a plăcut mereu Py, dar mereu am fost ezitant și nu l-am folosit dincolo de mici pet-projects, tocmai pe ideea „dacă iese py4 și o iau de la capăt?”

2 Likes

Mie imi place de exemplu FastAPI, dar are aceeasi problema ca si NodeJS sau PHP, se bazeaza total pe librarii, pe cand Go se descurca fara librarii.

Rust dupa parerea mea e foarte dificil pentru cineva care ar veni de pe Python.

1 Like

Probabil că e ceva de genul. N-am avut încă ocazia să testez. Sunt, de exemplu, niște diferențe mici între ediția din 2018 și cea din 2015, chiar și de sintaxă, dar doar niște schimbări foarte mici și izolate, nimic care să se compare cu schimbarea care a fost python 3. Mi se pare că rust îți dă exact un notice, ceva de genul “This is from the 2015 edition, convert to instead”.

C și C++ (și nu numai ele), cu toate defectele lor, fac ceva bine: backwards-compatibility e sfânt. Și ele mai au chestii deprecated, dar din nou, cazuri izolate și se introduc treptat, în mulți ani.

Asta clar, comparația între Rust și Python nici nu își are locul, sunt limbaje total diferite, cu scopuri diferite. Eu făceam referire strict la modul în care Rust încearcă să rezolve problema “breaking changes” minore.

1 Like

Vezi ca nu este adevarat, PHP nu urmareste semver si poti avea BC in x.1-4

2 Likes

De ce una ca asta? :pensive: Incep sa simt o tristete profunda si un regret enorm pentru acest limbaj care a automatizat atatea chestii plictisitoare…

E pacatoasa lumea, va zic eu si asta e semnul… De ceeee!? Ai mila de noi… Dupa “Don’t look up”, no. 1 pe Netflix a mai picat cerul inca odata peste noi…

1 Like