目次
16 関係: 低水準言語、ループ (プログラミング)、命題、アセンブリ言語、サブルーチン、Befunge、Brainfuck、素数、階乗、論理演算、難解プログラミング言語、Forth、INTERCAL、Malbolge、MC68000、1993年。
低水準言語
低水準言語(ていすいじゅんげんご、low-level programming language、低級言語とも)は、コンピュータ用のプログラミング言語のうち、コンピューターが命令を直接、もしくは直接に近い形で解釈し実行できる言語の総称。一般的には機械語やアセンブリ言語のことを指す。対義語は「高水準言語」である。低水準言語は、命令セットアーキテクチャ(プロセッサの構造に近いコマンドや関数)からの抽象化機能をほとんど、もしくは全く提供しない。実行環境のメモリの容量が少ないか、プロセッサの能力を最大限に引き出す必要がある場合に用いられる事が多い。 低水準とは、システムの階層構造を考えた場合に、ハードウェア寄りに位置する(低レイヤ、低水準)という意味である。
見る Falseと低水準言語
ループ (プログラミング)
この記事では、コンピュータプログラムにおけるループ (loop) について説明する。ループとは、特定の条件下において特定の処理を繰り返すこと、あるいはそのように作られた制御構造のことを言う。日本語の名詞として「繰り返し」とも。特定の条件が成立している限り、特定の処理を繰り返し何度でも実行する。逆に言えば、条件が成立しなくなったときに、処理を中止する。 ループの、特別な形あるいは最も一般的な形として、無条件に繰り返す無限ループがある。詳細は無限ループの記事を参照。 ループは、繰り返しを継続するかどうかを判断するための条件式(反復条件)を持つ。反復条件がループ構造の始まりに置かれる場合、そのようなループ構造のことを前判定ループと呼ぶ。一方、反復条件がループ構造の後ろに置かれる場合、これを後判定ループと呼ぶ。しかし結局のところ以上のような分類は、プログラミング言語の発展の初期に、まず最初にどちらか片方だけが作られ、後から別のものが追加されたという歴史的由来に過ぎず、ループの「内側」のどこかに「ループの脱出」がある、という構造に一般化できるので前判定/後判定という分類は本質ではない(実際に、たとえばVisual Basicの「Do...Loop 文」は、どの場合にも対応するよう対称的に作られている)。単にその「内側のどこか」が、その前端か後端にある場合が多い、というだけである。
命題
とは、論理学において判断を言語で表したもので、真または偽という性質(真理値)をもつものたとえば「雨が降っている」はこのままでは真偽の判断を下せないので命題ではない。場所や時間を特定すれば真偽が判断できるので命題になる。また数学で、真偽の判断の対象となる文章または式、定理、問題のこと。西周による訳語の一つ。 厳密な意味での「命題」の存在について、「意味」の存在と同様に疑問を投げかける哲学者もいる。デイヴィド・ルイスは「『命題』という語からわれわれが連想する概念は、それぞれ差しさわりがありながら、それぞれが差し迫った必要性(desiderata)(から定義された複数のもの)がごちゃまぜになった、何ものか」であると言い、この概念を一貫した定義のなかで捉えることの困難さを指摘している。
見る Falseと命題
アセンブリ言語
モトローラ MC6800 のアセンブリ言語のソースコード アセンブリ言語(アセンブリげんご、assembly language、アセンブリ)はビット列命令に対応した文字列命令を利用する低水準プログラミング言語の総称である"ニモニックによって表したプログラムをアセンブリ言語(assembly language)プログラムと呼ぶ。" 伊藤..
サブルーチン
プログラミングにおけるサブルーチン(subroutine)は、プログラム中で意味や内容がまとまっている作業をひとつにまとめたものである。サブプログラムあるいは副プログラム(subprogram)大滝みや子『2020年版 基本情報技術者 標準教科書』オーム社、2019年。pp.95-96「手続きと関数」「再帰呼び出し」の章とも呼ばれ、単に「ルーチン」(routine)と呼ばれることもある。プログラミング言語によっては、関数(function)やプロシージャあるいは手続き(procedure)とも呼ばれる。
見る Falseとサブルーチン
Befunge
Befunge は難解プログラミング言語の一つ。手続き型、スタック型で、自己変更的な言語である。実用言語ではない難解プログラミング言語のひとつ。 この言語のプログラムの命令は一次元の列ではなく二次元の格子上に並んでいて、実行する向きを上下左右に変更できる。この言語の任意の1命令は、ソースコード中で1文字で表現される。したがって、ソースコード中の行と桁がプログラムの格子の位置に対応する。 1993 年、Chris Pressey が「コンパイルが困難な言語」として作った。Befunge-93 はプログラムのサイズが 80 桁 25 行に固定されている。Befunge-93 の拡張 (一般化) である Funge-98 にはこの制限は無く、チューリング完全である。さらに Funge-98 には任意次元への拡張やマルチスレッド対応等が含まれている。
Brainfuck
Brainfuck(ブレインファック)はプログラミング言語のひとつ。なお名称に含まれるfuckが卑語であるため、Brainf*ck または Brainf**kなどと表記されることがある。
素数
素数(そすう、prime あるいは prime number)とは、 以上の自然数で、正の約数が と自分自身のみであるもののことである。正の約数の個数が である自然数と言い換えることもできる。 より大きい自然数で素数でないものは合成数と呼ばれる。 日本では、prime number の日本語への訳語は「素数」とすることが1881年(明治14年)に決まった。 一般には、素数は代数体の整数環の素元として定義される(そこでは反数などの同伴なものも素数に含まれる)。このため、有理整数環 mathbb での素数は有理素数(ゆうりそすう、rational prime)と呼ばれることもある。 最小の素数は である。素数は無数に存在する。したがって、素数からなる無限数列が得られる。
見る Falseと素数
階乗
数学において自然数 の階乗(かいじょう、factorial) とは、1 から までの全ての整数の積のことである。例えば、 である。空積の規約の下 と定義する。 階乗は数学の様々な場面に出現するが、特に組合せ論、代数学、解析学などが著しい。階乗の最も基本的な出自は 個の相異なる対象を1列に並べる方法(対象の置換)の総数が 通りであるという事実である。 階乗の定義は、最も重要な性質を残したまま、非整数を引数とする函数に拡張することができる。そうすれば解析学における著しい手法などの進んだ数学を利用できるようになる。
見る Falseと階乗
論理演算
論理演算(ろんりえんざん、logical operation)は、論理式において、論理演算子などで表現される論理関数(ブール関数)を評価し(正確には、関数適用を評価し)、変数(変項)さらには論理式全体の値を求める演算である。 非古典論理など他にも多くの論理の体系があるが、ここでは古典論理のうちの命題論理、特にそれを形式化したブール論理に話を絞る。従って対象がとる値は真理値の2値のみに限られる。また、その真理値の集合(真理値集合)と演算(演算子)はブール代数を構成する。 コンピュータのプロセッサやプログラミング言語で多用されるものに、ブーリアン型を対象とした通常の論理演算の他に、ワード等のビット毎に論理演算を行なう演算があり、ビット演算という。
見る Falseと論理演算
難解プログラミング言語
難解プログラミング言語 (なんかいプログラミングげんご)とは、意図的に読解が困難なように設計されたプログラミング言語である。英語では、Esoteric programming language (略してesolangとも)と言われる。 基本的には、実用性を目指したものではなく、ジョークのプログラミング言語の一種で、いわゆるハッカーの間では、この種のジョークはたしなみとみなされており、難解プログラミング言語に区分されるプログラミング言語はいくつも作られてきた。
Forth
Forth(フォース)は、スタック指向のプログラミング言語およびそのプログラミング環境である。Forth はしばしば、かつての習慣に従ってすべて大文字で綴られることもあるが、頭字語ではない。
見る FalseとForth
INTERCAL
INTERCALはプログラム言語。それ自身がプログラミング言語のパロディにもなっており、実用言語ではない。いわゆる難解プログラミング言語の典型例として知られている。 INTERCALは、FORTRANやCOBOLはもちろん、1960年代に提案された数々のプログラミング言語の構造や表記法も皮肉の対象としている。そのため、CやJavaに慣れ親しんだ今日の観点からすると、そのユーモアは少々時代遅れに感じられる部分もある。
Malbolge
Malbolgeは1998年にBen Olmsteadによって開発された、パブリックドメインの難解プログラミング言語である。名前は、ダンテの神曲地獄篇における地獄の第8圏であるマーレボルジェ(Malebolge)にちなんで名付けられた。 Malbolgeはチューリング完全である正確には、Malbolgeは言語仕様によりメモリが有限に制限されているため弱チューリング完全である。が、実用言語ではない。Malbolgeの異常な点は、最悪の、すなわち最も扱いにくく難解であるプログラミング言語となるべく設計されたことである。MalbolgeはINTERCAL、機械語、Brainfuckの最悪な部分を組み合わせたものであるという。しかし、理解を困難にするために用いたトリックのいくつかはごく単純化することができる。
MC68000
MC68000(エムシーろくまんはっせん)、68000は米・モトローラ(フリースケール・セミコンダクタを経由して、現NXPセミコンダクターズ)が開発したMPU(MPUはマイクロプロセッサを指すのにモトローラが使った語でマイクロプロセッシングユニットの略)である。略して68K(ろくはちケー)などとも。後継MPUも含めた同一アーキテクチャのシリーズを総称するときは、680x0と呼称される。モトローラ自体は周辺LSIを含めてM68000ファミリと呼称した。MC型番は量産ロットで、量産先行品はXC型番となる。M68000ファミリは、Apple Macintosh や Apollo/Domain、NeXTcube、HP 9000、Sun-3、ソニーNEWS、NEC EWS4800、シャープX68000、DCL Uステーションなど様々なパソコンやワークステーションに採用された。オペレーティング・システムとしては、Mac OS、Domain/OS、NeXTSTEP、HP-UX、SunOS、CP/M-68K、OS-9/68000、NetBSDなどがある。
1993年
この項目では、国際的な視点に基づいた1993年について記載する。
見る Falseと1993年

