Saya akhirnya belajar kode – dan saya tidak mulai dengan kursus pemrograman

Dorongan untuk mempelajari sesuatu yang baru adalah perasaan yang hebat, dan jika Anda bermain -main dengan ide belajar cara kode – anggap diri Anda dengan sungguh -sungguh didorong untuk melakukannya. Tetapi ketika datang untuk belajar, memulai bisa menjadi perjuangan nyata, dan saya tahu itu dari pengalaman. Beberapa orang melompat masuk dan mulai meretas barang bersama sampai berhasil, tapi itu bukan saya.

Membuka VS Code tampak menakutkan – dan lebih dari itu, tidak ada gunanya. Tentu, saya mungkin bisa membuat komputer mencetak “halo, dunia” dengan menyalin sesuatu yang saya lihat di Reddit, tapi apa sebenarnya poinnya jika saya tidak memiliki petunjuk sekecil apa pun mengapa itu bekerja atau bagaimana hal itu terjadi? Pemrograman adalah topik alien bagi non-teknik seperti saya, dan menyelam tanpa mengetahui apa pun tentang cara kerja atau komputernya terasa gila.

Jadi, setelah beberapa moping umum dan menunda -nunda, saya memutuskan untuk mendekati hal -hal dari arah yang berbeda.

Cara yang menyenangkan adalah cara terbaik

Saya suka belajar cukup banyak, dan karena ini sedikit hobi di mata saya, wajar bagi saya untuk melakukan apa pun yang paling menyenangkan. Namun, sangat umum bagi orang untuk pergi ke arah yang berlawanan, dan hanya ingin melakukan apa yang paling efisien. Di setiap komunitas pembelajaran yang sering saya kunjungi, saya melihat pertanyaan -pertanyaan pemula ini sepanjang waktu tentang “cara terbaik untuk belajar.”

Menurut pendapat saya, cara yang menyenangkan selalu merupakan cara terbaik. Orang yang berhasil mempelajari hal baru adalah tidak pernah orang yang “mempelajari dengan cara yang benar,” hanya orang yang terus berjalan. Bahkan jika Anda kehilangan sesuatu yang penting pada tahap awal, selama Anda terus berjalan, Anda akan mencapai titik ketika Anda perlu mengisi celah itu untuk maju. Jadi Anda akan mengisinya, dan Anda akan melanjutkan – dan pada akhirnya, bagaimana dan kapan bahkan tidak masalah.

Ketika saya pertama kali berpikir tentang belajar cara kode, saya merasa lebih yakin tentang bagaimana saya tidak ingin melakukannya daripada bagaimana saya ingin melakukannya. Saya tahu saya tidak ingin mulai menulis program ketika saya tidak tahu apa yang membuat program -program itu berhasil. Saya tahu bahwa misteri itu hanya akan mengganggu saya dan mengalihkan perhatian saya, dan saya juga percaya bahwa pemahaman sedikit tentang komputer akan membantu pemahaman saya tentang pemrograman di telepon juga.

Jadi saya menemukan buku berjudul “Code: The Hidden Language of Computer Hardware and Software” oleh Charles Petzold. Ada ulasan bagus dari kedua siswa dan programmer berpengalaman, dan tampaknya dimulai tepat di awal, yang saya sukai. Tetapi ketika saya melihat topik yang tercakup dalam bab yang berbeda (kode biner, logika dengan sakelar, byte dan heksadesimal, menambah dengan gerbang logika, register dan bus, sinyal kontrol CPU, dll), saya masih merasa sedikit kewalahan. Saya tahu saya ingin membacanya, tetapi saya masih merasa perlu mulai dari suatu tempat di zona nyaman saya.

Untungnya, ada satu subjek yang tepat di zona nyaman saya dan dapat diterapkan pada hampir semua topik: sejarah. Saya menikmatinya di sekolah, saya mempelajarinya di universitas, dan saya suka buku sejarah yang baik atau drama sejarah. Ada juga beberapa tokoh terkenal yang bercampur dengan sejarah komputer yang sudah saya sadari-nama-nama seperti Charles Babbage, Ada Lovelace, George Boole, dan Alan Turing. Jadi, saya memutuskan untuk mengesampingkan buku kode dan memudahkan diri saya ke dunia ilmu komputer dengan membaca tentang permulaannya.

Komputer Universal: Jalan dari Leibniz ke Turing

Martin Davis

Buku ini karya Martin Davis dan tersedia sebagai ebook melalui Amazon. Jika Anda menyukai sejarah, saya benar -benar merekomendasikan untuk membacanya, tetapi ada juga beberapa kegunaan dalam membacanya bahkan jika Anda tidak banyak penggemar sejarah. Jika Anda tidak dapat memulai dengan seluruh pemrograman ini, mengambil buku tentang subjek adalah cara yang bagus untuk secara teknis mulai belajar tanpa benar -benar merasa seperti Anda sedang belajar.

Buku ini menjadi sangat matematis pada titik -titik karena banyak berfokus pada ahli matematika yang karyanya akhirnya menjadi bagian integral dari penemuan komputer. Saya sama sekali bukan orang matematika, saya benar -benar buruk dengan angka, tetapi matematika adalah salah satu topik di mana memahami betapa sedikit yang Anda pahami adalah jenis yang berguna dalam dirinya sendiri.

Ayo bersinggungan di sini. Saya pikir matematika menghadirkan penghalang bagi orang -orang ketika mereka berpikir tentang komputer dan pemrograman. Ini tentu saja terasa seperti bidang yang bahkan tidak boleh Anda repot -repot mencoba masuk jika Anda tidak pandai matematika – dan mungkin ada saat ketika itu benar (meskipun itu cukup lama). Either way, itu tidak benar lagi.

Matematika dan sains adalah apa yang membangun komputer – tidak ada keraguan tentang itu. Tetapi pemrograman berbeda. Saat Anda menulis program atau merancang perangkat lunak, matematika lebih merupakan pilihan daripada kebutuhan.

Alasan untuk ini dapat direbus ke satu kata yang mungkin akan Anda dengar banyak jika Anda mulai belajar: abstraksi. Memahami komputer adalah tentang berurusan dengan berbagai tingkat abstraksi – yang pada dasarnya berarti menempatkan berbagai hal dalam kotak dan melupakannya. Kedengarannya seperti lelucon, tapi itu benar.

Misalnya, setiap buku pemrograman atau kursus ilmu komputer mungkin akan dimulai dengan menjelaskan apa itu biner – 1s dan 0 kecil dari matriks. Anda akan belajar apa adanya, mengapa mereka ada, dan untuk apa kami menggunakannya – dan kemudian Anda akan memasukkan semua pengetahuan itu ke dalam sebuah kotak dan menutup tutupnya. Karena ketika Anda mulai mengetik kode, Anda tidak akan berpikir tentang biner. Anda tidak mengetiknya, Anda tidak melakukan perhitungan biner, dan Anda benar -benar hanya akan berpikir dalam byte (grup 8 digit biner) daripada bit (satu digit biner).

Bekerja dengan Binary adalah pekerjaan yang sangat khusus yang tidak akan pernah dilakukan oleh sebagian besar programmer-sehingga mereka menutup tutup kotak biner dan fokus pada hal-hal lain. Menggunakan matematika dalam pemrograman adalah serupa – orang -orang yang pandai dalam hal itu akan mengurus matematika untuk Anda dan memasukkannya ke dalam kotak yang disebut “fungsi.”

Anda dapat mengintip ke dalam kotak dan melihat apa yang terjadi jika Anda mau, tetapi Anda tidak perlu melakukannya. Anda hanya “memanggil” fungsi saat Anda ingin menggunakannya. Katakanlah Anda ingin mengetahui berapa banyak karakter dalam serangkaian teks – dibutuhkan lebih banyak upaya untuk membuat komputer menyelesaikannya dibandingkan dengan manusia yang hanya mencari dan menghitung “1, 2, 3.” Tapi Anda tidak perlu memikirkan semua itu – hubungi saja strlen() fungsi (panjang string) dan itu akan melakukan penghitungan untuk Anda. Itulah fungsi yang disebut dalam C. Di Python itu len() Dan di Java itu length(). Bahasa yang berbeda, kata -kata yang berbeda.

Intinya, matematika diurus dengan satu atau lain cara. Ini disembunyikan dalam fungsi dan perpustakaan, dan jika Anda curiga Anda mungkin memerlukan sesuatu yang matematika untuk memperbaiki masalah Anda, itu adalah praktik standar untuk menemukan informasi secara online.

Jika Anda benar-benar membenci angka, Anda juga bisa tetap berpegang pada pemrograman tingkat tinggi. Semakin tinggi level, semakin jauh Anda berasal dari 1 dan 0s, dan semakin sedikit Anda harus memikirkan matematika. Semua ini untuk mengatakan – jangan biarkan matematika membuat Anda takut dari pemrograman. Anda dapat menghindarinya saat mengkode seperti Anda dapat menghindarinya dalam hidup!

Jadi, bagaimanapun, saya membaca buku ini tentang sejarah komputer. Saya belajar semua tentang matematikawan ini dan apa yang mereka capai – tanpa memahami apa pun tentang matematika yang sebenarnya, tentu saja – dan saya benar -benar menikmati diri saya sendiri.

Kode: Bahasa tersembunyi perangkat keras dan perangkat lunak komputer

Kode sampul buku The Hidden Language.
Charles Petzold

Selanjutnya, saya perlu mendapatkan sedikit lebih banyak ke bisnis – yang berarti membaca buku tentang cara kerja komputer. Seperti yang saya katakan sebelumnya, buku ini terasa sedikit menakutkan pada awalnya. Ini besar dan terperinci – dan saya tidak akan berpura -pura memahami setiap kata yang saya baca. Tapi kami tidak mendapatkan tempat dengan membiarkan “baik” menjadi musuh “sempurna.” Memahami 80% dari sebuah buku jauh lebih baik daripada memahami 0% karena Anda memutuskan untuk tidak membacanya.

Selain itu, pada akhirnya tidak seburuk itu. Ini ditulis dengan cara yang ramah, cerewet, dan lucu, yang benar -benar membantu membuat bit yang rumit terasa lebih mudah untuk dilalui. Ini juga memiliki situs web dengan diagram interaktif dan versi kerja “komputer mini” yang ia buat di seluruh buku. Dan, yang paling penting, itu tidak dimulai dengan hal -hal yang rumit.

Bahkan tidak dimulai dengan komputer – bab -bab pertama mencakup beberapa topik yang cukup acak seperti Morse Code dan Braille. Atau, setidaknya, mereka merasa acak untuk sementara waktu sampai Anda melangkah lebih jauh dan menyadari bahwa Tn. Penulis telah secara diam-diam memberi Anda konsep-konsep yang perlu Anda ketahui nanti dalam buku ini.

Ini pasti salah satu pengalaman “kepercayaan pada proses” itu-tetapi saya dapat meyakinkan Anda itu adalah buku yang ditulis dengan baik, terstruktur dengan baik, dan tidak peduli seberapa keras rasanya potongan-potongan yang sulit bagi Anda, Anda masih akan mengetahui lebih banyak tentang komputer daripada yang pernah Anda pikirkan.

Setelah selesai, Anda bisa mengeluarkan kotak lain dan memasukkan semua informasi di dalam – karena kami tidak benar -benar perlu memikirkan “bagaimana komputer bekerja” saat kami mengkode. Namun, sekarang Anda memiliki informasi yang tersimpan di suatu tempat, itu akan berguna kadang -kadang. Konsep pemrograman tertentu secara alami akan lebih masuk akal bagi Anda, dan ketika pengetahuan itu relevan dengan apa yang Anda lakukan, itu akan dengan mudah keluar dari kotak untuk Anda manfaatkan.

Dan bagian terbaiknya? Saat Anda memulai kursus pemrograman dan mulai berbicara tentang biner – Anda sudah tahu apa itu biner. Kursus ini akan memberi Anda banyak informasi baru juga, tetapi memiliki konteks yang ada di kepala Anda akan membantu hal -hal terasa sedikit lebih akrab dan dapat dikelola. Ini akan membantu Anda fokus pada pemrograman, daripada terganggu oleh setiap konsep baru dan bertanya -tanya apakah Anda perlu memahaminya atau tidak.

Begitulah rasanya bagi saya, dan saya akan dibangun dengan buruk untuk pemrograman sejalan secara manusiawi. Saya mengisap matematika di sekolah, saya mempelajari sejarah dan sastra Inggris di universitas, saya menulis untuk mencari nafkah, saya belajar bahasa Jepang sebagai hobi, dan sampai saat ini saya bahkan belum pernah memiliki PC desktop – namun agak baik. Jika saya bisa melakukannya maka, jujur, siapa pun bisa.