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

Ezt régebben én is így láttam. Ma már árnyaltabban.
Azért kulcsember, mert dokumentálás helyett magában tartja az információt, vagy azért mert sokkal jobban képzett az átlagosnál? Előzőt tényleg még idejében ki kell rúgni.

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.”