12 Mayıs 2011 Perşembe

Vizyon500k

En çılgın 10 programlama dili!

10. INTERCAL

1972'de geliştirilen INTERCAL, muhtemelen ilk ezoterik programlama dillerinden bir tanesi. Donald R. Woods ve James M. Lyon (resimde) tarafından geliştirilen dilin amacı, mevcut programlama dillerinin hiçbirine benzememek.

Geliştiricilerin hazırladığı orijinal kılavuza göre Compiler'ın tam adı, 'telaffuz edilemeyen compiler dili kısaltması' . Dilin adı bu nedenle 'INTERCAL' olarak kısaltılmış.

Diğer dillerde sık kullanılan işllemler, INTERCAL'da şifreli ve karışık bir söz dizimine sahipler. INTERCAL referans kılavuzunda da manasız veya esprili birçok mantık dışı talimat var.

INTERCAL, bir programcının sinirine dokunacak başka birçok özelliğe sahip. Örneğin 'IGNORE', 'FORGET', 'PLEASE' gibi komutlar kullanılıyor. Eğer PLEASE komutu yeteri kadar kullanılmamışsa programın yeteri kadar kibar olmadığı varsayılıyor ve hata mesajı veriliyor. Komutu çok sık kullandığınızda ise fazla kibar olmanızdan dolayı reddedilebilirsiniz. 

9. Whitespace

2002'de Edwin Brady ve Chris Morris tarafından tasarlanan Whitespace, adından da anlaşılacağı üzere sözdiziminde sadece alfabe dışı karakterleri kullanan bir programlama dili. Dolayısıyla sadece sekme ve satır besleme karakterleriyle kod yazabiliyorsunuz. Whitespace yorumlayıcısı herhangi bir whitespace olmayan karakteri yok sayıyor. Resimde ise Whitespace'de yazılmış bir 'Merhaba Dünya' kodunu görüyorsunuz. 

8. Chef

2002'de David Morgan tarafından tasarlanan Chef, yemek tarifine benzer programlar yazabildiğiniz ezoterik bir programlama dili. Değişkenler genellikle gıda maddelerinden oluşurken, yığınlar 'çırpma kabı' olarak adlandırılıyor.

Chef web sayfasına göre tasarım prensipleri şunlardan oluşuyor:

- Program tarifleri sadece geçerli bir çıktı vermekten öte hazırlaması kolay ve lezzetli olmalı.
- Tarifler, farklı bütçelerdeki aşçılar için çekici olmalı.
- Tarifler metrik ölçülerle anlatılacaktır ancak bardak ve kaşık gibi ölçü birimleri kullanılabilecektir 

7. Velato

Velato, kaynak kodu olarak MIDI dosyalarını kullanan bir programlama dili. Velato'daki programlam, sesin bulunduğu perdeye ve notaların sırasına göre değişiyor. Velato programları genellikle Jazz benzeri armonilere sahip oluyor.

Tüm MIDI dosyalarında olduğu gibi Velato programları da nota olarak temsil edilebiliyor. Resimdeki müziği bu adresten dinlemeniz mümkün.

http://extra.listverse.com/print_h_5.mid 

6. Shakespeare

Shakespeare Programming Language (SPL), Jon Åslund ve Karl Hasselström tarafından geliştirilmiş. Önceki programlama dili Velato'da olduğu gibi, bu dilin amacı da programların bir programdan daha farklı bir şey olarak görünmesi.

Shakespeare dilindeki bir programın ilk satırı 'title' ile başlıyor ve açıklama yerine geçiyor. 'Dramatis Personae' bölümünde ise değişkenler tanımlanıyor. Her değişkenin Shakespeare oyunundan bir karakterin adını taşıması şart.

Shakespeare kodu, karakterlerin (değişkenlerin) etkileşime girdiği 'Sahne'leri içeren 'Rol'lere ayrılıyor. Her Rol ve Sahne, Romen rakamlarıyla temsil ediliyor ve GOTO etiketi yerine geçiyor.

'Karakterler' (değişkenler) 'rol' yapmadan önce 'sahneye' çıkmaları gerekiyor. Bir değişkeni sahneye çıkarmak için 'Enter' komutu kullanılıyor. Karakterlerin sahneyi terk etmesi için ise 'Exit' komutu kullanılıyor. 'Exeunt' ile birden fazla karakterin veya hiçbir karakter belirtmeyerek tüm karakterlerin sahneyi boşaltmasını sağlamak mümkün.

İşte Shakespeare ile yazılımış bir 'Hello World' kodu:

Romeo, a young man with a remarkable patience.
Juliet, a likewise young woman of remarkable grace.
Ophelia, a remarkable woman much in dispute with Hamlet.
Hamlet, the flatterer of Andersen Insulting A/S.

Act I: Hamlet's insults and flattery.
Scene I: The insulting of Romeo.
[Enter Hamlet and Romeo]
Hamlet:
You lying stupid fatherless big smelly half-witted coward! You are as
stupid as the difference between a handsome rich brave hero and thyself!
Speak your mind!
You are as brave as the sum of your fat little stuffed misused dusty
old rotten codpiece and a beautiful fair warm peaceful sunny summer's
day. You are as healthy as the difference between the sum of the
sweetest reddest rose and my father and yourself! Speak your mind!
You are as cowardly as the sum of yourself and the difference
between a big mighty proud kingdom and a horse. Speak your mind.
Speak your mind!
[Exit Romeo]
Scene II: The praising of Juliet.
[Enter Juliet]
Hamlet:
Thou art as sweet as the sum of the sum of Romeo and his horse and his
black cat! Speak thy mind!
[Exit Juliet]
Scene III: The praising of Ophelia.
[Enter Ophelia]
Hamlet:
Thou art as lovely as the product of a large rural town and my amazing
bottomless embroidered purse. Speak thy mind!
Thou art as loving as the product of the bluest clearest sweetest sky
and the sum of a squirrel and a white horse. Thou art as beautiful as
the difference between Juliet and thyself. Speak thy mind!
[Exeunt Ophelia and Hamlet]

Act II: Behind Hamlet's back.
Scene I: Romeo and Juliet's conversation.
[Enter Romeo and Juliet]
Romeo:
Speak your mind. You are as worried as the sum of yourself and the
difference between my small smooth hamster and my nose. Speak your
mind!
Juliet:
Speak YOUR mind! You are as bad as Hamlet! You are as small as the
difference between the square of the difference between my little pony
and your big hairy hound and the cube of your sorry little
codpiece. Speak your mind!
[Exit Romeo]
Scene II: Juliet and Ophelia's conversation.
[Enter Ophelia]
Juliet:
Thou art as good as the quotient between Romeo and the sum of a small
furry animal and a leech. Speak your mind!
Ophelia:
Thou art as disgusting as the quotient between Romeo and twice the
difference between a mistletoe and an oozing infected blister! Speak
your mind!
[Exeunt] 


5. Omgrofl

Omgrofl, Juraj Borza tarafından 2006'da geliştirilen bir programlama dili. İsmi ise internet argosu iki 'kelimenin' birleşiminden meydana geliyor ('omg' ve 'rofl'). Omgrofl'da kullanılan değişkenler, argo sözcük lol, lool, loool, loooool gibi olabiliyor. Bir değişkeni tanımlamak için aşağıdaki kodu girmeniz gerekiyor:

lol iz 4

wtf ise C'deki if gibi şartlı bir komut. 'brb' (be right back'in kısaltılmışı) komutuna dek olank omutlar sadece koşul doğru ise çalıştırılıyor:

lol iz 1
wtf lol iz liek 1
rofl lol
lmao lol
brb

Omgrofl'daki anahtar sözcükler arasında şunlar da var: rtfm, tldr, w00t, stfw, n00b, l33t, haxor, stfu  


4. Piet

Piet, programların soyut sanata benzedeği bitmap grafiklerinden meydana geliyor. Chef'in yaratıcısı David Morgan-Mar tarafından tasarlanan Piet, adını geometrik soyut sanatçısı Piet Mondrian'dan alıyor.

Davranışın belirlendiği 20 renk bulunuyor: 18 'renkli' renk, 6 adımlık ton döngüsü ve 3 adımlık parlaklık döngüsü tarafından yetkilendiriliyor. Siyah ve beyaz ise komutlandırılmıyor. Yukarıdaki grafikte 'piet' çıktısı veren Piet programını görüyorsunuz 

3. Befunge

Befunge'daki programlar, playfield adı verilen iki boyutlu ızgara üzerinde diziliyor. 'Yön' komutları <, >, ^ ve v akışı sola, sağa, yukarı ve aşağı yönlendiriyor. Loop'lar ise döngüye bir kontrol akışı göndererek sağlanıyor.

1993'de Chris Pressey tarafından oluşturulan Befunge'un amacı, derlenmesi mümkün olduğunca zor bir kod olmak. Ancak zamanla kodu derleyebilen bazı derleyiciler yazılmış. 


2. Malbolge

Befunge'un amacı derlemeyi zorlaştırmak iken Malbolge ise program yazmayı mümkün olduğunca zorlaştırmayı hedefliyor. 1998'de Ben Olmstead tarafından oluşturulan Malbolge o kadar zor ki, ilk Malbolge yazılımının ortaya çıkması iki sene sürmüş ve bu program bir insan tarafından yazılmamış.

Yukarıda ise '99 Bottles of Beer' adlı şarkının sözlerini çıktı olarak verebilen ve 2007'de Hisashi Iizawa tarafından geliştirilen programın kodunu görüyorsunuz. 


1. Brainfuck

Brainfuck diğer dillerin de oluşmasına ilham verenen ünlü ezoterik programlama dili. İnanılmaz sadeliğiyle dikkat çeken dilin amacı programcıları yarıştırmak ve eğlendirmek. Programın adı bazı yerlerde b****fuck olarak geçebiliyor ve genellikle sadece ilk harfi büyük olarak yazılıyor.

1993'de Urban Müller tarafından oluşturulan Brainfuck, mümkün olan en küçük derleyici ile derlenebilen bir programlama dili olmayı amaçlıyor. Bazı Brainfuck derleyicileri 200 bayttan bile küçük.

Dil sadece 9 komuttan oluşuyor: > < + – . , [ ]. Brainfuck programı bu komutların bir sıralamasından oluşuyor. İsminden de anlaşılacağı gibi dilin kavranması oldukça zor, zira orta seviyedeki karmaşıklığa sahip bir programı yazmak, uzun komut sıralarını yazmayı gerektiriyor ve bu nedenle ciddi bir programlama için kullanılmıyor. Ancak diğer turing destekli programlama dilleri gibi, Brainfuck da teorik olarak bilgisayarla hesaplanabilen herhangi bir fonksiyonu çalıştırabiliyor. 

Hiç yorum yok:

Yorum Gönder