Programmēšana

Python domēnam .Net augšāmcēlies no miroņiem

Pateicoties projektam, kas nesen nomainīja roku uz jaunu attīstības līderi, IronPython, Python ieviešanas, kas darbojas ar .Net ietvara kopīgās valodas izpildlaiku (CLR), izstrāde kļūst par roku.

Džefs Hārdijs, bijušais vadošais IronPython izstrādātājs, šī mēneša sākumā apstiprināja pāreju uz Ironpython lietotāju adresātu sarakstu. "Daudzu iemeslu dēļ man vienkārši šobrīd nav laika, lai pievērstu IronPython pelnīto uzmanību," rakstīja Hardijs, "tāpēc es nododu projekta kontroli [citiem projekta līdzstrādniekiem] Aleksam Ērlam un Benediktam Egersam."

Python domēnam .Net un otrādi

IronPython, kas rakstīts C #, nav domāts tikai Python akciju programmu darbināšanai. Tas var nodrošināt Python programmētājiem tiltu uz esošajām .Net lietojumprogrammām un objektiem. Vislabākais ir tas, ka šos objektus var importēt un apstrādāt ar tādu pašu sintaksi un idiomām kā vietējiem Python objektiem.

IronPython izstrāde pēdējos pāris gados neapšaubāmi ir palēninājusies. Pēdējais nozīmīgais izlaidums bija paredzēts Python 2.7.5, 2014. gada beigās. IronPython neatbalstīja Python 3 - būtisks trūkums, jo Python 2 vairs netiks atbalstīts no 2020. gada, un Python 3 ir izveidots pēctecis.

Sapulcē izstrādātāju tērzēšanas vietnē Gitter, Earl, Eggers un citi ir izklāstījuši vissteidzamākos jautājumus, ar kuriem jāsaskaras projektam, jo ​​tas virzās uz priekšu: ko darīt ar izciliem IronPython jautājumiem vietnē CodePlex; kāda veida izlaišanas grafiku ieviest; un kāda veida ceļa karti izstrādāt IronPython 3.

Vēl viens diskusijās aktuāls jautājums bija par to, kā ieviest atbalstu Python bibliotēkām, kas izmanto C paplašinājumus. Ja IronPython ir jābūt pēc iespējas plašākai auditorijai, tas nav risinājums. Daudzās lielākajās Python bibliotēkās, piemēram, Numpy, ātrumam tiek izmantoti C paplašinājumi, un ideālā gadījumā tiem vajadzētu darboties kā ir IronPython, bez nepieciešamības tos atkārtoti kompilēt.

Labā ziņa ir tā, ka šajā jomā jau ir paveikts zināms darbs, proti, projekts Ironclad, kas izstrādāts, lai ļautu kompilētajiem CPython paplašinājumiem darboties tāpat kā IronPython. Sliktā ziņa ir tā, ka projekts ilgu laiku nav redzējis daudz darba, un tas būs jāpārskata, lai tas būtu noderīgs mūsdienu Python.

No rubīniem un GIL

Vēl viens aktuāls jautājums bija, kā rīkoties ar līdzīgu projektu, kuru vadīja viena un tā pati komanda: IronRuby, kas ir .Net Ruby ieviešana, kā norāda nosaukums. Abas valodas ir kopīgi izstrādātas, jo tās radās no vieniem un tiem pašiem Microsoft centieniem ap Dynamic Language Runtime un palika tiešā tuvumā pēc tam, kad Microsoft tos 2010. gadā atcēla kopienas virzītos centienos.

Plāns ir padarīt IronRuby par savu projektu, lai piesaistītu savu izstrādātāju auditoriju. Arī IronPython 2 turpinās attīstīt kā diskrētu projektu.

Nākotnes IronPython izstrāde var izrādīties auglīga, nodrošinot veidu, kā piepildīt seno sapni par ātru, daudzkodolu draudzīgu Python izpildlaiku. IronPython nav Globālās tulku bloķēšanas (GIL), kas ir daudzu Python ieviešanas iezīme, kas tiek vainota kā šķērslis augstas veiktspējas nodrošināšanai.

Tas nozīmē, ka tas, ka IronPython nav GIL, automātiski to nepadara ātrāku; daži IronPython etaloni ir labāki nekā CPython, bet citi ir ievērojami sliktāki. Pagaidām vienkārši jāpaaugstina IronPython ātrums ar pašreizējiem Python filiālēm - gan 2, gan 3 -.

$config[zx-auto] not found$config[zx-overlay] not found