Perl 7, geriyə doğru uyğunluğu pozmadan Perl 5-in inkişafını problemsiz şəkildə davam etdirəcək

Perl Layihəsinin İdarə Heyəti Perl 5 filialının gələcək inkişafı və Perl 7 filialının yaradılması planlarını müəyyən etdi.Müzakirələr zamanı Rəhbərlik Şurası razılaşdı ki, Perl 5 üçün artıq yazılmış kodla uyğunluğu pozmaq məqbul deyil. zəiflikləri aradan qaldırmaq üçün uyğunluq lazımdır. Şura həmçinin belə qənaətə gəlib ki, dil təkamül etməli və yeni funksiyalar daha intensiv şəkildə təbliğ olunmalı, eyni zamanda ortaya çıxan innovasiyaların əldə edilməsi asanlaşdırılmalı və qəbulu təşviq edilməlidir.

Geriyə uyğunluğu pozan dəyişikliklərin defolt olaraq Perl 7 filialına daxil edilməsinə icazə verən ilkin niyyətlərdən fərqli olaraq, yeni plan, mövcud kodla geriyə uyğunluğu pozmadan Perl 5 filialını tədricən Perl 7-yə keçirməkdir. Perl 7.0 buraxılışı konseptual olaraq növbəti Perl 5.xx filialından fərqlənməyəcək.

Perl 5-in yeni buraxılışlarının inkişafı əvvəlki kimi davam edəcək - filiala köhnə kodla uyğun gəlməyən yeni funksiyalar, əvvəlki kimi, yalnız “istifadə versiyası” və ya “xüsusiyyət funksiyasından istifadə” praqması açıq şəkildə göstərildiyi təqdirdə daxil ediləcək. kodda. Məsələn, Perl 5.010 yeni "say" açar sözünü təqdim etdi, lakin mövcud kod "say" adlı funksiyalardan istifadə edə bildiyi üçün yeni açar sözə dəstək yalnız "istifadə xüsusiyyəti "deyin"" praqması açıq şəkildə göstərilməklə aktivləşdirildi.

Əvvəlki buraxılışlarda işləndikdə xətaya səbəb olan dilə əlavə edilmiş yeni sintaksis xüsusi praqmaların göstərilməsinə ehtiyac olmadan dərhal əlçatan olur. Məsələn, Perl 5.36 birdən çox siyahı dəyərinin işlənilməsi üçün sadələşdirilmiş sintaksisi təqdim edəcək (“foreach my ($key, $value) (%hash) {”), hətta “istifadə” olmadan kodda da dərhal əlçatan olacaq. v5.36” praqması.

Hazırkı formada Perl 5.36 5.36 qarşılıqlı fəaliyyət qabiliyyətini pozan funksiyaları ('deyək', 'state', 'current_sub', 'fc', 'lexical_subs', 'imzalar', 'isa) aktivləşdirmək üçün "istifadə v13" praqmasından istifadə edir. ', ' bareword_filehandles', 'bitwise', 'evalbytes', 'postderef_qq', 'unicode_eval' və 'unicode_strings'), defolt olaraq "istifadə ciddi" və "xəbərdarlıqlardan istifadə" rejimlərini aktivləşdirin və köhnə dolayı qeydlər üçün dəstəyi söndürün. obyektlərin çağırılması ("- >" əvəzinə boşluq istifadə edildikdə) və Perl 4 üslubunda çoxölçülü massivlər və hashlar ("$hash{1, 2}").

Kifayət qədər dəyişikliklər toplandıqda, Perl 5.x-in növbəti buraxılışı əvəzinə Perl 7.0 versiyası yaradılacaq və bu, bir növ vəziyyət snapshotına çevriləcək, lakin Perl 5 ilə tam geriyə uyğun olaraq qalacaq. Dəyişiklikləri və parametrləri aktivləşdirmək üçün uyğunluğu pozmaq üçün koda açıq şəkildə “istifadə v7” praqmasını əlavə etməli olacaqsınız. . Bunlar. "istifadə v7" praqması ilə kod, uyğunluğu pozan dil dəyişikliklərinin mövcud olduğu "müasir Perl" kimi qəbul edilə bilər və keçmiş buraxılışlarla tam geriyə uyğun olaraq qalacaq "mühafizəkar Perl" olmadan.

Mənbə: opennet.ru

Добавить комментарий