Belajar Pemrograman Sendiri dalam 10 Tahun
- Pertanyaan tentang mengapa ada sikap tergesa-gesa dalam mempelajari pemrograman.
- Toko buku dipenuhi buku seperti "Belajar Java dalam 24 Jam", dan banyak buku yang mengklaim bahwa C, SQL, Ruby, algoritma, dan lainnya bisa dipelajari hanya dalam beberapa hari atau bahkan beberapa jam.
- Saat mencari buku yang memuat kata "mengajar", "sendiri", dan "waktu" di Amazon sejak tahun 2000, ditemukan 512 buku. Dari 10 teratas, 9 di antaranya adalah buku pemrograman.
- Bahkan jika mencari dengan mengganti "mengajar sendiri" menjadi "belajar" dan "waktu" menjadi "hari", hasilnya tetap serupa.
- Kesimpulannya, orang-orang sedang terburu-buru mempelajari pemrograman, atau pemrograman dianggap lebih mudah dipelajari daripada hal lain.
Apa Arti "Belajar C++ Sendiri dalam 24 Jam"
- Dalam 24 jam, tidak ada cukup waktu untuk menulis berbagai program penting dan belajar dari keberhasilan maupun kegagalan.
- Juga tidak cukup waktu untuk bekerja bersama programmer berpengalaman dan memahami bagaimana hidup di dalam lingkungan C++.
- Buku semacam itu hanya bisa berbicara tentang keakraban yang dangkal, bukan pemahaman yang mendalam.
- Mungkin Anda bisa mempelajari sebagian sintaks C++, tetapi tidak belajar bagaimana benar-benar menggunakan bahasa tersebut.
- Alan Perlis mengatakan bahwa jika sebuah bahasa tidak memengaruhi cara berpikir Anda tentang pemrograman, maka bahasa itu tidak layak dipelajari.
Belajar Pemrograman Sendiri dalam 10 Tahun
- Penelitian menunjukkan bahwa untuk menjadi ahli di berbagai bidang seperti catur, komposisi musik, operasi telegraf, melukis, bermain piano, berenang, tenis, neuropsikologi, dan riset topologi, dibutuhkan sekitar 10 tahun.
- Yang penting adalah latihan yang disengaja: bukan sekadar mengulang, tetapi menantang diri dengan tugas yang melampaui kemampuan saat ini, mencoba dan mengerjakannya, lalu menganalisis performa selama dan sesudahnya, serta memperbaiki kesalahan.
- Menjadi benar-benar ahli mungkin bahkan memerlukan waktu seumur hidup.
Jika Anda Ingin Menjadi Programmer
- Anda perlu tertarik pada pemrograman dan menikmatinya saat memprogram.
- Berbicara dengan programmer lain dan membaca program orang lain lebih penting daripada buku atau kursus apa pun.
- Anda bisa menghabiskan 4 tahun di universitas atau lebih lama lagi di sekolah pascasarjana, tetapi jika pendidikan formal tidak menyenangkan, pengalaman serupa bisa diperoleh lewat usaha pribadi atau pekerjaan.
- Anda perlu mengerjakan proyek bersama programmer lain dan mempelajari berbagai bahasa pemrograman.
- Karena "ilmu komputer" mencakup "komputer", Anda perlu mengetahui berapa lama komputer memerlukan waktu untuk mengeksekusi perintah.
- Mencoba ikut serta dalam pekerjaan standardisasi bahasa juga bagus, tetapi sebaiknya berhenti secepat mungkin.
- Belajar hanya dari buku saja tidaklah cukup.
Lampiran: Memilih Bahasa
- Saran tentang bahasa pemrograman mana yang sebaiknya dipelajari terlebih dahulu.
- Sebaiknya gunakan bahasa yang dipakai teman-teman Anda, tetap sederhana, dan belajar dengan cara yang interaktif.
- Python atau Scheme direkomendasikan sebagai bahasa pemrograman pertama.
Lampiran: Buku dan Sumber Lain
- Sambil menekankan bahwa "belajar hanya dari buku tidaklah cukup", penulis tetap merekomendasikan beberapa buku dan halaman web.
- Direkomendasikan buku dan materi tentang belajar pemrograman menggunakan Scheme dan Python.
Pendapat GN⁺
- Tulisan ini menekankan pendekatan yang realistis terhadap pembelajaran pemrograman dan mengingatkan agar waspada terhadap janji palsu bahwa seseorang bisa menjadi ahli dalam waktu singkat.
- Dengan menyajikan hasil penelitian bahwa 10 tahun atau 10.000 jam latihan yang disengaja diperlukan untuk membangun keahlian, tulisan ini menawarkan sudut pandang jangka panjang terhadap proses belajar.
- Tulisan ini juga menekankan bahwa untuk membangun pemahaman yang mendalam dan meningkatkan kemampuan pemrograman, seseorang perlu terlibat dalam berbagai proyek, mempelajari banyak bahasa pemrograman, dan memahami prinsip-prinsip dasar ilmu komputer. Ini memberi nasihat yang bermanfaat bagi insinyur perangkat lunak pemula yang sedang mempertimbangkan pembelajaran pemrograman.
1 komentar
Opini Hacker News
Seorang pengguna membeli buku "Sams Teach Yourself C++ in 24 Hours" pada 1999, dan petugas kasir melihat buku itu lalu tertawa sambil bercerita tentang sebuah artikel. Di kesempatan lain, saat berusia 16 tahun dan sedang melihat-lihat buku pemrograman di Borders, seseorang menyodorkan buku "The C Programming Language", yang kemudian menjadi titik balik dalam hidupnya. Karier pengguna ini banyak dibentuk oleh pertemuannya dengan para developer dan orang-orang yang tertarik pada pemrograman di dunia nyata.
Pengguna lain menyebut esai yang pertama kali dibacanya saat remaja memiliki makna khusus. Ketika membacanya ulang, ia menyadari artikel itu telah diperbarui sejak dipublikasikan pada 1998 karena ada referensi ke Malcolm Gladwell dan penyebutan Ratatouille. Versi aslinya masih tersedia di arsip dan jauh lebih singkat.
Pengguna lain mengatakan ia sering belajar lewat buku, tetapi pendekatan ini lebih membantu di bidang non-CS yang perubahannya lambat seperti matematika atau fisika. Ia mengkritik buku O'Reilly tentang pemrograman kuantum yang baru dibacanya karena tidak menjelaskan sirkuit kuantum secara rinci, sehingga tidak membantunya memahami apa yang sebenarnya sedang dilakukan. Menurutnya, buku hanyalah alat belajar, dan proyek hobi juga bisa lebih efektif lewat pengalaman langsung. Buku berguna untuk menunjukkan arah yang benar, tetapi tentu perlu menemukan buku yang sesuai dengan kebutuhan. Ada orang yang bersikap hanya akan membuka buku jika bisa membacanya sampai habis, tetapi ia menganggap itu sikap yang bodoh. Ia memesan buku O'Reilly Generative Deep Learning dan berharap bisa mendapatkan sesuatu darinya; bahkan jika hanya menyimpan beberapa informasi dalam kariernya, itu tetap menguntungkan.
Seorang pengguna sangat terkesan bahwa tautan Amazon.com lama di halaman itu masih mengembalikan hasil yang relevan. Ia menyebut ini sebagai contoh bagus dari "Cool URIs don't change".
Pengguna lain membagikan daftar thread selama 16 tahun terakhir, sambil menyebut bahwa memposting ulang setelah setahun tidak masalah, dan tautan itu ditujukan untuk memuaskan rasa ingin tahu pembaca.
Pengguna lain menekankan pentingnya latihan yang disengaja: bukan sekadar mengulang, tetapi menantang diri dengan tugas yang melampaui kemampuan saat ini, mencoba dan mengerjakannya, menganalisis performa selama dan setelah pelaksanaan, memperbaiki kesalahan, lalu mengulanginya.
Seorang pengguna mengingat video yang ditontonnya 5-6 tahun lalu, yang menyebut jumlah programmer terus bertambah dan kebanyakan memiliki pengalaman kurang dari 5 tahun. Menurutnya, hal ini masuk akal karena IT/web makin besar pengaruhnya dalam hidup kita. Dengan pengalaman 20 tahun, ia mengatakan bahwa ia mengetahui banyak hal yang tidak akan pernah perlu diketahui oleh orang dengan pengalaman kurang dari 5 tahun, tetapi pengalaman tetap berguna, dan programmer yang kurang berpengalaman pun mampu melakukan banyak hal yang tak terbayangkan sebelumnya.
Pengguna lain menduga tulisan yang diberi tanggal 1998 itu mungkin telah diperbarui karena memuat penyebutan seperti Clojure dan Go.
Seorang pengguna berpikir bahwa belajar pemrograman pada akhirnya menjadi semakin artistik hingga mencapai ranah seni, dan hal-hal dasarnya bisa dikuasai dengan dedikasi selama 2-3 tahun.
Pengguna terakhir menyebut bahwa mengajar diri sendiri dalam pemrograman itu penting, karena profesi ini menuntut pembelajaran berkelanjutan. Apa yang dipelajari 5 tahun lalu mungkin masih berlaku hari ini, tetapi bisa juga perlu mempelajari hal baru agar sesuai dengan keadaan saat ini.