19 ポイント 投稿者 GN⁺ 2024-05-23 | 5件のコメント | WhatsAppで共有
  • Bashにコンパイルされる、モダンで型安全かつランタイム安全なプログラミング言語
    • コンパイル過程で多くのバグやミスを処理し、スクリプトを書けるよう支援する。
  • 主な機能
    • モダンな構文: 多くの言語機能に親しみを感じられ、Bashを一から学ぶよりはるかに速く習得できる。
    • ランタイム安全性: 一般的なシェルスクリプトで欠けている主要な構成要素の1つであり、コンパイル時に多くのバグを捕捉できる。
    • 型安全性: 失敗する可能性のあるあらゆるBashコマンドと関数は、必ず何らかの方法で処理しなければならない。
  • macOSとLinuxでポータブルなソリューションとして利用可能。

GN⁺の意見

  • Amberの利点
    • 開発生産性の向上: モダンな構文と型安全性により、開発者はより速く安全にスクリプトを書ける。
    • バグの削減: コンパイル時に多くのバグを捕捉できるため、ランタイムエラーを減らせる。
  • 考慮事項
    • 学習曲線: 既存のBashスクリプト作成者にとっては、新しい構文や概念を習得するのに時間が必要な場合がある。
    • 互換性の問題: 特定のBashスクリプトとの互換性の問題が発生する可能性がある。
  • 類似プロジェクト
    • Fish Shell: ユーザーフレンドリーな構文と強力な機能を提供する、もう1つのシェルスクリプト言語。
    • Zsh: Bashより多くの機能とプラグインを提供するシェルで、多くの開発者に好まれている。
  • 技術導入時の考慮事項
    • 既存スクリプトの移行: 既存のBashスクリプトをAmberへ移行するのに必要な時間と労力を考慮する必要がある。
    • コミュニティサポート: 新しい言語を導入する際は、コミュニティとドキュメントの支援がどれほど整っているかを確認することが重要。

5件のコメント

 
cometkim 2024-05-27

Batshを思い出しますね(笑)

 
kandk 2024-05-24

これはいいですね!

 
coremaker 2024-05-24

こういう形態は、コンパイラというよりトランスパイラと呼ぶべきな気もします。

 
secret3056 2024-05-24

私もそう思いますが、最近は何でもコンパイラと呼ぶようです。
TypeScriptコンパイラ(?) も tsc と呼びますし…

 
GN⁺ 2024-05-23
Hacker Newsの意見

Hacker Newsコメントまとめ要約

  • BashとPOSIX shの互換性

    • Bashを書くためのツールではなく、POSIX shと互換性のあるツールであってほしい。MJMLがHTMLメールを書くように、Bashの複雑さを減らしてくれるツールが必要。
  • Transpilationに関する意見

    • Bashにtranspileするというアイデアは興味深い。インストール手順が簡単なのもよい。
  • サブプロセスと失敗処理

    • サブプロセスと失敗処理に対する、より良い方法が必要。現在のドキュメントにある方法は不十分に見える。パイプの終了コード伝播への言及がない。
  • 複雑なDevOps作業

    • Bashを使って複雑なDevOps作業をしたい。しかしBashの限界のために、jq、sed、awkのようなツールを一緒に使わなければならない不便さがある。Amberのようなツールがこの問題を解決できそう。
  • Amberの出力物

    • Amberの出力物は一貫性がなく、可読性が低い。大半のコンパイラ出力は人間には読みにくいが、Amberはまだ可読性を犠牲にするだけの利点を提供していない。
  • 組み込みシステムでの使用

    • 組み込みシステムで複雑なロジックを処理するとき、Amberは有用そう。Bashしか使えない環境で、より良い代替になり得る。
  • Bashの問題点

    • Bashではパイプラインとサブシェルが遅い。単純な条件文さえ複雑に変換される。外部CLIツールのバージョン互換性の問題もある。配列をネストできないというのは事実ではない。
  • Bash学習の重要性

    • Bashを学ぶことは重要。新しい代替を学ぶよりも、Bashの基本を学ぶほうが効率的かもしれない。
  • 外部プログラム呼び出しの問題

    • 単純な作業のために外部プログラムを呼び出すのは非効率。純粋なBashにコンパイルされてほしい。
  • Amber Smalltalkとの混同

    • Amber Smalltalkと名前が同じなので混乱があった。新しい言語が同じ名前を使っている。