۱۵ تا از عجیب ترین زبانهای برنامه نویسی
برخی افراد یادگیری برنامه نویسی را سخت ، خسته کننده و طاقت فرسا می دانند. به دلایلی ، به نظر می رسد گروهی از مردم چنین تصور می کنندبرنامه نويسي پیچیده است . آیا تابحال اسمی با نام زبانهای برنامه نویسی (معروف به esolang) را شنیده اید ؟ منظور از این زبانها استفاده آسان نیست . برعکس ، آنها طوری طراحی شده اند که برنامه نویسان را به سختی به چالش بکشند ، ناامید کنند و سرگرم کنند. انواع مختلفی از زبان های برنامه نویسی وجود دارد که باید امتحان کنید ، اما در اینجا ۱۵ مورد از عجیب ترین و دیوانه کننده ترین زبانهای برنامه نویسی وجود دارد.
۱۵ تا از عجیب ترین زبانهای برنامه نویسی
۱. Brainf*ck
این زبان برنامه نویسی با توجه به نام خود ، برای هر برنامه نویس یک سردرد فوری ایجاد می کند. این برنامه توسط Urban Müller در سال ۱۹۹۳ ایجاد شد ، به عنوان زبانی که می تواند توسط یک کامپایلر بسیار کوچک اجرا شود تا برنامه نویس را سرگرم کند.
این زبان فقط از هشت فرمان و یک اشاره گر دستور استفاده می کند که هر یک از یک کاراکتر واحد تشکیل شده اند و آن را به یک زبان فوق العاده مینیمالیستی تبدیل کرده است. در زیر نمونه ای از کد سردرد آن را مشاهده می کنید ، کدی که “Hello World!” را چاپ می کند:
[ 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
۲. LOL CODE
LOLCODE از lolspeak ، “زبان” مورد استفاده lolcats ، تشکیل شده است. این زبان توسط آدام لیندسی در سال ۲۰۰۷ ، محقق در بخش محاسبات دانشگاه لنکستر طراحی شده است. این زبان به اندازه زبانهای سنتی کامل نیست و نحو و اولویت های اپراتور به طور واضح مشخص نشده است.
هر چند شفافیت و زیبایی زبان بیشتر این را جبران می کند. کافی است نگاهی به “سلام جهان!” کد زیر بیاندازید :
HAI CAN HAS STDIO? VISIBLE "Hello World!" KTHXBYE
۳. Befunge
مشابه Brainf*ck زبان Befunge توسط کریس پرسی در سال ۱۹۹۳ توسعه یافت ، با هدف ایجاد زبانی که کامپایل آن تا حد ممکن دشوار باشد.
او این کار را با اجرای کد اصلاح کننده خود انجام می دهد و دستورالعمل یکسانی را در چهار روش مختلف اجرا می کند ، بدون ذکر مجموعه دستورالعمل ها. با این حال ، در نهایت تعدادی کامپایلر ایجاد شد. در زیر کد منبع “Hello World!” این زبان برنامه نویسی را مشاهده می کنید.
> v v ,,,,,"Hello"< >48*, v v,,,,,,"World!"< >25*,@
۴. ArnoldC
در اینجا یک زبان برنامه نویسی وجود دارد که کاملاً از فیلم های منحصر به فرد آرنولد شوارتزنگه ، کلاسیک هایی مانند Terminator ، Predator و Total Recall ساخته شده است. ArnoldC توسط Lauri Hartikka ایجاد شد ، که دستورات استاندارد را با آرینولد تک خط معادل خود جایگزین کرد.
مثال شامل False و True است که به ترتیب تبدیل به “I LIED” و “NO PROBLEMO” می شود. در اینجا نحوه “سلام جهان!” کد به شکل زیر خواهد بود:
IT'S SHOWTIME TALK TO THE HAND "Hello World!" YOU HAVE BEEN TERMINATED
۵. Shakespeare (شکسپیر)
هدف ایجاد شده توسط Jon Aslund و Karl Hesselstörm ، ایجاد یک زبان برنامه نویسی شبیه به یک زبان برنامه نویسی بود. در این مورد ، کد منبع دقیقاً شبیه نمایشنامه شکسپیر است. متغیرها باید بر اساس شخصیت های شکسپیری نامگذاری شوند و ثابت ها توسط اسامی مثبت یا منفی تعیین می شوند.
یک “سلام جهان!” نمونه بسیار طولانی است ، دقیقاً مانند نمایشنامه خوانده می شود ، بنابراین در اینجا تنها بخشی از کد منبع (نسخه کامل آن در اینجا موجود است ):
The Infamous Hello World Program. 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]
۶. Chef (سرآشپز)
شبیه به شکسپیر ، سرآشپز ، ساخته دیوید مورگان-مار ، یک زبان برنامه نویسی است که شبیه یک زبان نیست ، در عوض شبیه دستور پخت است. اصول طراحی زبان این است
- کد نه تنها باید خروجی معتبری تولید کند ، بلکه خروجی آن نیز باید آسان تهیه شده و خوشمزه باشد
- دستور العمل ها برای آشپزها جذابیت دارد
- دستور العمل ها باید متریک باشند
- به عبارت دیگر ، دستور العمل ها باید به عنوان کد عمل کنند ، و می توانند آماده و خورده شوند. کد منبع برای “سلام جهان!” برنامه در زیر موجود است:
Hello World Souffle. This recipe prints the immortal words "Hello world!", in a basically brute force way. It also makes a lot of food for one person. Ingredients. ۷۲ g haricot beans ۱۰۱ eggs ۱۰۸ g lard ۱۱۱ cups oil ۳۲ zucchinis ۱۱۹ ml water ۱۱۴ g red salmon ۱۰۰ g dijon mustard ۳۳ potatoes Method. Put potatoes into the mixing bowl. Put dijon mustard into the mixing bowl. Put lard into the mixing bowl. Put red salmon into the mixing bowl. Put oil into the mixing bowl. Put water into the mixing bowl. Put zucchinis into the mixing bowl. Put oil into the mixing bowl. Put lard into the mixing bowl. Put lard into the mixing bowl. Put eggs into the mixing bowl. Put haricot beans into the mixing bowl. Liquefy contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Serves 1.
۷. Whitespace
Whitespace توسط ادوین بردی و کریس موریس به عنوان یک شوخی اول آوریل ایجاد شد. جایی که اکثر زبان های برنامه نویسی نویسه های Whitespace را نادیده می گیرند ، فضای سفید از آنها به عنوان دستور استفاده می کند و در عوض نویسه های غیر سفید را نادیده می گیرد.
به همین دلیل ، کد Whitespace را می توان در داخل زبانهای برنامه نویسی نوشت که فضای سفید را نادیده می گیرند. در زیر یک “سلام جهان!” کد منبع نوشته شده در Whitespace (رنگ برای وضوح بیشتر استفاده می شود).
۸. Piet
پیت هنوز یکی دیگر از عجیب ترین زبانهای برنامه نویسی باطنی ایجاد شده توسط دیوید مورگان مارس است. برنامه توسط یک اشاره گر کامپایل می شود که در اطراف تصویر ، از یک بخش به قسمت دیگر حرکت می کند.
کد در رنگ است ؛ رنگها توسط کامپایلر خوانده می شود تا به یک برنامه تبدیل شود. در زیر نمونه ای از “منبع کد” ، با خروجی “سلام جهان!”
۹. Chicken
مرغ . این یک زبان برنامه نویسی است که فقط از یک کلمه تشکیل شده است: این برنامه توسط برنامه نویس سوئدی Torbjörn Söderstedt ایجاد شد ، که پس از شنیدن تمسخر داگ زونگر از سخنرانی های علمی (که هیچ کس آن را درک نمی کند) از آن الهام گرفت.
نشان دادن کد “Hello World!” ، نصف صفحه را شامل می شود و شامل چیزی جز کلمه “مرغ” نمی شود !!
- همچنین بخوانید : بهترین زبان برنامه نویسی برای شروع کدام زبان ها هستند؟
۱۰. Ook!
اوک! مشتق شده از Brainf*ck است و توسط توسعه دهنده ، دیوید مورگان-مار ایجاد شده است. هدف این بود که ما یک زبان برنامه نویسی “قابل نوشتن و خواندن توسط اورانگوتانها” ایجاد کنیم. در زیر کد منبع “Hello World!” آورده شده است
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook.
Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook?
Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook.
Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook.
۱۱. reMorse
طراحی و توسعه توسط رایان Kusnery، این یک زبان برنامه نویسی است که به مانند کد مورس ساخته شده است. فقط چهار دستورالعمل وجود دارد: نقطه (.) ، نقطه (. به دنبال آن فاصله) ، خط تیره (-) و خط تیره (- پس از آن فاصله).
ReMorse2 به عنوان تلاشی برای پاکسازی کمی کد ایجاد شد. در زیر یک نمونه ناقص برای “سلام جهان!” آورده شده است.
- - - ..- ...-.---.;newline - - - .-. - ..-.- ...-. ---.;! - - - ...- . . -.---.;d ----. . . -.---.;l ----. . -...---.;r ----. -...---.;o ----...-.- ..-. ---.;W omitted code for "Hello " is similar to the above for "World!" -..............;output all characters
۱۲. l33t
هرکسی که حتی کمی در اینترنت وقت صرف کرده باشد می داند که l33t sp34k (leet speak) چیست – کاربران کلمات و حروف را با اعداد و املای عمدی غلط جایگزین می کنند.
دو برنامه نویس ، استفان مک گرئال و الکس مول ، تصمیم گرفتند که ایجاد یک زبان برنامه نویسی از آن ایده خوبی است و بنابراین l33t متولد شد. در زیر کد منبع “Hello World!” آورده شده است.
// "Hello World" by Stephen McGreal. // Note that the views expressed in this source code // do not necessarily coincide with those of the author :o) Gr34t l33tN3$$? M3h... iT 41n't s0 7rIckY. l33t sP33k is U8er keWl 4nD eA5y wehn u 7hink 1t tHr0uGh. 1f u w4nn4be UB3R-l33t u d3f1n1t3lY w4nt in 0n a b4d4sS h4xX0r1ng s1tE!!! ;p w4r3Z c0ll3cT10n2 r 7eh l3Et3r! Qu4k3 cL4nS r 7eh bE5t tH1ng 1n teh 3nTIr3 w0rlD!!! g4m3s wh3r3 u g3t to 5h00t ppl r 70tAl1_y w1cK1d!! I'M teh fr4GM4stEr aN I'lL t0t41_1Ly wIpE teh phr34k1ng fL00r ***j3d1 5tYlE*** wItH y0uR h1dE!!!! L0L0L0L! t3lEphR4gG1nG l4m3rs wit mY m8tes r34lLy k1kK$ A$$ l33t hAxX0r$ CrE4t3 u8er- k3wL 5tUff lIkE n34t pR0gR4mm1nG lAnguidGe$... s0m3tIm3$ teh l4nGu4gES l00k jUst l1k3 rE41_ 0neS 7o mAkE ppl Th1nk th3y'r3 ju$t n0rMal lEE7 5pEEk but th3y're 5ecRetLy c0dE!!!! n080DY unDer5tAnD$ l33t SpEaK 4p4rT fr0m j3d1!!!!! 50mE kId 0n A me$$4gEb04rD m1ghT 8E a r0xX0r1nG hAxX0r wH0 w4nT2 t0 bR34k 5tuFf, 0r mAyb3 ju5t sh0w 7eh wAy5 l33t ppl cAn 8E m0re lIkE y0d4!!! hE i5 teh u8ER!!!! 1t m1ght 8E 5omE v1rus 0r a Pl4ySt4tI0n ch34t c0dE. 1t 3v3n MiTe jUs7 s4y "H3LL0 W0RLD!!!" u ju5t cAn'T gu3s5. tH3r3's n3v3r anY p0iNt l00KiNg sC3pT1c4l c0s th4t, be1_1Ev3 iT 0r n0t, 1s whAt th1s 1s!!!!! 5uxX0r5!!!L0L0L0L0L!!!!!!!
۱۳. Omgrofl
Omgrofl توسط Juraj Borza ایجاد شده است که در آن همه دستورات از کلمات اختصاری اینترنتی مانند lol ، wtf ، brb ، stfu و غیره تشکیل شده است. همه متغیرهای اعلام شده با زبان باید به شکل lol ، به عنوان مثال lol ، lool ، loool و غیره نوشته شوند. در اینجا کد منبع “Hello World!” مانند زیر به نظر می رسد:
loool iz lol looooool iz lool rtfm wtf looooool iz liek 0 tldr brb lmao loool roflmao looooool brb
۱۴. Velato
Velato زبانی است که توسط دانیل تمکین ایجاد شده است و از فایل های MIDI به عنوان کد منبع استفاده می کند. دستورات بر اساس میزان و ترتیب نت ها تعیین می شوند و کدهای منبع ایجاد شده با استفاده از Velato تمایل دارند صدایی شبیه به جاز داشته باشند.
مثال “سلام جهان!” در زیر نشان داده شده است.
۱۵. Malbolge
اگر یک زبان برنامه نویسی با نام حلقه هشتم جهنم نامگذاری شده است ، می دانید چه انتظاری از آن دارید. Malbolge توسط Ben Olmstead در سال ۱۹۹۸ ایجاد شد و برنامه ریزی آن تقریباً غیرممکن بود.
در واقع ، دست ساز نبوده است – با استفاده از الگوریتم ایجاد شده است. جای تعجب نیست که ۲ سال طول کشید تا برنامه اجرا شود. این کد منبع برای “سلام جهان!” می باشد. به این دلیل که این زبان برنامه نویسی غیرممکن می تواند تصوری از دیوانگی در کد به شما ارائه دهد.
(=<`#9]~6ZY32Vx/4Rs+0No-&Jk)"Fh}|Bcy?`=*z]Kw%oG4UUS0/@-ejc(:'8dc
هشتمین حلقه جهنم وای وحشت ناکه
ولی حالب میشد یه زبان فقط از کاراکتر ها ایتفاده بکنه مثلا ()[]{}\/=*÷×+&^٪$#@!؟،؛:”‘-