Geleceğin Programlama Dili: Perl 6

0
FZ
Bazı programlama dillerinin takipçileri vardır, bazılarının fanatikleri. Ancak çok az programlama dili ile ilgili kitapta o programlama dilinin "kültürü"ne ve doğal dil ile ilişkisine dair özel bir bölüm bulabilirsiniz.

Kolayı kolay, imkansızı mümkün kılan Perl dili 16 yıl önce yani 1987 yılında doğduğunda bu kadar yaygınlaşabileceğini ve genişleyeceğini belki de yaratıcısı Larry Wall bile tahmin etmiyordu.

Şimdi ise Larry Wall ve önderliğindeki dahi programcı ekibi binlerce Perl programcısının isteklerini de inceleyerek yeni bir efsaneye imza atmak için geceli gündüzlü çalışıyorlar. Beyler, bayanlar, karşınızda Perl 6'nın hikayesi:

Geleceğin Programlama Dili Perl 6

1. Bölüm

Tasarım ekibi üyelerinden deneyimli programcı Damian Conway'e göre Perl 6'daki yeni özellikler arasında temel sözdiziminin basitleştirilmesi, diğer programlama dilleri ile daha sıkı entegrasyon, daha gelişmiş bir tip sistemi, yeni bir "regular expression" ve gramer mekanizması var.

Tüm programlama dilleri arasında Perl'in kendine özgür bir yeri vardır çünkü Perl'in yaratıcısı Larry Wall bu dilin aynı zamanda doğal bir dili andırmasını istemiştir (Wall'un aynı zamanda dilbilim çalıştığını hatırlamakta fayda var). Büyük ölçüde de bunu başarmıştır; 1987 yılındaki çıkışından bu yana Perl, daima değişen koşullara ve büyüyen programcı topluluğuna ayak uydurmuştur. Ancak doğal bir dilden farklı olarak Perl'in tasarımının arkasındaki esas itici güç ve vizyon daima Wall'dan gelmiştir.

Şimdi ise Wall kafasındaki ideale bir adım yaklaşmaya çalışıyor. Perl 6 için tüm fikirleri kendi başına üretmek yerine Perl camiasından dilin yeni sürümü için RFC (Request For Comment - Yorum Talebi) belgeleri göndermelerini istiyor. Wall'ın bir konuşmasındaki şu sözler de bunu doğruluyor: "Perl 5 benim Perl'i yeniden yazmam ile ortaya çıkmıştı. Perl 6'nın ise camia tarafından yeniden yazılan bir dil olmasını istiyorum."

Perl programcı camiasının ortaya koyduğu beyin fırtınası sonucunda 300'den çok RFC çıktı. Bunların hepsi ilk halleri ile kabul edilmemekle birlikte yine de Wall'a üzerinde çalışması gereken planı oluşturmada çok büyük bir yol gösterici görevi görüyorlar.

Ve Şimdi Apokalips

RFC'ler gelmeye başladığından beri, Larry Wall Perl 6 için tasarım belgelerini yazıyor ve bunları garip bir şekilde "Apocalypses" olarak adlandırıyor. Genellikle "apokalips" sözcüğü kıyamet, yok oluş, vs. gibi anlamlara geliyor ancak bu sözcüğün o kadar bilinmeyen bir anlamı daha var: "Açığa çıkaran, belirtileri gösteren, belli eden." İşte Wall'ın yaptığı şey tam da bu -- Perl 6 ile ilgili tasarımını insanlara sunmak.

Wall bu apokalips belgelerinin altısını tamamlamış durumda ve birkaç tane daha yayınlamayı düşünüyor. Bu belgelerde neden bazı RFC'lerin kabul edildiğini bazılarınınsa reddedildiğini açıklıyor. Bunlara ek olarak kendi inisiyatifine dayanarak herhangi bir RFC'de ele alınmamış ancak gerekli olduğunu düşündüğü değişiklikleri de ele alıyor.

Büyük Değişim

Her projenin büyüdükçe evrim geçirdiği bilinir, aksi takdirde zaten yavaşlar ve ölür. Ancak Perl 5'ten Perl 6'ya geçişisin kapsamının herhangi bir programlama dilindeki iki sürüm arasındaki farktan çok daha fazlası olacağı söyleniyor.

Perl 5.6 sürüm yöneticisi Gurusamy Sarathy, "Programlama dillerinin evriminde bu durumla kıyaslayabileceğim başka bir örnek bilmiyorum," demekte.

Perl 6 proje yöneticisi Nat Torkington da bu görüşe katılıyor ve şunları söylüyor: "Perl 5'ten Perl 6'ya geçişte çok ciddi birtakım değişiklikler olacak. Şimdiye dek hep en geriye, Perl 1'e kadar uyumluluğu korumak için zorladık kendimizi. Ancak artık çıkarmak istediğimiz bazı şeyler var çünkü belki ilk kullanıldıklarında iyi gibi görünüyorlardı ancak şimdi faydadan çok zarar getirebilen özellikler söz konusu, bunlar iptal edilecek."

Tatlı ve Düzenli İfadeler

Her ne kadar Perl 6'nın tasarımı tam olarak bitmediyse de Perl geliştiricileri ve "hacker"ları arasında şimdiden ciddi bir sempati kazanmış durumda. Tasarım ekibi üyelerinden Damian Conway, basitleştirilmiş sözdizim (sentaks), diğer programlama dilleri ile daha kolay bir arada çalışabilme, gelişmiş bir tip sistemi ve yeni düzenli ifadelerle (regular expressions) birlikte gelen gramer mekanizması gibi özelliklerden gayet memnun olduğunu belirtiyor.

Torkington da yeni geliştirilen düzenli ifade sözdizimini Perl 6'nın en iyi özelliklerinden biri sayıyor. "30 yıldır o eski düzenli ifade (regular expression) sözdizimini kullanıyor ve ihtiyaç duydukça içine yeni özellikler tıkıştırıyorduk bu da bir hayli çirkinliğe yol açıyordu. Ancak şimdi oturduk ve tüm bu düzenli ifade meselesini yeniden düşündük; bunun sonucu olarak da artık büyük veri yığınları içinden belli bir kalıba uyan veri parçalarını çekip çıkarma işini programlamak çok daha kolay ve performanslı olacak."

Torkington'a göre yeni kurallar düzenli ifadeler ile programlamanın gücünü çok artıracak ve Perl 5 ile yapılabilenlerin çok ötesine geçecek. "Perl 6 kurallarının en tatlı yanı artık bunların sadece düzenli ifade olamamaları. Bu yapı artık tam kapsamlı bir özyineli "parser"a dönüşmüş durumda, böylece artık düzenli ifade sözdizimini kullanarak basit karakter dizisi (string) işlemleri yapabileceğiniz gibi herhangi bir dilde yazılmış kaynak kodunun ya da çok karmaşık dosya formatlarının analizini de kolayca gerçekleştirebileceksiniz." Son cümleler biraz fazla teknik gelmiş olabilir ama kısaca söylemek gerekirse: bu Çok İyi Bir Şey!

Yorumla Bunu

Dilin kendi yapısındaki değişikliklere ek olarak yeni bir Perl yorumlayıcısı da geliştiriliyor. Perl 5 yorumlayıcısı nerede ise 10 yıllık ve paralel işlemli çalışma (multithreading), Unicode gibi şeyleri doğrudan desteklemiyordu. Yeni Perl yorumlayıcısı Parrot ise pek çok yeni özelliği bünyesinde barındıracak.

Bütün bunlar biraz abartılı gibi geliyor olabilir ancak dili değiştirmek söz konusu olunca Perl 6 ekibi hiçbir şeyden kaçınmıyor öte yandan bu durum insanları acil bir geçişe zorlayacakları anlamına da gelmiyor kesinlikle.

Perl geliştiricileri bu büyük geçişin bir gecede olmayacağının farkındalar. Perl 4'ten Perl 5'e geçişin 2-3 yıl sürdüğü biliniyor ve bu gerçekçi bir rakam.

Conway de bu rakamlara katılıyor ve şöyle diyor: "Dünya çapında pek çok kurum Perl 5'e ve Perl programcılarına ciddi yatırım yapmış durumda, Perl 6'ya ancak yavaş yavaş geçeceklerdir. Perl 6'nın, Perl camiasında kendini kabul ettirmesi birkaç yıl alacaktır."

İster inanın ister inanmayın Conway sözlerine şunları da eklemektedir: "Halen Perl 4 ile ciddi ciddi iş yapan insanlarla karşılaşıyorum. Eğitim verdiğim çoğu programcı da hala Perl 5.005 kullanıyor."

Perl 5 Bir Yere Gitmiyor

Gerçekten de işlerini Perl 5'e emanet etmiş kuruluşların üzülmelerini gerektiren bir durum yok. Deneyimli Perl "hacker"ı ve "Learning Perl" kitabının yazarı Randal Schwartz Perl 5 ile ilgili geliştirmelerin devam ettiğini belirtiyor.

Schwartz'a göre Perl 6 nihai olarak ortaya çıkıp kullanılmaya başlandığında bile Perl 5 desteği uzunca bir süre devam edecek çünkü pek çok görev-kritik uygulamanın, sistemin, vs. Perl 5'e dayandığı ve geçiçin öyle birkaç ayda falan olmayacağı gayet iyi biliniyor.

Conway de Schwartz'a katılıyor ve insanları Perl 5'ten uzaklaştırmak için bir baskı yapılmasının söz konusu olamayacağını belirtiyor: "Aslında bu tam da açık kaynaklı yazılım geliştirme felsefesine uyan bi şey. Neyi ne zaman uygulayacağınıza siz kendi koşullarınıza göre karar verirsiniz, belli bir tekel sizi tüm sistemlerinizi güncellemeye zorlayamaz."

Sarathy'ye göre Perl'i bu kadar yaygın ve başarılı kılan işte tam da bu kültür ve tavır. "Perl hakikaten de diğerlerini kıskandıracak türden bir geliştirici ve kullanıcı kitlesine sahip. Diğer modern programlama dillerini kullanan topluluklara kıyasla yeniliğe ve paylaşıma çok daha açık bir camia. Gelecek epey parlak görünüyor."

2. Bölüm

Perl 6'nın geliştirilmesi parasal koşullar yüzünden biraz yavaşlamış durumda. Perl her ne kadar açık kaynak kodlu bir proje olsa da bazı proje üyeleri hayatlarını bunun üzerinde çalışarak kazanıyorlardı ancak bu durum daha ne kadar devam edebilir?

Değişim korkutucu olabilir, özellikle de yıllarca belli bir statükoya alışmış kişiler için. Programlama dünyası da böyledir. Perl 6 yeni bir tasarım konusunda epey iddialı bu da Perl 5 programcılarını biraz endişelendiriyor. Ancak Perl 6 tasarım ekibinden Allison Randal endişelenecek bir şey olmadığını vurguluyor: "Evet bazı şeyleri öğrenmek gerekecek ancak bu sıfırdan yeni bir dilin öğrenilmesi gibi bir şey olmayacak. Daha çok anadilinize birkaç yeni sözcük ve deyim eklemek gibi düşünebilirsiniz."

Aynı ekibin diğer bir üyesi Damian Conway'e göre de durum aynı: "En önemli mesajımız şu: dilin 'hissiyatı' kesinlikle değişmeyecek."

Üzülmeyin

Tasarım ekibi dışından biri olan Gurusamy Sarathy, şu anda ActiveState firmasında kıdemli yazılımcı olarak çalışıyor ve Perl 5.6 sürüm yöneticisi idi, Perl 6'nın tasarımı bitmemiş olsa da gördüklerinden epey etkilendiğini belirtiyor. "Dilin bu yeni sürümünün korkunç büyük bir potansiyel barındırdığını düşünüyorum. Aynı zamanda Perl 5 ile Perl 6 ekipleri arasındaki yoğun fikir alışverişinden de gayet memnunum. Perl 6 için tartışılan fikirlerden bir kısmı Perl 5 altında çalışacak şekilde uygulandı ve Perl 5'in temelleri de Perl 6 ile ilgili özellik altkümelerinin protototiplerinin oluşturulmasında kullanıldı."

Elbette Perl 6 programları Perl 5 programlarından farklı görünecek ancak Perl 5 kullananlara verilen destek de uzunca bir süre devam edecek ve bir şekilde geriye doğru uyumluluk modu sunulacak.

Parrot Ne?

Perl dilinin yapısındaki değişimler en çok göze çarpanları ancak bir de o kadar göze çarpmayan bir Perl yorumlayıcısı meselesi var.

Bu yeni kuşak yorumlayıcının adı "Parrot" (papağan). Perl dili için yepyeni bir yorumlayıcı, sıfırdan yazılıyor.

Parrot komik bir sözcük gibi görünse de epey ciddi bir içeriğe sahip, sadece Perl'i değil fakat diğer dinamik derlenen dilleri de kapsıyor. Randal'ın sözleriyle: "Diller arası işbirliği birincil hedeflerimizden." Randal, Ruby dilinin Parrot ile çalıştırılır hale geldiğini belirtiyor.

Parrot Perl İçin Ne Yapabilir?

Tabii ki Parrot'ın asıl fayda sağlayacağı alan Perl. Perl 6 proje yöneticisi Nat Torkington yeni yorumlayıcının iç yapısının Perl'i daha da hızlandıracağını belirtiyor: "Bu sanal makina (virtual machine) için üretilen bytecode derleyiciden geçirilecek ve disk üzerinde depolanacak. Bu da Perl 6 programlarının daha hızlı çalışmasını sağlayacak yani bir kere derle ve sürekli çalıştır mantığı."

Conway, söz konusu yorumlayıcının kayda değer ilerleme kaydettiğini de ekledi. "Parrot şimdiden yaklaşık bir düzine dil için alfa sürümünde destek sunuyor ki bunlar arasında Basic, Forth ve Scheme de var. Ve bu dillerin kendi 'doğal' yorumlayıcılarından daha hızlı çalıştırabiliyor söz konusu dillerde yazılmış programları."

Çok Fazla ve Çok mu Hızlı?

Dışarıdan bu projeye bakan biri Perl 6 ekibinin çok radikal olduğunu ve kısa zamanda çok fazla değişiklik gerçekleştirmeye kalkıştığını düşünebilir. Perl camiası bu yeni sürümle hayal kırıklığına uğrayabilir mi? Conway'e göre böyle bir şey söz konusu değil. "Yaptığımız değişikliklerin ve geliştirmelerin birçoğu doğrudan Perl kullanan programcılarının talepleri doğrultusunda gerçekleştirilen şeyler."

"Şimdiye dek dünya çapında 12'den çok sunum yaptım Perl 6 ile ilgili ve aldığım tepkiler epey olumlu ve heyecan verici idi. Perl 6 ile ilgili insanları üzen tek nokta henüz çıkmamış olması." Torkington da Perl camiasının yeni sürüm çıkar çıkmaz avantajların farkına varacağını belirtiyor. "Larry Wall Perl'i oluşturdu ve beş ciddi sürüm boyunca bize yol gösterdi. Yeni sürüm çıktığında insanlar tüm özelliklerin mantıklı ve tahmin edilebilir şekilde çalışmasının getirdiği avantaj görecekler."

Yerel Perl Geliştiricinizi Destekleyin

Maalesef, Perl 6 dilinin geliştirilmesi maddi sıkıntılar yüzünden yavaşlamış durumda. Perl, her ne kadar bir açık kaynak kodlu yazılım projesi olsa da bununla ilgilenen ve kritik görevleri üstlenmiş uzmanlar hayatlarını tamamen bundan kazanıyorlardı ancak bu durum bitmek üzere gibi görünüyor.

Conway, "Şimdiye dek yeni dilin %40'lık bölümünün tasarlanması çekirdek ekibin iki yılını aldı," demektedir. "Ancak bu süre boyunca Larry Wall, Dan Sugalski ve ben maddi olarak Perl Vakfı'nın verdiği destekle hayatımızı sürdürüyorduk. Tüm dünyaya yayılmış cömert Perl camiasının yoğun bağışları bizim 2 sene boyunca tam zamanlı olarak bu proje üzerinde çalışmamız için gerekli maddi gücü sağlamıştı. Ancak elimizdeki bu maddi destek geçen yılın sonu itibarıyla tükenmiş durumda."

Randal Schwartz da Perl 6 ile ilgili en büyük problemin "iş" problemi olduğu fikrine katılıyor. "Önümüzdeki birkaç yıl boyunca yüz yüze olduğumuz en önemli mesele Perl 6 ekibinin beyin takımını oluşturan uzman programcıların Perl 6'ya vakit ayırabilecek şekilde bir işte çalışmaları."

Conway'e göre gerçekten de bu destek tükenmiş durumda ve bu da insanları tedbir almaya zorluyor. "BT sektöründeki pek çok meslektaşımız gibi biz de [Conway, Sugalski ve Wall] iş arıyor durumdayız. Her ne kadar elimizden geldiğince zamanımızın büyük bir kısmını bu projeye ayırıyor olsak da tasarım çalışmalarının yavaşladığını kabul etmek lazım. Tahminlerime göre yeni dilin tasarımı 2-3 yıl içinde stabil hale gelecek."

Tasarım Biter Bitmez Piyasaya Çıkmak

Conway'e göre tasarım tamamlandıktan sonra geliştiricilerin daha fazla beklemesi gerekmeyecek. "Neyse ki implementasyon ekibinde çok daha fazla sayıda yetenekli ve kendini bu işe adamış uzman var. Bu sayede yorumlayıcı da tasarımın elverdiği ölçüde hızlıca geliştiriliyor. Sözdizim ve semantik yapıyı tamamladığımızda en fazla 6 içinde hatta belki daha kısa sürede tam anlamı ile çalışabilen bir uygulama ile insanların karşısına çıkacabileceğimizi tahmin ediyorum."

Tarihçesine bakılacak olursa Perl'in bugünkü konumuna erişmesi 16 yıl sürdü. Bu ölçeğe göre birkaç yıl çok sayılmaz. Özellikle de dilde devrim yaratacak bir yeniden tasarım projesi söz konusu ise. O zamana dek zaten Perl 5 daima emrimize amade.

Son olarak dikkatlerin çekilmesi gereken bir nokta da Perl'in bir dil olarak diğer diller ile etkileşimi ve bu konuda getirilen eleştiriler. Daha açık olarak söylemek gerekirse son zamanlarda Perl'in Ruby ve Python'dan etkileneceği gibi eleştiriler söz konusu. Bu eleştirilerin sahipleri Perl'in çıkış noktasını unutmuş gibi görünüyorlar: Perl denilen dil UNIX kabuğu, C, awk ve daha pek çok programlama ortamının en güzel ve güçlü özelliklerini doğrudan alıp bunları daha da iyi ve tek bir yapı içinde çalışabilir halde programcılara sunmuştu. Dolayısıyla Perl'in Python ve Ruby gibi dillerin en iyi özelliklerini alacağını görmek şaşırtıcı olmayacaktır. Bilakis, eğer Perl her zamanki vizyonu ve gücü ile yeniden tasarlanacaksa muhtemelen karşılaşacağımız Python ve Ruby benzeri özellikler orjinal ortamlarındaki hallerinden daha güçlü ve geliştirilmiş şekilde karşımıza gelecektir ve büyük ihtimalle de bunları bir süre sonra Pyhton ve Ruby tasarımcıları da kendi dillerine katacaklardır. Perl'i Perl yapan ve efsanenin büyüyerek yayılmasına yol açan bu mantalite ve vizyonun sonuçlarını birkaç yıl içinde hep birlikte göreceğiz.

Görüşler

0
nirvana
eline sağlık, çok teşekkürler..

(parrot hakkında:)
http://trperl.sourceforge.net/makale/parrot_bits_0.html
http://trperl.sourceforge.net/makale/parrot_bits_1.html
0
FZ
Türkçe Perl belgelendirme sitesinden beni haberdar ettiğin için de ben teşekkür ederim ;-)
0
FZ
Problem tanımı: Win2000 üzerindeyim. Bir .doc belgesi var. MS Word´e aç diyorum, kilitlenip kalıyor. OpenOffice.org´a aç diyorum ama OpenOffice.org´da da karakter sayısını söyle (boşluk, enter, vs. hariç) gibi bir özellik yok. Karakterleri sayarken boşlukları da sayıyor.

Kısa bir süre düşünüyorum. Bu işi çözse çözse bir süper-kahraman çözebilir! `Enter Perl´

Hemen CYGWIN´i ateşliyorum ve VIM editörü ile aşağıdaki programı yazıyorum:


#!/bin/perl -w

while (<>) {
chomp;
$line = join(´´, split /[ ]*/);
print $line;
}


Yani standart girdi kanalından sana verilenleri bu girdi bitene dek oku (dosya sonlanana dek), her satırdaki ENTER karakterini chomp ile iptal et, boşluk ve tab karakterlerinden sıfır ya da daha çok görürsen bunları bir ayraç (delimiter) kabul ederek satırdaki aralarında gelişigüzel sayıda boşluk olan elemanları (sözcükleri, karakterleri, her neyse yani) bir diziye yerleştir (split ile) ve daha sonra bu dizinin elemanlarını araya hiçbir şey sokmadan birleştir (join ile) ve boşluklardan, tablardan, vs. arındırılmış satırı $line değişkenine ata.

Ardından küçük bir deneme:


$ ./ccount.pl <ccount.pl | wc
0 1 69


Biraz daha iyisi yapılamaz mı? wc komutuna gerek kalmadan yani?

Şöyle bir şey denesem? split ayırma işleminden sonra ne kadar ayırma yaptığını döndürür değil mi skaler bağlamda? O halde:


#!/bin/perl -w

while (<>) {
chomp;
$line += split /[ ]*/;
}

print $line;


Ve bununla bir deneme yapalım:


$ ./ccount2.pl <ccount.pl
Use of implicit split to @_ is deprecated at ./ccount2.pl line 5.
72


Hmm, biraz sorun var gibi, sonucu aldık, 72, ama tr gibi güzel bir Perl fonksiyonu dururken niye split ile uğraşıyorum ki? Transliteration kavramı: Bir harfi başka bir harfe çevirmek. Boşlukları yokluğa çevirip, transliterationa maruz kalmamış karakterleri (başka bir deyişle çevrilen karakter kümesinin tümleyen kümesinin eleman sayısını) sayarsam sanırım işim görülür (tr dönüştürülenlerin değil dönüştürülmeyenlerin sayısını verir, tabii c opsiyonu ile kullanılırsa ilginç değil mi?):


#!/bin/perl -w
my $line = 0
while (<>) {
$line += tr/ /c;
}

print $line;


Evet sanırım şimdi biraz daha doğal bir yaklaşım elde ettik ve işimizi gördük.

Peki Perl kullanmamız şart mıydı? Kabul ortamında bu işi halledemez miydi? tr sadece bir Perl fonksiyonu değil aynı zamanda başlı başına çalışabilen bir yazılım olarak da mevcut. Şaşırdınız mı? O halde devam:


$ tr [:space:] -d <ccount.pl | wc
0 1 69


Space mevzusu yatay ve dikey tüm boşlukları kapsıyor yani ENTER´dan tutun da tab´e, boşluğa dek, vs. Peki bunu neye dönüştürdüm. Dönüştürmedim, bunları sildim, -d bunun için var ;-) Böylece her türlü boşluktan ve ENTER karakterinden arındırılmış metni wc komutuna verip istediğim sonucu elde ettim. SIFIR sayıda satır ile karşılaşmak acaba wc için bir BUG addedilebilir mi? Richard Stallman´a sormak lazım ;-)

Hmm, peki bunları neden yazdım? Valla artık o kadarını da siz düşünün biraz. Belki benim aklıma gelmeyen şeyleri buluverirsiniz ansızın ;-)
0
FZ
Bölü, küçüktür, büyüktür ve benzeri karakterleri barındıran program kodlarını bu ortamda düzenlerken bana kök söktüren PhpNuke geliştiricisine saygılarımı sunarım! :(

Yukarıdaki Perl kodları göründükleri gibi değildir ;-) Ama zaten ne göründüğü gibi ki? ;-)

Neyse yanlış kodlara bakıp kafası karışan olursa gerekli açıklamaları yaparız.
0
FZ
To avoid bugs die before something worse happens.

http://perlmonks.org/index.pl?node_id=249041
0
anonim
ilk yorum dışındakilerin yazıyla ilgisi yok? yani tek sayfalık forum gibi olmuş :)
0
FZ
Hatırlattığın iyi oldu, şu küçük programcığı birkaç gün sonra FORUM´daki Perl alanına eklerim, o zaman daha mantıklı olur :)
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Perl // Küçük Regexp El Kitabı

Ansugo

Çok fazla kod yazıyor, ama bazı yerlerde tıkandığınızı hissediyorsunuz; == ile karşılaştırma yapabiliyor, ama string içinde arama yapmakta istiyorsunuz; ve en güzeli herhangi bir stringin altindan cikip cikmak istiyorsunuz, o zaman buyurun düzenli ifade cumhuriyetine.

Perl 20. Doğum Günü ve Perl 5.10 Çıktı

anonim

Geçtiğimiz günlerde Perl'in 20. yaşgünü tüm dünyada coşku ile kutlandı. Doğum gününden 1 gün önce Perl Vakfı Perl 5.10'u duyurdu.

Perl 5.10 da görünen en önemli değişiklik smart match operator. Bir tür karşılaştırma yapmamıza yarayan operatör array içinde aradığımız scalar değeri bulmamızı sağlıyor. Yeni operatörümüz: "~~". Örnek vermek gerekirse $needle scalarimizi array @haystack içinde arıyorsak, kolayca yeni operatörümüzü kullanıyoruz.
if ($needle ~~ @haystack) ...

Sonuç olarak artık Perl'de tüm kaşılaştırmalar doğru şeyi yapmamızı sağlıyor.

Perl Öğreniyoruz - 5

cayfer

1. bölüm 2. bölüm 3. bölüm 4. bölüm
regexp'ler (Regular Expressions)Sözlüğe bakınca
regular: düzenli, muntazam, kurallı, kurallara uygun ve düzenli
expression: deyim, ifade, tabir, anlatım ve dışavurum
karşılıklarını buldum. Bence ingilizce Regular Expression sözcükleri de bu bölümde anlatacağım konuyu tam olarak anlatamıyor; çünkü aslında kavram adını ABD'li matematikçi Kleen'in Düzenli Kümeler Cebiri (Algebra of Regular Sets) üzerindeki çalışmalarından alıyor.

Perl: Engellilere Yardım Eden Programlama Dili

FZ

Perl'ü hemen her şey için kullanıyoruz; Web geliştirimi, veri işleme, sistem yönetimi hatta biyolojik araştırmalar için. Çoğumuz Perl'ü bu işlerden birisi için kullandık. Ancak sadece bir kaç kişi Perl'ü grafik arabirimli (GUI) son-kullanıcı programları oluşturmak için kullanmıştır ve bildiğim kadarıyla, bu dünyada sadece iki kişi Perl'ü engellilerin hayatını kolaylaştırmak için kullandı: Jon Bjornstad ve ben. Bazı insanlar, bizim Perl'ü kullanma şeklimizi özel bir durum olarak görebilirler fakat benim hikayem size, yazılım geliştirebilen herhangi bir babanın, çocuğu için yapacağını yaptığımı gösterecek.

Neden Mac ?

sundance

Tamam kabul ediyorum, eğer evlerinin garajında Steve Wozniak ve Steve Jobs ilk Apple bilgisayarı yapmasalardı veya biraz geç kalsalardı belki de şu anda bilgisayar kullanmak için ehliyet almamız gerekecekti*. Fakat tescilli bir "geek" olarak ısrarla söylüyorum ki bilgisayardan anlamayanlar Apple kullansın, ben PC'den memnunum :p