https://d1021.hatenadiary.com
http://d1021.hatenablog.com

I. 記号論理学とは何か

命題論理では「箱Aの中にボールが入っている」, 「箱Bの中にボールが入っている」, 「箱Cの中にボールが入っている」,というような基本的な命題を a,b,c であらわす.これらの原子命題は真(True)か偽(False) の二つの状態(正式の用語では「真理値」)のみをとるものとして扱う. 言い換えれば,それ以上の内部構造をもたない原子のようなものと見なす.

モナド (哲学) - Wikipedia

ライプニッツは、現実に存在するものをそれを構成しているものへと分析していくと、それ以上分割できない、延長を持たない実体に到達すると考えた。これがモナドである。ライプニッツによれば、モナドは構成されたものではなく、部分を持たない、厳密に単純な実体であるが、にもかかわらず属性として状態を持つ。属性を持たなければすべてのモナドは区別できず、複数のモナドがあるとはいえなくなるからである(不可識別者同一)。

モナド - Wikipedia
レコード - Wikipedia

コンパクトディスクなどデジタルメディアと区別するためにアナログレコード、アナログディスクなどとも呼ぶ。

http://d.hatena.ne.jp/d1021/20141110#1415616086

コンピュータ言語 - Wikipedia

コンピュータ技術において用いられる人工言語の総称であり、形式言語である(親しみやすさなどの目的で、自然言語風にデザインされることもある)。

プログラミング言語の一群が最も有名であり、そのため「コンピュータ言語」と「プログラミング言語」は同じ意味でつかわれることもある。

コンピュータ言語の大きな分類として、人間が読める言語と読めない言語という分類がある。人間が読める言語は直接人間が使うことを想定して設計しており、人間が読めない言語は(部分的には人間が読める場合もある)可読性を犠牲にすることで、よりコンパクトでコンピュータが処理しやすい形式になるよう設計している。

プログラミング言語 - Wikipedia

コンピュータに対する一連の動作の指示を記述するための人工言語で、コンピュータ言語の一カテゴリである。

自然言語と同様、構文規則(言語学で言う統語論の規則)と意味規則(同じく意味論の規則)で定義される。

自然言語は人間同士の対話に使われるのに対して、プログラミング言語は人間が機械に指示を与えるのにも使われる。場合によっては、装置が別の装置を制御するのにも使われる。

プログラミング言語の存在意義は、人間が直接扱うには難しい機械語に代わって、より人間が扱いやすい形を提供することにある。
コンピュータが直接理解し実行することのできる言葉は、そのコンピュータの種類に固有の機械語だけである。したがって、最終的には機械語を使ってコンピュータが行うべき作業・計算を指示しなければならない。
しかし、機械語は複雑な決まりに従って並べられた数字の列であるので、人間にとっては理解しづらい。ごく簡単なプログラムでさえ、その機械語形式を扱うにはそれなりの習熟が必要である。まして、現在様々な業務で実用されているような複雑化したプログラムを機械語で書くことのできる人間は皆無である。
そこで、より人間に分かりやすい言葉で書いた指示を自動的に機械語に翻訳するプログラムをあらかじめ書いておく。そして自動翻訳で生成された機械語をコンピュータに実行させることにする。翻訳するプログラムは種類に応じてアセンブラコンパイラインタプリタなどと呼ばれる。必要な翻訳プログラムさえ書いておけば、人間は自分が最も扱いやすい言葉でコンピュータに指示することができる。

プログラミングの第一の目的は、コンピュータに命令を与えることである。そういった意味で、プログラミング言語は人間が行う他の表現に比較して、正確性と完全性を求められる度合いが非常に高いという特徴がある。自然言語で人間同士が対話する場合、曖昧であっても間違う可能性は低く、意図する所は伝えられる。しかし、コンピュータ相手では指示したとおりにしか動作せず、プログラマがコードに込めた意図を理解させることはできない。言語仕様とプログラムとその入力データの組合せで、そのプログラムを実行したときの結果(外部から観測される振る舞い)が完全に指定できなければならない。

これに対して、一般に自然言語の文法規則はプログラミング言語にくらべてはるかに複雑であり、例外も多い。ただしこれは規則が一般にいいかげんであったり、曖昧であるということではない。一般に自然言語の規則は奥が深く、驚くほどの合理性に裏打ちされていることがある。
また、自然言語の意味は、その文脈(コンテキスト)によって定まる部分も多い。これに対して、プログラミング言語は、コンピュータによって扱いやすいように、文脈によって意味が変わることができるだけないように設計されている。
自然言語は、誤用や流行などにより長い時間をかけ、たくさんの人間の利用により、意図せざる形で変化していく。しかし、プログラミング言語の規則は、言語設計者の意図と作業によってのみ、変更される。

http://d.hatena.ne.jp/d1021/20141206#1417862193