Perl programcısı olmaktan gurur duyanlar için özel !

0
sundance
Perl'ün yaratıcısı Larry Wall, alışageldiğimiz tarzında yaptığı sunumla, 7. geleneksel Perl Soğanının Durumu isimli toplantıda yine herkesi kırdı, geçirdi :)

'Biz, isteksizler,
cahiller tarafından öncülük edilen bir yolda,
imkansızı gerçekleştirmeye çalışıyoruz.
O kadar uzun süredir o kadar çok şeyi, (elimizdeki) o kadar az şeyle gerçekleştirdik ki
Artık (elimizdeki) hiçbir şeyle, herhangibir şeyi yapabilecek hale yetkinliğe eriştik.'

Görüşler

0
FZ
Geçen gün ofiste Larry Wall'un bu konuşmasının metnini okumaya başladığımda, teknik bir konuşma ne kadar eğlenceli ve komik ve aydınlatıcı olabilir ki diye düşünüyordum. Önce gözümden yaş gelene dek güldüm, sonra da üstadın vizyonuna ve teknik konuları eğlenceli şekilde açıklama yeteneğine, metaforları, felsefeyi, tarihi, vs. kullanışına hayran kaldım.
0
FZ
Mastermind oyununu bilen bilir, bilmeyenler için açıklama:

Bilgisayar 4 basamaklı gelişigüzel bir tamsayı seçecek, her basamak 1-6 arasında olacak. Siz de her seferinde 4 basamaklı bir sayı gireceksiniz rakamları 1-6 arasında. Girdiğiniz rakamlardan birinin kendisi mevcut ama yeri yanlış ise +, kendisi mevcut ve yerini de doğru tahmin etmişseniz * değeri döndürülecek ve bu ipuçlarına bakarak tahmininizi geliştireceksiniz. Doğru tahmini yaptığınızda ya da ! girdiğinizde oyun bitecek.

Örn: Bilgisayarın seçtiği sayı: 5536 olsun, siz 1563 girerseniz bilgisayar size ++* şeklinde ipucu verecek yani iki rakamın yeri yanlış, birinin doğru, bir tanesi ise bilgisayarın tuttuğu sayı içinde mevcut değil şeklinde.

Bunu favori programlama dilinizde nasıl yapacağınızı düşünedurun, ben size bunu yapan Perl kodunu aktarayım:


#!/usr/bin/perl -l
$c.=1+int rand 6for 6..9;while(){/^d{4}$|!/||next;$_.=$c;4while
s+(.)(.{4})1+?$2*+s;4while s-(d)(.* .*)1-+$2-;print/[*+]/g;/*{4}|!/&&die


Tepedeki ilk satırı saymazsak sadece 2 satır ;-)

Detaylar için adres: http://perlmonks.org/index.pl?node_id=276359

FZ: İtina ile programlama dilleri savaşına çanak tutan provakatör editör :-P
0
St
Iki satir olabilir, ama kesinlikle dogal degil :)
Bunu javayla yazmak bilem buyuk haz verir, velakin yukardaki perl kodu insana oykh dedittiriyo
(St, javadan da perlden de hazetmeyen, bu gidi$le hic bi programlama diliyle duygusal bag kuramiyacakmi$ izlenimi veren FMci :)
0
FZ
Yanlış anlama olmasın, söz konusu Perl kodu `obfuscated code´ kategorisinden seçilmiştir. Yani özel olarak kısaltılmış, karmaşık hale getirilmiş bir koddur. Aynı şeyi tabii ki yine Perl dilinde, çok daha açık seçik, uzun, anlaşılır, kolay okunur şekilde yazmak mümkündür. Maalesef insanlar bu tip örneklere bakıp Perl´in zor bir dil olduğunu düşünmektedirler, bu, tam olarak doğru değildir. Dilin ne kadar esnek olduğuna dair bir örnek olarak gösterilmiştir, kesinlikle `doğal´ ve kolay anlaşılır program örneği olarak sunulmamıştır :) Sakın bunu evde tek başınıza denemeyin, mutlaka bir uzman gözetiminde çalıştırın :-P
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Yeni Deascifier

anonim

15 senedir İngilizce klavye ile yazıyorum, ve fena alıştım. F klavyeye de, Türkçeleştirilmiş Q klavyeye bile alışacak vaktim ve isteğim yok. Eh dedim ben de, biraz beyin ve Perl kaslarımı çalıştırayım, ve şu işe kalıcı bir çözüm bulayım. Benim değişmeye niyetim yok, teknoloji bana yardım etsin.

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 ve Prolog ile mantık programlama

FZ

Daha önce sık sık DSL (Domain Specific Language) yani alana özgü mini dillerin işleri nasıl kolaylaştıracağından bahsetmiştik.

Elindeki çekice bakıp her şeyi çivi olarak görmek yerine bilgisayar bilimlerinin ışığında çeşitli problemler için uygun çözümleri geliştirmeyi bilen yazılım uzmanlarının hoşuna gidebilecek bir makale çıktı O'Reilly Networks ortamında.

`Diğerleri(miz) için Flash´

butch

Perl::Flash ın beta sürümünün hazır olduğu Slashdot da duyuruldu. Artık Perl kullanarak Flash animasyonları yapılabilecek. Proje hakkında geniş bilgi burada...