Satu bahasa untuk mengatur semuanya

Tersembunyi di bawah lapisan kode, sebuah bahasa merana dan ingin sekali dipelajari.

Satu bahasa untuk mengatur semuanya

Saat tulisan ini dibuat, kueri “memrogram bahasa mana yang harus dipelajari terlebih dahulu” menghasilkan 517 juta hasil penelusuran. Masing-masing situs ini akan memuji satu bahasa tertentu, dan 90% di antaranya akan merekomendasikan Python atau JavaScript.

Tanpa basa-basi lagi, saya ingin mengatakan bahwa 517 juta situs web ini salah dan bahasa yang harus Anda pelajari terlebih dahulu adalah logika mendasar.

Mengetahui cara membuat kode saja tidak cukup. Pasar begitu jenuh dengan lulusan institut dan kursus sehingga posisi junior praktis tidak ada lagi*. Untuk sukses di dunia saat ini, Anda harus membuat kode dan memiliki pemikiran logis mendasar yang maju.

*selanjutnya, harap diingat bahwa ini adalah terjemahan, dan situasi pasar tenaga kerja untuk penulis dan di negara Anda mungkin berbeda (serta nuansa lainnya), yang, bagaimanapun, tidak membuat artikel aslinya menjadi lebih buruk - kira-kira. terjemahan

Pelajaran ilmu komputer pertama saya

Pemaparan pertama saya pada ilmu komputer adalah mata pelajaran pilihan yang saya ambil di kelas 10. Di hari pertama, memasuki kelas, saya senang melihat di depan saya banyak ember es krim dan berbagai topping. Setelah semua orang duduk, guru mengumumkan:

“Hari ini kita akan mencicipi es krim buatan sendiri. Tapi dengan satu syarat: Anda harus membuat daftar instruksi khusus tentang cara menyiapkan makanan penutup, dan saya akan mengikutinya.”

“Tidak masalah,” pikirku, “pelajaran ini tidak akan lama.” Dalam waktu sekitar satu menit saya telah menuliskan resep sempurna untuk es krim impian saya:

  1. Ambil dan masukkan tiga sendok es krim raspberry ke dalam mangkuk
  2. Buka saus coklat dan tambahkan dua sendok makan ke dalam mangkuk yang sama
  3. Tambahkan krim kocok ke dalam mangkuk
  4. Taburi semuanya dengan gula batang dan taruh ceri di atasnya

Guru saya—“komputer” dalam metafora lucu itu—menampilkan penampilan yang lebih sarkastik dan literal daripada yang pernah saya lihat sebelumnya. Dia mulai dengan penuh semangat menusuk ember es krim dengan sendok tanpa menyentuh tutupnya.

“Oke, oke, tapi pertama-tama kamu harus membukanya!” - seruku, berusaha mendapatkan camilannya secepat mungkin.

“Kamu tidak menulis ini di instruksi, dan aku tidak bisa membuatkanmu es krim. BERIKUTNYA!"

Mari kita maju cepat ke upaya #2

  1. Buka es krim raspberry dengan membuka tutupnya
  2. Ambil dan masukkan tiga sendok es krim raspberry ke dalam mangkuk
  3. Buka saus coklat dan tambahkan dua sendok makan ke dalam mangkuk yang sama
  4. Tambahkan krim kocok ke dalam mangkuk
  5. Taburi semuanya dengan batang gula dan letakkan ceri di atasnya

Nah, sekarang seharusnya tidak ada masalah apa pun. Untuk berjaga-jaga, saya memastikan semua bahan untuk membuat mahakarya kuliner saya terbuka.

Guru membuka tutupnya, mengambil dan menaruh tiga sendok es krim ke dalam mangkuk. “Akhirnya es krim cantikku mulai terwujud!” Dia kemudian membuka saus coklat dan menambahkan dua sendok makan ke dalam mangkuk. Dia tidak "menambahkan saus coklat dari dua sendok makan" - sepertinya tidak - dia, tentu saja, memasukkan sendok itu sendiri ke dalam mangkuk. Tidak ada saus di dalamnya. Sekali lagi, saya tidak repot-repot menuliskan semuanya dengan tepat. Setelah sisanya dilakukan dengan semangat yang sama, saya menerima semangkuk es krim dan dua sendok makan, hampir tidak terlihat di bawah lautan krim kocok. Di atasnya ada sepasang batang gula.

Tampaknya pada saat inilah saya akhirnya sadar: komputer adalah logika dalam ruang hampa. Dia tidak menyadari keadaan di sekitarnya dan tidak membuat asumsi. Dia hanya melaksanakan instruksi yang dirumuskan dengan jelas dan mengikutinya kata demi kata.

Hasil akhir saya adalah hasil dari serangkaian percobaan dan kesalahan yang panjang namun perlu:

  1. Jika Anda belum melakukannya, buka masing-masing paket berikut: es krim raspberry, saus coklat, krim kocok, gula batang.
  2. Keluarkan mangkuk dan letakkan di depan Anda
  3. Ambil satu sendok es krim dan masukkan tiga sendok es krim raspberry satu per satu ke dalam mangkuk. Letakkan kembali sendok es krim pada tempatnya.
  4. Ambil sebotol saus coklat, ambil sausnya dan tuangkan isi satu sendok makan ke dalam mangkuk. Ulangi proses menyendok dan menuang sekali lagi. Letakkan kembali sendok dan toples pada tempatnya.
  5. Ambil bungkusan krim kocok secara terbalik dan, pegang di atas mangkuk, tuangkan di atas es krim selama 3 detik, lalu kembalikan bungkusan ke tempatnya.
  6. Ambil sebotol gula batang, tuangkan sekitar empat puluh batang ke dalam mangkuk dan masukkan kembali toples tersebut.
  7. Ambil satu buah ceri dari mangkuk ceri dan letakkan di atas es krim.
  8. Berikan siswa semangkuk es krim yang sudah jadi dan sendok.

Poin terakhir ini sangat penting, karena tanpanya, di waktu kedua dari belakang, guru akan langsung memakan es krim saya.

Tapi ini pemrograman. Stres dalam menciptakan serangkaian instruksi yang cermat untuk komputer. Pada dasarnya, inilah tujuan setiap bahasa pemrograman - menulis instruksi.

Karir di bidang pemrograman

Pemrograman telah mencapai titik di mana sulit untuk didiskusikan sebagai satu industri, sama seperti sulitnya menggunakan satu kata “programmer” sebagai deskripsi pekerjaan. Dua pengembang bisa sama-sama diminati pasar, mengetahui bahasa yang sangat berbeda, yang berarti kemampuan untuk berkembang lebih penting daripada pengetahuan tentang bahasa tertentu. Atribut universal yang dimiliki oleh semua pengembang sukses adalah logika mendasar.

Pemrogram terbaik adalah orang yang mampu melihat kode dari sudut pandang baru. Dan ini pada dasarnya penting, karena sebagian besar produk perangkat lunak adalah kumpulan fragmen kode buruk yang tidak terdokumentasi. Mereka terus-menerus perlu disatukan, mengisi kekosongan yang diperlukan. Orang yang tidak dapat menghubungkan titik-titik yang berbeda dengan satu garis harus selalu berada di pinggir lapangan.

Semua ini membawa saya pada pernyataan lain, kali ini dicetak tebal: pengetahuan dasar selalu dan akan menjadi hal terpenting bagi seorang programmer.

Bahasa datang dan pergi. Kerangka kerja sudah ketinggalan zaman, dan perusahaan merespons permintaan tersebut dengan mengubah rangkaian teknologi yang mereka gunakan. Apakah ada satu hal yang tidak akan pernah berubah? Ya - pengetahuan fundamental, yang disebut fundamental karena mendasari segalanya!

Bagaimana meningkatkan pengetahuan dasar

Satu bahasa untuk mengatur semuanyaFoto oleh Christopher Jeschke pada Unsplash

Jika Anda sedang mencari titik awal untuk meningkatkan pemikiran logis mendasar Anda, coba mulai dari sini:

Ketahui kompleksitas program Anda

Disebut juga O Besar “kompleksitas algoritma” mengacu pada ketergantungan waktu yang diperlukan untuk mengeksekusi suatu program pada ukuran data masukannya (n). Terus memantau algoritma yang digunakan adalah langkah penting.

Ketahui struktur data Anda

Struktur data adalah inti dari setiap program modern. Mengetahui struktur mana yang akan digunakan dalam kasus tertentu merupakan suatu disiplin ilmu tersendiri. Struktur data berhubungan langsung dengan kompleksitas runtime, dan memilih struktur yang salah dapat menyebabkan masalah kinerja yang mendasar. Menemukan elemen dalam array adalah O (n), yang menunjukkan tingginya biaya penggunaan array sebagai data masukan. Pencarian tabel hash - O (1), artinya dalam hal ini waktu pencarian suatu nilai tidak bergantung pada jumlah elemen.

Orang-orang datang kepada saya untuk wawancara dan menyatakan bahwa pencarian melalui array lebih cepat daripada pencarian melalui tabel hash. Ini adalah tanda paling pasti bahwa Anda tidak boleh mempekerjakan mereka - ketahuilah struktur data Anda.

Baca / tonton / dengarkan

Situs seperti UdemyPluralsight и CodeAcademy - Pilihan tepat untuk mempelajari bahasa pemrograman baru. Namun untuk dasar-dasarnya, bacalah buku tentang prinsip, praktik, dan gaya pengkodean umum. Buku yang paling direkomendasikan adalah “Pola Desain”, “Refactoring. Memperbaiki Kode yang Ada", "Kode Sempurna", "Kode Bersih" dan "Pemrogram Pragmatis". Terakhir, setiap pengembang harus menyimpan salinan "Algoritma" di tangan.

Praktik!

Anda tidak bisa memasak telur orak-arik tanpa memecahkan telurnya. Situs seperti HackerRankPerang KodeCoderByte, TopCoder и Kode Leet menawarkan ribuan teka-teki menarik untuk menguji pengetahuan Anda tentang struktur data dan algoritma. Cobalah keberuntungan Anda dalam memecahkan masalah yang Anda sukai, posting solusi Anda di Github, dan lihat bagaimana orang lain mendekatinya. Yang membawa kita ke poin terakhir:

Baca kode orang lain

Kesalahan terbesar yang dapat Anda lakukan saat menempuh jalur pengembangan adalah melakukannya sendiri. Pengembangan perangkat lunak sebagian besar merupakan upaya tim. Kita menciptakan standar bersama, membuat kesalahan bersama, dan meskipun mengalami kegagalan, kita menjadi lebih baik bersama. Waktu yang dihabiskan untuk membaca kode orang lain akan membuahkan hasil yang besar. Pastikan itu kode yang bagus.

Nah, saran terbaik yang bisa saya berikan adalah jangan pernah malu karena Anda belum mengetahui sesuatu. Seperti yang telah dikatakan, industri kita sangat besar dan jumlah teknologinya tidak terbatas. Dibutuhkan banyak waktu dan upaya untuk membangun gambaran keseluruhan, terlebih lagi untuk menjadi seorang profesional dalam sesuatu yang spesifik, dan lebih banyak lagi untuk mengasah keterampilan Anda di bidang Anda. Saya akan memberi tahu Anda ketika saya mencapainya sendiri.

Sumber: www.habr.com

Tambah komentar