Mana Yang Lebih Baik, Golang Atau Nodejs?

Saat ini, web developer memiliki beragam pilihan bahasa pemrograman. Golang dan NodeJS adalah bahasa pemrograman paling revolusioner dalam pengembangan website. Bahasa ini perlahan menggeser bahasa server tradisional seperti Java dan PHP. Keduanya mendukung pengembangan website baik dari segi front-end maupun backend. Namun, mana yang lebih baik? Golang atau NodeJS? Meskipun sama-sama backend side programming keduanya memiliki perbedaan mendasar. NodeJS merupakan suatu framework pengembangan JavaScript yang mulai populer pada tahun 2018. Sementara itu, Golang atau Google Go adalah bahasa pemrograman baru terkenal beberapa tahun terakhir. Tren pengembangan back-end website saat ini membawa kita pada pola non-UI code yang berarti akan mengurangi kode terhubung langsung ke end-user. Untuk keperluan instance, data dari database hanya akan tersimpan dalam suatu tempat (umumnya dalam bentuk JSON). User hanya dapat mengakses data dari JSON ini. GoLang Golang adalah bahasa pemrograman open source dan gratis yang dikembangkan oleh Google pada tahun 2009. Bahasa ini cukup terkenal atas kontribusinya dalam membuat aplikasi jaringan yang lebih kuat, mudah, dan efisien. Golang membawa evolusi pada pengembangan website. Jargon Golang sesuai dokumentasinya adalah ekspresif, ringkas, bersih, dan efisien. Biasanya golang menempati sisi server karena sifatnya yang cepat, dan built in concurrency. Selain itu, juga mendukung website dengan tingkat trafik yang tinggi. Bahasa ini juga bersifat static sehingga tidak aka nada runtime error. Lebih lanjut, Golang juga mampu membuat tools dev-ops. Golang adalah teknologi yang membentuk aneka tools seperti Docker, Kubernetes, Terraform, dan Vault Keunikan Golang adalah lebih sederhana. Meskipun Golang tidak mendukung object oriented programming (karena tidak ada kelas dan object), tetapi golang mendukung struct. Dalam struct, user mendefinisikan sendiri tipe datanya. Oleh karena itu, Golang sering menjadi teknologi untuk membangun rest API. Golang juga termasuk dalam 16 bahasa pemrograman paling populer menurut Stack Overflow pada tahun 2018. Golang membangun website-website besar seperti Uber, BBC, Sound Cloud, dan Basecamp. NodeJS NodeJS adalah framework bahasa Javascript yang berbasis Google Chrome’s V8 engine. Untuk yang belum tahu, NodeJS diperkenalkan pertama kali pada JSConf 2008. Sama halnya dengan Golang, Node JS juga bersifat open-source dan mendukung crossplatfrom. Javascript mendukung front-end maupun back-end side. Oleh karena itu web developer tidak perlu mempelajari dua bahasa pemrograman yang berbeda. NodeJS merupakan bahasa pemrograman yang paling populer menurut StackOverflow. NodeJS cukup mumpungi untuk membangun website besar seperti Netflix, eBay, dan Groupon. Menurut NodeJs Foundation, 39% pengunanya menggunakan NodeJS untuk membangun front-end dan full-stack development. Sebaliknya, NodeJS tidak cukup terkenal untuk pengembangan front-end dan desktop application. Untuk mempermudah kelancaran pengembangan aplikasi, NodeJS difasilitasi oleh pustaka yang kaya dengan modulJS. Framework ini juga memiliki webserver sendiri sehingga memungkinkan untuk menjalankan website tanpa dukungan aplikasi lain seperti Apache. Penggunaan NodeJS sangat disarankan untuk pengembangan aplikasi real-time. Golang VS NodeJS Sebelum menentukan bahasa mana yang lebih baik, mari kita bandingkan kedua teknlogi ini berdasarkan faktor yang mempengaruhi kinerja bahasa pemrograman Performa Golang mumpuni untuk pengembangan aplikasi yang memiliki banyak microservices. Kecepatan Golang setara dengan C dan C++ yang artinya termasuk dalam kategori cepat. Built-in Garbage yang akan memonitor penggunaan memory. Sementara itu, NodeJS mendukung asynchoronous process. Service yang kecil akan dieksekusi di belakang layar tanpa mengganggu thread utama. Kode dalam nodeJS bersifat reusable. Hal ini cocok untuk proses update data dalam aplikasi real-time 2. Scalability dan concurrency Golang sangat terkenal dengan concurrency-nya. Fitur ini membuat Golang sangat ringan dan memilik performa yang sangat baik. Dengan concurrency ini, Golang dapat mengirim method dari satu channel ke channel yang lain. Sementara itu, NodeJS hanya mendukung single thread 3. Komunitas Pengembang NodeJs memiliki komunitas yang jauh lebih besar daripada GoLang. Hingga saat ini, NodeJS telah mencapai 1 juta download dan 56000 bintang pada Github. Golang memiliki komunitas yang lebih kecil. Namun, bukan berarti Golang dapat disepelekan. Komunitas ini terus berkembang dari tahun ke tahun. 4. Tools NodeJS lebih banyak didukung IDE daripada Golang. Npm adalah tools yang paling utama dari NodeJS, meskipun terkadang prosesnya sangat lama. Namun, NodeJS memiliki robust tools, seperti Gofmit, Godoc, GoMetaLiner, and Go ru Error handling NodeJs menggunakan program tradisional seperti try..catch untuk mendukung error handling. Namun, ini jauh lebih baik daripda Golang. Oleh karena itu, NodeJs Mana yang lebih baik? Bergantung jenis aplikasinya. Jika kita akan mengembangkan aplikasi dengan banyak microservices, dan berskala besar, gunakan Golang. Namun, jika project berupa aplikasi yang memiliki manual solution gunakan NodeJs Oleh karena itu, jawaban pertanyaan mana yang lebih baik, golang atau nodejs termasuk sulit untuk dijawab karena bergantung beberapa hal. Semoga mendapatkan pencerahan ya!

Benarkah NodeJS Akan Menggantikan PHP?

Web development semakin berkembang dari waktu ke waktu. Teknologi baru selalu bermunculan setiap harinya. Dari sisi back-end, terdapat dua bahasa pemrograman yang cukup mendominasi yaitu NodeJS dan PHP. PHP yang menjadi tulang punggung duni per-website-an diprediksi akan tergerus NodeJS yang merupakan pemain baru. Mampukah PHP tertap bertahan? Atau justru NodeJs akan berhasil menggantikan PHP? Pembahasan ini sebenarnya cukup “keramat” untuk diperbincangkan. Meskipun, pada awal kemunculannya Javascript hanya pada sisi front end,lambat laun merambah ke back-end dan menjadi kompetitor tangguh bagi PHP. Terlebih beberapa artikel pergeseran teknologi dari PHP ke NodeJS beberapa kali ter-blow up. Bukan hanya dalam negeri, artikel seperti “Which is better for back-end – PHP or Node js?” , “Is Node js killing PHP?” atau “Is NodeJS eating PHP Market?” sering menjadi topik perbincangan developer luar negeri. Sebagian orang akan mengganggap hal ini sebagai keuntungan. Tipe-tipe ini biasanya vendor besar yang sering mendapat ‘jatah’ project dari pemerintahan. Namun, tentu saja tidak sedikit yang akan menganggap hal ini menjadi malapetaka, karena project mereka akan otomatis berpindah tangan ke vendor yang lebih mampu. Jelas hal ini sebenarnya konsep yang salah kaprah. Jika ada teknologi baru yang lebih baik, mengapa tidak memilih yang lebih mudah?. Namun, benarkan NodeJS lebih baik dari PHP? Dan apakah PHP akan terus tergerus NodeJS? Sampai-sampai WordPresspun akan berpindah haluan ke NodeJS. NodeJS VS PHP PHP merupakan bahasa pemrograman paling umum yang dalam pengembangan webiste. Bahasa pemrograman ini dapat berperan sebagai compiler sekaligus interpreter. PHP pertama kali rilis pada tahun 1995. Saat ini versi terbaru PHP adalah 7.0.16 dan 7.1.2 yang resmi rilis pada tanggal 17 Februari 2017. Nah, NodeJS sebenarnya bukan merupakan bahasa pemrograman. Jadi, salah jika seseorang mengatakan bahasa pemrograman NodeJs. NodeJS merupakan suatu framework yang akan membawa bahasa pemrograman JavaScript ke sisi back-end. Untuk dapat menggunakan NodeJs kita harus paham bahasa pemrograman. Dari segi popularitas, NodeJS lebih unggul dari PHP. Sejak 2014 Framework NodeJS merajai kepopuleran bahasa pemrograman dengan angka 49,6% jauh melebihi PHP. Apa keuntungannya? Semakin populer suatu framework maka semakin dokumentasi akan semakin banyak. Hal ini akan mempermudah kita ketika mengalami kendala pengembangan proyek. Sebaliknya, tingkat pengguna bahasa pemrograman PHP semakin berkurang dari waktu ke waktu. Tingkat penurunan yang terjadipun cukup signifikan yakni mencapai 7% .  Di sisi lain , pengguna NodeJS meningkat tajam 18% selama 4 tahun. Dengan ini, terbukti bahwa developer-developer website mulai beralih ke NodeJS Selama proses development, PHP memerlukan web server. Meskipun server ini merupakan bawaan, namun hal ini akan memakan banyak resource server. Penggunaan server tambahan  seperti nginx tetap diperlukan untuk meningkatkan performa kecepatan PHP. Sebaliknya, NodeJS merupakan tipe single-fighter yang mampu berdiri sendiri tanpa memerlukan web server lain. NodeJS memiliki waktu eksekusi yang lebih baik dari PHP terutama dalam penambahan angka. Namun PHP memiliki waktu eksekusi yang lebih baik dalam hal operasi string, pengisian array, MySQL, dan membaca file. Perfoma NodeJS vs PHP Untuk kasus multi-tasking, NodeJS jauh lebih handal daripada PHP. Misal kita memiliki dua task yakni mengambil data dari database, dan menghapus file. Jika kita menggunakan PHP, proses ini akan dilakukan berurutan. Hapus file akan dilakukan setelah pengambilan data selesai. Namun, jika kita menggunakan NodeJS kedua hal ini dapat dilakukan bersamaan. Hasilnya, bisa jadi file terhapus duluan sebelum pengambilan data selesai. Hal ini tidak berlaku untuk multithread. NodeJS menggunakan konsep single thread, artinya hanya akan ada satu proses yang berjalan sepanjang waktu, berbeda dengan PHP yang berbasis multi-threaded. Misal terdapat empat orang mengunjungi web kita. Dalam PHP, proses ini dibuat empat thread dimana setiap pengunjung dilayani oleh 1 thread khusus. Setiap thread akan diproses dengan sistem antrian seperti sebelumnya. Sedangkan di Node.js, empat pengunjung itu akan di layani oleh 1 thread saja. Thread secara bergantian berpindah dari satu proses ke proses lain tanpa harus menunggu proses yang satu selesai. Sanggupkah NodeJS Menggantikan PHP? Sampai saat ini, kita belum bisa menyimpulkan bahwa NodeJS akan menggantikan PHP. Penggunaan NodeJS dan PHP sangat bergantung pada jenis aplikasi yang akan kita kembangkan. Pada akhirnya yang terjadi antara NodeJS dan PHP bukanlah kompetisi melainkan sinergi. Sebagai contoh, untuk project yang bersifat real-time, NodeJS lebih cocok untuk dipakai. Sebaliknya,  tidak semua hosting mendukung NodeJs, saat itulah kita harus memilih menggunakan PHP. Selamat bereksplorasi ! #HappyEnjoyneering!

Sebuah Seni Menerapkan “Clean Code”

Ketika kamu memilih menjadi seorang programmer, saat itu pula berarti kamu siap mendedikasikan jiwa dan raga untuk menulis kode program selama sisa hidupmu. Kode program akan menjadi bagian terbesar yang mendominasi pikiranmu. Pagi, siang, maupun malam kamu akan menghabiskan waktumu bersama kode program. Biasanya, programmer harus melanjutkan kode program dari programmer lain. Sebuah keberuntungan, ketika kita menemukan kode yang jelas dan terstruktur. Sebaliknya, ketika program yang kita temui “kurang bersahabat”, tentu kita akan kesulitan dalam melanjutkan project tersebut. Menyusahkan bukan? Itulah sedikit alasan mengapa kita harus mengetahui sebuah seni menerapkan “Clean Code”. Bad Code VS Clean Code Setiap programmer memiliki ciri khas programnya masing-masing. Ada programmer yang suka menulis kode program dengan jelas. Namun, ada juga tipe programmer yang “penting jalan” tanpa memperhatikan bentuk penulisan kodenya. Kode program seperti inilah yang disebut dengan istilah bad code. Bad code ini akan menjadi nightmare bagi programmer yang akan melanjutkan kode program sebelumnya. Bad code akan sering ditemui atau bahkan diproduksi sendiri, apalagi ketika sudah mendekati deadline. Tipe menulis asal-asalan ini akan menjerumuskan kita pada  bugs yang meningkat. Tak jarang juga kita akan bingung sendiri melihat kode program buatan sendiri. Akhirnya banyak waktu yang akan terbuang untuk fixing bugs ini dan waktu akan makin molor. Kebalikan bad code disebut clean code. Sebagai seorang programmer baik junior ataupun experienced, cobalah untuk menjadi good programmer. Programmer harus bertanggungjawab atas kode yang ditulisnya. Clean code inilah bentuk pertanggungjawaban ini. Selain kode yang lebih jelas dan terarah, clean code juga mampu mengurangi produksi bugs dan mempercepat software development. Jadi, lebih pilih mana? Clean code akan sangat berguna untuk membut kode kita lebih readable. Potongan kode akan menjadi jelas dan lebih terbaca. Terlebih ketika mengerjakan project secara tim, clean code ini hukumnya menjadi “wajib ‘ain fardhu kifayah”. Percayalah, bad code akan membuat silaturahmi dengan programmer lain menjadi renggang! Seni Menulis Clean Code Ada 7 aturan paling umum untuk menulis clean code yang harus kita ketahui 1. Aturan Penamaan Kesalahan ini adalah kesalahan paling umum terjadi. Biasakan menulis nama variable, fungsi, maupun method secara jelas dan deskriptif. Penamaan ini harus memiliki arti yang sesuai dengan tujuan pembuatan. 2. Aturan komentar Seringkali kita mengabaikan pemberian komentar pada header program maupun awal fungsi/method. Padahal komentar ini adalah satu-satunya kompas saat kita harus melanjutkan project lama loh. Tuliskan komentar dengan jelas Setiap fungsi, method, ataupun variable harus secara spesifik bertanggungjawab atas satu pekerjaan. Hindari penggunaan nested structure atau maksimal memiliki dua level indent. Jika suatu fungsi dapat melakukan lebih dari satu pekerjaan, fixing bugs akan lebih sulit karena kita akan berhadapan dengan banyak step. Selain itu, usahakan satu fungsi maksimal hanya 3 parameter saja. 4. Readability Buat kode program menyenangkan untuk dibaca, bahkan untuk beginner programmer. Indentation, whitespace, dan line breaks adalah hal-hal yang harus diperhatikan agar kode program kita selalu terlihat rapi. 5. If Tuliskan percabangan pada if dengan jelas. Perhatikan contoh berikut Pada kolom bad code program (kanan) akan mengecek terus menerus walaupun kondisi sudah terpenuhi, sedangkan untuk clean code program (kiri) akan berhenti mengecek jika kondisi sudah dipenuhi. 6. Well-Organized Project Aturan keenam ini juga merupakan aturan yang tidak boleh terlewatkan. Selama proses pengembangan, kita seringkali menambahkan file ataupun folder ke project yang kita buat. Penataan file yang berantakan seringkali membuat programmer lain kebingungan dengan project kita. Well-Organized Project akan membuat semuanya menjadi jelas dan updating lebih mudah. 7. Hapus kode yang Tidak diperlukan Selama trial project, tentu kita menambahkan banyak kode untuk mencapai keberhasilan. Mungkin kita akan merasa “sayang” untuk menghapus sisa-sisa perang ini. Biasanya kita hanya akan meng-comment potongan kode ini. Jika hanya sekali dua kali masih tidak begitu terasa, namun bagaimana jika ternyata kita tidak sadar melakukan hal ini pada 300 kelas? Mengerikan bukan? Oleh karena itu, biasakan menghapus kode-kode tidak berguan ini ya. Tapi jangan sampai menghapus potongan kode ini membuat error ya.. Nah, itu dia Sebuah Seni Menerapkan “Clean Code”. Semoga setelah membaca ini kalian hijrah ke jalan yang benar yaa ! Mungkin Anda Juga Suka : Kuliah IT Tapi Gasuka Coding ? Ini Dia Pekerjaan Buat Kamu ! Baca Juga : Clean Code