Pengantar Elixir Untuk Ilmu Data
Pengantar Elixir Untuk Ilmu Data – Apakah ada ruang di dunia Ilmu Data untuk opsi lain? Bahasa pemrograman masuk adalah dan telah Python dan R. Mungkinkah ada pesaing lain? Saya ingin mengundang Anda untuk bergabung dengan saya dalam seri baru yang saya beri nama Elixir for Data Science. Di dalamnya, kita akan menelusuri konsep Ilmu Data dan membangun kembali kode dari buku R for Data Science (R4DS) dengan Elixir. Selain menerjemahkan kode, kami juga akan memercikkan banyak fitur khusus Elixir (pembaruan waktu nyata), paket (Explorer dan Vega-Lite) dan produk (Livebook).
Pengantar Elixir Untuk Ilmu Data
elixir-memory – Saya tidak menghargai materi aslinya, seperti yang ditulis oleh Hadley Wickham dan Garrett Grolemund. Harapan saya adalah pada akhirnya, Anda akan memiliki dasar Ilmu Data yang kuat dan akan memahami bagaimana menerapkan prinsip-prinsip dengan alat fantastis yang diberikan Elixir kepada Anda. Sebelum kita mulai, saya ingin meluangkan waktu sejenak untuk membahas Elixir dan mengapa menurut saya Elixir siap untuk melakukannya dengan baik di bidang Ilmu Data.
Apa itu Elixir, dan Apa Yang Membuatnya Istimewa?
Menurut halaman beranda, Elixir adalah bahasa yang dinamis dan fungsional untuk membangun aplikasi yang dapat diskalakan dan dipelihara. Hebat, apa artinya semua itu? Mari kita hancurkan.
1. Dinamis
Elixir memungkinkan Anda menulis kode Anda tanpa harus menentukan jenisnya (misalnya, int, string, float, dll) untuk semua variabel Anda yang menghemat waktu dan memungkinkan Anda untuk mengulang lebih cepat. Ini mirip dengan apa yang Anda lakukan dengan Python.
2. Fungsional
Gaya pemrograman ini berfokus pada pengelompokan kode Anda ke dalam fungsi yang dapat digunakan kembali untuk membuat pipa transformasi data.
3. Dapat diskalakan
Semua kode Elixir berjalan di dalam utas eksekusi ringan (disebut proses) yang diisolasi dan bertukar informasi melalui pesan. Tidak jarang ribuan proses berjalan pada waktu yang bersamaan. Singkatnya, lebih banyak proses sama dengan melakukan lebih banyak hal pada waktu yang bersamaan. Ini adalah perbedaan besar pada bahasa single-threaded yang biasa digunakan kebanyakan orang.
4. Dapat Dipelihara
Elixir menjamin kekekalan data, artinya tidak pernah berubah. Ini menjamin bahwa fungsi Anda akan selalu mengembalikan hasil yang sama dengan masukan yang sama. Sejelas kedengarannya, ini tidak selalu terjadi dalam bahasa yang mengizinkan efek samping. Gabungkan itu dengan pendekatan fungsional untuk menulis perangkat lunak, dan Anda memiliki resep untuk kode yang singkat, ringkas, dan berfungsi dengan baik. Sangat menyegarkan mengetahui bahwa 2+2 akan selalu sama dengan 4.
Baca Juga : Apakah Elixir Bahasa Pemrograman Yang Baik Untuk Pemula?
Mengapa Menggunakan R4DS?
R untuk Ilmu Data dekat dan sayang di hati saya. Itu sangat mendasar bagi saya untuk masuk ke bidang Ilmu Data. Itu adalah buku pertama (atau blog, artikel, dll) yang membuat Ilmu Data dapat didekati. IMHO, R4DS melakukan pekerjaan luar biasa dalam menyusun semua tugas yang perlu dilakukan oleh Ilmuwan Data dan bukan hanya bagian glamor dalam membuat model super keren yang menulis game, memprediksi harga, atau meringkas teks.
Saya melihat R4DS sebagai tolok ukur yang bagus untuk bahasa apa pun yang mencoba melakukan Ilmu Data. Rencana saya adalah menempatkan Elixir melalui langkahnya dengan membuat ulang semua kode di R4DS dan melihat di mana ia bersinar dan di mana ia masih harus bekerja. Ini akan memberi Anda gambaran yang lebih jelas tentang seberapa baik kinerjanya dengan beban kerja Ilmuwan Data yang sebenarnya.
Mengapa Elixir Untuk Ilmu Data?
1. Fungsional Di Alam
Jika Anda mengingat kembali hari-hari Aljabar Anda, Anda menemukan konsep fungsi. Fungsi itu akan melakukan beberapa transformasi a (biasanya ke x) dan menyimpannya ke variabel (biasanya y) dan terlihat seperti ini y=f(x). Apa yang membuat bahasa fungsional istimewa adalah dengan masukan yang sama, keluarannya akan selalu sama. Meskipun Anda mungkin berpikir “duh”, tidak demikian halnya dengan banyak bahasa pemrograman.
2. Kejelasan dalam Transformasi Data
Elixir menggunakan fungsi untuk mengambil data dan mengubahnya melalui beberapa langkah untuk hasil yang diinginkan, model, dan lainnya. IMHO inilah yang membuat Tidyverse untuk R begitu luar biasa. Bayangkan seluruh bahasa yang berfungsi seperti Tidyverse!
3. Alat yang Layak Digunakan
Jika Anda tidak menikmati suatu alat, maka Anda tidak akan pernah menggunakannya terlepas dari berapa banyak manfaat yang jelas. Menurut survei Stack Overflow 2022 di bawah ini, Elixir adalah bahasa kedua yang paling disukai. Poin utama di sini adalah bahwa orang yang menggunakan Elixir benar-benar menikmati bekerja di dalamnya.
4. Jalan yang Jelas menuju Produksi
Membuat model di mesin Anda memang menyenangkan, tetapi bagaimana jika Anda siap untuk ditayangkan? Berapa banyak barang tambahan yang diperlukan untuk mengubah kode Python atau R Anda menjadi sesuatu yang siap produksi? Bagaimana Anda akan menangani:
Pekerjaan Latar Belakang
Pemulihan Kecelakaan
Permintaan Lama
Status Aplikasi Latensi Rendah
Dan Lainnya
Teknologi tambahan apa yang harus Anda sertakan? Apakah kerumitan tambahan itu sepadan? Dalam bukunya, Elixir In Action, Sasa Juric menunjukkan, pada tabel di bawah, bahwa Elixir (dibangun di atas Erlang) memberi Anda semua hal ini secara gratis! Elixir sudah memiliki kerangka web siap produksi bernama Phoenix. Apakah Anda ingin menggunakan model Anda di situs web Anda? Selesai. Apakah Anda ingin menerapkan hasil model Anda sebagai API untuk dikonsumsi orang lain? Tidak masalah. Dan bagian kerennya adalah, Phoenix adalah The Most Loved Web Framework menurut Survei Stack Overflow 2022. Elixir mengubah dirinya menjadi toko serba ada untuk semua kebutuhan Ilmu Data Anda.