Kenapa Erlang

Setelah C,C++,Java,PHP,Python,Javascript , kenapa harus Erlang ? Ada dua hal yang membuat saya suka dengan Erlang:

  1. lightweight process, process di erlang tidak seperti thread. Process di Erlang tidak berbagi resource dengan process yang lain, akan tetapi menggunakan resource yang lebih kecil dibandingkan dengan process yang berada di operating system. Karena tidak berbagi resource dengan process lain maka failure yang menyebabkan crash di suatu process tidak mempengaruhi process yang lain. Berbeda dengan layanan yang memanfaatkan multithreading dimana apabila satu thread yang sedang melayani satu request crash maka semua thread dalam process tersebut akan crash semua. Implementasi di erlang multithread digantikan dengan multi process. Satu process di erlang akan melayani satu request apabila process tersebut karena satu dan lain hal crash layanan akan tetap berjalan karena process yang lain tidak ikut crash,
  2. code hotswap , ya di erlang bisa dilakukan penggantian code secara live. Kita tidak perlu mematikan layanan apabila ingin melakukan patching aplikasi. Penggantian code ini bisa dilakukan permodul. Biasanya kita disain aplikasi kita menjadi beberapa modul, modul front end yang menjadi gerbang layanan terpisah dengan modul pemroses yang akan berjalan dalam proses yang lain. Kita dapat dengan leluasa mengganti modul pemroses ini karena penggantian modul dilakukan pada pemanggilan modul berikutnya, modul yang sedang live tidak diganggu gugat.
Jargonnya adalah let it crash !