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

KSpyware

tongucyumruk

KSpyware adının çağrıştırdığının aksine KDE üzerinde çalışan bir casus yazılım veya casus yazılım tarayıcısı değil. KSpyware, Win32 platformunda çalışan özgür bir casus yazılım. Klasik anlamdaki casus yazılımlardan en önemli farkı kodlarının tamamen açık olması. Gilbert Nzeka adlı bir programcı tarafından Windows altında casus yazılımlar geliştirme yöntemlerini ortaya koymak amacıyla geliştirilen bu program bilin bakalım hangi programlama diliyle yazılmış?

Not: Bu programı GNU/Linux platformuna port edecek gönüllü bir arkadaş aranıyor.

Perl, Divx, altyazı ve başının çaresine bakabilmek üzerine

sundance

Uzun zamandır izlemek istediğim, The Hustler'ı seyretmek için sonunda zaman bulabildim. Paul Newman'ın 1962'de başrolünü oynadığı bu film, yıllar sonra Color of Money'e de konu olacak Fast Eddie Felson'ın hikayesini anlatıyordu. Dahası Unix Junkie makalemde bahsettiğim insan modelinin belki de en iyi örneklerinden biriydi.

Fakat küçük bir problem vardı, filmindeki hiçbir dialoğu kaçırmamak için altyazıya ihtiyaç duyuyordum, fakat benim elimdeki film iki cd olmasına rağmen bulabildiğim yegane ingilizce altyazı üç cdlikti.

Durumdan vazife çıkartmaya zaten hazır bir FM sakini olarak, sıvadım kolları ve küçük bir perl betiki yazdım bu işi yapması için. Film hatırladığımdan bile güzeldi, ama böyle bir durumda bir beş, on dakika içinde problemi çözebilmek daha bile keyifliydi, GNU/Linux kullanıyor olmak keyifliydi :)

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.

Perl Öğreniyoruz - 4

cayfer

Daha önceki bölümler:
1. bölüm
2. bölüm
3. bölüm
Bu hafta konumuzda çağrışımlı listeler var, Haftaya "regexp"ler! Bu arada merak ettiğim birşey var: Acaba bu Perl tefrikasından yararlanan var mı?

Perl Öğreniyoruz - 3

cayfer

2. bölümün sonunda bu hafta "listeler"den söz edeceğimi söylemiştim.

Listeler (arrays) Perl'in çok güçlü olduğu konulardan birisidir. Perl'de bir listeden söz ederken değişken adının başına bir @ işareti koymalısınız. (Hatırlıyorsanız sayıl (scalar) değişkenlerin adı $ işareti ile başlardı).