+4

Những ngôn ngữ lập trình kì quái nhất bạn từng gặp

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

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí