4 Alasan Kami Bersenang-Senang Memprogram Elixir

Informasi

4 Alasan Kami Bersenang-Senang Memprogram Elixir – Ruby on Rails telah menjadi teknologi sisi server kami selama beberapa tahun sekarang, tetapi kami selalu mengevaluasi hal-hal lain yang muncul. Di sisi klien, ada sejumlah pendatang baru yang sangat produktif, tetapi di sisi server tidak ada yang menciptakan tingkat kegembiraan dan antusiasme yang sama seperti yang saya rasakan ketika saya datang ke Rails. Sampai baru-baru ini, yaitu saya telah bermain-main dengan memprogram Elixir selama beberapa bulan, dan saya merasakan buzz dan kegembiraan yang sama. Terlebih lagi, itu hanya ledakan dengan cara yang sama seperti yang saya rasakan ketika saya pertama kali mulai bermain dengan Ruby. Saya pikir ada baiknya berbagi beberapa alasan di balik rasa pusing saya.

4 Alasan Kami Bersenang-Senang Memprogram Elixir

1. Komunitasnya Luar Biasa

elixir-memory – Salah satu hal yang membuat saya tertarik dengan Ruby on Rails adalah bahwa beberapa orang terpandai yang saya kenal telah menyukainya sebelum saya. Pertama kali saya melihat Rails adalah ketika Jim Weirich menunjukkan kepada saya video “Cara Membuat Mesin Blog dalam 15 Menit dengan Ruby on Rails” yang terkenal dari DHH. Fakta bahwa Dave Thomas, penulis dari beberapa buku yang paling banyak dibaca dan dihormati tentang Ruby dan Rails, telah terjun ke Elixir dengan kedua kaki jelas membuat saya terkesan. Sebagai seorang teknolog, merupakan tantangan besar untuk memutuskan hal-hal baru dan mengkilap mana yang benar-benar layak untuk diselidiki lebih lanjut. Salah satu faktor dalam keputusan ini bagi saya adalah orang-orang yang pendapatnya telah saya lihat divalidasi selama bertahun-tahun.

Dave tentu saja salah satunya. Saya ingat pernah melihat Dave memberi tahu kami tentang Ruby dan No Fluff Just Stuff, sebuah konferensi Java open source, setidaknya 10 tahun yang lalu. Awalnya saya cukup skeptis, yang merupakan posisi default yang baik untuk hal-hal baru dan mengkilap, tetapi beberapa tahun kemudian saya beralih ke Ruby sendiri. Bukan hanya Dave Thomas, itu juga kemajuan luar biasa dari seluruh komunitas Elixir. Pada tahun lalu, jumlah kemajuannya sangat mengesankan. Membangun aplikasi dengan Phoenix terasa sama produktifnya dengan membuat aplikasi dengan Rails. Jumlah paket hex yang tersedia berkembang pesat, dan sejauh ini kami tidak kesulitan menemukan apa yang kami butuhkan. Memang komunitas baru, tapi energinya sangat terasa.

2. Tidak Berorientasi Objek Tetapi Berorientasi Proses

Sintaks Elixir yang familier memudahkan Rubyist untuk masuk, tetapi jika tidak ada alasan kuat lainnya untuk menyelam ke dalam kumpulan Elixir, itu tidak akan menjadi alasan untuk melakukannya. Faktanya, banyak dari apa yang tampak seperti keakraban hanya sebatas kulit. Bahkan sesuatu yang sederhana seperti penugasan variabel “a = 5” berarti sesuatu yang agak berbeda di Elixir. Alih-alih menakutkan dan tidak menyenangkan, saya menemukan ini benar-benar membuat saya ingin menggali lebih dalam dan memahami perbedaannya. Mungkin ada seluruh artikel tentang fitur bahasa yang saya sukai tentang Elixir, tetapi saya akan mencoba menyaringnya menjadi ini, saya dapat menuai beberapa manfaat utama dari pemrograman fungsional di atas runtime yang memiliki proses sebagai tingkat inti abstraksi.

Poin kedua ini sangat menarik bagi saya ketika saya menggali Elixir. Kami telah menghabiskan beberapa waktu di Gaslight mempelajari Clojuretahun ini, dan salah satu alasan utama kami melakukannya adalah untuk lebih memahami keunggulan apa yang ditawarkan pemrograman fungsional kepada kami dibandingkan berorientasi objek. Saya menikmati petualangan dan belajar banyak, tetapi pada akhirnya, saya tidak pernah benar-benar jatuh cinta dengan Clojure. Sebagian alasannya adalah karena saya telah merancang sistem menggunakan Objects untuk waktu yang lama sehingga terasa cukup alami bagaimana mengatur aplikasi dengan cara ini. Dengan pemrograman fungsional, saya merasa sedikit tersesat dan terombang-ambing. Ini tidak terjadi padaku dengan Elixir. Alih-alih hanya menjadi bahasa fungsional, Elixir membawa konsep inti proses.

Baca Juga : 11 Startup Teratas Yang Masih Menggunakan Elixir

Prosesnya ringan, mempertahankan status per proses, dan berkomunikasi murni dengan mengirimkan pesan. Dalam banyak hal, mereka bisa dibilang mewujudkan visi asli yang ada dalam pikiran para penemu berorientasi objek. Hal hebat lainnya tentang proses Elixir (benar-benar Erlang) adalah bahwa mereka akhirnya membawa jawaban yang layak untuk banyak tantangan dalam menguraikan sistem besar menjadi layanan (arsitektur layanan mikro). Proses penyebaran, pembuatan versi, dan pengelolaan semuanya disediakan secara langsung oleh kerangka kerja Erlang OTP, yang telah diuji coba dengan menjalankan sebagian besar lalu lintas telekomunikasi dunia selama beberapa dekade. Karena OTP telah memikirkan solusi dengan baik, dimungkinkan untuk memecah bagian-bagian sistem menjadi layanan dan mendistribusikannya dengan lebih sedikit upacara dan usaha.

3. Tumpukan PEEP

PEEP Stack, istilah yang diciptakan dalam posting blog ini, singkatan dari Phoenix, Elixir, Ember, dan PostgresSQL. Phoenix terbentuk sebagai kerangka kerja web masuk dalam komunitas Elixir. Sepertinya itu mungkin aplikasi pembunuh untuk Elixir dan membawa lebih banyak pengembang ke Elixir. Ini sangat akrab jika Anda datang ke sana dengan pengalaman Rails, dan ini adalah dengan desain. Pahlawan Elixir lokal (ish) Chris McCord mengembangkan kerangka kerja menjadi sesuatu yang dapat dengan mudah dimasukkan ke dalam proyek sebagai pengganti Rails. Phoenix terasa sama produktifnya dengan Rails, tetapi ada beberapa alasan mengapa merasa lebih baik untuk membangun aplikasi web ambisius untuk mencuri istilah Ember.js. Membangun RESTful JSON API terasa sangat alami, dan bahkan lebih sederhana daripada di Rails. Dan dukungan bawaan untuk klien yang berkolaborasi satu sama lain secara real time melalui soket web sangat menarik. Fitur utama ini disebut saluran di Phoenix dan merupakan inspirasi untuk ActionCable di versi terbaru Rails

4. Ini Sangat Cepat

Saya selalu menolak argumen kinerja untuk memilih bahasa. Saya sangat ingat argumen yang dibuat melawan Java di tahun 90an, dan sekarang Java secara luas dianggap sebagai salah satu platform kinerja tertinggi untuk aplikasi besar. Jadi saya mengambil argumen ini dengan sebutir garam, tetapi setelah saya melihat bahwa bahasa dan ekosistemnya terasa sama menyenangkan dan produktifnya dengan Ruby, saya mulai memahaminya. Fakta bahwa Erlang tumbuh dari ruang telekomunikasi berarti telah dirancang untuk mendukung kinerja skala ROFL dan waktu aktif sejak awal. Ini bukan apa-apa. Kami terus terang berjuang untuk mendapatkan kinerja dari Ruby yang kami inginkan dan harus berjuang dengan ini lebih sedikit akan membuat kami sangat bahagia. Dan jangan sampai Anda berpikir, “Apakah pengalaman Telco diterjemahkan ke aplikasi web?” ada baiknya memeriksa ini tentang tim teknik WhatsApp dari beberapa tahun yang lalu.

Leave a Reply