Saya memahami saat banyak orang yang ingin menjadi programer bertanya-tanya dan begitu kebingungan ingin memilih bahasa pemrograman apa yang akan membuat hobi programingnya tidak sia-sia.
Say, begini, sebenarnya tidak perlu merisaukan bahasa pemrograman mana yang harus kalian pilih. Karena pada hakikatnya bahasa pemrograman adalah sebuah produk.
Pada dasarnya seluruh bahasa pemrograman tidak lain adalah bahasa binari atau setidaknya berasal dari bahasa assembly. Kemudian ada orang baik yang mengubahnya menjadi bahasa yang setidaknya dapat dimengerti oleh manusia yang kemudian kita kenal dengan bahasa C.
Jadi secara tidak langsung, bahasa C adalah salah satu bahasa pertama dengan sintaks yang mudah dimengerti oleh manusia. Mungkin begitu pula dengan COBOL, atau bahasa-bahasa besutan awal lainnya.
Kemudian mungkin bahasa C tersebut masih terlalu dasar dan minim fungsi dan fitur. Maka kemudian lahirlah versi bahasa pemrograman yang memiliki fitur lebih yakni C++.
Setelah itu, beberapa developer berlomba-lomba membuat bahasa mereka sendiri dan kemudian βmelelangβ hasil produk bahasa pemrograman mereka tersebut.
Ibarat produk baju, atau produk jadi lainnya, bahasa pemrograman memiliki situasi dan kondisi tersendiri.
Misal, jika udara dingin, maka kita memilih produk baju yang tebal. Namun pertanyaan berikutnya adalah, apa merk baju yang ingin kita pilih? Gucci kah? Atau Chanel? Atau hanya kaos tebal grosiran di pasar tumpah?
Begitu pun dengan bahasa pemrograman. Jika kita ingin bertujuan untuk membuat aplikasi yang melibatkan internet dengan hosting atau servernya (atau kita sebut dengan web base), maka βprodukβ bahasa server yang tersedia adalah PHP, Python, Java, dan produk .NET lainnya.
Begitu pula dengan bahasa pemorgraman yang ditujukan untuk game, mobile (Android/iOS), atau desktop. Kita hanya tinggal memilih saja karena ujung-ujungnya pakai bahasa program mana pun akan menjadi jenis program yang kita inginkan.
Misalnya, mana yang harus kita pilih untuk bahasa server? PHP atau Python?
Yang ini bahasanya ribet tapi komunitasnya banyak.
Yang satu lagi bahasanya mudah namun tutorialnya sedikit.
Yang lainnya lagi bahasanya nggak konsisten. Masa string bisa jadi int atau bahkan boolean?
Sekali lagi, kembali kepada apa yang cocok bagi kalian. Jika kalian ternyata lebih memilih bahasa program yang agak ribet namun komunitasnya meriah agar kalian lebih mudah belajar dan bertanya di komunitas tersebut, itβs OK. Sekali lagi, itu pilihan.
Jadi seharusnya tidak ada lagi perasaan bahwa pilihannya lebih baik dari yang lain. Sebab, programmer ahli tetap dapat membuat sesuatu yang hebat dari bahasa pemrograman yang biasa saja.
Atau bahkan, programmer ahli akan membuat bahasa programnya sendiri seperti yang terjadi pada Ruby, bahasa pemrograman saingan PERL, yang diciptakan oleh orang berkebangsaan Jepang karena ia merasa PERL masih βribetβ baginya dan ia ingin membuat bahasa program yang lebih memudahkan baginya dan setiap orang.
Namun bagi pemula, kalian dapat meminta rekomendasi bahasa pemrograman dari para prorgrammer berpengalaman sebagai langkah awal yang mudah bagi kalian.
Misal jika ingin membuat game, kalian dapat mengkhususkan game tersebut untuk OS apa. Android kah? iOS kah? Windows? MacOS? Atau web? Dari sana kalian tinggal mencari engine yang mendukung kebutuhan kalian dan pelajarilah bahasa pemrograman yang dipilih oleh engine tersebut.
Atau ingin membuat aplikasi desktop? Atau aplikasi berbasis web (web base)?
Dan untungnya bagi peminat aplikasi web base, seluruh browser telah kompak untuk menggunakan Javascript sebagai bahasa pemrograman mereka. Jadi pilihan untuk bahasa browser ya hanya si JS itu.
Terakhir, jangan lupa untuk selalu mengikuti vendor atau instansi pencipta bahasa pemrograman yang kalian geluti itu karena barangkali ada fitur baru di setiap periode tertentu seperti Javascript yang setiap tahunnya ada pembaruan fitur dari ECMAScript.
Produk guys, sekali lagi hanya produk. Tidak ada yang perlu dibanggakan atau dirisaukan. Atau kalian berminat untuk membuat bahasa pemrograman kalian sendiri dari bahasa C atau C++?