The Cadence Programming Language
Introduction
Cadenceプログラミング言語は、スマートコントラクト開発を目的とした新しい高レベルプログラミング言語です。
この言語の目標は、重要度の順に以下の通りです。
- 安全性とセキュリティ:強力な静的型付けシステム、コントラクトによる設計(前提条件と事後条件)、リソース(Linear Typeに着想を得た)を提供します。
- 可監査性:可読性に重点を置きます。コードが何をしているかを簡単に検証でき、意図を明示でき、冗長性をほとんど犠牲にしません。
- シンプルさ:開発者の生産性と使いやすさに重点を置きます。コードを簡単に記述でき、優れたツールを提供します。
Terminology
この文書では、言語で許可されていない構文や動作を説明するために、以下の用語を使用します。
-
Invalid
とは、無効なプログラムは実行さえ許可されないことを意味します。(補足: 翻訳文書中では無効です
または出来ません
と表示されます)プログラムエラーは型チェッカーによって静的に検出され報告されます。 -
Run-time error
とは、エラーのあるプログラムは実行されるものの、プログラムの実行が中断されるような好ましくない動作が発生することを意味します。
Syntax and Behavior
この言語の構文の多くはSwift、Kotlin、TypeScriptから着想を得ています。構文、型、標準ライブラリの多くはSwiftにインスパイアされており、オプショナル、引数ラベルなどを普及させ、整数値や文字列の安全な処理を提供しています。
リソースはRustで普及したLinear Typesに基づいています。
イベントはSolidityにインスパイアされています。
免責事項:実際のCadenceコードでは、すべての型定義とコードはスマートコントラクトまたはトランザクションで宣言および格納する必要がありますが、例では簡略化のためこれらのコンテナを省略しています。
翻訳元->https://cadence-lang.org/docs/language/