Carbon、C++を置き換えることを目的としたプログラミング言語

数日前 Googleの従業員が明らかにした と呼ばれる新しいプログラミング言語を開発しているのは誰ですか "石炭"、 その C++の実験的な代替として位置付けられています、この言語を拡張し、既存の欠陥を排除します。

Carruthのプレゼンテーションによると、この言語は、パフォーマンスが重要なソフトウェアを作成できるように開発されました。 また、開発者がCarbonを使用して最新のプログラミング言語設計を利用できるようにしたいとも考えていました。

C ++と比較したCarbonのハイライトとして強調されたもののいくつかは、例えば、 よりシンプルな構文とAPIインポート。 Carruthによると、この新しい実験言語はC ++と双方向で相互運用可能である必要があります。つまり、プロジェクトは問題なくXNUMXつの言語から別の言語に移行できる必要があります。

さらに、インターネット上でオープンな方法で言語をさらに開発することが目標であり、そこでは誰でもソースコードを提供することができます。 プロジェクトはGithubで公開されています のために開いています プルリクエスト。 

この言語は、基本的なC++の移植性をサポートしていますは、既存のC ++コードと統合でき、C ++ライブラリをCarbonコードに自動的に変換することにより、既存のプロジェクトの移行を簡素化するツールを提供します。

たとえば、Carbonで特定のライブラリを書き直して、既存のC++プロジェクトで使用できます。 Carbonコンパイラは、LLVMおよびClangビルドを使用して記述されています。

カーボンの主な特徴のうち、次の点が際立っています。

  • 結果のコードのパフォーマンスは、低レベルのアドレスとビットレベルのデータにアクセスする機能を維持しながら、C++に匹敵します。
  • クラスの継承やテンプレートなど、既存のC++コードとの移植性。
  • 高速コンパイルとC++の既存のビルドシステムと統合する機能。
  • 異なるバージョンのCarbon間の移行を簡素化します。
  • 解放された後のメモリ領域のアドレス指定、nullポインタの逆参照、およびバッファオーバーフローによって引き起こされる脆弱性から保護する、メモリセーフツールを提供します。

もちろん、CおよびC ++の代替案としてRustが提案されていますが、これは実際には拡張言語ではなく、より本格的な言語です。もう一度始めましょう。 Carbonは、C ++の世界と互換性を保ちながら、Rustのようになろうとしています。 そうですね、Githubページには次のように書かれています。

  • LLVMを使用したC++パフォーマンスマッチング、ビットとアドレスへの低レベルアクセス
  • 継承からテンプレートまで、既存のC++コードと相互運用します
  • 既存のC++ビルドシステムで動作する高速でスケーラブルなビルド

C ++の段階的な改善は、それが単に取り除くことができない歴史的な手荷物のためにもはや不可能であるため、カーボンが必要であると主張されています。 個人的には、さらに進んで、C ++の段階的な「改善」が、実際には非常に大きな言語である理由の一部であることを提案します。

「C++の後継者になろうとしている新しい言語は常にあります。 私はプログラミング言語とプログラミングスタイルの実験を歓迎しますが、私は本当に論争を巻き起こしたくありません。 確立された言語を批判するのは簡単です(私たちはそれらの問題を知っています)が、言語ルール、ライブラリ、およびガバナンスにまったく新しい問題のセットを作成せずに代替手段を提供することは通常困難です。 Carbonは非常に新しく、仕様が不十分であるため、意味のある技術的なコメントをすることはできません」とC++の発明者であるBjarneStroustrup氏は電子メールで述べています。

Carbonは社内のGoogleプロジェクトとして開始されましたが、開発チームは最終的に、Googleまたはその他の個々の企業からの寄付を年末までに50%未満に減らしたいと考えています。 最終的に、彼らはプロジェクトを独立したソフトウェア財団に引き渡し、そこでその開発はボランティアによって実行されることを望んでいます。

最後に あなたがそれについてもっと知りたいなら プロジェクトの開発はApache2.0ライセンスの下で配布されており、それらを参照できることを知っておく必要があります。 次のリンクで。


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。