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

LOLCODE

چند زبان برنامه نویسی با سن اینترنت برابری میکنند که  LOLCODE  بین آن ها قرار دارد. این  زبان در سال 2007 توسط آدام لیندسی، محقق در دانشگاه لنکستر تاسیس شد. کلمات کلیدی این زبان همه به صورت حروف بزرگ  و با ملودی هستند. 

HAI
CAN HAS STDIO?
I HAS A VAR
IM IN YR LOOP
   UP VAR!!1
   VISIBLE VAR
   IZ VAR BIGGER THAN 10? KTHX
IM OUTTA YR LOOP
KTHXBYE

 همانند بسیاری از زبانها در این لیست، هیچ کتابخانه استانداردی برای گفتن وجود ندارد. این بدان معنی است که شما نمیتوانید از LOLCODE برای چیزی بیشتر از خواندن یک فایل یا نوشتن متن به کنسول استفاده کنید. اگر به یک نسخه قوی تر نیاز دارید، از LOLPython که توسط LOLCODE الهام گرفته شده است را بررسی کنید و به تمام کتابخانه های قدرتمند پایتون دسترسی پیدا کنید.

Glass

Glass یک زبان برنامه نویسی است که توسط Gregor Richards در سال 2005 ساخته شده است. این زبان ترکیب علامت ها و  با شی گرایی بسیار  است، که با استفاده از یک پشته اصلی اجرا میشود. به گفته نویسنده هیچ زبان دیگری مانند این اجرا نمی شود، زیرا این امر می تواند فریبنده باشد.

{F[f(_a)A!(_o)O!(_t)$(_n)1=,(_isle)(_n)*(_a)(le).?=/(_isle)^\(_n)*(_a)
s.?(_t)f.?(_n)*(_a)s.?(_t)f.?(_a)a.?]}{M[m(_a)A!(_f)F!(_o)O!(_n)=(_nlm)
=/(_nlm)(_n)*(_f)f.?(_o)(on).?" "(_o)o.?(_n)(_n)*(_a)a.?=(_nlm)(_n)*
(_a)(le).?=\]}

 

 Chicken

مرغ نه تنها نام این زبان است، بلکه تنها کلمه کلیدی است که در آن مجاز است! تعداد تکرارها و خطوط جدید تعیین کد عملیاتی را اجرا می کند. یک برنامه نمونه به شرح زیر است. آیا می توانید حدس بزنید که چه کاری انجام می دهد؟

chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
chicken chicken chicken chicken chicken chicken

 

Whitespace

"فضای خالی" یک زبان برنامه نویسی قابل توجه است. فقط فضاها، زبانه ها و خطوط جدید را درک می کند و همه چیز را نادیده می گیرد. این باعث می شود که یک برنامه منظم در زبان دیگری مانند جاوا اسکریپت نوشته شود که قطبش یک برنامه در فضای سفید است! در اینجا یک مثال است که "Hello، world!" را چاپ می کند. (فاصله ها با S و زبانه ها با T مشخص می شوند):

S S S T    S S T   S S S 
T   
S S S S S T T   S S T   S T 
T   
S S S S S T T   S T T   S S 
T   
S S S S S T T   S T T   S S 
T   
S S S S S T T   S T T   T   T   
T   
S S S S S T S T T   S S 
T   
S S S S S T S S S S S 
T   
S S S S S T T   T   S T T   T   
T   
S S S S S T T   S T T   T   T   
T   
S S S S S T T   T   S S T   S 
T   
S S S S S T T   S T T   S S 
T   
S S S S S T T   S S T   S S 
T   
S S S S S T S S S S T   
T   
S S

 

///

/// یک زبان کم حجم است که شامل تنها یک عملیات است - تعویض  رشته در {فرم / منبع / جایگزینی}. توسط Tanner Swett در سال 2006 اختراع شد. زبان بسیار محدودی  است، اما برخی از برنامه نویسان باهوش قادرند عملیات جایگزینی رشته را به برنامه های کامل کارآ تبدیل کنند که داده های حلقه و خروجی را دارند. در اینجا ساده "Hello world!" برنامه:

/ world! world!/Hello,/ world! world! world!

 

Befunge

Befunge یک زبان برنامه نویسی دو بعدی است. کد شما در قسمت بازی با اندازه ثابت قرار می گیرد. هر سلول میدان بازی می تواند هر کد یا داده را نگه دارد و برنامه شما می تواند هر سلولی که مایل است را جایگزین کند. مترجم  در سلول چپ بالایی شروع به ترجمه کرده  و به سمت راست میرود. شما می توانید جهتی که مترجم با دستورالعمل های خاص هدایت می کند را کنترل کنید. به عنوان مثال این یک حلقه بی نهایت است:

>v
^<

و در اینجا یک مثال است که "Hello، world!" را چاپ می کند:

0"!dlroW ,olleH">:#,_@

 

Piet

پیت یک زبان برنامه نویسی است که در آن برنامه ها یک بیت مپ هستند که مانند نقاشی های انتزاعی هستند. بلوک پایه  برای برنامه های PIT بلوک رنگ است. این بلوک رنگ پشتیبانی از 20 رنگ متمایز را انجام میدهد، و برخی از پیاده سازی ها برای پشتیبانی بیشتر را هم ارایه  می کند. این تلفیقات توسط یک اشاره گر هدایت می شود که در اطراف تصویر حرکت می کند، از یک منطقه رنگی مستمر تا کنارش. در اینجا یک "سلام دنیا!" برنامه:

Malbolge

Malbolge زبان برنامه نویسی اختراع شده توسط Ben Olmstead در سال 1998 است که به نام دایره هشتم جهنم در دنیای دانته نامگذاری شده است. این نام به طور تصادفی انتخاب نشده بود - زبان به طور خاص طراحی شده بود که برنامه های کاربردی مفید را غیر ممکن ساخته باشد. چند سال پس از معرفی آن، نقاط ضعف در طراحی یافت شد که امکان نوشتن برنامه های کاربردی  Malbolge را یافتند. هرچند، شما هنوز باید یک دانشمند رمزنگاری باشید تا بتوانید یک برنامه معنی دار در آن بنویسید. در اینجا چیزی است که "Hello World!"  در Malbolge:

('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>}=<M:9wv6WsU2T|nm-,jcL(I&%$#"
`CB]V?Tx<uVtT`Rpo3NlF.Jh++FdbCBA@?]!~|4XzyTT43Qsqq(Lnmkj"Fhg${z@>

 

~English

~انگلیسی یک زبان برنامه نویسی است که تلاش می کند تا زبان طبیعی را تقلید کند. سینتکس آن بسیار سست شده است تا نویسنده آزادی بیشتری را بیان کند. هیچ تابعی  را نمی توان توسط برنامه نویس تعریف کرد - او تنها می تواند از آن ساخته شده است. در اینجا یک برنامه نمونه است:

Display "Hello world!" and a newline.
Stop the program.

 

یادبود افتخار: جاوا اسکریپت

جاوا اسکریپت محبوب ترین زبان برنامه نویسی امروز است. عواقب جانبی این است که هر کدام از خصوصیات زبان، هر چند ظریف باشد، هر روز باعث ایجاد اشکالاتی در کد هزاران برنامه نویسی می شود که جی اس  را استفاده میکنند. یک وب سایت کامل برای عجیب و غریب جاوااسکریپت وجود دارد، اما برای مثال شما، در اینجا دو قطعه JS کوچک میبینید که کاملا معتبر هستند (شما میتوانید آنها را در کنسول خود امتحان کنید):

// This prints 10:
alert(++[[]][+[]]+[+[]]);

// And this "fail":
alert((![]+[])[+[]]+(![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]);

 

 

 

 

به نظر شما کدام از زبان های بالا سخت تر و طاقت فرساتر هستند؟ 

نظرات کاربران
برای ثبت نظر ابتدا باید وارد سایت شوید