Menuju Spanel 2: Mengapa INI ketimbang YAML?

(Seri posting blog “Menuju Spanel 2″ akan membahas perombakan-perombakan yang terjadi pada Spanel generasi berikutnya, dibandingkan dengan generasi saat ini.)

Saat ini di Spanel 1.3, format file konfigurasi yang digunakan sebagian besar adalah YAML. Format ini rapi dibaca (seperti Python), mendukung data struktur kompleks, dan tersedia parser untuk Perl, Python, PHP, Ruby, dan bahasa-bahasa lain.

Lalu kenapa di Spanel 2 diganti menjadi INI?

Pertama, format YAML sedikit sulit dikuasai. Walaupun sintaks dasarnya seperti JSON atau Python, tapi ada detil-detil yang kadang menjebak, misalnya kewajiban memberi spasi setelah titik dua atau koma. Ada sintaks panjang dan sintaks pendek (mis: [1, 2, 3] utk array atau {a: 1, b: 2} untuk hash. Ada berbagai sintaks here-doc. Dsb.

Sementara itu format INI cukup sederhana dan dimengerti pengguna Windows sekalipun.

Kedua, yang terpenting, jika diparse lalu didump ulang, semua implementasi YAML yang ada menghilangkan formatting dan komen semula. Ini tidak ideal untuk file konfigurasi, karena di konfigurasi kita sering membubuhi komen yang kadang penting. Untuk format INI, lebih mudah membuat parser yang round-trip, artinya yang bisa menjaga formatting dan komentar.

Format INI yang sederhana juga memudahkan otomasi untuk menghapus/menambahkan konfigurasi dari skrip. Ini yang dilakukan git misalnya, git mengizinkan kita mengubah konfigurasi lewat opsi git itu sendiri.

Referensi: http://blogs.perl.org/users/steven_haryanto/2011/09/yaml-vs-ini-again-and-the-plan-for-yet-another-ini-module.html

Categories: Pengembangan

Leave a Reply