Bagaimana Mempelajari Elixir Membuat Saya Menjadi Programmer Yang Lebih Baik

Informasi

Bagaimana Mempelajari Elixir Membuat Saya Menjadi Programmer Yang Lebih Baik – Setelah merasa nyaman dengan beberapa teknologi pemrograman, pengembang biasanya berhenti di situ, pekerjaan Anda dan sistem yang Anda pelihara semuanya mungkin dalam satu atau dua bahasa. Anda mulai menggunakan pola yang sama berulang kali untuk memecahkan masalah yang sama.

Bagaimana Mempelajari Elixir Membuat Saya Menjadi Programmer Yang Lebih Baik

elixir-memory – Elixir, bahasa pemrograman yang relatif baru, membuka mata saya pada teknik baru yang mematahkan pemikiran stagnan ini. Mempelajari bahasa pemrograman baru dapat memperkenalkan Anda pada teknik yang tidak akan pernah Anda temui menggunakan teknologi yang ada.

Ini memperluas kotak peralatan Anda saat merancang sistem baru. Bayangkan seorang tukang kayu yang terjebak pada seperangkat alat tertentu selama bertahun-tahun, mereka akan terbatas pada apa yang dapat mereka buat. Setelah mempelajari berbagai bahasa pemrograman selama bertahun-tahun, menyegarkan untuk menjauh dari pola pikir yang berfokus pada menyelesaikan pekerjaan secepat mungkin.

Tidak ada garis waktu yang memberi tahu Anda kecepatan untuk belajar dan tidak ada rekan yang bergantung pada Anda untuk menyelesaikan apa yang sedang Anda kerjakan. Saya menemukan bahwa dalam suasana santai ini, lebih mudah untuk mencerna beban kognitif yang lebih besar. Salah satu manfaat mempelajari bahasa pemrograman yang baru dibuat adalah bahwa bahasa itu dibangun di atas praktik terbaik yang ada.

Ini terjadi ketika pembuat menghabiskan waktu untuk memikirkan masalah apa yang dihadapi pengembang saat ini. Manajemen negara itu sulit yaitu sulit untuk menerapkan kode baru tanpa waktu, sulit untuk mempertahankan sistem saya, sesuatu yang dipikirkan setiap pengembang. Elixir ingin membuat masalah ini tidak terlalu rumit dan melakukannya dengan menggunakan metodologi fungsional yang dibungkus dengan VM yang menempatkan pemrograman terdistribusi dan bersamaan sebagai warga negara kelas satu. Elixir, misalnya, dibangun oleh pengembang yang melihat produktivitas sintaks Ruby, pemeliharaan pemrograman fungsional, dan skalabilitas Erlang. Fitur-fitur bahasa ini menjadikannya sebuah karya yang menarik tentang seperti apa bahasa yang baru dibuat, seperti yang dipamerkan dalam contoh pencocokan pola di atas.

Baca Juga : Bagaimana Elixir Membantu Anda Menulis Kode Serentak Bebas Bug

Kabel Terhubung Ke Kabel

Fondasi yang kokoh dari Elixir dibangun di atas perpustakaan bernama OTP. OTP adalah cara elegan untuk menangani semua masalah yang muncul dalam pemrograman terdistribusi, bekerja lintas node, menangani pesan asinkron, dll. OTP tidak hanya merupakan pustaka fungsi tetapi juga paradigma untuk bekerja di dalamnya. Ini menjaga konsistensi di seluruh sistem dan tim besar. Alih-alih satu proses menangani seluruh aplikasi Anda (mis. Node.JS), banyak proses terisolasi membuat aplikasi Elixir. Proses-proses ini berkomunikasi satu sama lain menggunakan pesan. Ini membuka banyak fitur keren, proses sekarang dapat hidup di seluruh mesin karena pesan hanya dapat diubah, tidak ada penunjuk yang diizinkan.

Kritikus di dalam diri Anda akan mengatakan bahwa potensi kerugian menggunakan bahasa baru semacam itu adalah bahwa bahasa itu tidak teruji dalam pertempuran. Biasanya, ini adalah kritik yang valid, tidak demikian halnya dengan Elixir. VM Elixir yang dibangun di atasnya sudah sangat tua. Rilis sumber terbuka awal Erlang adalah pada tahun 1998, dan Ericsson telah menggunakannya sejak lama sebelum itu. Digunakan oleh jaringan telekomunikasi, ini adalah layanan penting yang tidak dapat mengalami waktu henti. Misalnya, begitulah fitur hot-code-release yang sangat keren yang memungkinkan pengembang untuk merilis kode Erlang baru tanpa memulai ulang server.

Pengalaman Saya

Tahun lalu, seorang rekan kerja mengundang saya untuk bergabung dengan klub bukunya. “Ayo belajar bahasa baru ini.” Saya telah mendengar bahwa itu menarik, jadi saya berkata, “tentu”. Kami membutuhkan beberapa jam setiap bulan untuk membahas satu bab dalam buku, Elixir in Action. Awalnya, sangat menakutkan untuk bergabung karena saya jauh lebih junior dibandingkan dengan anggota grup lainnya, tetapi saya mencobanya. Yang terjadi selanjutnya adalah banyak diskusi hebat dan wawasan tentang topik yang belum pernah saya selami sebelumnya. Saya menghargai diri saya sebelumnya karena setuju untuk bergabung karena saya tidak hanya belajar banyak, saya terhubung dengan rekan kerja di perusahaan yang sebelumnya tidak akan pernah saya hubungkan.

Ini membantu saya melalui penerapan Sistem Didorong Peristiwa perusahaan kami dengan memaparkan saya pada praktik yang baik saat mengelola keadaan di antara proses. Menjaga proses tetap kecil, murni, dan fungsional adalah praktik rekayasa yang baik dan merupakan pilar cara kerja Elixir. Saya tidak membutuhkan apa pun untuk segera dibangun atau tugas untuk diselesaikan, saya belajar untuk kesenangan belajar dan mendapatkan banyak hal darinya. Setelah Anda mulai membuat hal-hal yang harus disesuaikan atau perlu menangani jutaan permintaan, tiket panggilan Anda akan meningkat. Alasan untuk ini biasanya Anda tidak dapat memprediksi lalu lintas pada skala itu, pemberitahuan push keluar untuk fitur baru dan semua orang mulai menggunakan API Anda.

Bagaimana Anda menangani ini saat ini, dengan sesuatu seperti Node,JS atau Ruby? Anda cukup menambah nomor kotak Anda dan kemudian menguranginya setelah pemuatan selesai. Ini menjadi mahal dan pengembang seharusnya tidak hanya membuang uang untuk menyelesaikan masalah. Proses Erlang VM berukuran tetap, ini mega. Sampai taraf tertentu, ini pada dasarnya memecahkan masalah ini. Mengetahui berapa banyak proses memori, memberi Anda kemampuan seperti dewa. VM dapat memberi tahu server dengan tepat berapa banyak memori yang berpotensi digunakan. Alih-alih terjatuh dan kotak dimulai ulang, Anda dapat merespons klien dengan Kode Status HTTP 429 misalnya.

Tidak ada lagi beban memori tak terduga pada jam 1 pagi membangunkan pengembang! Kesalahan adalah warga negara kelas satu di Elixir. Proses berukuran kecil dan terisolasi sehingga saat terjadi kesalahan, seluruh proses aplikasi tidak harus membuang tumpukannya, hanya proses yang terisolasi. Ketika kesalahan benar-benar terjadi, mereka mudah di-debug karena kode prosesnya kecil. Setiap proses mendapat monitor, yang dapat menjalankan beberapa kode saat proses mati. Monitor contoh dapat memulai ulang proses misalnya sehingga dapat menerima lebih banyak pesan.

Jalan Ke Depan

Saya harap pengenalan beberapa kekuatan Elixir ini mendorong Anda untuk mempelajari lebih lanjut. Saya baru saja menggores layanan dari apa yang mungkin dilakukan dengan BEAM VM. Saya meninggalkan Anda dengan grafik ini yang menunjukkan popularitas Elixir di Stackoverflow dibandingkan dengan bahasa populer lainnya. Trennya naik tetapi jalan masih panjang untuk menjadi arus utama. Ke depan, saya berencana untuk menulis lebih banyak kode Elixir dan merasa lebih nyaman dengannya. HackerRank memiliki Elixir sebagai lingkungan sehingga menjadi sumber yang bagus untuk melatih sintaks. Salah satu hal berikutnya yang ingin saya lakukan adalah mulai membuat sesuatu di Phoenix. Sumber daya lain yang saya gunakan dalam perjalanan belajar saya adalah Elixir Toronto Meetup Group on Meetup.

Sumber Bacaan

Buku yang kami baca selama klub buku berjudul Elixir In Action. Buku yang sangat bagus yang membahas seluruh bahasa dan fitur-fiturnya, secara mendetail. Permulaannya cukup lambat tetapi saat Anda mulai membungkus otak Anda dengan sintaks, itu segera menjadi sangat menarik. Ini adalah buku lain yang saya mulai yang jauh lebih mudah didekati. Ini adalah buku yang menyenangkan yang membahas fitur-fitur utama mengapa Elixir adalah bahasa yang menarik. Ini adalah pemompa jantung karena benar-benar hanya meluncur di permukaan.

Leave a Reply