Belajar Bahasa Pemrograman

Sebagai seorang programmer, kehidupan saya sehari-hari ya berkutat di tumpukan kode untuk memecahkan persoalan dan kebutuhan di perusahaan di mana saya bekerja. Dan saya sadar bahwa tidak ada 1 bahasa pemrograman yang cukup powerful dan memenuhi semua persyaratan yang diperlukan. Jadi tidak usah heran jika sebagai programer perlu mempelajari beberapa bahasa pemrograman.

Dan akhirnya proses “belajar bahasa pemrograman” ini tidak akan pernah selesai. Tentu saja karena tantangan semakin besar dan kemajuan teknologi sangat pesat sehingga membutuhkan solusi baru yang sekiranya hanya bisa dipecahkan dengan teknologi atau bahasa pemrograman yang baru atau berbeda dengan yang sudah kita kuasai saat ini.

Jadi ingat ketika belajar bahasa pemrograman pertama kali semasa SMA. Waktu itu belajar bahasa Basic (Qbasic) dan Dbase. Wah sudah sangat senang sekali bisa memprogram sesuatu yang mempermudah pekerjaan. Saat itu rasanya hebat sekali. Kedua bahasa ini sudah punah saat ini.

Kemudian masa kuliah di tahun 90an saya mempelajari bahasa Assembly, Pascal dan kemudian membuat Tugas Akhir dengan Delphi. Saat itu untuk belajar bahasa pemrograman itu sulit, hanya mengandalkan buku dan artikel-artikel di tabloid/majalah. Ya tentu karena saat itu internet masih sangat terbatas. Kalau pun ada pasti mahal dan sangat lambat. Saat tersambung pun ternyata tidak banyak website yang menuliskan apa yang ingin kita pelajari.

Akhirnya dibantu kakak dibelikan 2 buah buku Delphi yang sangat tebal. Buku ini diperoleh dari Singapore dan lebih tepat disebut technical guide atau manual book Delphi. Bukan buku tutorial pemrograman. Karena saat itu Delphi merupakan bahasa pemrograman baru. Bahasa pemrograman visual pertama yang menggunakan basis bahasa Pascal.

Dulu jadi pemrogram Delphi pertama di Undip dan mengantarkan saya lulus kuliah. Hahaha benar-benar perjuangan belajarnya.

Setelah itu saya jadi banyak belajar bahasa lain. Mulai dari VB, Java, dan PHP. Kalau Java itu karena memang jadi bahasa standard saat kuliah di UGM. Oh iya, saat kuliah di UGM sudah mulai diperkenalkan SQL. Tapi saat itu kok yang dibahas matematis ya? Ya waktu itu belajarnya database secara teknis banget, bagaimana metode teknis-matematis dari sebuah query. Sama sekali tidak mudeng. Jadi sering bolos kuliah, enakan pacaran, hahaha…

Kemudian belajar HTML dan PHP karena dapat proyek pertama Sisfo Kampus di tahun 2003. Sepertinya saat itu jadi aplikasi webbased pertama untuk dunia pendidikan di Indonesia. Sempat terkenal. Sempat masuk TV dan koran/tabloid. Wah masa lalu yang menyenangkan ya? Hahaha…

Setelah itu saya agak lama berkutat di PHP. Sampai akhirnya bekerja di RS Awal Bros saya tetap mengandalkan PHP, HTML, SQL, JavaScript dan jQuery. Saya pikir PHP bisa memecahkan semua masalah. Tentu saja pendapat saya salah. Ya walau pun PHP bisa dipaksa untuk berjalan dengan GUI, mobile phone, embedded, dll, tapi selalu saja membawa konsekuensi yang cenderung bisa menjadi negatif. Misalnya saja membuat sesuatu jadi sangat lama atau performanya drop atau algoritmanya tidak efisien, jika dibanding bila menggunakan bahasa yang sesuai.

Sebagai programmer perlu belajar lebih banyak bahasa pemrograman untuk memecahkan masalah yang spesifik dengan cepat. Ini seperti piranti pertukangan. Tidak mungkin seorang tukang hanya menguasai kampak atau pacul untuk semua pekerjaan. Dia harus belajar menggunakan sekop, obeng, tang, gergaji dan piranti lain untuk bekerja. Kan tidak mungkin membuka baut dengan kampak. Ya kalau dipaksa sih bisa. Tapi tentu akan lebih mudah jika membuka baut dengan tang. Ups salah, mestinya kunci pas. Bisa saja dengan kunci inggris yang lebih fleksibel. Intinya tukang tersebut harus bisa menggunakan piranti yang sesuai.

Demikian pula dengan programmer. Harus bisa menggunakan bahasa pemrograman yang sesuai dengan kebutuhan. Hingga akhirnya saya belajar beberapa bahasa pemrograman setelah itu.

Karena saya memang hobi elektronika, maka saya pun belajar Arduino. Ini bahasa yang tidak jauh berbeda dengan PHP. Sama-sama punya sintaks turunan dari C. Jadi saya pun bisa belajar Arduino dengan cepat.

Seiring dengan kemunculan Raspberry Pi dan CHIP, saya pun mulai belajar bahasa Python. Walau pun didaulat sebagai bahasa pemrograman bagi pemula, namun ternyata bahasa Python ini sangat sulit bagi saya. Ada beberapa perubahan paradigma. Apalagi Python versi awal yang sangat kaku indentasinya. Kalau indentasi pakai tab ya harus selalu pakai tab sepanjang script. Kalau pakai spasi ya harus pakai spasi terus. Tidak bisa dicampur. Hahaha bahasa yang aneh. Jadi pengen banting keyboard. Sepertinya versi yang baru tidak mempermasalahkan hal ini lagi (CMIIW).

Saat kemunculan MicroPython perhatian saya sudah bergeser. Tepatnya ke Android Studio di tahun 2016. Asyiknya pembelajaran bahasa pemrograman di Android ini membawa tim IT Corp menjuarai kompetisi tingkat nasional. Wah senangnya, belajar bahasa pemrograman berhadiah besar, hahaha…

Setelah itu saya mulai belajar beberapa bahasa pemrograman alternatif untuk aplikasi mobile. Mulai dari AMP, Ionic, React Native, PWA dan Swift/Xcode. Semuanya gagal saya pelajari, hahaha…

Bahasa-bahasa ini selain sulit dipahami karena sangat mengubah paradigma/pondasi pemrograman saya sebelumnya. Juga karena terbatasnya waktu saya untuk belajar. Padahal saya sudah beli kursus online-nya. Tadinya saya memang berusaha belajar beberapa bahasa dengan asumsi siapa tahu kelak dapat bermanfaat. Dan ketika dibutuhkan, saya sudah bisa menggunakannya.

Dan strategi belajar saya ini salah! Kebanyakan belajar bahasa pemrograman membuat saya pusing tujuh keliling. Bahkan seringkali saya salah sintaks gara-gara yang teringat salah satu bahasa pemrograman. Contohnya saat saya membuat aplikasi Android kemudian harus beralih ke PHP untuk backend-nya. Kadang sintaksnya salah karena pikiran saya masih tercampur bahasa Java-nya Android Studio. Hahaha…

Jadi saya pun mengubah strategi belajar. Saat dibutuhkan saja barulah saya belajar bahasa pemrograman yang tepat. Saya tidak akan belajar Swift/Xcode sampai tiba saatnya nanti harus membuat aplikasi untuk iOS. Karena kalau belajar sekarang padahal belum dibutuhkan, pasti proses belajar akan gagal.

Namun belajar bahasa pemrograman saat dibutuhkan ini perlu proses belajar yang cepat dan konsentrasi yang tinggi. Ini juga suatu tantangan tersendiri. Bagi saya, jika memang dibutuhkan dan harus belajar, tidak ada kata mundur. Semua kesulitan harus bisa diatasi. Enaknya jaman sekarang adalah karena sudah sangat banyak artikel/tutorial dan forum/komunitas yang membahas secara detail semua permasalahan. Modalnya cuma rajin dan tekun mencari di internet.

Seperti belakangan ini saya membutuhkan belajar Node.js. Sebenarnya saya mulai baca-baca tentang nodejs sudah beberapa tahun yang lalu. Tapi karena memang belum ada kebutuhan ya akhirnya gagal belajarnya. Kalau sekarang memang harus belajar nodejs itu karena saya membutuhkan Socket.io untuk messaging system. Fitur messaging di nodejs ini sangat powerful. Implementasinya tidak melulu untuk chatting atau messenger, tapi bisa macem-macem. Misalnya untuk pemanggilan antrian, alert/warning atau sekedar komunikasi real time antar system.

Wah sudah panjang sekali nulisnya. Tapi point utama dari posting kali ini adalah bahwa tidak ada 1 bahasa pemrograman yang dapat memecahkan semua permasalahan. Dan sebagai seorang programmer perlu belajar beberapa bahasa pemrograman.

Kalau jaman 90an itu menguasai sebuah bahasa pemrograman seperti memeluk sebuah agama. Kadang bisa memicu perdebatan panjang bahasa mana yang paling powerful. Mau pilih compiler atau interpreter? Panjang banget deh debatnya.

Kalau sekarang tidak bisa begitu. Justru sekarang dituntut untuk memeluk beberapa bahasa pemrograman sekaligus. Banyak-banyak membaca, siapa tahu solusi dari sebuah opsi teknologi kelak kita butuhkan.

Namun begitu, seorang programmer tidak perlu tahu semua bahasa pemrograman. Cukup beberapa saja yang memang paling sesuai dengan kebutuhan. Jika kelak dibutuhkan belajar bahasa pemrograman baru, seorang programmer harus mampu belajar dengan cepat.

Dah gitu aja.

Bagaimana pendapat Anda? Jika Anda punya pendapat, jangan ragu untuk menuliskannya di bagian komentar di bawah. Siapa tahu kita bisa berdiskusi dan sama-sama saling belajar. Terima kasih.

Iklan

Satu pemikiran pada “Belajar Bahasa Pemrograman

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.