19 poin oleh GN⁺ 2024-05-23 | 5 komentar | Bagikan ke WhatsApp
  • Bahasa pemrograman modern yang aman secara tipe dan aman saat runtime, yang dikompilasi ke Bash
    • Membantu menulis skrip dengan menangani banyak bug dan kesalahan selama proses kompilasi.
  • Fitur utama
    • Sintaks modern: Banyak fitur bahasanya akan terasa familier, dan dapat dipelajari jauh lebih cepat dibanding mempelajari Bash dari nol.
    • Keamanan runtime: Salah satu komponen utama yang sering tidak ada pada skrip shell biasa, dan dapat menangkap banyak bug pada saat kompilasi.
    • Keamanan tipe: Semua perintah dan fungsi Bash yang dapat gagal harus ditangani dengan cara tertentu.
  • Dapat digunakan sebagai solusi portabel di macOS dan Linux.

Opini GN⁺

  • Kelebihan Amber
    • Meningkatkan produktivitas pengembang: Berkat sintaks modern dan keamanan tipe, pengembang dapat menulis skrip dengan lebih cepat dan aman.
    • Mengurangi bug: Banyak bug dapat ditangkap pada saat kompilasi, sehingga kesalahan saat runtime dapat dikurangi.
  • Hal yang perlu dipertimbangkan
    • Kurva pembelajaran: Bagi penulis skrip Bash yang sudah ada, mungkin dibutuhkan waktu untuk mempelajari sintaks dan konsep baru.
    • Masalah kompatibilitas: Bisa muncul masalah kompatibilitas dengan skrip Bash tertentu.
  • Proyek serupa
    • Fish Shell: Bahasa scripting shell lain yang menawarkan sintaks ramah pengguna dan fitur yang kuat.
    • Zsh: Shell yang menawarkan lebih banyak fitur dan plugin dibanding Bash, dan disukai banyak pengembang.
  • Hal yang perlu dipertimbangkan saat adopsi teknologi
    • Migrasi skrip yang sudah ada: Perlu mempertimbangkan waktu dan upaya yang dibutuhkan untuk memigrasikan skrip Bash yang ada ke Amber.
    • Dukungan komunitas: Saat mengadopsi bahasa baru, penting untuk memeriksa seberapa baik dukungan komunitas dan dokumentasinya.

5 komentar

 
cometkim 2024-05-27

Jadi teringat Batsh, hehe

 
kandk 2024-05-24

Ini bagus ya!

 
coremaker 2024-05-24

Bentuk seperti ini rasanya lebih tepat disebut transpiler daripada compiler.

 
secret3056 2024-05-24

Saya juga berpikir begitu, tetapi belakangan ini sepertinya semuanya disebut compiler.
Compiler TypeScript (?) juga disebut tsc, jadi...

 
GN⁺ 2024-05-23
Komentar Hacker News

Ringkasan kumpulan komentar Hacker News

  • Kompatibilitas Bash dan POSIX sh

    • Akan lebih baik jika ini merupakan alat yang kompatibel dengan POSIX sh, bukan alat untuk menulis Bash. Seperti MJML yang digunakan untuk menulis email HTML, dibutuhkan alat yang mengurangi kompleksitas Bash.
  • Pendapat tentang transpilation

    • Ide untuk mentranspilasi ke Bash terasa menarik. Proses instalasinya sederhana, jadi itu bagus.
  • Subproses dan penanganan kegagalan

    • Dibutuhkan cara yang lebih baik untuk menangani subproses dan kegagalan. Metode yang ada di dokumentasi saat ini tampak kurang memadai. Tidak ada penyebutan tentang propagasi exit code pada pipe.
  • Pekerjaan DevOps yang kompleks

    • Ingin menggunakan Bash untuk pekerjaan DevOps yang kompleks. Namun, karena keterbatasan Bash, ada ketidaknyamanan karena harus memakai alat seperti jq, sed, dan awk bersama-sama. Alat seperti Amber tampaknya bisa menyelesaikan masalah ini.
  • Hasil keluaran Amber

    • Keluaran Amber tidak konsisten dan kurang mudah dibaca. Hasil keluaran kebanyakan compiler memang sulit dibaca manusia, tetapi Amber masih belum memberi keuntungan yang cukup untuk mengorbankan keterbacaan.
  • Penggunaan di sistem embedded

    • Amber tampaknya berguna saat menangani logika yang kompleks di sistem embedded. Di lingkungan yang hanya bisa menggunakan Bash, ini bisa menjadi alternatif yang lebih baik.
  • Masalah pada Bash

    • Pipeline dan subshell di Bash lambat. Bahkan conditional sederhana pun berubah menjadi rumit. Ada juga masalah kompatibilitas versi pada alat CLI eksternal. Pernyataan bahwa array tidak bisa dinest bukanlah fakta.
  • Pentingnya mempelajari Bash

    • Mempelajari Bash itu penting. Dibanding mempelajari alternatif baru, mempelajari dasar-dasar Bash bisa jadi lebih efisien.
  • Masalah pemanggilan program eksternal

    • Memanggil program eksternal untuk tugas sederhana itu tidak efisien. Akan lebih baik jika ini dikompilasi menjadi Bash murni.
  • Kebingungan dengan Amber Smalltalk

    • Ada kebingungan karena namanya sama dengan Amber Smalltalk. Bahasa baru ini menggunakan nama yang sama.