プログラミング言語において
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/07/19 08:03 UTC 版)
「符号属性」の記事における「プログラミング言語において」の解説
ほとんどのアーキテクチャでは、機械語では符号付きと符号なしの型の区別はない。それにもかかわらず、演算装置は通常、符号なし算術のキャリーフラグ(英語版)や符号付きのオーバーフローフラグ(英語版)などで、異なるCPUフラグを設定する。これらの値は、その後の分岐命令や算術命令の際に考慮に入れることができる。C言語やその派生語では、(キャラクタを含む)全ての整数型に符号属性が実装されている。unsigned修飾子は、型を符号なしに定義する。整数型のデフォルトの符号属性は符号付きであるが、signed修飾子で明示的に符号付きに定義することもできる。整数リテラルはU接尾子で符号なしにすることができる。例えば、32ビットコードで0xFFFFFFFFは-1になるが、0xFFFFFFFFUは4,294,967,295になる。 コンパイラは、符号付きの数値と符号なしの数値を比較したり、一方を他方にキャストしたりするときに警告を発することがよくある。これらは、符号付きと符号なしの値の範囲が異なるため、潜在的に危険な操作である。
※この「プログラミング言語において」の解説は、「符号属性」の解説の一部です。
「プログラミング言語において」を含む「符号属性」の記事については、「符号属性」の概要を参照ください。
プログラミング言語において
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/04/19 06:07 UTC 版)
「大きな泥だんご」の記事における「プログラミング言語において」の解説
Lisp での議論において、大きな泥だんご は異なる意味で使われており、この場合では Lisp における展性を示すために利用される。 Lispでは、以下のようなことを一般的に可能にすることを示す。 問題のドメインにより近く見える表記のために、言語の文法をコントロールするような マクロ を気楽に書くこと データ指向プログラミング スタイルを利用すること プログラムの部品をランタイムではなくコンパイル時に実行すること 将来の利用のため、変更された Lisp 実装を システムイメージ として保存すること これらの機能を合わせた結果、Lispは、ランタイム時に、言語実装自身が完全に書き直されうるような、異常な柔軟性を持つこととなった(例:リフレクションメタプログラミング)。それらが簡単な使用を通じて拡張されて、発展できる流動性と容易に起因することで、それが Lisp を "泥だらけ" にすることとなった。Lisp の突出した特徴である、Metalinguistic abstraction もまた、プログラマーに対して、完全に新しいおよび特異な概念・語彙を開発することを許すものである。 これらの概念・語彙は、処理や関数を説明するために、問題ドメインに取り組む時に、貧しいソフトウェアドキュメンテーションと結合でき、それらのプログラムが実行される結果、Lisp はデザインの観点からすれば、非常によく構成されているものになる。 しかし、これらのコードは、このコードを書いた開発者自身か、もしくは、非常に再帰的なコードのレイヤーを理解するために時間を快く費やすことができる他の開発者のみが理解可能なものになる。 ジョエル・モーゼス は、1970年代に、以下のような独創的な書き方で名前が挙がった: APL は美しいダイヤモンドのようなものだ - 欠けているところがなく、シンメトリーで構成されている。 しかし、あなたはこれに何も付けくわえることができない。あなたが、他のダイヤモンドをくっつけようとしたとしたとしても、より大きなダイアモンドは得られない。Lisp は大きな泥だんごのようなものだ。他の泥だんごを付け加えても、それは依然、泥だんごのままだ。 Mose はこれを強く否定しており、常に元の形に戻ろうとする性質を指して、Lisp を ビーンバッグ と代わりに呼ぶことを主張している。
※この「プログラミング言語において」の解説は、「大きな泥だんご」の解説の一部です。
「プログラミング言語において」を含む「大きな泥だんご」の記事については、「大きな泥だんご」の概要を参照ください。
- プログラミング言語においてのページへのリンク