Salah satu cara manusia berkomunikasi dengan sesamanya adalah menggunakan bahasa. Bisa bahasa Indonesia, bahasa Inggris, bahasa Perancis, bahasa tubuh, bahasa kalbu, bahasa cinta, atau bahasa tarzan *baru paragraf pertama udah mulai ngaco*.
Seperti halnya bahasa manusia, bahasa pemograman atau programming language juga memiliki fungsi yang sama seperti bahasa yang disebutkan di atas. Bedanya, bahasa pemograman digunakan untuk berkomunikasi dengan mesin, khususnya komputer, dan biasanya digunakan untuk membuat suatu sistem. Semua aplikasi yang kalian punya di PC, laptop atau smart phone yang kalian pegang saat ini, pasti dibuat dengan bahasa pemograman tertentu.
Bahasa pemograman juga ada banyak macamnya. Beberapa yang sangat terkenal di antaranya Java, C, C++, C#, Visual Basic, Ruby, Bash, Go, Phyton, Haskell, dan masih banyaaakkkk lagi.
Berhubung gw kurang waras kerjaan, gw iseng-iseng mencari tahu bahasa pemograman apa yang paling susah untuk dipelajari. Dan bahasa pemograman tersebut adalah: BRAINFUCK!
Dari namanya aja udah keliatan kalo bahasa pemograman ini berdampak kurang baik terhadap otak. Gw sendiri, setelah baca-baca, kurang ngerti juga bagaimana pemakaiannya dan buat apa ada orang susah-susah menciptakan bahasa pemograman aneh ini. Kalo memang pengangguran, bukannya lebih baik jalan-jalan atau tidur aja?
Sekilas Tentang Brainfuck
Brainfuck diciptakan pada tahun 1993 oleh Urban Müller. Bahasa pemograman ini hanya menggunakan 8 command seperti yang terlihat di tabel berikut:
Delapan command dalam Bahasa Pemograman Brainfuck (Wikipedia) |
(By the way, maaf gw ga pernah bisa nerjemahin istilah-istilah programming di atas ke dalam bahasa Indonesia. Gw dari kuliah sampe kerja, selalu pake bahasa Inggris, makanya gw ga familiar sama istilah-istilah IT dalam bahasa Indonesia. Intinya sih, di Brainfuck, cuma 8 command tersebut yang dapat dimengerti oleh si compiler).
Sesuai dengan namanya, bahasa pemograman yang satu ini memang sangat kompleks dan sangat susah dimengerti. Karena memang, tujuan utama dibuatnya bahasa pemograman ini bukan untuk membuat aplikasi, melainkan untuk kesenangan semata. Maklumlah, para software engineer terkadang memang aneh dan mempunyai kesenangan terhadap hal-hal aneh pula.
Aplikasi Program 'Hello World!'
Orang Indonesia bilang 'Apa kabar?', orang Amerika bilang 'How are you?', sementara penduduk rakyat China bilang '你好吗?'. Walaupun bahasanya berbeda-beda, tapi maksudnya sama, yaitu menanyakan kabar sang lawan bicara. Begitu juga dengan bahasa pemograman. Untuk mendapatkan hasil yang sama, beda bahasa pemograman, beda pula penerapannya.
Bagi kalian yang pernah berkutat di dunia coding, pasti sangat-sangat-sangat mengenal 2 kata berikut: 'Hello World!'. Dua kata di mana semua pembelajaran mengenai bahasa pemograman bermula. Dua kata yang selalu dijadikan contoh paling dasar dari semua bahasa pemograman.
Kenapa 'Hello World!'? Mungkin karena yang bikin bahasa pemograman itu orang bule. Coba kalo yang bikin orang Indonesia, pasti jadinya bukan 'Hello World!', melainkan 'Ini Ibu Budi'.
Bagi kalian yang pernah berkutat di dunia coding, pasti sangat-sangat-sangat mengenal 2 kata berikut: 'Hello World!'. Dua kata di mana semua pembelajaran mengenai bahasa pemograman bermula. Dua kata yang selalu dijadikan contoh paling dasar dari semua bahasa pemograman.
Kenapa 'Hello World!'? Mungkin karena yang bikin bahasa pemograman itu orang bule. Coba kalo yang bikin orang Indonesia, pasti jadinya bukan 'Hello World!', melainkan 'Ini Ibu Budi'.
Balik lagi ke topik, berikut contoh cara menampilkan tulisan 'Hello World!' dalam beberapa bahasa pemograman. Mungkin setelah para pembaca melihat contoh-contoh berikut, kalian lebih mengerti kenapa bahasa pemograman Brainfuck itu benar-benar susah dipahami.
Java
System.out.println("Hello World!");
C#
System.Console.WriteLine("Hello World!");Visual Basic
MsgBox("Hello World!")
Haskell
Prelude> putStrLn "Hello World!"
Bash, Hack
echo "Hello World!"
Ruby
puts 'Hello World!'
Go
Respon pertama gw saat ngeliat ini: HAH? MANA 'HELLO WORLD!' NYA???
Beberapa mungkin ga percaya dan mengira gw asal nulis doank. Tapi serius, itu benar-benar program 'Hello World!' yang ditulis dengan bahasa pemograman Brainfuck. Dan seperti yang disebutkan di atas, Brainfuck cuma mengenali 8 command: + - < > [ ] , .
Kalo penasaran bagaimana cara simbol-simbol aneh di atas diartikan menjadi 'Hello World!', bisa menuju ke SINI untuk melihat penjelasan yang lebihribet lengkap.
Apa ada yang tahu bahasa pemograman yang lebih sulit dari Brainfuck?
fmt.Printf("Hello World!\n")Phyton, Perl
print "Hello World!"Pascal
writeln('Hello World!');Dan contoh yang terakhir, adalah program yang sama yang ditulis dengan Brainfuck:
Respon pertama gw saat ngeliat ini: HAH? MANA 'HELLO WORLD!' NYA???
Beberapa mungkin ga percaya dan mengira gw asal nulis doank. Tapi serius, itu benar-benar program 'Hello World!' yang ditulis dengan bahasa pemograman Brainfuck. Dan seperti yang disebutkan di atas, Brainfuck cuma mengenali 8 command: + - < > [ ] , .
Kalo penasaran bagaimana cara simbol-simbol aneh di atas diartikan menjadi 'Hello World!', bisa menuju ke SINI untuk melihat penjelasan yang lebih
Apa ada yang tahu bahasa pemograman yang lebih sulit dari Brainfuck?
Aku juga mulai besok akan berkutat dengan hal ini. Kemarin diminta jadi Head IT Marketing disebuah perusahaan, tahunya IT Marketing disana merangkap IT Dept.
ReplyDeleteZaman aku belajar masih cuma VB sama C++ termasuk Pascal
Sekarang udah ada Haskel, Bash, Go, Phyton, Ruby asli jungkir balik -_-
Oh Ron pindah rumah sekaligus pindah kerja juga, ya? Atau pindah rumah karena dapet kerjaan di sana?
DeleteHmm.. IT Marketing, ya... Sistemnya web atau mobile?
Kalo masih pake bahasa yang umum kaya Java, C# gitu sih masih ok. Satu sama lain masih agak mirip. Apalagi Ron kan jenius, pasti cepet lah belajarnya! =D
Yup pindah rumah karena orang tua mau pulang kampung, jadi keinginan orang tua ya kita ikuti. Kebenaran aja dapat kerja di mari, padahal mau wirausaha disini. Jadi sambil-sambil deh.
DeleteUdah dua hari kerja disini juga belum jelas, haha kemungkinan sih website karena lagi desain.
-Ron
Oohh gituuu, kampungnya Medan toh...
DeleteGood luck buat kerjaan barunya. Semangat!
Hello World :D
ReplyDeleteHello Dema :D
Delete-World-
Wah, gak ngerti.
ReplyDeleteJangan kan bahasa pemrograman, kode yang dikasih gebetan aja seringkali salah tafsir.
Pantesan Cen sampe sekarang masih jomblo. =P =P
Deletemasih belum ngerti :(
ReplyDeleteSama, gw juga ga ngerti dan ga berniat untuk ngerti Brainfuck.
DeleteGa ada ujiannya juga. Hehehe...