Prolang (PROgramming LANGuage) thì chắc ai cũng biết rồi. Tuy nhiên, theo một khảo sát bí ẩn dạo gần đây thì cứ 10 dev thì chỉ có 2 dev biết sử dụng đến Esolang, và chỉ có "0 phết 1" dev có thể sử dụng "thành thạo" Esolang mà thôi.
Có vẻ Esolang là một thứ gì đó khá bí ẩn, nhỉ?
Vậy, Esolang là cái gì?
chicken, chicken, chicken, chicken, chicken, chicken .... cục tác cục tác cục tác
chicken, chicken, chicken, chicken, chicken, chicken .... cục tác cục tác cục tác
Esolang thực ra là viết tắt của Esoteric Programming Language, là một khái niệm để chỉ các ngôn ngữ lập trình "bí truyền". Về cơ bản thì đây là những ngôn ngữ lập trình được tạo ra không hẳn là để sử dụng cho công việc lập trình chính, mà để cho vui là chính :))) Ngoài ra nó còn được sử dụng cho một số mục đích khác nhau, ví dụ như thực nghiệm chẳng hạn. (nhưng mà mình chưa bao giờ thấy có ai lại dùng mấy cái này).
Nếu như bạn thấy cái ảnh trên hơi cursed cursed ở trên thì xin chúc mừng, vì đây là esolang đầu tiên trong danh sách top 10 esolang mà mình muốn nhắc đến hôm nay. Đó là:

1. Chicken

Tác giả: Torbjörn Söderstedt
Ý tưởng: nếu như bạn đã cảm thấy quá mệt mỏi với hàng vạn keywords mà bạn chẳng thể nào hiểu được trong một ngôn ngữ lập trình thì tại sao lại không tạo ra một ngôn ngữ mà chỉ có một từ khóa duy nhất, đó là "chicken"?
Preview cho những người có hứng thú (Hello World):
chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
Mình cũng không ngờ là esolang có thể dạy mình được tiếng gà luôn á :))

2. Brainfuck

Brainfuck
Brainfuck
Tác giả: Urban Müller
Ý tưởng: bạn được cấp cho một array 30000 bytes và những lệnh như sau:
> Đẩy con trỏ qua ô nhớ tiếp theo (ô nhớ bên phải). < Đẩy con trỏ về ô nhớ trước (ô nhớ bên trái). + Tăng giá trị của ô nhớ hiện tại 1 đơn vị. - Trừ giá trị của ô nhớ hiện tại 1 đơn vị. . Trả về giá trị của ô nhớ hiện tại theo mã ASCII. , Đọc giá trị input và lưu vào ô nhớ hiện tại. [ Nhảy đến mã lệnh sau ký tự ] nếu ô nhớ hiện tại bằng 0. ] Nhảy về ký tự [ nếu ô nhớ hiện tại khác không. (Cặp ký tự [ ] thực hiện cấu trúc lặp.)
Rồi đó, hãy làm những gì mà bạn muốn!
Preview cho những người hứng thú (Hello world):
>++++++++[<+++++++++>-]<.>++++[<+++++++>-]<+.+++++++..+++.>>++++++[<+++++++>-]<+ +.------------.>++++++[<+++++++++>-]<+.<.+++.------.--------.>>>++++[<++++++++>- ]<+.
Brainfuck không hẳn là một ngôn ngữ khó. Tuy vậy, nó làm độc hại đi con mắt của người đọc, vì mấy cái kí hiệu trên chả ai hiểu được.

3. Whitespace

Whitespace
Whitespace
Tác giả: Edwin Brady và Chris Morris
Ý tưởng: bạn chỉ cần dấu cách, dấu tab và dấu xuống dòng là được.
Preview cho những người hứng thú (Hello world):
Code mà chỉ có trắng bách như vậy thì mình cũng muốn :))

4. LOLCODE

LOLCODE bruh bruh bruh
LOLCODE bruh bruh bruh
Tác giả: ?
Ý tưởng: Kitty pidgin natlang của lolcat, vâng, cái thứ ngôn ngữ đó đó.
Preview cho những người hứng thú (Hello world, nhưng mà thay vì là Hello world thì nó sẽ là "Hai world!" :P):
HAI 1.3 VISIBLE "Hai world!" KTHXBYE
Mặc dù trend này bủh rồi như mà không sao thấy cũng vui :))

5. SHAKESPEARE

Khi bạn có đam mê về kịch nhưng lại phải học lập trình :))
Khi bạn có đam mê về kịch nhưng lại phải học lập trình :))
Tác giả: Karl Hasselström, Jon Åslund
Ý tưởng: tạo ra một ngôn ngữ có vẻ đẹp tuyệt vời như những vở kịch của Shakespeare. Đẹp thật mà :))
Preview cho những người hứng thú (Hello world):
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] 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 beautiful as the difference between Romeo and the square of a huge green peaceful tree. Speak thy mind! 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]
Nói thật không điêu, vở kịch trên hay thật.

6. CHEF

:)))
:)))
Tác giả: David Morgan-Mar
Ý tưởng: bạn muốn nấu ăn nhưng mẹ bạn bắt bạn đi học code? Vậy tại sao lại không thử vừa học nấu ăn lại còn có thể code được?
Preview cho những người hứng thú (Hello world):
Hello World Cake with Chocolate sauce. This prints hello world, while being tastier than Hello World Souffle. The main chef makes a " world!" cake, which he puts in the baking dish. When he gets the sous chef to make the "Hello" chocolate sauce, it gets put into the baking dish and then the whole thing is printed when he refrigerates the sauce. When actually cooking, I'm interpreting the chocolate sauce baking dish to be separate from the cake one and Liquify to mean either melt or blend depending on context. Ingredients. 33 g chocolate chips 100 g butter 54 ml double cream 2 pinches baking powder 114 g sugar 111 ml beaten eggs 119 g flour 32 g cocoa powder 0 g cake mixture Cooking time: 25 minutes. Pre-heat oven to 180 degrees Celsius. Method. Put chocolate chips into the mixing bowl. Put butter into the mixing bowl. Put sugar into the mixing bowl. Put beaten eggs into the mixing bowl. Put flour into the mixing bowl. Put baking powder into the mixing bowl. Put cocoa powder into the mixing bowl. Stir the mixing bowl for 1 minute. Combine double cream into the mixing bowl. Stir the mixing bowl for 4 minutes. Liquefy the contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. bake the cake mixture. Wait until baked. Serve with chocolate sauce. chocolate sauce. Ingredients. 111 g sugar 108 ml hot water 108 ml heated double cream 101 g dark chocolate 72 g milk chocolate Method. Clean the mixing bowl. Put sugar into the mixing bowl. Put hot water into the mixing bowl. Put heated double cream into the mixing bowl. dissolve the sugar. agitate the sugar until dissolved. Liquefy the dark chocolate. Put dark chocolate into the mixing bowl. Liquefy the milk chocolate. Put milk chocolate into the mixing bowl. Liquefy contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Refrigerate for 1 hour.
Mình thì không biết nấu ăn sao cho chuẩn vậy nên bạn cứ thử nấu như recipe trên xem có được không.

7. ARNOLDC

Tác giả: Lauri Hartikka
Ý tưởng: Arnold Schwarzenegger và mấy cái quotes hay của ông
Preview cho người có hứng thú (Hello world):
IT'S SHOWTIME TALK TO THE HAND "hello world" YOU HAVE BEEN TERMINATED
Mà nhìn thì ông này đẹp trai thật (mình không phải là gay, mình chỉ đang nhận xét thôi)
Mà nhìn thì ông này đẹp trai thật (mình không phải là gay, mình chỉ đang nhận xét thôi)

8. Ook!

Tác giả: David Morgan-Mar
Ý tưởng: cũng khá giống chicken, nhưng giờ đây thay vì chicken thì chúng ta có Ook :)))
Preview cho những người hứng thú (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.
Ook Ook thế này làm mình nhớ đến lời chửi của bà hàng xóm :))

9. Pikalang

Tác giả: Blake Grotewold
Ý tưởng: bạn thích ngôn ngữ Brainfuck, nhưng mà bạn lại thích Pikachu? Ờ thì, đổi vài keyword và ta đã có Pikalang :))
Preview cho những người hứng thú (Hello world):
pi pi pi pi pi pi pi pi pi pi pika pipi pi pi pi pi pi pi pi pipi pi pi pi pi pi pi pi pi pi pi pipi pi pi pi pipi pi pichu pichu pichu pichu ka chu pipi pi pi pikachu pipi pi pikachu pi pi pi pi pi pi pi pikachu pikachu pi pi pi pikachu pipi pi pi pikachu pichu pichu pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pikachu pipi pikachu pi pi pi pikachu ka ka ka ka ka ka pikachu ka ka ka ka ka ka ka ka pikachu pipi pi pikachu pipi pikachu
Bảng quy đổi cho người cần quy đổi bản thân
Bảng quy đổi cho người cần quy đổi bản thân
Và cuối cùng, ông trùm cuối của ngày hôm nay.

10. MALBOLGE

Tác giả: Ben Olmstead
Ý tưởng: được đặt tên theo vòng tròn thứ tám của địa ngục trong Inferno của Dante. Ngôn ngữ này được thiết kế để cho người dùng không bao giờ có thể sử dụng được. Có tin đồn cho rằng, để viết một chương trình đơn giản bình thường trên Malbolge người học cần mất ít nhất 2 năm. HAI NĂM. Vâng, vào địa ngục thật rồi :)))
Preview cho những người hứng thú muốn đi xuống địa ngục (Hello world):
(=<`#9]~6ZY327Uv4-QsqpMn&+Ij"'E%e{Ab~w=_:]Kw%o44Uqp0/Q?xNvL:`H%c#DD2^WV>gY;dts76qKJImZkj
Chống chỉ định cho người không thích học RegEx, cái này còn hơn cả thế nữa
Chống chỉ định cho người không thích học RegEx, cái này còn hơn cả thế nữa
10 esolang vừa kể trên chỉ là những ví dụ nho nhỏ mà mình có thể cho bạn thôi. Có quá nhiều esolang vẫn còn tồn tại dai dẳng trên cái internet này. Vậy nên, mình khuyên bạn nên lục lọi ở đây nếu bạn có hứng thú với chúng:
Xin lưu ý, những ngôn ngữ này chính là để cho vui, vậy nên nếu như bạn nào mà nghĩ bọn chúng được dùng làm các project thông thường thì :)))) chúc bạn may mắn. Mong một ngày bạn trở về bình yên.
Còn nếu bạn nào có biết thêm về cái esolang độc lạ nữa thì, ừm, bạn đúng là một gigachad trong công nghệ :))