Banyak orang yang ingin belajar programing kebingungan mengenai apa saja yang harus ia pelajari. Bahkan sebagiannya merasa ciut setelah ia harus berhadapan dengan segudang kluster tutorial yang menyeramkan yang mungkin sebenarnya tidak ia butuhkan.

Oh dear, perlu diketahui jika seluruh ilmu lahir karena adanya sebab. Misalnya bagi desainer, mengapa ada ilmu Photoshop? Karena tentu saja ada software yang bernama demikian. Jika tidak ada orang yang menciptakan software Adobe Photoshop, tidak akan ada ilmu Photoshop.

Mengapa ilmu programing lahir? Karena ternyata manusia paham bahwa elektronik dapat diatur menjadi yang kita inginkan.

Jadi sebenarnya jika kita kebingungan belajar programing, kemungkinan kita masih belum paham apa yang kita inginkan dari programing itu sendiri.

Bahkan seluruh bahasa pemrograman modern yang tersedia seperti C#, Java, Javascript, PHP, hingga Python, semua berasal dari muara yang sama, yaitu bahasa C, yang mata airnya adalah berasal dari bahasa Assembly.

Lalu apa yang dimaksud dengan konsep dan bukan teori di sini?

Saya berlangganan Medium, disubsidi oleh rekan kerja saya. Begitu banyak tulisan-tulisan dari para developer mengenai tips dan teori yang berasal dari pengalaman mereka atau bahkan mereka anjurkan.

Namun semakin ke sini beberapa artikel di Medium semakin membuat saya tidak nyaman.

Mengapa? Karena beberapa artikel terlihat gontok-gontokan satu sama lain.

Beberapa judul seperti, “Alasan Kalian Harus Meninggalkan C#” di sebuah artikel dan dalam saat yang sama artikel lain muncul dengan judul, “8 Fitur Baru yang Membuat C# Menjadi Bahasa Yang Wajib Dipelajari.”

Sebenarnya itu sah-sah saja, tidak masalah. Hanya saja, beberapa penulis sepertinya terlalu prematur untuk menulis artikel seperti itu.

Jadi penulis seolah-olah mengunjungi toko bahasa program, mencicipi masing-masing bahasa program dan ia langsung mengambil keputusan singkat mana yang ‘lezat’ dan yang ‘tidak’.

Padahal bisa jadi, bahasa pemrograman yang ia katakan kurang lezat bisa jadi menjadi begitu efektif dalam menjalankan modul atau fungsi tertentu.

Programing lebih mudah didahului dengan konsep.

Banyak sekali rekan programer saya yang kerepotan hanya karena mereka terlalu mengikuti tren dan rekomendasi programing. Padahal mereka tidak tahu siapa yang memberi rekomendasi tersebut.

Misalnya, saya pernah diburu untuk menggunakan library A karena katanya lebih begini dan lebih begitu oleh programer lain. Saya tidak tertarik.

Pada akhirnya dapat ditebak, programer tersebut kerepotan saat ia harus migrasi versi besar-besaran dengan basis kode utama aplikasinya yang sangat berantakan.

Dear, that’s NOT how you program.

Seorang programer handal paham kapan harus menggunakan framework/library dan kapan mereka dapat menulisnya sendiri.

Programerlah yang seharusnya menjadi pemilik aplikasi yang ia buat sendiri, bukan frameworknya.

Perlu diketahui, teori muncul karena adanya konsep.

Misalnya, mengapa teori iterasi (looping) muncul? Karena ada variabel array yang harus dicek satu per satu. Dan array tercipta karena jika kita mengetik variabel satu per satu tanpa menggunakan array, maka itu akan sangat tidak efisien, boros memori, dan tentu saja sangat melelahkan.

Jadi saat berbicara teori, jawabannya seharusnya bukan rekomendasi untuk menggunakan sebuah fitur, metode, atau addon (plugin/framework/library). Kita bicara konsepnya.

Untuk para programer pemula, sebaiknya tidak perlu terburu-buru agar dapat menguasai satu bahasa program karena masing-masing bahasa program memiliki behavior/kelakuan yang berbeda-beda.

Lagipula, jika hanya mastering satu bahasa pemrograman saja, akan menjadi melelahkan jika suatu saat harus berhadapan dengan bahasa pemrograman lain yang behaviornya berbeda.

Sedangkan jika dengan mempelajari konsepnya, seseorang akan langsung dapat memahami karakter bahasa pemrograman, apa pun bahasanya. Bahkan bukan hanya satu aspek, melainkan menyeluruh.

Intinya, dengan memahami konsep programing dan mencoba untuk mengerti bagaimana behavior atau kelakuan sebuah bahasa pemrograman, seorang programer dapat dengan mudahnya untuk akrab dengan bahasa tersebut.

Misalnya, saya tahu jika Javascript adalah seluruhnya Object. Atau Python yang bergantung dengan indentasi spasi, atau framework Flutter yang mengandalkan Widgets untuk me-render UInya.

Memang mempelajari itu tidak sebentar, namun jika kita sudah mengetahui asal mula tercipta suatu teori, maka kita akan sangat berbahagia karena kita tahu konsep tersebut tidak akan berubah saat kita implementasi di seluruh cabang ilmu.

Misalnya, saya tidak pernah galau menentukan apakah akan menggunakan sintaks foreach, maps, atau hanya for untuk menginterasi/looping sebuah array karena saya sudah memahami apa maksud dan tujuan saya mengiterasi array tersebut. Untuk diganti nilainya kah? Untuk disalin kah?

Saya kasih bocoran, bahasa pemrograman memiliki konsep yang mudah karena sebagian besar yang kita lakukan hanya ‘memerintah’. Yang sulit adalah bagaimana caranya menyusun perintah agar si mesin tidak kebingungan.

Perihal menyusun perintah inilah yang kemudian dinamakan algoritma.

Jangan khawatir, jika kalian sistematis dan peka, menyusun sebuah algoritma benar-benar semudah membalikkan telapak tangan. Namun nyatanya, banyak perintah yang kadang manusianya itu sendiri tidak mengerti, apalagi mesin?

Suka
Komentar
pos ke FB
pos ke Twitter
  • Selesai membaca? Jangan pergi dulu! 😉

    Minta waktunya sebentar dong, plis sebentaaarrr doang. Gak sampe 5 menit saya janji. Anandastoon minta saran dan komplain kalian di formulir berikut untuk membuat situs ini menjadi lebih baik. Komplain kalian sangat berarti bagi Anandastoon. Makasih ya sebelumnya.
    Oiyak! Untuk melihat apakah saran kalian didengar Anandastoon atau tidak, bisa cek ke halaman penerapan komplain berikut...


  • 0 Jejak Manis yang Ditinggalkan

    Tinggalkan Balasan

    Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

    Kembali
    Ke Atas