Những ngôn ngữ lập trình kì quái nhất bạn từng gặp
This post hasn't been updated for 4 years
Như tiêu đề, bữa này chúng ta sẽ điểm qua một vài ngôn ngữ lập trình kì lạ nhưng có thật
Malbolge
Đây là ngôn ngữ lập trình được tạo ra để gần như không thể sử dụng, theo đúng nghĩa đen luôn. Được thiết kế bởi Ben Olmstead, thậm chí tác giả chưa bao giờ viết một chương trình Malbolge hoàn chỉnh nào. Ra mắt năm 1998 nhưng phải đến 2 năm sau chương trình đầu tiên mới xuất hiện và được viết bởi ... 1 thuật toán tìm kiếm, tức là thuật toán cứ viết bừa bao giờ chạy ra đc hello world thì là tìm thấy chứ không phải google đâu nhé.
Cow
Được thiết kế dựa trên bộ não của 1 con bò. Bò sở hữu vốn từ vựng hạn chế, vì vậy các nhà phát triển Cow đã kế thừa các từ mà chúng biết. Ngôn ngữ này chỉ bao gồm các biến thể của từ " moo ", vd: moO, MoO, mOo, mOO, Moo, v.v.
Và đây là “Hello World”
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 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 OOO 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 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 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 MOoMOo 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 MooOOO 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
Brainfuck
Cái tên nói nên tất cả, là ngôn ngữ được thiết kế với mục đích duy nhất: Giúp các lập trình viên thách đố lẫn nhau. Brainfuck chỉ đơn giản yêu cầu một người phá vỡ các lệnh thành các bước siêu nhỏ. Đúng như tên ngôn ngữ, sau khi giải xong 1 câu đố bạn sẽ được thông não luôn. Ví dụ như đoạn code in ra dòng chứ "Hello World" sau
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.——.——–.>+.>.
INTERCAL
Tên chính xác của ngôn ngữ này là: The Compiler Language With No Pronounceable Acronym, viết tắt là INTERCAL. Được tạo ra bởi Don Woods và James Lyon, INTERCAL có cú pháp để "cà khịa" các ngôn ngữ lập trình khác. Ngay từ tên ngôn ngữ, nếu bạn để ý thì đã có yếu tố hack não. Lưu ý khi sử dụng: nếu không Please thì không chạy được vì thiếu lịch sự, mà please nhiều quá cũng không chạy được vì quá lịch sự
Hello world với phong cách lịch sự vừa phải
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
Whitespace
Là ngôn ngữ chuyên sử dụng các khoảng trắng để viết, tức là space, tab và các break line. Nó sẽ bỏ qua mọi ký tự không phải là khoảng trắng. Whitespace được phát hành vào ngày 1 tháng 4 năm 2003. Nhìn cái thời gian phát hành đã thấy đang ngờ rồi
Như thường lệ, chương trình Hello ửold xin được phép bắt đầu =))
Kết
Ngoài chỗ này thì còn vài ngôn ngữ khác như Piet, Chef, Chiken,... nhưng mà cá nhân tôi đánh giá là không 'bựa' bằng 5 nguôn ngữ trên đây. Số lượng các ngôn ngữ lập trình trên thế giới cũng nhiều như các ngôn ngữ nói vậy, nhưng để trở thành một lập trình viên giỏi thì không nhất định phải học được những ngôn ngữ 'kì quái' này.
Còn nếu bạn vẫn muốn thử sức? Vậy thì hãy bắt đầu nhẹ với một bài toán đơn giản với Assembly đã nhé
All Rights Reserved