論文の概要: Compilation Quotient (CQ): A Metric for the Compilation Hardness of Programming Languages
- arxiv url: http://arxiv.org/abs/2406.04778v1
- Date: Fri, 7 Jun 2024 09:28:05 GMT
- ステータス: 処理完了
- システム内更新日: 2024-06-10 14:50:13.583055
- Title: Compilation Quotient (CQ): A Metric for the Compilation Hardness of Programming Languages
- Title(参考訳): コンパイル基準(CQ):プログラミング言語のコンパイル困難度尺度
- Authors: Vince Szabo, Dominik Winterer, Zhendong Su,
- Abstract要約: プログラミング言語の複雑さの重要な側面は、プログラムのコンパイルがいかに難しいかである。
コンパイルの難易度を定量化する指標であるコンパイル商(CQ)を導入する。
Cは48.11、C++は0.60、Javaは0.27、Haskellは0.13である。
- 参考スコア(独自算出の注目度): 5.964023099122235
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Today's programmers can choose from an exceptional range of programming languages, each with its own traits, purpose, and complexity. A key aspect of a language's complexity is how hard it is to compile programs in the language. While most programmers have an intuition about compilation hardness for different programming languages, no metric exists to quantify it. We introduce the compilation quotient (CQ), a metric to quantify the compilation hardness of compiled programming languages. The key idea is to measure the compilation success rates of programs sampled from context-free grammars. To this end, we fairly sample over 12 million programs in total. CQ ranges between 0 and 100, where 0 indicates that no programs compile, and 100 means that all programs compile. Our findings on 12 popular compiled programming languages show high variation in CQ. C has a CQ of 48.11, C++ has 0.60, Java has 0.27 and Haskell has 0.13. Strikingly, Rust's CQ is nearly 0, and for C, even a large fraction of very sizable programs compile. We believe CQ can help understand the differences of compiled programming languages better and help language designers.
- Abstract(参考訳): 今日のプログラマは、それぞれ独自の特性、目的、複雑さを持つ、非常に多様なプログラミング言語から選ぶことができます。
言語の複雑さの重要な側面は、プログラムを言語でコンパイルすることがいかに難しいかである。
ほとんどのプログラマは、異なるプログラミング言語のコンパイル困難さに関する直感を持っているが、それを定量化する指標は存在しない。
本稿では,コンパイルプログラミング言語のコンパイル困難度を定量化する指標であるコンパイル商(CQ)を紹介する。
鍵となる考え方は、文脈自由文法からサンプリングされたプログラムのコンパイル成功率を測定することである。
この目的のために、私たちは合計で1200万以上のプログラムをサンプルにしました。
CQは0から100の範囲で、0はプログラムがコンパイルされないことを示し、100はすべてのプログラムがコンパイルされることを意味する。
一般的な12のプログラミング言語に対する我々の研究結果は、CQの多様性が高いことを示している。
Cは48.11、C++は0.60、Javaは0.27、Haskellは0.13である。
興味深いことに、RustのCQは0に近くなり、Cでは、非常に大きなプログラムがコンパイルされる。
私たちは、CQがコンパイルされたプログラミング言語の違いをよりよく理解し、言語設計者を助けると信じています。
関連論文リスト
- CRUXEval-X: A Benchmark for Multilingual Code Reasoning, Understanding and Execution [50.7413285637879]
CRUXEVAL-Xコード推論ベンチマークには19のプログラミング言語が含まれている。
各言語に対して少なくとも600人の被験者で構成され、合計19Kのコンテンツ一貫性テストがある。
Pythonでのみトレーニングされたモデルでさえ、他の言語で34.4%のPass@1を達成することができる。
論文 参考訳(メタデータ) (2024-08-23T11:43:00Z) - PTE: Axiomatic Semantics based Compiler Testing [7.203331838793759]
本稿では,PTEと呼ばれるコンパイラテストのための公理的セマンティクスに基づくアプローチを提案する。
その考え方は、emph(textbfprecondition, textbftransformation, textbfexpectation)という形で言語意味論の逸話を捉えた公理の集合を段階的に発展させることである。
論文 参考訳(メタデータ) (2024-01-02T04:50:47Z) - Creation of a CS1 Course with Modern C++ Principles [0.30458514384586394]
このポスターには、C++プログラミング言語を使用したCS1コースの設計の経験が含まれている。
私たちの目標は、C++プログラマの間でよく見られる悪い習慣を避けることです。
論文 参考訳(メタデータ) (2023-11-13T23:43:38Z) - Natural Language Embedded Programs for Hybrid Language Symbolic Reasoning [84.12154024070024]
本研究では,数学・記号的推論,自然言語理解,後続の課題に対処するための統合フレームワークとして,自然言語組み込みプログラム(NLEP)を提案する。
我々のアプローチは,構造化知識の自然言語表現を含むデータ構造上の関数を定義する完全なPythonプログラムを生成するよう,言語モデルに促す。
Pythonインタープリタが生成されたコードを実行し、出力をプリントする。
論文 参考訳(メタデータ) (2023-09-19T17:54:21Z) - Natural Language to Code Translation with Execution [82.52142893010563]
実行結果-プログラム選択のための最小ベイズリスク復号化。
そこで本研究では,自然言語からコードへのタスクにおいて,事前訓練されたコードモデルの性能を向上することを示す。
論文 参考訳(メタデータ) (2022-04-25T06:06:08Z) - AVATAR: A Parallel Corpus for Java-Python Program Translation [77.86173793901139]
プログラム翻訳とは、ある言語から別の言語へソースコードを移行することを指す。
AVATARは9,515のプログラミング問題とそのソリューションをJavaとPythonという2つの人気のある言語で記述したものです。
論文 参考訳(メタデータ) (2021-08-26T05:44:20Z) - Extending C++ for Heterogeneous Quantum-Classical Computing [56.782064931823015]
qcorはC++とコンパイラの実装の言語拡張で、異種量子古典プログラミング、コンパイル、単一ソースコンテキストでの実行を可能にする。
我々の研究は、量子言語で高レベルな量子カーネル(関数)を表現できる、第一種C++コンパイラを提供する。
論文 参考訳(メタデータ) (2020-10-08T12:49:07Z) - SIGMORPHON 2020 Shared Task 0: Typologically Diverse Morphological
Inflection [81.85463892070085]
形態的回帰に関するSIGMORPHON 2020の課題は、型的に異なる言語にまたがるシステムの一般化能力を調査することを目的としている。
システムは45言語と5つの言語ファミリーのデータを使用して開発され、追加の45言語と10の言語ファミリー(合計13言語)のデータで微調整され、90言語すべてで評価された。
論文 参考訳(メタデータ) (2020-06-20T13:24:14Z) - Quantifying the Impact on Software Complexity of Composable Inductive
Programming using Zoea [0.0]
Zoeaプログラミング言語で実装された構成可能なインダクティブプログラミングは、ソフトウェア開発に対する単純な宣言的アプローチである。
本稿では,Zoeaや従来のプログラミング言語で実装された等価コードのソフトウェア複雑性を定量的に比較した結果について述べる。
論文 参考訳(メタデータ) (2020-05-17T10:44:39Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。