سخت ترین زبان های برنامه نویسی

امروز لیستی از سخت ترین زبان های برنامه نویسی اماده کردم؛ همه این زبان ها جزو سخت ترین یا بهتر بگم عجیب ترین زبان های برنامه نویسی کره زمین هستن(شاید هم کل جهان کسی چی میدونه :) ).


INTERCAL

یکی از رو مخ ترین نکات INTERCAL اینکه بعضی از تکه کد های این زبان خیلی مودبانه هستن و باید با این زبان عجیب غریب خیلی مودبانه و دوستانه صحبت کنیم. مثلا هر کد با "Please Do" با معنی "لطفا انجام دهید" شروع و با "Plase Give UP" به معنی "لطفا تسلیم شوید" به پایان میرسه.

نمایش Hello World با INTERCAL

PLEASE DO ,1 <- #13
        DO ,1 SUB #1 <- #238
        DO ,1 SUB #2 <- #112
        DO ,1 SUB #3 <- #112
        DO ,1 SUB #4 <- #0
        DO ,1 SUB #5 <- #64
        DO ,1 SUB #6 <- #238
        DO ,1 SUB #7 <- #26
        DO ,1 SUB #8 <- #248
        DO ,1 SUB #9 <- #168
        DO ,1 SUB #10 <- #24
        DO ,1 SUB #11 <- #16
        DO ,1 SUB #12 <- #158
        DO ,1 SUB #13 <- #52

        PLEASE READ OUT ,1
PLEASE GIVE UP


Cow Programming Language

زبان برنامه نویسی گاو، 24 تا تکه کد داره که همشون از 3 حرف "MOO" تشکیل شدن و تنها تفاوت تکه کد ها بزرگ و کوچک بودن حرف های "MOO" هست.

نمایش Hello World با استفاده از زبان Cow:

MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO+ حدود 10 خط &quotMOO&quot دیگه! D:

زبان برنامه نویسی BrainFuck

هر چقدر جلو تر میریم اسم زبان ها و سینکتسی که دارن عجیب تر میشه؛ در مورد اسم این زبان که حرفی نیست اما سینتکس Brainfuck نسبت به Cow و INTERCAL واقعا عجیبه. توی سینتکس این زبان فقط 8 دستور وجود داره که از علائم ریاضی و نگارشی هستن. "[ ] < > + - . ,"

نمایش Hello World با Brainfuck:

من تو گوگل دنبال Hello World Brain Fuck بودم اینو از ویکی پدیا پیدا کردم فکر کنم درست نباشه؛ نوشته های انگلیسی هم که توش هست کامنت هستن و جزوی از کد نیستن.

[ This program prints &quotHello World!&quot and a newline to the screen, its
  length is 106 active command characters [it is not the shortest.]

  This loop is a &quotcomment loop&quot, it's a simple way of adding a comment
  to a BF program such that you don't have to worry about any command
  characters. Any &quot.&quot, &quot,&quot, &quot+&quot, &quot-&quot, &quot<&quot and &quot>&quot characters are simply
  ignored, the &quot[&quot and &quot]&quot characters just have to be balanced.
]
+++++ +++ Set Cell #0 to 8
[
  >++++               Add 4 to Cell #1; this will always set Cell #1 to 4
    [                   as the cell will be cleared by the loop
      >++             Add 2 to Cell #2
      >+++            Add 3 to Cell #3
      >+++            Add 3 to Cell #4
      >+              Add 1 to Cell #5
        <<<<-           Decrement the loop counter in Cell #1
    ]                   Loop till Cell #1 is zero; number of iterations is 4
  >+                  Add 1 to Cell #2
  >+                  Add 1 to Cell #3
  >-                  Subtract 1 from Cell #4
  >>+                 Add 1 to Cell #6
    [<]                 Move back to the first zero cell you find; this will
                        be Cell #1 which was cleared by the previous loop
    <-                  Decrement the loop Counter in Cell #0
] Loop till Cell #0 is zero; number of iterations is 8

The result of this is:
Cell No : 0 1 2 3 4 5 6
Contents: 0 0 72 104 88 32 8
Pointer : ^

>>. Cell #2 has value 72 which is 'H'
>---. Subtract 3 from Cell #3 to get 101 which is 'e'
+++++++..+++. Likewise for 'llo' from Cell #3
>>. Cell #5 is 32 for the space
<-. Subtract 1 from Cell #4 for 87 to give a 'W'
<. Cell #3 was set to 'o' from the end of 'Hello'
+++.----.----. Cell #3 for 'rl' and 'd'
>>+. Add 1 to Cell #5 gives us an exclamation point
>++. And finally a newline from Cell #6

MalBloge

این زبان توسط Ben Olmstead نوشته شده و سینتکس خیلی سخت و عجیبی داره. در حدی که Ben Olmstead تا حالا هیچ برنامه ای با این زبان ننوشته؛ برای پی بردن به سینتکس Malbloge نحوه نمایش Hello World با Malbloge رو ببینید :

(<`#9]~6ZY327Uv4QsqpMn&+Ij&quot'E%e{Ab~w=_:]Kw%o44Uqp0/Q?:`H%c#DD2^WV>gY;dts76qKJImZkj

Whitespace

تو دنیای Withespace هر فاصله و Enter مفهومی دارن، هر تعداد از Space های کناره هم مثل کلمه و تکه کد عمل میکنه و از اونجایی که نمیتونیم از Space برای فاصله گذاری بین کلمات استفاده کنیم، حرف های T و S وظیفه فاصله گذاری و مشخص کردن مرز بین کلمات رو دارن.

اما در پایان مقاله سخت ترین زبان های برنامه نویسی

این زبان ها احتمالا هیچ استفاده عملی ندارن ( البته 100% هیچ استفاده ای ندارن) و فقط برای تفریح و سرگرمی به وجود اومدن.