Pkl - Bahasa pemrograman untuk Configuration buatan Apple
(pkl-lang.org)- Pkl(dibaca seperti Pickle) adalah bahasa pemrograman untuk menghasilkan konfigurasi, yang sebelumnya digunakan secara internal oleh Apple lalu di-open-source dan diumumkan rilis pertamanya
-
"Configuration that is Programmable, Scalable, and Safe"
-
- Bahasa statis seperti JSON, YAML, dan Property Lists memiliki keterbatasan saat kompleksitas meningkat
- Pkl bertujuan menciptakan keseimbangan antara bahasa statis dan bahasa pemrograman tujuan umum
Tur singkat Pkl
- Menyertakan fitur seperti class, function, loop, dan anotasi tipe agar sintaksnya familier bagi developer dan mudah dipelajari
- File Pkl digunakan untuk mendefinisikan skema konfigurasi, dan juga untuk mendefinisikan data konfigurasi lainnya
- Program Pkl dapat dengan mudah dirender ke format umum seperti YAML, JSON, dan XML
Validasi bawaan
- Data harus valid, dan di Pkl validitas dicapai dengan menggunakan anotasi tipe.
- Anotasi tipe dapat mendefinisikan constraint, dan constraint yang gagal akan memunculkan evaluation error.
Berbagi paket
- Pkl menyediakan kemampuan untuk memublikasikan paket dan mengimpornya sebagai dependency di dalam proyek
- Paket dapat dengan mudah dibuat dan dipublikasikan melalui GitHub Releases, dan dependency dapat dikelola melalui proyek
Language binding
- Pkl dapat menghasilkan konfigurasi sebagai output teks, dan juga dapat di-embed sebagai library di bahasa lain.
- Skema Pkl dapat dihasilkan menjadi class/struct dalam bahasa target, dengan dukungan untuk Swift, Go, Java, Kotlin, dan lainnya
Dukungan editor
- Bertujuan menghadirkan pengalaman terbaik untuk menulis Pkl
- Menyediakan dukungan yang kaya untuk editor JetBrains, termasuk plugin IntelliJ
- Menyediakan fitur seperti autocomplete, navigasi, dan validasi, serta berencana mendukung Language Server Protocol
Langkah berikutnya
- Menyarankan panduan mendetail tentang Pkl, referensi bahasa, dan komunikasi melalui GitHub Discussions
- Merekomendasikan sample repository untuk contoh penggunaan Pkl, unduhan CLI, dan pemasangan plugin editor
Pendapat GN⁺:
- Pkl adalah bahasa pemrograman baru yang dibuat untuk mengatasi kompleksitas pengelolaan konfigurasi, dan tampaknya akan berguna bagi para developer.
- Fitur validasi bawaan dan berbagi paket dapat meningkatkan reusabilitas dan maintainability kode.
- Binding ke berbagai bahasa dan dukungan editor memungkinkan Pkl diterapkan di lebih banyak lingkungan pengembangan, sehingga membantu developer mengelola konfigurasi dengan lebih mudah.
2 komentar
Saya sempat bertanya-tanya, ternyata ada binding Go. Sepertinya Apple juga cukup banyak menggunakan Go.
apple/pkl-go: Binding Pkl untuk bahasa pemrograman Go
Opini Hacker News