Apakah kita perlu mempelajari bahasa pemrograman yang baru muncul?

Bahasa Pemrograman (programming language) adalah sebuah instruksi standar untuk memerintah komputer agar menjalankan fungsi tertentu. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer.

Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.

Apakah kita perlu mempelajari bahasa pemrograman yang baru muncul?

Memang bahasa pemrograman berkembang cepat, dimana muncul banyak bahasa-bahasa pemrograman baru lainnya. Jika dilihat-lihat, banyak bahasa pemrograman yang muncul dan lenyap setiap harinya. Dan kendalanya yaitu apakah kita harus mempelajari bahasa pemrograman yang sudah lawas atau bahasa pemrograman yang baru. Ketakutan software developers yaitu apakah bahasa pemrograman tetap relevan 5 tahun kemudian dan apakah kita sebagai programmer akan menjadi tidak berguna jika bahasa pemrogramaan yang biasa digunakan telah usang?

Sebenarnya gunakanlah saja bahasa pemrograman yang benar-benar spesifik berguna untuk pekerjaanmu, dan bagaimana jika ada bebarapa pilihan atau muncul bahasa pemrograman lain yang juga spesifik dengan pekerjaan?. Coba saja bahasa pemrograman lain atau yang baru tersebut, dan tergantung pada diri masing-masing, mana yang paling cocok. Tidak ada masalah jika kita mencoba bahasa pemrograman baru kemudian kita melupakannya. Karena yang paling penting adalah pondasi yang kuat pada dasar bahasa pemrograman secara umum, seperti pada algoritmanya dan polanya. Prinsipnya pada semua bahasa pemrograman adalah sama, karena tujuan dari semua bahasa pemrograman yaitu untuk mengekspresikan ide kita.

Banyak programmer mempelajari bahasa pemrograman berbeda lebih dari 2, karena mereka ingin terus belajar dan berpikir, hal tersebut merupakan kebutuhan seorang programmer. Apalagi ditambah banyak bahasa pemrograman yang butuh bahasa pemrograman lain supaya memiliki fungsi lebih baik, maka dari itu, programmers akan terus dituntut untuk belajar bermacam bahasa pemrograman. Mereka berpendapat tidak terlalu sulit belajar bahasa pemrograman baru, walau butuh sekitar satu atau dua tahun agar bisa disebut master di bahasa pemrograman tersebut. Dan ketika mempelajari bahasa pemrograman yang baru maka perlahan lahan akan melupakan bahasa pemrograman yang lama, namun jika membutuhkannya kembali, maka akan sangat mudah untuk mempelajari ulang.

Lalu apakah kita perlu mempelajari banyak bahasa pemrograman? Jawabannya tidak perlu, karena hal tersebut sangat tidak praktis dan terlalu banyak memakan waktu, tapi juga jangan hanya terpaku pada satu bahasa pemrograman. Jika kita hanya mengerti bahasa pemrograman yang misalnya berorientasi objek, maka dalam segala permasalahan kita akan selalu menyelesaikannya dengan paradima Orientasi objek, dan tentunya hal tersebut tidaklah ideal.

https://simpleprogrammer.com/2017/07/27/stick-old-programming-language/

https://bertzzie.com/post/6/haruskah-kita-menguasai-banyak-bahasa-pemrograman

Ada beberapa alasan kenapa diciptakan banyak bahasa pemrograman. Alasan pertamanya, karena bahasa pemrograman yang ada tidak dapat memenuhi kebutuhan dari penggunanya. Misalnya, bahasa pemrograman Java diciptakan untuk memenuhi keinginan para programmer agar dapat menulis kode yang berjalan dalam banyak platform dengan mudah (jargon yang dibawa oleh Java adalah: Write Once, Run Anywhere). Bahasa C maupun C++ yang populer pada masa itu tidak dapat memenuhi hal ini, karena banyaknya sistem operasi tertutup pada masa itu, di mana masing-masing vendor memiliki cara tersendiri untuk berinteraksi dengan sistem.

Alasan selanjutnya adalah karena adanya permasalahan yang memerlukan cara penyelesaian yang unik. Seperti kata pribahasa programmer,
when all you have is hammer, everything starts to look like a nail

Bahasa pemrograman yang kita gunakan berpengaruh dalam cara kita menyelesaikan masalah. Kalau kita hanya mengerti orientasi objek, maka segala permasalahan (termasuk yang cocok diselesaikan dengan imparatif) akan kita selesaikan dengan paradigma OO. Tidak ideal pastinya.

Tapi menguasai banyak bahasa pemrograman juga terlalu makan banyak waktu dan tidak praktikal. Perlu bertahun-tahun hanya untuk benar-benar mengetahui sebuah bahasa pemrograman.

Perlu banyak pengalaman dalam mengembangkan perangkat lunak yang berukuran besar dan digunakan banyak orang. Pengalaman tersebut hanya bisa didapatkan dalam dunia akademis atau bisnis. Tapi dosen (atau manajer) mana yang akan memberikan lampu hijau untuk menggunakan Haskell, OCaml, Clojure, atau bahasa unik lainnya dalam proyek yang bernilai besar?

Jelas kita perlu tahu banyak bahasa, minimal satu bahasa untuk setiap paradigma, tetapi akan sangat tidak praktis (atau bahkan tidak mungkin sama sekali) untuk menguasai banyak bahasa pemrograman. Yang kita perlukan dari mempelajari berbagai paradigma adalah sudut pandang baru untuk menyelesaikan masalah. Ingat, pada dasarnya programmer itu dibayar untuk menyelesaikan masalah. Dan sebuah solusi yang baik adalah solusi yang mempertimbangkan berbagai sudut pandang untuk menyelesaikan sebuah masalah. Sebagai ilustrasi, apakah kamu berani berobat ke seorang dokter yang melakukan operasi untuk mengobati semua penyakit (termasuk masuk angin)?

Selain itu juga sebelum mempelajari suatu bahasa pemrograman yang baru, kita juga perlu mengetahui untuk apa kita mempelajarinya. Apakah kita ingin membuat sebuah aplikasi atau pun sebuah program yang berbasis jaringan.

Refensi

E.W.Dijkstra Archive: The Humble Programmer (EWD 340)
http://delivery.acm.org/10.1145/1790000/1787249/p41-misa.pdf?ip=118.97.95.23&acc=OPEN&CFID=184685991&CFTOKEN=52171051&__acm__=1351235618_5b2c7a605d5ff82d55b8dc7e2d6d0d29
https://bertzzie.com/post/6/haruskah-kita-menguasai-banyak-bahasa-pemrograman

Kenapa Ada Banyak Bahasa Pemrograman?

ada beberapa alasan kenapa diciptakan banyak bahasa pemrograman. Alasan pertamanya, karena bahasa pemrograman yang ada tidak dapat memenuhi kebutuhan dari penggunanya. Misalnya, bahasa pemrograman Java diciptakan untuk memenuhi keinginan para programmer agar dapat menulis kode yang berjalan dalam banyak platform dengan mudah (jargon yang dibawa oleh Java adalah: Write Once, Run Anywhere). Bahasa C maupun C++ yang populer pada masa itu tidak dapat memenuhi hal ini, karena banyaknya sistem operasi tertutup pada masa itu, di mana masing-masing vendor memiliki cara tersendiri untuk berinteraksi dengan sistem.

Alasan selanjutnya adalah karena adanya permasalahan yang memerlukan cara penyelesaian yang unik. Seperti kata pribahasa programmer,

when all you have is hammer, everything starts to look like a nail

bahasa pemrograman yang kita gunakan berpengaruh dalam cara kita menyelesaikan masalah. Kalau kita hanya mengerti orientasi objek, maka segala permasalahan (termasuk yang cocok diselesaikan dengan imparatif) akan kita selesaikan dengan paradigma OO. Tidak ideal pastinya.

Tapi menguasai banyak bahasa pemrograman juga terlalu makan banyak waktu dan tidak praktikal. Perlu bertahun-tahun hanya untuk benar-benar mengetahui sebuah bahasa pemrograman. Yang kita perlukan dari mempelajari berbagai paradigma adalah sudut pandang baru untuk menyelesaikan masalah.

Ingat, pada dasarnya programmer itu dibayar untuk menyelesaikan masalah. Dan sebuah solusi yang baik adalah solusi yang mempertimbangkan berbagai sudut pandang untuk menyelesaikan sebuah masalah.

referensi