工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 産業技術

Bosque:マイクロソフトが開発したループ不要の新言語でコード品質向上

構造化プログラミングと抽象データ型は1970年代に普及し、それ以来、ほぼすべてのプログラミング言語で使用されてきました。これらの手法により、プログラマーはハードウェアアーキテクチャを気にせず、コードの意図とコア動作に集中できるようになりました。これがコンパイラと統合開発環境の黄金時代をもたらしました。

さらなる生産性向上、ソフトウェア品質の改善、いくつかの新しいコンパイラと開発者ツール体験を可能にするため、マイクロソフトのエンジニアたちは最近、Bosqueという新しいプログラミング言語を開発しました。

Bosqueは、機械と人間の両方にとってシンプルで理解しやすいコードを書くために設計されています。コーディングと開発プロセスにおける「偶発的な複雑さ」を回避するための多くの方法を提供します。

正則化プログラミング

構造化プログラミングモデルでは、フロー制御は条件、サブルーチン、ループによって管理されます。一方、新しいプログラミング言語は、可変状態、参照等価性、ループなどの複雑さの原因を排除します。そのため、開発者たちはこのパラダイムを「正則化プログラミング」と表現しています。

Bosqueは、TypeScriptに着想を得た構文と型システム、ML、JavaScript/Nodeに着想を得たセマンティクスの組み合わせから派生しています。ノン・オピニオンな型システムをサポートし、プログラマーが異なる公称型、構造型、組み合わせ型を使用して、問題領域の関連特徴を柔軟にエンコードできるようにします。

参考: Microsoft | Moving Beyond Structured Programming

この言語は「while」「do while」「for」ループを使用せず、条件を適用する際にも完全に異なるアプローチを取ります。マイクロソフトのコンピュータ科学者Mark Marron氏は、「ファンクタ」の概念を導入し、構造化ループを置き換えながらソフトウェア品質を向上させました。

シンボリックトランスフォーマーを持つファンクタ

Bosqueは、特殊なバルク代数データ操作と「none」(オプショナルデータ)処理の統合サポートを提供します。また、コレクション処理のパイプライン、および「if」と「match」を式としてサポートします。Bosqueには豊富な式プリミティブのセットがあるため、大量のステートメントコンビネータの必要性が低減します。この言語は、デバッグビルドのみで有効な「assert」と、すべてのビルドで有効な「check」をファーストクラス機能として提供し、さらに事前/事後条件とクラス不変条件もサポートします。また、Bosqueにはループ構造が一切ありません。

Bosqueは、マイクロサービス、サーバーレス関数、RESTful APIに依存するクラウドベースの開発プロジェクトで非常に有用になる可能性があります。ゼロコストローディングによるクイックスタート、超低オーバーヘッドトレーシング、最小限のパフォーマンス変動でのランタイムを可能にするかもしれません。

今後の展開

この新しい言語はまだ開発段階にあり、テストしたい場合はGitHubでコードが公開されています。

初期実験では、API自動マーシャリング、改良されたファジング、シンボリックテスト、安定したGCサポート付きリアルタイムコンパイルなど、いくつかの次世代体験を強化できることが示されています。

関連記事: NASAの安全クリティカルプログラムを書くための10のコーディングルール

Bosqueは改訂の対象であり、いくつかのバグと欠落機能があり、パフォーマンスはまだ大幅に改善可能です。Marron氏と彼のチームは、メモリ使用量の時間経過に伴う境界の自動設定や、追加の労力なしでランタイムエラーのないアプリの検証など、より高度な開発者ツール体験に注力する予定です。

産業技術

  1. マイクロプロセッサプログラミングの基礎
  2. 位相同期ループ(PLL):基礎、応用、設計ベストプラクティス
  3. マイクロソフトが会話AIでブレークスルー:高度マルチタスクニューラルネットワークを発表
  4. GLTR:AI生成テキストを統計的に検出する信頼性ツール
  5. 2021年 必ず学ぶべき9つのプログラミング言語:Go、Rust、Kotlinなど注目言語を解説
  6. すべての開発者が習得すべきトップ10クラウドプログラミング言語
  7. C言語演算子完全ガイド:算術・関係・論理・ビット演算子
  8. C言語マスター:初心者向け包括的PDFチュートリアル
  9. Cプログラミング入門:初心者向け包括チュートリアル
  10. Cプログラミング言語:包括的な概要
  11. Python print()で改行なし出力:endパラメータとその他のテクニック