Publikimi i gjuhës së programimit Python 3.14

Pas një viti zhvillimi, është publikuar një version i rëndësishëm i gjuhës së programimit Python 3.14. Një dega e re do të mbështetet për një periudhë njëqind e pesëmbëdhjetë muajsh, pas së cilës do të formohen ndreqje për të, për tre vite e gjysmë të tjera, me qëllim eliminimin e dobësive.

Nder të rejat e shtuara në Python 3.14 (1, 2, 3):

  • ËshtĂ« realizuar mbĂ«shtetje zyrtare pĂ«r ndĂ«rtimin e CPython pa bllokimin global tĂ« interpretorit (GIL, Global Interpreter Lock). NdĂ«rtimi pa GIL lejon tĂ« eliminohet problemi me paralelizimin e operacioneve nĂ« sisteme me shumĂ« bĂ«rthama, i shkaktuar nga fakti se bllokimi global nuk lejon akses tĂ« paralajmĂ«ruar nĂ« objekte tĂ« ndara nga tela tĂ« ndryshĂ«m. Çaktivizimi i GIL rezulton nĂ« shpenzime shtesĂ« pĂ«r shkak tĂ« ndryshimeve nĂ« mbledhĂ«sin e mbetjeve, sistemin e menaxhimit tĂ« memorjes dhe primitivĂ«t pĂ«r organizimin e bllokimeve. PĂ«r shembull, pĂ«r shkak tĂ« pĂ«rdorimit tĂ« numĂ«rimit tĂ« referencave pĂ«r izolimin e telave, vĂ«rehet njĂ« ulje e performancĂ«s sĂ« skenarĂ«ve njĂ«-tela prej rreth 10%. MegjithatĂ«, kĂ«to kostot shtesĂ« mund tĂ« kompensohen me paralelizimin e operacioneve.
  • Është shtuar mbështetje për t-vargjet (literale me prefiks 't') që lejojnë përdorimin e një sintaksë të ngjashme me f-vargjet për krijimin e përpunuesve të personalizuar të shablloneve në vargje. Në dallim nga f-vargjet, t-vargjet kthejnë një objekt që ruan veçmas të dhënat statike të vargut dhe vlerat e vendosura. Ruajtja e ndarë lejon lidhjen e përpunuesve të personalizuar që ndikojnë vetëm në vlerat e vendosura. Për shembull, mund të lidhet një përpunues për përkthimin e vlerës së vendosur në shkronja të mëdha ose për ekranuar karakteret speciale gjatë vendosjes në varg të të dhënave ekstern. variety = 'Stilton' template = t'Try some {variety} cheese!' print(list(template)) print(lower_upper(template)) ['Try some ', Interpolation('Stilton', 'variety', None, »), ' cheese!'] Try some STILTON cheese! attributes = {'src': 'limburger.jpg', 'alt': 'lovely cheese'} template = t'<img {attributes}>print (html(template)) <img src="»limburger.jpg»" alt="»e bukur" cheese» />
  • Biblioteka standarde tani ka shtuar modulinn concurrent.interpreters, i cili lejon ekzekutimin e shumicĂ«s sĂ« kopjeve tĂ« izoluara tĂ« interpretuar Python nĂ« njĂ« proces tĂ« vetĂ«m. MĂ« parĂ«, kjo mundĂ«si ishte nĂ« dispozicion vetĂ«m pĂ«rmes C-API. Ekzekutimi i disa interpretueseve mund tĂ« pĂ«rdoret pĂ«r tĂ« paralelizuar operacione duke simuluar ekzekutimin e disa proceseve paralel, por ndryshe nga modeli i shumĂ«proceseve, konsumon mĂ« pak burime. NĂ« nivelin e aplikacioneve, pĂ«r ndarjen e operacioneve midis interpretueseve mund tĂ« pĂ«rdoren modeli i aktorĂ«ve dhe CSP (komunikimi ndĂ«rmjet proceseve tĂ« radhĂ«s).
  • NĂ« CPython Ă«shtĂ« realizuar njĂ« lloj i ri interpretuese, i cili pĂ«rdor thirrje bishtore midis funksioneve C qĂ« implementojnĂ« bytecode tĂ« veçanta tĂ« Python, nĂ« vend tĂ« njĂ« funksioni tĂ« madh me njĂ« shprehje switch/case. GjatĂ« ndĂ«rtimit nĂ« Clang 19, interpretueseja e re tregon njĂ« rritje tĂ« performancĂ«s nga 3-5% gjatĂ« kryerjes sĂ« testeve pyperformance. Kjo interpretuese e re aktualisht Ă«shtĂ« nĂ« dispozicion si njĂ« opsion pĂ«r arkitekturĂ«n x86-64 dhe AArch64, dhe kĂ«rkon tĂ« paktĂ«n versionin 19 tĂ« Clang pĂ«r ndĂ«rtim (mbĂ«shtetja pĂ«r GCC Ă«shtĂ« premtuar mĂ« vonĂ«).
  • Procesi i vonuar i annotimeve pĂ«r funksione, klasa dhe modula Ă«shtĂ« siguruar. Annotimet tani nuk pĂ«rpunohen menjĂ«herĂ«, por ruhen nĂ« formĂ«n e funksioneve tĂ« specializuara dhe llogariten kur nevojitet. Kjo sjellje e re lejon thjeshtimin e punĂ«s me annotimet dhe reduktimin e ngarkesave pĂ«r pĂ«rpunimin e annotimeve gjatĂ« ekzekutimit. PĂ«r inspektimin e annotimeve tĂ« vonuara, Ă«shtĂ« propozuar moduli annotationlib.
  • NĂ« bibliotekĂ«n standarde Ă«shtĂ« shtuar paketa compression, e cila ofron funksione pĂ«r kompresimin dhe çkompresimin e tĂ« dhĂ«nave duke pĂ«rdorur algoritme tĂ« ndryshme. PĂ«rveç moduleve compression.lzma, compression.bz2, compression.gzip dhe compression.zlib, tĂ« cilat ofrojnĂ« akses nĂ« funksionalitetin qĂ« ishte mĂ« parĂ« i disponueshĂ«m nĂ« modulet lzma, bz2, gzip dhe zlib, Ă«shtĂ« shtuar gjithashtu njĂ« modul i ri compression.zstd me implementimin e algoritmit ZSTD (Zstandard).
  • NĂ« shprehjet «except» dhe «except*» Ă«shtĂ« lejuar qĂ« pĂ«rmbajtja tĂ« mos vendoset nĂ« shkronja, nĂ«se nĂ« shprehje jepen disa lloje pĂ«rjashtimesh dhe nuk pĂ«rdoret fjalĂ« kyçe «as». try: connect_to_server() except TimeoutError, ConnectionRefusedError: print(‘NomĂ«tuar!’)
  • NĂ« shellin interaktiv PyREPL Ă«shtĂ« implementuar theksimi i sintaksĂ«s. ËshtĂ« aktivizuar dalja me ngjyra nĂ« mjetet CLI nga modulet unittest, argparse, json dhe calendar.
  • ËshtĂ« shtuar njĂ« ndĂ«rfaqe pĂ«r lidhjen e debuggerĂ«ve dhe profilerĂ«ve tĂ« jashtĂ«m me proceset CPython qĂ« janĂ« duke u ekzekutuar, pa kĂ«rkuar ndalesĂ« dhe rihapje, dhe pa ndikuar nĂ« performancĂ«n.
  • NĂ« modul qĂ« quhet pdb Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r lidhje tĂ« largĂ«t me proceset Python qĂ« janĂ« duke u ekzekutuar. PĂ«r shembull, pĂ«r t'u lidhur me njĂ« proces me numĂ«r 1234, mund tĂ« pĂ«rdorni komandĂ«n «python -m pdb -p 1234».
  • NĂ« modul qĂ« quhet uuid janĂ« shtuar funksionet uuid6(), uuid7() dhe uuid8() me implementimin e versioneve 6, 7 dhe 8 tĂ« identifikuesve UUID.
  • ËshtĂ« shtuar njĂ« paralajmĂ«rim kur pĂ«rdoren shprehjet «return», «break» dhe «continue» pĂ«r tĂ« dalĂ« nga blloku «finally».
  • ËshtĂ« shtuar API C PyInitConfig pĂ«r konfigurimin e inicializimit tĂ« Python pa u lidhur me strukturat nĂ« gjuhĂ«n C, duke lejuar ndryshime qĂ« nuk prishin ABI. Sigurohen funksionet Add PyConfig_Get() dhe PyConfig_Set() pĂ«r marrjen dhe vendosjen e konfigurimit, si dhe funksioni PyInitConfig_AddModule() pĂ«r shtimin e njĂ« moduli me zgjatje.
  • JanĂ« pĂ«rmirĂ«suar mesazhet e gabimeve. JanĂ« shtuar rekomandime pĂ«r zgjidhjen e gabimeve nĂ« rastin e shkrimeve tĂ« gabuara nĂ« fjalĂ«t kyçe.
  • Integrimi pĂ«rfshin rezultatet e punĂ«s pĂ«r zĂ«vendĂ«simin nĂ« Python tĂ« implementimeve tĂ« algoritmeve kriptografikĂ«, tĂ« ofruara nĂ« modulat hashlib dhe hmac, me variante me provim (formal) tĂ« qĂ«ndrueshmĂ«risĂ«, pĂ«rgatitur nga projekti «HACL*». TĂ« gjitha funksionet e hash-it dhe HMAC tĂ« ofruara si standard nĂ« Python janĂ« zĂ«vendĂ«suar me variante pĂ«r tĂ« cilat Ă«shtĂ« ofruar provimi formal i pajtueshmĂ«risĂ« (verifikimi formal). PĂ«rveç tĂ« tjerave, Ă«shtĂ« shtuar implementimi HMAC-BLAKE2, qĂ« pĂ«rdor instrukcione SIMD AVX2 pĂ«r tĂ« pĂ«rshpejtuar llogaritjet.
  • ËshtĂ« shtuar njĂ« ndĂ«rfaqe e re komandash («python -m asyncio ps PID» dhe «python -m asyncio pstree PID») pĂ«r inspektimin e proceseve Python qĂ« po funksionojnĂ« me detyra asinkrone (asyncio).
  • NĂ« pĂ«rbĂ«rjen e ndĂ«rtimeve tĂ« gatshme pĂ«r macOS dhe Windows Ă«shtĂ« pĂ«rfshirĂ« njĂ« kompilator JIT eksperimental. Menaxheri i instalimeve Ă«shtĂ« zĂ«vendĂ«suar nĂ« instaluesin pĂ«r Windows.
  • PĂ«r verifikimin e integritetit tĂ« ndĂ«rtimeve, nĂ« vend tĂ« nĂ«nshkrimeve PGP Ă«shtĂ« angazhuar sistemi i verifikimit kriptografik tĂ« kodit Sigstore.
  • JanĂ« ofruar ndĂ«rtimet zyrtare tĂ« binarĂ«ve pĂ«r platformĂ«n Android.

Në orët në vijim do të fillojë testimi alfa i degës Python 3.15, e cila do të jetë në fazën e lëshimeve alfa për shtatë muaj, gjatë të cilëve do të shtohen mundësi të reja dhe do të kryhen rregullime gabimesh (sipas orarit të ri të zhvillimit, puna mbi degën e re fillon pesë muaj përpara lëshimit të degës paraprake dhe arrin fazën e testimit alfa deri në momentin e lëshimit të radhës). Pas kësaj, për tre muaj do të zhvillohet testimi i versiuneve beta, gjatë të cilit do të ndalohet shtimi i mundësive të reja dhe gjithë vëmendja do t'i kushtohet rregullimit të gabimeve. Dy muajt e fundit para lëshimit, dega do të jetë në fazën e kandidatëve për lëshim, ku do të kryhet stabilizimi përfundimtar.

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster