pillinetwork hesabınızla giriş yapın.

Güldüren Programlama Dilleri

Acaba ne kadar programlama dili vardır diye sıyırmış bir şekilde araştırırken birbirinden komik ve eğlenceli dile rastladım. Bu dillere Esoteric Dil deniyor ve bu diller bir programlama dilinin oluşturulma sürecinde test olarak ya da şaka amaçlı yaratılan programlama dilleri. Ancak şaka da olsa test de olsa birer derleyiciye sahipler ve istenirse kullanılabilir. Neyse lafı fazla uzatmadan göstereyim dilleri.

1. BrainFuck
Merhaba dünya programı. (Derleyicisi 200byte'dan küçük!!!)

1
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.

2. FALSE
Faktöriyel alan program

1
2
3
4
5
6
[$1=~[$1-f;!*]?]f: { fac() in FALSE }
"calculate the factorial of [1..8]: "
ß^ß'0-$$0>~\8>|$
"result: "
~[\f;!.]?
["illegal input!"]?"

3. LOLCODE
LOLCODE.TXT dosyasının içeriğini gösteren program.

1
2
3
4
5
6
7
8
HAI
CAN HAS STDIO?
PLZ OPEN FILE "LOLCATS.TXT"?
AWSUM THX
VISIBLE FILE
O NOES
INVISIBLE "ERROR!"
KTHXBYE

4. Piet
Merhaba dünya programı (bu programlama dili resimlerle yazılıyor)

piet - merhaba dünya programı
piet - merhaba dünya programı


5. Shakespeare

Merhaba Dünya programı. (Yok artıkkk :) )

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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]

6. Whitespace
Bu dil sadece boşluk karakterlerini okuyor. Gerisini açıklama satırı olarak algılıyor. Resimde kırmızı olan yerler tabları(girintileri) yeşil olan yerler de boşluk tuşunu gösteriyor.

Whitespace - Merhaba Dünya programının yazılışı
Whitespace - Merhaba Dünya programının yazılışı

7. İnek(COW) Programlama Dili
fibonacci dizisi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
MoO
moO
MoO
mOo
[[ main loop ]]
MOO
[[ print first number ]]
OOM
[[ temp copy of first number ]]
MMM
moO
moO
MMM
mOo
mOo
[[ store second number off in the first position now ]]
moO
MMM
mOo
MMM
[[ move back to temp number ]]
moO
moO
[[ use temp to add to first and store in second in loop ]]
MOO
MOo
mOo
MoO
moO
moo
mOo
mOo
moo

Spacer
Spacer
/* xiackok yazdı. 12 Temmuz 2009 10:30. 21 yorum var */

Yorumlar

vay be, neler varmışta haberimiz yokmuş.
Başlık için teşekkürler.

/* / oguzozcan.com / */

inÅŸ. bizede bir programlama dili yazmak nasip olur :)

/* KİWİ! */

Bir arkadaşım Assembly'i bilse programlama dili yazarız. Ama bu programlama dili de bunlara benzer anca :D

Şekspiri çok beğendim. Öyle bir programlama dili işe yarardı :)

/* / oguzozcan.com / */

ya asssembly i ögrenmek istiyorumda yeterli derecede kaynak yok benimde hedeflerimden biri programlama dili yazmak :)

/* KİWİ! */

Umarım öğrenebilirsin :)

/* / oguzozcan.com / */

mööö mööö :D süpermiş :)

/* hem derin c# hemde köklü cs4 ü bilen tek insan değilim biliyorum :) */

@loverz assembly öğrenmek istiyorsan çok kaynak var. istersen birkaç kitap söyleyebilirim. ama gerçekten işine yarayacağını düşünüyorsan öğren. assembly'de yazdığın bi programın seninkiyle aynı marka aynı model başka bir bilgisayarda bile çalışmama ihtimali var.

@skid önceliklte teşekkür ederim assembly yi şu yönde kullanmak istiyorum kaliteli bir derleyici yazmak yani türkçe programlama dili diyebiliriz hem masaüstü hemde web yazılımları geliştirebilmek için ülkeminiz durumu malum bir ışık yapabilirsek ne mutlu bize..

/* KİWİ! */

programlama dili yazmak için assembly'e ihtiyacın yok aslında. c/c++ ile yazabilirsin hem daha taşınabilir olur. assembly ile yazdığında başka makinelerde derleyememe olasılığın çok yüksek. eğer yazmak istediğin dilin illa ki çalıştırılabilir dosyaya derlenmesini istiyorsan öncelikle .elf(posix sistemlerin çalıştırılabilir dosyaları) ve .exe yapısını öğrenerek başlayabilirsin. ama öncelikle bir script dili yazmayı deneyebilirsin çok daha faydalı olur :)

/* http://bakire-dunya.blogspot.com/ */

Bence bir dili Türkçe'ye çevirme gayreti tamamen gereksiz. Bir kere boşa maliyet çıkarır ve boşa zaman harcatır.

1. Reklamın kısıtlı, kimse sana büyük çaplı destek veremez( Sabancı ailesindense ayrı =) )
2. Dilin kendisini yazması zaten bir sıkıntı. Bunu öğrenmesi yıllar sürüyor.
3. Sana tek kazandıracağı deneyim olur ki, deneyim en önemli unsurdur. Fakat bunu ticari bir amaçla yaparsan rahatlıkla indirirler.

Bunun yerine :

Yabancı kaynaklı referansları ( örnek : php.net ve msdn.com ) bildiğin diller bakımından tamamen türkçeye çevirir ve türkçe örnekler sunarsan, hem türkçe bir dile gerek kalmaz, hem de Türklerin darmadağanık araştırma yapısını biraz daha ilerletmiş olursun.

Türkçe bir yazılım dili olsa güzel olur mu?
Bence olmaz. Çünkü standart İngilizcedir. Dışarıdaki her kaynak ingilizce olarak vardır. Bir dil global olmadıkça hiç bir anlam taşımaz.( Türkiye için son derece yenilikçi, diğer dillerde olmayan bir ton özellik taşımadıkça )

Türkçe Dünya çapında standart bir dil olursa, o zaman bunları ciddi anlamda konuşuruz.

Sevgiler...

/* / oguzozcan.com / */

@centrual kesinlikle katılıyorum. bence yeni bir dil yazmak yerine çalışma olarak ileride yazacağın programlarda + sağlayacak bir script dili yazmak daha mantıklı ya da sadece keyif için :)

/* http://bakire-dunya.blogspot.com/ */

sadece eglence için :) + olarak demek istedigim türkçe bir programlama dili yazmak degil yani yaz "selam"; gibi degil tabikide global bir dil olması için ing. olması şart bunun içinde terimler ing olacak benim demek istedigim türk bir yazılımcının dili denmesi :)

/* KİWİ! */

de, Türk yazılımcı dili diye bir şey olmaz. Sen fikri bulursun, zaten bilgin yeterlidir, sistemini kafanda kurmuş olursun. Ondan sonra bir takım çalışmasıdır bunlar. Tek başına dil yazmaya kalkarsan kafayı yersin.

Örnek vereyim : Microsoft bir dünya devi. Fakat dünya devi olmasında kazançlarını doğru yerde kullanmasının büyük faydası var. C# 2000 yılında anons edildi. 2000 yıllarında milyon dolarlık bir yatırım yaptılar, halen de geliştirilmekte. Bunu tek kişi yapabilseydi, maliyetin ne kadar düşük olabileceğini tahmin edebilir misiniz=)

Fakat şu konuda seni her türlü desteklerim : Bir dil projesi geliştir( web olabilir desktop olabilir. ) Buna yavaştan başla, dinamiklikler, pointerlar, işleyişler vs. vs. öğren. 1 sene sonra bunları kavramış halde tekrardan düzgün planlı bir proje daha çıkar. Onu da açık kaynak olarak geliştir, Türk müh. ürünü desinler. Nasıl ki php ve linux geliştiriliyorsa, sende böyle bir dile başlangıcı atabilirsin.

Arkadaşlar iftahar etmemiz gereken bir durum vardır. O da Pardus işletim sistemi. Her ne kadar Linux üzerinde kurulduğu için bir süre eleştirsem de şimdilerde dünya çapında önemli yeniliklere imza attığını görünce göğsüm kabardı.

Çalışmadan hiç bir şey olmaz. Hayal edin, ama hayal etmeniz çalışma sürenizin yanlızca 10da1i kadar olsun.

C# la ilgili bir kaç kaynak :
http://tr.wikipedia.org/wiki/Anders_Hejlsberg
http://en.wikipedia.org/wiki/C_Sharp_(programming_language)

Başarılar diliyorum.

/* / oguzozcan.com / */

assembly öğrenmek için işlemcinin bir diagramı olması lazım orada hangi kodda hangi hex kodu hangi bayraklar hangi indisler var bakıp görüp başlarsınız. yada ASM editörler ve smilatorler var yada window debug. Windows Debug ile program yazdım girilen isime selam nabar : felan filan diye karşılık veriyordu 2 bytelık bir şey tuttu. En basit olarak başlamak için 6502 den başlayın ve 6502 diagram ve 6502 emulator derseniz işiniz kolaylaşır.

not: 2 nin karesini hasaplayan bir program yazmayı deneyin öncelikle. :D

c#, bana göre çok saçma bir dil , arkasında microsoft olmasaydı at çöpe. Neden derseniz daha 90 lı yıllarda windows çıkmadan önce ui olarak gupta (centura) vardı tabii ki unix altındayı sonra window çıkınca ,windows platformunda da ürünlerini geliştirdiler.Gupta (centura) yada centura teamdeveloper temel dili C ve c# dan baya hızlı hele db ile işlemlerde bir dünya connection tanımlayama gerek kalmıyor. Bu IDE tek eksiği ui theme sıkıntı lakin 5.1 versionunda bunu gidermişler. Ha Başka bir tane daha var Cross Platformda özelliği olan Qt ve Qt kaynak dili C++, c# kök söktürür.
ve Qt free ve ticari amaç isin ücretli versiyonları var.

programramlama dillerini değilde yorumları okuyunca güldüm gerçekten.

1. Programlama dili geliştirmek için assembly bilmeye gerek yoktur.. Fakat gcc gibi derleyicileri incelediğimizde hız açısından bazı yerlerde assembly kullandıklarını görürüz..

2. Programlama dili geliştirmek için çok çok "şey" bilmek gereklidir.. Bu işin bir teorisi var.. Tabi daha sonra buna ve buna ve hatta buna hakim olmak gerekiyor.. Bunları tam olarak özümsedikten sonra dil geliştirmeye başlayabilirsiniz..

3.Dilinizi tanımladıktan sonra işe bir lexer ve parser yazarak başlamalısınız.. tabi bunun için de çok çok "şey" bilmeniz gerekiyor.. Kullanabileceğiniz iki tool yacc ve lex bu noktada baya yardımcı olacaktır.. Özellikle c bilgisi şart..

4.compiler'i oluşturan birden fazla parça vardır.. bunların tamamını gerçekleştirmek zorunda değilsiniz.. Fakat eğer çalışan bir program üreten bir compiler yazmak istiyorsanız işin içine o kadar çok şey giriyor ki.. Bunları burada zikretmeye ömür yetmez.. gcc koduna açıp bakabilirsiniz. İnanılmaz devasa bir koddur..

5. Kolay yoldan başlamak için işe script dili oluşturarak başlayabilirsiniz.. Nispeten daha kolay olarak birşeyler ortaya çıkarabilirsiniz.

6. Hazır bazı dilleri kendi kodunuza dahil ederekte güzel şeyler yapılabilir. Bu yöntem aslında oyunlarda sıklıkla kullanılır. Oyun motoru geliştiricileri motor koduna direkt müdahale etmeden dışarıdan komut işletmeye yarayan bir mimari kurarak lua gibi dilleri kodlarına entegre ederler. Böylece Lua tabanlı script dosyalarından kendi yazdıkları komutları çağırabilirler..

Bilgili birinden yorum almak çok hoş oldu. Özellikle verdiğin linkler için çok teşekkür ederim arkadaşım.

/* / oguzozcan.com / */

bilgileriniz için teşekkür ederim zaten dil script dili olacak bunun için c++ ı uygun görüyorum ve centrual dediklerini uygulamaya başlıcam ilk olarak bilgisayar nasıl çalışır ansıl bu kadar hıza çıkabiliyor ilk bir zamanı buna ayıracagım sistemi iyi ögrenmek için sonrasıda centrula'ın dedigi gibi zamanla gelir :)

/* KİWİ! */

http://bsarica.spaces.live.com/blog/cns!739776C86FCC4EB0!168.entry

Burdaki denemeyi paylaşmak istedim. hey gidi günler :)

Shakespeare süper :))

üye olunpillinetwork sitelerine yorum ekleyebilmek ve daha fazlası için, üye olun ya da giriş yapın.

Bu Yazıyı Tutanlar

Bu yazıyı rapor et. Kural dışı içeriğe rastladığınızda editörlerimize rapor ederek müdahale edilmesini sağlayabilirsiniz. (Hangi durumlarda rapor edebilirim?)

Bu site

Nokta ve pilli ortak yapımı olan kodaman.org hep birlikte içerik üretip gelirini yazarları ile paylaştığımız kolektif bir kod yazarları blogudur. Siz de katılabilirsiniz.

pilliilan

son yorumlar

arama

pillinetwork