ディストリビューションの開発者 openSUSEが発表 数日前の発表を通じて、 Nimプログラミング言語に関連するパッケージの初期サポートしたがって、openSUSEはArch Linuxオープンソースプロジェクトに参加して、Nim言語のパッケージを更新します。
メインサポート 対応する更新の定期的かつ迅速な生成を意味します Nimの現在のバージョンに。 コンパイルされたプログラミング言語は、プログラマーに実行時の効率を提供し、Python、Ada、Modulaなどの成熟した言語からの成功した概念を組み合わせます。
「実際のソフトウェアはオペレーティングシステムなしで実行されますが、必要な場合は、ファーストクラスのNimサポートを提供するものを選択してください。 SUSEのように。」 Nimプログラミング言語の作成者であるAndreasRumpfは、openSUSEと現在のところ更新されたNimとの互換性について尋ねられたときに言った。
このプログラミング言語を知らない人のために、私はあなたにそれを言うことができます Rumpfは2005年にNimを作成しました そしてXNUMXつ ニムの強みの、マクロシステムと実行時の効率に加えて、 あなたの標準ライブラリです、これは他の言語に似ており、ほとんどの標準機能をカバーしています; これらには、文字列の処理とフォーマット、非同期コード開発、ネットワーキング、さらには高水準言語機能(コンパイラ自体など)、または実行時に埋め込み、実行できるスクリプト用に特別に設計されたNimのサブセットであるNimScriptが含まれます。
Nim言語 これは、システムプログラミングの問題の解決に焦点を当てています。、静的型付けを使用し、Pascal、C ++、Python、およびLispを念頭に置いて作成されました。
のソースコード NimはC、C ++、Objective-C、またはJavaScript表現にコンパイルされます。 その後、結果のC / C ++コードは、利用可能なコンパイラ(clang、gcc、icc、Visual C ++)を使用して実行可能ファイルにコンパイルされます。これにより、Cに近いパフォーマンスが可能になります。もちろん、ガベージコレクター。
「Nimのファーストクラスのサポートを発表する最初のLinuxディストリビューションを手に入れることができて、とてもうれしく思います」と、Nimのリード開発者で本NiminActionの著者であるDominikPichetaは述べています。 「これにより、他のディストリビューションでも同じことができるようになることを願っています。」
Pythonと同様に、 Nimはブロック区切り文字としてインデントを使用します、ドメイン固有言語(DSL)を作成するためのメタプログラミングツールと機能のサポートに加えて。
また、ニム デフォルトで含まれているツールの広い範囲が付属しています。 コンパイラーでは、バックエンドとしてC、C ++、およびJavascriptをターゲットにすることができます。 開発を容易にするために含まれているいくつかのツールがあります:
- nimコンパイラ
- nimsuggest(言語の提案、オートコンプリート、エラー/問題の検出などのサポート)
- nimgrep(シンボルの検索とNimコードベースの検査のための組み込みのNimサポートを備えた強力なgrepの代替手段)。
- nim-gdbラッパー(Nimタイプのgdbサポート)
- 軽快(パッケージマネージャー)
現在、openSUSEを使用してx86-64、i586、ppc64le、およびARM64用にビルドされたNimパッケージがあります。、さらにopenSUSEビルドの自動テストがあります。 一般に、openSUSEでのNimの可用性には、セキュリティパッチのサポートとプッシュアップに加えて、特定のアーキテクチャの壊れたテストのプッシュアップが含まれます。
Nimには、多くの面で簡単に開発できる、非常に興味深く活気に満ちたパッケージのエコシステムがあります。 いくつか例を挙げると、Web開発からシステムプログラミング、科学、データ処理まで。 Weaveを使用して非常に高速な並列アプリケーションを開発し、KaraxまたはJesterを使用して完全にNimでフロントエンドおよびバックエンドのWebアプリケーションを開発し、ArrayMancerを使用して計算量の多い計算を実行できます。
最後に、パッケージはx86-64、i586、ppc64le、およびARM64アーキテクチャ用に生成され、リリース前にopenSUSEの自動テストシステムでテストされることに注意してください。
ノートでそれについてもっと知りたい場合、投稿で詳細を確認できます 次のリンクのオリジナル。