Jön a Perl 7

Címkék

Közel két évtizednyi verziózással kapcsolatos zsákutcából keveredett ki a Perl közösség azzal, hogy először a Perl 6-ból egy teljesen új nyelv lett, a Raku, most pedig bejelentették, hogy a következő kiadás a Perl 5 után a Perl 7.

A Perl 5 sem tűnik el, maintenance támogatásban marad még hosszú ideig. A közösség ígérete szerint 2+ év támogatást kap minden utolsó felhasználói kiadás.

A Perl 7 lényegét tekintve egy Perl 5.32 eltérő default beállításokkal. Nem kell sok újdonságra számítani - elsőre a verziószám-ugrással és az ezzel kapcsolatosan felmerülő kompatibilitási feladatokkal foglalkoznak. Az új képességek később fognak megjelenni.

A CPAN közel 200 000 modulja továbbra is elérhető marad, ahogy eddig is folyamatosan igazodtak az újabb és újabb verziókhoz. Mivel a Perl 7 igazából egy Perl 5.32, a legtöbb modul natívan elérhető, a többi pedig a szokásos kompatiblitási módban. 

A 7-es verziót azzal magyarázzák a készítők, hogy a Perl 6 annyira ambiciózus volt, hogy túlságosan eltávolodott a Perl-től, ezért önálló életre keltették és folytatták a munkát a Perl 5-tel. A 6-os verzió így csak még további zavart okozna a felhasználókban.

Viccesen megemlítik, hogy a PHP is 5-ről 7-re váltott és milyen jót tett neki, miért ne lophatnák el ezt a megközelítést, különben is tele van ilyen furcsa ugrásokkal sok project:

  • Solaris 2.6-ról 7-re
  • Java 1.4-ről 5-re
  • Postgres 9.x verziózásról Postgres 10-re
  • Windows 3.1-ről Windows 95-re (és tovább)
  • TeX (minden új verziószám egyre közelebb van a Pi-hez)

A Perl 7 első felhasználó kiadásai egy éven belül érkezhetnek.

További részletek a bejelentésben.

Hozzászólások

A 6-os vonalat sosem szerettem meg, és sajnáltam volna, ha az 5 csak foltozásokból állna. Ez így a legjobb döntés. Díjazom.

Ez az egyik nyelv, amit a munkatapasztalatom alapján úgy értékelek, hogy: ha egy interjún elhangzik, hogy "értesz-e Perlhez?" akkor azonnal felállok és kimegyek. 

Naagy bankban az okos projektmenedzser (aki rendszergazdából képezte át magát), mikor teljesen zöldmezős mission critical komponenst kellett csinálni, a Perlt választotta, mert op múltjából fakadóan ahhoz értett.

Kb 8 év után mentem oda, akkor már erősen gőzölgött a kupac, de websocketes adatbázis transzfert kellett hozzá írni perlben - kétségbeesve kerestek embert, aki hozzányúl.

Megcsináltam jól pár hónap alatt, hibátlanul működött - nem vagyok az a könnyen elmenekülős típus.
Aztán mikor kész lett a feladat, eljöttem az igazán jó fizetéses helyről kevesebbért.

A lelki békémnek nem hiányzott, hogy olyan nyelvet érintsek, ahol a switch-case szerkezet nem a nyelv része, ellenben a randomjózsik által feltöltögetett fő perl repoban 17 féle megvalósítás közül lehet választani (nem vicc!), akár vegyesen is alkalmazhatod egyiket másikat.

Meg a korábbi programról évek múlva derült ki, hogy elütöttek egy betűt a változó nevében, és egy adatbázis rekord értéke helyett mindig egy üres stringet vizsgáltak...

Az ilyen típustalan fosadékoktól, mint perl, bat, bash, python kiráz a hideg.

Láttam már olyat is, hogy külsőst 10+ év után kivágtak a cégtől. Kérdeztem mi lesz? Röhögött, hogy két hónap múlva újra itt lesz, mert "itt én vagyok a perl-es". Tévedett. Egy hónap múlva ült ugyanott, mert a management ennyi idő alatt jött rá, hogy tényleg ő volt "a perl"-es. :D

Kiírásban nem szerepelt. Beszélgettünk. A vége felé: na, akkor most perl. Mondtam, h nem értek hozzá, no way. Egyedül a chomp-ot ismerem, ki tudja, miért. Jó, akkor hogyan tudnám ezt perl-ben megoldani. Mondom nem. értek. hozzá. Okés, akkor itt van ez, python-ban? Tessék. És perl-ben? Ekkor éreztem, hogy úgyis mindegy és megkérdeztem, hogy most hülyéskednek vagy itt tényleg így mennek a dolgok? Nem is mentem oda.

(Nem, ez nem a perl ellen van, valószínűleg jó nyelv, csak nem ismerem.)

Vajon lesz benne JIT? Legalábbis a PERL5 a szkriptnyelvek között is nagyon lassú, remélem ezen is faragnak.

Pont én szoktam lenni annak a híve, hogy jöjjenek az új verziók, frissítsünk gyorsan, de itt jelen esetben indokolatlannak érzem a főverzióugrást. Ha lényegében egy Perl 5.32 eltérő defaulttal, akkor hívják 5.4-nek. Főverziót akkor kéne megnövelni, ha valami új paradigmát, új API-t, valami jelentős feature-t adnak a nyelvhez, vagy hirtelen túl sok minden változik benne, esetleg ha az egész kódot elölről újraírják.

Annak tényleg nincs sok értelme, amit a Firefox és a Chrome csinál, hogy 4-6 hetente növelgetik a főverziót, csak azért, hogy verziószámban versenyezzenek, hogy ki éri el hamarabb a 100-at. Ez a „kódnevek”-kel együtt csak gerillamarketing.

“I didn’t start using Linux so I could have friends.” (Luke Smith, 2019) 🐧

English is useful because it’s a mess. Since English is a mess, it maps well onto the problem space, which is also a mess, which we call reality. Similarly, Perl was designed to be a mess (though in the nicest of possible ways).

https://www.perl.com/pub/1998/08/show/onion.html/

„Kb. egy hónapja elkezdtem írni egy Coelho-emulátort, ami kattintásra generál random Coelho-kompatibilis tartalmat.”