hotchpotch/wikipedia-multilingual-ir-pairs huggingface dataset:
社会 歴史
偏差値競争の高まった高度経済成長期から今日まで出身や学歴の高さに応じ賃金や処遇・昇進等の優劣が決まる状況を学歴社会などと表されたり、いわゆる肩書きが極度に社会生活における成否を左右する状況を肩書き社会といわれたりする。近年では、65歳以上の人口が若年層よりも上回る高齢化社会、またそれが加速した状況を高齢社会・超高齢社会というのをはじめ、多様な危機を抱えている社会をマルチハザード社会、ITなど情報通信技術を基本に社会が動く状況を情報化社会と称することがある。
社会 社会化
社会化とは個人が他人との相互的な関与によって、所属する社会の価値や規範を内面化するようにパーソナリティを形成する過程である。社会化はどのような社会集団にその個人が所属しているかによってその内容は異なる。社会化は教育と密接な関係がある。児童が基礎教育において行うものだけでなく、大人であっても所属集団において一般的に行われている。
社会の根本的な要素である人間の本性については心理学・精神分析学・社会哲学などにおいてさまざまな議論が行われている。人間の社会的な自我については深層心理学のフロイトが意識・前意識・無意識に構造化し、その中において無意識にあるイド、イドから発生する自我、自我を監視する超自我があるとした。そして自我はパーソナリティを構築し、人間に一貫性を持った価値観や態度を一定の行動パターンとして外部に示す。自我の発生についてはジョージ・ハーバート・ミードは自我が社会の相互作用において発生すると論じており、自我を手に入れるためには他者の態度を採用し、それに反作用できる役割を取得することが必要であると述べる。例えば児童はごっこ遊びでは他者の役割を模倣することによって他者の態度を知り、ゲームの中で集団で共有する目標に対して自己の役割を取得することで社会的な自我を成長させている。
社会 社会化
社会は構成員相互の協力によって営まれている。円滑に社会を営むために人間にはそれぞれ役割が与えられなければならない。各々がそれぞれの役割を果たすことによって、社会がその機能を果たすことが可能となる。たとえ、自給自足の生活を実践している人であっても生活の場の安全は、社会の理解によって保護されていると考えることができる。
そして、役割を果たし生活するために人間は社会に対し様々な形態で参加する。則ち、生活に密接した労働・生産・再生・消費・利用・処分・廃棄の行為であり、労働者・生産者・消費者・利用者等と行為に基づいて呼ばれる。社会の営みは、人間の様々な行為によって産業を興し、文化を育み、子供を教育し、交通手段を発達させ、医療を充実させて長い歴史を積み重ねてきた。時に利害の衝突等から戦争となり、戦争に備えて軍事を発達させ、戦争の深い悲しみは平和を希求させた。また、経済の発達は社会を不安定化させていた貧困や失業を解消する可能性を生み出したが、同時に環境を破壊し、次世代にまで引き継がざるを得ない環境問題を産みだし負の遺産となっている。
社会 社会行為
社会行為 (Social action) とは対象が他者である人間の行為を言い、日常的な会話から政治的な圧力まであらゆる行為がこれに含まれる。ただし自給自足の生活・個人的な信仰などは行為の対象が他者でないためにこれに含まれない。
行為の根本的な理由は欲求であるが、人間の欲求は単一の原理ではない。心理学者のアブラハム・マズローの自己実現理論によれば段階的に発展するものであり、生理的欲求・安全の欲求・親和欲求・自尊欲求・自己実現欲求と発展していくものとした。しかし欲求が直接的に社会行為を行わせるのではなく、社会化によって内面化している規範、行為のために利用できる資源などがその行為を行うべきかどうかの判断に影響する。このように社会行為は欲求・規範・資源から総合的に目的が判断されるが、この意思決定も行為の目的に付随する効果から導かれる場合と行為そのものに付随している目的から導かれる場合がある。前者は自己充足的行為、後者は手段的行為として区別され、例えば本を読むとしてもそれが自分の純粋な知的好奇心を満たすためである限りは自己充足的行為であるが、試験対策などのためであれば手段的行為である。
社会 社会行為
行為の分類についてマックス・ヴェーバーはその性格から四つに類型化する。まず非合理的行為としてまとめられるものにそれまでの習慣に基づいて行われる伝統的行為、そして感情の起伏に基づいた感情的行為が挙げられる。次に合理的行為としてまとめられる価値観に基づいた価値合理的行為と価値観に基づきながらも設定した目的を達成するために計画的に実行する目的合理的行為がある。また社会心理学では社会行動を社会の構成員が相互に他者と合力・助力や分業を行う協力、相互に他者と競争や攻撃を行う対立、社会生活そのものから離脱する逃避と区分する。
社会 社会構造
現代社会では構成員の利害を調整することにより秩序を維持して生活を円滑に行えるように様々な制度が定められている。人間の権利行為には、一般に政治が生み出す法に基づいて様々な制限が加えられている。社会秩序を乱す者は集団内で罰せられ更生させられるが、更生不可能な場合は永久に排除される（会社であれば懲戒解雇，国家であれば死刑など）。近年、社会で認知された人間が生まれながらに持つとされる自由な人権に対し、社会的にどこまで制限を加えることが可能か常に議論の対象となっており、制度に基づく義務は、大きな負担となってきている。
人間の自発的な行為には常に責任が伴うとされているが、法律に罰則がなければ社会的に罰することは困難である。その一方で、我々が共存している地球の許容にも限界があり、現代社会が抱える全ての社会問題には私達自身に解決する責務があると考えられている。人口爆発により地球の資源が不足する可能性が高まっているため、宇宙進出の試みも続けられている。
社会 社会の領域
社会は広範かつ多様な領域を持っているために複雑な体系となっている。例えば政治や経済は社会の領域に所属するものであるが、政治や経済には社会を超えた原理が存在しており、社会システムの中で複雑な機能を果たしている。
政治は公共的な意思決定や利害の調整などを行い、社会に秩序や動員をもたらす機能の一つである。
理論的な仮定として考えると、原始的社会においては秩序はなく「万人の万人に対する闘争」が存在した。これを終結させるためには個々の人々が勝手に判断して行動することを規制して利害を調整することが必要であり、これを達成するための機能が政治である。政治権力の元に社会秩序が徐々に形成され、しかもその政治構造に正当性がもたらされると社会は無政府状態から安定化した状態へと移行する。近代の政治哲学の議論では、秩序の形成においては初めは王や権力が支配する形で、原始国家が作られた。その後、共和制や民主制の国家や社会が作られた。実際には、いかなる原始的な社会にも、様々な社会秩序や協力行動・規則（ルール）・礼儀（マナー)・慣習（カスタム）、公式あるいは非公式な法律や制度などが存在している。
社会 社会の領域
経済は社会の中で希少性や効用性を持つ価値を配分する機能の一つである。人間には生産力があり、労働を通じて自然に作用することができる。生産によって得られる資源を消費することで人間は生活している。かつてはこの一連の活動も社会交換によって社会の中で行われていたが、物々交換、貨幣を介した取引が行われるようになって市場が形成された。この市場は社会行為の相互作用でありながらも異なる経済の原理で作動するようになる。従って市場には社会全体に対して自動的に価値を配分する機能をあるていど持っていると考えられている。
こどもの文化
こどもの文化（こどものぶんか）は、子供の遊びや行事を通じて形成される子供独自の文化である。
未就学あるいは義務教育段階である子供が、子供ら独自で、あるいは保護者や教師をはじめとする大人からの示唆や指導を受けながら形成し、その多くは以下に挙げるような、子供の形成過程で使われるさまざまな道具（おもちゃ）により、創造性、想像力など脳の発達と共に、文化的意味合いを持つものだと指摘できる。
こどもの文化 遊びの分類
フランスの思想家、ロジェ・カイヨワはヨハン・ホイジンガの著書「ホモ・ルーデンス」に影響を受け、「遊びと人間」を執筆した。その中でカイヨワは遊びを次の4つ要素に分類している。
アゴーン（競争）
運動や格闘技、子供のかけっこ
アレア（偶然）
くじ、じゃんけん、賭け事
ミミクリ（模倣）
演劇、物真似、ままごと
イリンクス（めまい）
メリーゴーランド、ブランコ
テレビゲームによって様々な遊びが仮想空間で行われるようになった。RPGも見方を変えれば上りを目指す双六の様なものであり、種々のシューティングゲームも射的といえる。
こどもの文化 遊具
公園でよく見かける遊具
ブランコ、すべり台、ジャングルジム、鉄棒、砂場、築山、シーソー、箱ブランコ、ロディ、雲梯、のぼり棒、回旋塔
特撮
特撮（とくさつ）は、特殊撮影技術（Special Effects;SFX）を指す略称、またはSFXが多用された映画やテレビ番組などの映像作品を指す総称。
特撮 解説
元々は「特殊撮影（SFX）」「トリック撮影」「操撮」と呼ばれていた撮影技術を総合的に指す略語であるが、日本では特撮作品と呼ばれる映画やテレビ番組などが大きなジャンルを形成するほど発展しており、特撮技術が大きな役割を果たして製作された作品群も含めて「特撮」と総称することもある。また、現在ではこの言葉が使われていた古い時代の作品群を指す通称としてや、この頃に盛んだった「特撮ヒーローもの」など一部の作品群を指す通称としても使われている。
撮影技術・特殊効果としての「特撮」は、映画創生期から存在し、ジョルジュ・メリエスやイギリスの制作者達によって、撮影時のカメラ操作を駆使した逆回し、高速・微速度撮影、コマ撮り、人や物が消えたように見える中抜きなどが作り出され、『大列車強盗』（1903年）では、映像の合成が試みられるなど、「実際には存在しない架空の映像」作りが行われた。また、実物を縮小したミニチュアの撮影なども長年に渡って使われ、映画の発展と共に特撮技術も発展していき、恐竜などが登場する『ロスト・ワールド』（1925年）は、当時の特撮映画の集大成ともいえ、後の『キング・コング』（1933年）ともども特撮映画を世に広めていった。
特撮 解説
1949年頃から1981年にかけて手作りのモンスターやミニチュア造形物などによる多くの特撮映画を手掛けてハリウッド映画の特撮人気を高め、20世紀の特撮映画界のパイオニアとして牽引した特撮監督レイ・ハリーハウゼンは「特撮の神様」と呼ばれ、『ゴジラ』や『スター・ウォーズ』など、後の特撮作品にも多大な影響を与えた。ハリーハウゼンが生み出した特殊映像・特殊効果は、今日の様々な特撮映像の源流ともなっている。
特撮 日本での歴史
庵野秀明は映画監督（特撮監督）の円谷英二が事実上の元祖と評しているが、円谷作品以前にも忍術などの表現でトリック撮影を用いた作品などは既に存在しており、円谷の師匠である枝正義郎は、合成やミニチュアを使用したトリック撮影を取り入れた作品を戦前の時期に制作している。円谷は前述の海外の特撮映画『キングコング』などに影響を受けて特撮を研究し、怪獣映画などを通して、1950年代以降に特撮映画を日本独自の映像技術として発展させ、尺貫法による寸法がミニチュアで使われ、映像文化や社会に多くの影響を与えた。
特撮 日本での歴史
予算も人数も少ない中で、毎年安定して精巧な着ぐるみやミニチュアやVFXを駆使した見応えのあるシリーズ作品を制作して放送できる体制やノウハウは日本固有のものであり、海外からは驚異的と評されている。テレビシリーズでは撮影技術のみならずコストダウンの手法も考案されており、特別なセットを作らずに既存の街並みや採石場跡地を流用したり、『ウルトラマン』では通常は16mmフィルムで撮影し光学合成が必要なカットのみ35mmフィルムとすることでフィルム代を節約している。また怪獣映画では、一度登場した怪獣の着ぐるみを改造し、別の怪獣として再利用することも行われた。前述のように制作体制が高効率化されている日本とは異なり、人海戦術を基本とするハリウッドで同等の番組を制作しようとすると多大なコストと人員が必要になるため、例えば『パワーレンジャー』でも日本で撮影された特撮パートを流用している。
「特撮」という言葉自体は、SFXを分かりやすく説明する為に、1958年頃から日本のマスコミで使われ始めており、第一次怪獣ブーム時に完全に定着している。それ以前には「特殊技術（特技）」という呼称も用いられていた。1958年公開の映画『炎上』では、炎上する金閣寺のミニチュアを本物のように見せることに成功した美術スタッフは、このような技術を「操撮」と呼んでいたという。
特撮 日本での歴史
テレビドラマでは『月光仮面』、『七色仮面』など等身大のヒーローが活躍する特撮作品が放映されはじめ、『七色仮面』は劇場公開を前提として、35mmフィルムで撮影されており、撮影費用は1本500万円という、当時のテレビ番組としては破格の金額で製作された。『新 七色仮面』で主人公を波島進から引き継いだ千葉真一は器械体操で培ったアクションを披露し、彼の演技は後に製作されていく変身ヒーローを題材とした特撮作品に大きな影響を与えている。1965年には主に東映作品の特撮パートを手掛けている株式会社「特撮研究所」が創立され、1966年には「空想特撮シリーズ」と銘打った円谷プロの『ウルトラマン』が放送されている。
「特撮映画」「特撮もの」という言葉は1980年代頃まではよく使われており、対象層やジャンルを問わずに「特殊撮影」を使った作品という意味であった。フィルム撮影時代は、本格的な特殊撮影を使った映画やテレビドラマは珍しく、高度な技術と多大な予算が必要なものだった。この他、ドキュメンタリー番組でも特撮が使用された。
特撮が多用されていても、他の既存ジャンルに近い物はその分類で呼ばれ、特撮物とは分類されない場合もある。例えば『西部警察』は多くの特撮が使われているが、一般的には刑事ドラマと呼ばれる。
特撮 日本での歴史
1990年代になると、コンピュータグラフィックス（CG）による、デジタル技術を活用したVFXの普及が拡大する。後に生成AIが登場した時のように、当時は映像処理でお手軽に「ズル」をしていると受け取られがちでもあったが、その利便性から日本でも定着する。そして映画の宣伝戦略から最新技術「CG」と「特撮」は別物でミニチュア撮影や操演・着ぐるみがもっぱら「特撮」であるとされ、旧式な手法（または作品）として否定的な意味で使われる場面も増えていった。2000年代になるとミニチュア・着ぐるみの怪獣映画が激減し、ゴジラシリーズも2004年に一旦終了した。そのため、過去の特撮作品やその流れを汲む作品という意味で「特撮」が使われることが多くなった。
デジタル映像技術の発達に比例して、これまで培われてきた「特撮技術」による撮影は急激に減少し、「特撮作品」の姿も変わりつつあるため、2010年代になると日本独特の文化として保護を求める声があがった。2012年（平成24年）には、東京都現代美術館の企画展「館長 庵野秀明 特撮博物館」が開催されて全国で巡回も行われた他、文化庁の振興策「メディア芸術情報拠点・コンソーシアム構築事業」の一環として実施された「日本特撮に関する調査報告書」が2013年（平成25年）5月に公開されるなどしている。庵野は、それまで文化庁の支援対象は漫画・アニメ・ゲームだけであったところに、「特撮」を同等の扱いで国の文書に明記できたことを重要な点としている。
日常生活
日常生活（にちじょうせいかつ、英: everyday life）は、毎日繰り返される普段の生活のこと。
日常生活
日常生活とは、人が生きるために日々繰り返しやっていることである。人によって若干内容は異なるが、たとえば次のようなこと。朝目覚めていつものように顔を洗う、歯をみがく、髪をとかす、いつもの場所で朝食食べる、着替える、学生なら自宅や学校で勉強をするとか宿題をするとか、自営業の仕事をしている人ならいつもの自分の仕事場でいつもの仕事をするとか、勤め人ならいつもの仕事場に行き仕事をして帰ってくるなどということや、農業をしている人ならいつもどおりに畑で仕事をしたり収穫物の出荷をしたり農機具の整備をしたり、漁業にたずさわっている人ならいつも通りに漁に出たり網の手入れをしたり、学業も仕事もしていない人はいつもどおり自宅やいつもの場所でいつも通りのことをして過ごすということである。そしていつもの場所で昼食をとり、いつもと同じ場所で夕食をとったり、あるいはいつものようにトイレに入ったりシャワーをあびたり風呂に入ったり、くつろいだ部屋着を着たり、自宅のいつもの場所でテレビを見たり、近年ならいつものようにYoutubeを見たりSNSをチェックしたり、いつものように甘いもの食べたり人によっては少し酒を飲んだり、そうしていつもの場所で眠りにつくことなどである。一般にはこういった行為、日々ルーチンのように繰り返されている一連の行為・行動が日常生活と呼ばれている。
日常生活
禅ではしばしば日常生活に焦点をあて、日常生活の中で禅を行うという手法もとる。日常生活に <禅的思考> を少しだけ取り入れることを生活禅（せいかつぜん）などと言う。たとえば、疲れたなと思ったらちょっと背筋を伸ばしてみる、とか、思い立ったらすぐに始める、などということである。
なお医療とくにリハビリに携わる職種の人々は <日常生活動作>という用語を使って、普段人々が共通して行っている日常生活の具体的な動作、特に仕事以外の動作に特別な注意を払っている。起床・就寝・着替え・食事・歯磨き・洗顔・排泄・入浴などといった行為・行動で行われる動作を具体的に指している。大きな負傷などをして骨・筋肉などを傷めたりすると、人々が当たり前と思っている日常生活を送ることが困難になる。寝たり起きたり着替えたりといったことすらできなくなってしまうのである。
日常生活
なおニュースというのは事件や普段とは異なった出来事を扱うものであるから、人々が日常生活でしていることはニュース媒体ではほとんど扱われない。報道機関の記者は通常、普通の人々のありきたりな日常生活をわざわざ取材しようとはしない。たとえ個人的には興味を持っている記者がいたとしても、ニュース記事にはできないので仕事としては取材を行っていられない。だが民俗学者、文化人類学者などは、普通の人が普段どのようなことをしているのか、人類は日々どのように生きているのかということに興味を示しそれなりに研究対象とすることがあり、欧米の学者によって人々の日常生活を扱った学術書も、数は多くはないが、書かれてはいる。
<日常生活> の対比概念
なお医療用語ではなく一般的な表現で <日常生活> と対比されているのは <非日常> であり、毎日のようには行わないこと、普段とは違う行為・行動である。日常生活というのは毎日のように繰り返されるので、人は慣れてしまい次第に感情が湧かなくなるものだが、非日常は普段とは違う行為なので印象に残り特別な感情を生むことが多い。
非日常のほうは喜ばしいこともあれば喜ばしくないこともある。たとえば入学試験を受けたり入学式や卒業式に出席することとかあるいは退学させられてしまうとか、また入社試験を受けたり入社式に出席したり退社のお別れ会に参加することとかあるいは突然退社勧告を受けるつまり突然クビになるとか、結婚届けを役所に出して結婚生活を始めたり離婚届けを出して新しく別々の人生を始めたりする日の特別な行為・行動である。また、まれに起きる事故や事件というのも日常生活には含められず、非日常である。たとえば自身が突然事故にあって救急車で病院に運ばれるとか、親が突然しかも初めて倒れて緊急入院したので病院にかけつけ看病したとか、親の葬儀の喪主の役を果たした、などということは日常生活には含まれず、非日常である。また普段の学業や仕事をわざわざ休んで気分転換のために旅に出るなどということも日常生活ではなく <非日常> である。
情報工学
情報工学（じょうほうこうがく、英語: computer science）とは、「計算機による情報処理に関連する科学技術の一分野」を指す言葉であり、「情報科学」や「計算機科学」ともいう。
なお英語の information engineering はソフトウェア工学における一手法であり（データ中心アプローチも参照）、日本語の「情報工学」とは対応しない。また似た言葉に情報学がある。
情報工学 概要
語感としては、情報科学という語がもっぱらおおまかに「科学」という語が指す範囲を中心としているのに対し、情報工学は「工学」的な分野に重心があるが、内実としてはどれもたいして変わらないことが多い（たとえば、大学の学部学科名などに関しては、個々の大学の個性による違いのほうが、名前による違いより大きい）。日本で、大学の工学部などにコンピュータ科学ないし情報関係の学科を設置する際に、「工学」部という語との整合のためだけに便利に使われた、という面が大きい（情報工学科の記事を参照）。
情報工学 概要
ここでは、いくつかの大学の学科紹介などから（研究などにおける専門的な解説ではない）抜粋する。情報工学とは「情報」を工学的に利用するための学問分野である。情報の発生（データマイニング、コンピュータグラフィックスなど）、情報の伝達（コンピュータネットワークなど）、情報の収集（コンピュータビジョン、検索エンジンなど）、情報の蓄積（データベース、データ圧縮など）、情報の処理（計算機工学、計算機科学、ソフトウェア工学）を扱う総合的な工学分野といえる。また情報工学を、物理現象を支配している原理や法則や社会・経済活動を情報という観点から捉え，コンピュータ上の設計手順に変換することにより自動化する方法を創出する学問分野とする見方もあり、これは英語でいうコンピューティング（computing）に相当する。いずれにしても以上の説明は、大学の学科紹介などからの抜粋である。
情報工学 概要
計算機科学や情報科学・情報工学を扱う学会としては、米国では発足が早かったこともあり、ACMは直訳すると「計算機械学会」である。国際機関である情報処理国際連合の1960年発足の頃には、コンピュータは（数の）計算のみならず情報を処理する機械であるという認識は広まっており、日本の学会発足に関しても、和田弘により「情報処理学会」の名が付けられ、情報処理という言葉が使われるようになった。また電子情報通信学会もこの分野をあらわす語として「情報」を使っている。
日本技術士会に「情報工学部会」があり、また同会が課している2次試験は部門別であるが、コンピュータソフトウェアに関連する部門を「情報工学部門」としている（技術士情報工学部門）。
学部名としては、1986年に設置された九州工業大学の情報工学部が最初である。1987年から学生を受け入れ始めた知能情報工学科と電子情報工学科の2学科に加えて、制御システム工学科、機械システム工学科、生化システム工学科（現在のシステム創成情報工学科、機械情報工学科、生命情報工学科）の全5学科すべてが情報工学を専門とする学部である。また、情報科学を専門とする学部として、情報科学部が存在し、情報学を専門とする学部として、情報学部が存在する。工学系では1996年に大阪工業大学が最初に設置している。
日本の大学の「情報工学科」では、英語名はcomputer science（計算機科学）としていることが多い。information engineering とするところは、2007年時点で、8/33程度である。information engineering を掲げる例に、ケンブリッジ大学の Information Engineering Division がある。
形式言語
形式言語（けいしきげんご、英: formal language）は、その文法（構文、統語論）が、場合によっては意味（意味論）も、形式的に与えられている（形式体系を参照）言語である。形式的でないために、しばしば曖昧さが残されたり、話者集団によって用法のうつろいゆくような自然言語に対して、プログラミング言語を含む一部の人工言語や、いわゆる機械可読な（機械可読目録を参照）ドキュメント類などの形式言語は、用法の変化に関しては厳格である。この記事では形式的な統語論すなわち構文の形式的な定義と形式文法について述べる。形式的な意味論については形式意味論の記事を参照。
形式言語 定義
形式言語の理論、特にオートマトン理論と関連したそれにおいては、言語はアルファベットの列（語 word） の集合である。
ただし、長さゼロの空単語（Empty Word, 記号 、、）も含む。
チューリングマシンの言語は単なる文字列なので、数学的構造(他のチューリングマシンを含む)を扱うには符号化(エンコード)し、その数値を解釈するプログラムを埋め込む必要がある。
チューリング完全機械は十分強力なので、この手法であらゆる列挙可能な構造を扱うことができる。チューリングマシンの数値表現については(チューリングマシンの)表記(description)という。
あるチューリングマシンが存在して、言語に属するすべての語 w に対して動作させると受理状態で停止し、属さない語には受理しないようなとき、その言語はチューリング認識可能という。
また、言語に属さないときは必ず拒否状態で停止する場合、その言語はチューリング判別可能であるという。(この2つの違いは、一部の入力に対してチューリングマシンが停止しない場合があるかどうかである)
また、チューリングマシンTMの言語 L(TM) とは、テープに w をセットしたあと、TMを動作させると受理状態に入って停止するような w の集合からなる言語(TM認識可能な言語)のことである。
形式言語 定義
この言語には以下のような演算が定義される。ここで、 と  は共通のアルファベットから構成される言語であるとする。
モデル理論においては、言語は定数記号、関数記号、述語記号の集合である。
形式言語 形式文法
形式言語は、形式文法と密接な関係がある。例として、次のような文脈自由文法の構文規則があるとき、
以下のように規則を再帰的に適用して、その言語の要素(名詞句)を列挙することができる。
...
すなわち、このような操作の任意回の繰り返しによって、その言語(文の集合)が得られる。
また、形式文法が階層をなすというチョムスキー階層は、生成する言語では言語の認識に必要な最小のオートマトンが階層をなすという形で現れる。
形式言語 その他
形式言語は、「人や計算機の如何なる記号変換能力から如何なる思考能力や計算能力が生まれるか」の学としての広義の数理論理学の研究対象であり、従って形式言語は、哲学・言語学・計算機科学・数学基礎論・数理心理学等々において重要な役割を演ずる。
それらの学問分野では、如何なる形式言語を研究すべきかの文法論（構文論・統辞論）や形式言語の意味論や演繹論が研究される。
形式手法という場合には、形式言語に加えて、検証・証明などの仕組みを込みで言う場合が有る。
自然言語を比較的単純な形式言語のモデルにあてはめて分析する言語学は、チョムスキーによって提唱された。音素や語幹などを素記号として考える。
実際の自然言語の構文規則（あるいは文法）は、文字通り自然発生的のものであり、形式言語における構文規則のように明確に規定するのは難しい。
形式言語 その他
ただ、素朴な文法論の主張は、形式言語の理論とみなすことができる。
素朴な文法論は、例えば次のようなものである。
こういう文法論はすなわち、素記号とは何かを定め、それらから文を作る構文規則を定めるのだから、まさに形式言語の理論である。
こういう形式言語論的な文法論は、実際の言語と比較することで自然言語の特徴を浮き彫りにし、自然言語のより深い理解へと導くことを可能とすることもなくはない。言語そのものではなく、言語行動の深層をなす人間精神を探るためには、むしろこういう文法論を数学化し、更に意味論・文法論を伴った論理学にまで推し進めることが有意義ともいえよう。
文脈自由言語
文脈自由言語（ぶんみゃくじゆうげんご）とは、次のような再帰的な生成規則をもつ文脈自由文法によって、与えられた言語の長さ n に対して O(n3) の時間で認識される形式言語。プッシュダウン・オートマトンで受理可能な言語と等価である。
ある言語が文脈自由言語でないことを証明するために文脈自由言語の反復補題が使われることがある。
文脈自由言語 例
基本的な文脈自由言語  は、偶数個の文字から成る文字列で構成され、各文字列の前半は a で、後半は b で構成される。L を生成する文法は  であり、プッシュダウン・オートマトン  に受容される。ここで  は以下のように定義される。
ここで z は初期スタック記号、x はポップ動作を意味する。
例えば、数式など（プログラミング言語などにおける）の括弧の対応は  というような規則になる。数式などはだいたい文脈自由言語である。
文脈自由言語 閉包属性
L と P を文脈自由言語、D を正規言語としたとき、以下も全て文脈自由言語である（閉じている）。
しかし、積集合や差集合に関しては閉じていない。これらの操作の具体的な内容については形式言語の情報工学的定義を参照されたい。
文脈自由言語は積集合において閉じていない。この証明は参考文献にある Sipser 97 の練習問題となっている。まず、2つの文脈自由言語  と  を用意する。これらの積集合  に対して文脈自由言語の反復補題を用いることで、それが文脈自由言語でないことを示すことができる。
文脈自由言語 決定性属性
文脈自由言語についての以下の問題は決定不能である。
文脈自由言語についての以下の問題は決定可能である。
正規言語
正規言語（せいきげんご）または正則言語（せいそくげんご）は、以下に示す性質（いずれも等価）を満たす形式言語である。
正規言語 定義
文字セット Σ 上の正規言語の集合は以下のように再帰的に定義される。
有限の文字列から構成される言語は全て正規言語である。その他の典型的な例としては、文字セット {a, b} を使った文字列のうち、偶数個の a を含む文字列の集まりは正規言語であるし、任意個数の a の後に任意個数の b が続く文字列で構成される言語も正規言語である。
正規言語 閉包属性
正規言語に対して、和集合、積集合、差集合といった演算を施した結果も正規言語である。正規言語の補集合（文字セットから生成される全文字列を全体集合とする）も正規言語である。正規言語の文字列を全て逆転させたものも正規言語である。正規言語の連結（ふたつの言語に含まれる文字列をあらゆる組み合わせで連結した文字列の集合）をしたものも正規言語である。「シャッフル」をふたつの正規言語に施した結果も正規言語である。正規言語と任意の言語の商集合も正規言語である。個々の操作の具体的意味については形式言語#定義を参照されたい。
正規言語 ある言語が正規言語であるかどうかの判断基準
チョムスキー階層での正規言語の位置によれば、正規言語は文脈自由言語の真部分集合である。すなわち、正規言語は文脈自由言語に含まれる一方、その逆は真ではない。
例えば、同じ個数の a と b を含む文字列から成る言語は文脈自由言語ではあるが、正規言語ではない。このような言語が正規言語ではないことを証明するには、マイヒル-ネローデの定理か反復補題 (pumping lemma) を使う。
正規言語を代数学的に定義するには、二つの方法がある。Σ を有限のアルファベットとし、Σ* を Σ 上の自由モノイド（Σ によって作られる記号列全て）とすると、f : Σ* → M はモノイド同型となる。ただしここで M は有限のモノイドである。そして、S を M の部分集合とすると、f−1(S) は正規言語となる。任意の正規言語はこのようにして構成することができる。
もう一つの方法として、L が Σ 上の言語であるとき、Σ* 上の同値関係 ~ を次のように定義する。
すると、L が正規言語であることは、同値関係 ~ の作る同値類の指標（濃度）が有限であることと同値になる。そして、同値類の指標は L を受理する最小の決定性有限オートマトンの状態の個数に一致する。
自然言語処理
自然言語処理（しぜんげんごしょり、英語: Natural language processing、略称：NLP）は、人間が日常的に使っている自然言語をコンピュータに処理させる一連の技術であり、人工知能と言語学の一分野である。「計算言語学」（computational linguistics）との類似もあるが、自然言語処理は工学的な視点からの言語処理をさすのに対して、計算言語学は言語学的視点を重視する手法をさす事が多い。データベース内の情報を自然言語に変換したり、自然言語の文章をより形式的な（コンピュータが理解しやすい）表現に変換するといった処理が含まれる。応用例としては機械翻訳や仮名漢字変換が挙げられる。
自然言語処理
自然言語の理解をコンピュータにさせることは、自然言語理解とされている。自然言語理解と、自然言語処理の差は、意味を扱うか、扱わないかという説もあったが、最近は数理的な言語解析手法（統計や確率など）が広められた為、パーサ（統語解析器）などの精度や速度が一段と上がり、その意味合いは違ってきている。もともと自然言語の意味論的側面を全く無視して達成できることは非常に限られている。このため、自然言語処理は形態素解析と構文解析、文脈解析、意味解析などをSyntaxなど表層的な観点から解析をする学問であるが、自然言語理解は、意味をどのように理解するかという個々人の理解と推論部分が主な研究の課題になってきており、両者の境界は意思や意図が含まれるかどうかになってきている。
自然言語処理 基礎技術
自然言語処理の基礎技術にはさまざまなものがある。自然言語処理はその性格上、扱う言語によって大きく処理の異なる部分がある。現在のところ、日本語を処理する基礎技術としては以下のものが主に研究されている。
自然言語処理 処理内容とその限界
現状発達している言語AI技術は、多次元のベクトルから、単語や文書の意味の近さを、その相互関係から推定しているもので、「AIの言語理解」は「人間の言語理解」は根本的に別物である。
「自然言語理解は、AI完全問題」と言われることがある。なぜなら、自然言語理解には世界全体についての知識とそれを操作する能力が必要と思われるためである。「理解; understanding」の定義は、自然言語処理の大きな課題のひとつでもある。
人間とコンピュータの間のインタラクションのインタフェース（ヒューマンマシンインタフェース）として、自然言語がもし使えたら非常に魅力的である、といったこともあり、コンピュータの登場初期（1960年頃）には自然言語処理にある種の過剰な期待もあった。SHRDLUなどの初期のシステムが、世界を限定することで非常にうまくいったことにより、すぐに行き過ぎた楽観主義に陥ったが、現実を相手にする曖昧さや複雑さがわかると、楽観的な見方や過剰な期待は基本的には無くなった。しかし、何が簡単で何が難しいのか、といったようなことはなかなか共有されなかった。
自然言語処理 処理内容とその限界
やがて、21世紀に入ってしばらく後に「音声認識による便利なシステム」がいくつか実用化・実運用され多くの人が利用したことで、何が簡単で、どういう事に使うのは難しいのかが理解されるようになりつつある模様である。
2013年のGoogleのWord2vecは今でも使われている。
2019年、GPT-2、BERTなど、ディープラーニングを応用した手法で大きなブレークスルーがあった。
2022年以降、ChatGPTのリリースにより自然言語処理に大きな注目が集まっている。
自然言語処理 具体的な課題
自然言語処理（理解）における課題をいくつかの例を用いて示す。
We gave the monkeys the bananas because they were hungry.（猿が腹を空かせていたので、バナナを与えた。）
We gave the monkeys the bananas because they were over-ripe.（バナナは熟れ過ぎていたので、猿に与えた。）
は、品詞としては全く同じ順序の並びである。しかし、they が指すものは異なっていて、前者では猿、後者ではバナナとなっている。この例文の場合、theyの指す内容は英語の文型の性質によって決定することができる。すなわち、「they（主語）= hungry（補語）」の関係が成り立ち、補語には主語の性質を示すものがくるので、hungryなのはthe monkeys、したがって、「they = the monkeys」と決まる。後者も同様に、over-ripeというのはthe bananasの性質だから、「they = the bananas」となる。つまり、これらの文章を区別し正しく理解するためには、意味、すなわち、猿の性質（猿は動物で空腹になる）とバナナの性質（バナナは果物で成熟する）といったことを知っていて解釈できなければならない。
自然言語処理 具体的な課題
Time flies like an arrow.（光陰矢の如し）
という文字列は以下のように様々に解釈できる。
英語では特に語形変化による語彙の区別をする機能が弱いため、このような問題が大きくなる。
また、英語も含めて、形容詞と名詞の修飾関係の曖昧さもある。例えば、"pretty little girls' school"（かわいい小さな少女の学校）という文字列があるとする。
他にも次のような課題がある。
形態素解析
中国語、日本語、タイ語といった言語は単語のわかち書きをしない。そのため、単語の区切りを特定するのにテキストの解析が必要となり、それは非常に複雑な作業となる。
音声における形態素解析
音声言語において、文字を表す音は前後の音と混じっているのが普通である。従って音声から文字を切り出すのは、非常に難しい作業となる。さらに、音声言語では単語と単語の区切りも（音としてのみ見れば）定かではなく、文脈や文法や意味といった情報を考慮しないと単語を切り出せない。
語義の曖昧性
自然言語処理 具体的な課題
多くの単語は複数の意味を持つ。従って、特定の文脈においてもっともふさわしい意味を選択する必要がある。
構文の曖昧性
自然言語の構文（構文規則）は曖昧である。1つの文に対応する複数の構文木が存在することも多い。もっとも適切な解釈（構文木）を選択するには、意味的情報や文脈情報を必要とする。
不完全な入力や間違った入力
主語の省略や代名詞の対応などの問題（照応解析）。音声におけるアクセントのばらつき。構文上の誤りのある文の解析。光学文字認識における誤りの認識など。
言語行為
文章は文字通りに解釈できない場合がある。例えば "Can you pass the salt?"（塩をとってもらえますか?）という問いに対する答えは、塩を相手に渡すことである。これに "Yes" とだけ答えて何もしないのはよい答えとは言えないが、"No" はむしろありうる答えで、"I'm afraid that I can't see it" はさらによい（塩がどこにあるかわからないとき）。
自然言語処理 統計的自然言語処理
統計的自然言語処理は、確率論的あるいは統計学的手法を使って、上述の困難さに何らかの解決策を与えようとするものである。長い文になればなるほど、従来型の自然言語処理では解釈の可能性の組合せが指数関数的に増大していき、処理が困難となる。そのような場合に統計的自然言語処理が効果を発揮する。コーパス言語学やマルコフ連鎖といった手法が使われる。統計的自然言語処理の起源は、人工知能の中でもデータからの学習を研究する分野である機械学習やデータマイニングといった分野である。
一見、統計的自然言語処理は確率モデル型自然言語処理にのみ適用されるように見えるが、実は4大自然言語処理の1つである注意モデル型自然言語処理にも統計の概念が必要なのである。
自然言語処理 主な応用
自然言語処理の応用技術として、以下のような技術が研究・実用化されている。また、言語学への応用も考えられている。
自然言語
自然言語（しぜんげんご、英: natural language）とは、言語学や論理学、計算機科学の専門用語で、「英語」・「中国語」・「日本語」といった「○○語」の総称。つまり普通の「言語」のこと。人間が意思疎通のために日常的に用いる言語であり、文化的背景を持っておのずから発展してきた言語。
対義語は「人工言語」「形式言語」、すなわちプログラミング言語や論理式など。
自然言語 概要
人間がお互いにコミュニケーションを行うための自然発生的な言語である。形式言語との対比では、その構文や意味が明確に揺るぎなく定められ利用者に厳格な規則の遵守を強いる（ことが多い）形式言語に対し、話者集団の社会的文脈に沿った曖昧な規則が存在していると考えられるものが自然言語である。自然言語には、規則が曖昧であるがゆえに、話者による規則の解釈の自由度が残されており、話者が直面した状況に応じて規則の解釈を変化させることで、状況を共有する他の話者とのコミュニケーションを継続する事が可能となっている。
人間のコミュニケーションを目的として設計された形式言語、といったようなものも存在するが（ログランなど）あまり多くない。人工言語という分類は多義的であり、形式言語のことを指している場合もあれば、エスペラントなど「人為発生的な自然言語」といったほうが良い場合もある。
自然言語 概要
また、文法,単語の用法に曖昧さを含み、使用する単語,単語の順序を入れ替える等が可能であり、感情で文章を制御しやすいため、多様な情景表現が可能となっている。しかし、文法、単語の用法が曖昧であるため、「言語仕様」のように明確に固定することは難しい。各自然言語自体も他言語との統合が起きる事により変化し続けており、自然言語の文法その他あらゆる面が言語学によって研究が続けられている。また、統計的手法を利用する計量言語学や、情報処理の対象として自然言語を扱う自然言語処理は、コンピュータの能力の向上にあわせ、またコンピュータのより便利な利用のために（例えばワードプロセッサや、音声入力による情報探索など）、さかんに研究され実地にも応用されるようになった。
プログラミング言語
プログラミング言語（プログラミングげんご、英語: programming language）とは、コンピュータに対して命令を行うために考案された、正確に定義された記号と規則からなるコンピュータ言語である。以前は、しばしばプログラム言語と表記された。プログラミング言語を使って行う作業のことを「プログラミング」といい、プログラミングをする人（あるいはそれを職業にしている人）のことを「プログラマ」という。
プログラミング言語が記述されたもののことを総称して「ソースコード」といい、ソースコードをコンパイルしてできたもののことを「プログラム」という。ソースコードは、原則として文字列や文章の形式を取る（#構文）。
プログラミング言語 概要
プログラミング言語は、情報を組織し処理するタスクについての理解を容易にし、アルゴリズムを正確に表現することができる。特に、チューリング完全であることが特徴である。
言語仕様とプログラムとその入力データの組合せで、そのプログラムを実行したときの結果（外部から観測される振る舞い）が完全に指定できなければならない。
プログラミング言語は構文規則（自然言語に関する言語学で言う統語論の規則に類似したもの）と意味規則（自然言語の意味論に類似した規則）で定義される。形式的ないし非形式的（自然言語による）な仕様が（構文規則は形式的で、意味規則はそうでない、というものが多い）実装とは独立した文書で示される言語もあれば、実装のみの言語もある。
多くの言語は、新たなニーズを満たすべく設計され、他の言語と組み合わされ、最終的に使われなくなる。あらゆる用途に使える万能言語を設計しようという試みはいくつかあったが、そういう意味で成功した言語は存在しない
。
プログラミング言語 概要
プログラミング言語の開発の大きな流れに共通する傾向として、より高いレベルの抽象化によってより高い問題解決能力を得ようとしてきた、ということが指摘されることがある。初期のプログラミング言語はコンピュータのハードウェアのレベルと極めて近かった。新たなプログラミング言語が開発される度に機能が追加され、プログラマはハードウェアの命令からより遠い形でアイデアを表現できるようになっていった。プログラミングをハードウェアから分離することで、プログラマの生産性は向上する。
毎年のように新たなプログラミング言語が作り出されている。2008年2月時点で、「コンピュータ言語辞典」には8,152種のプログラミング言語が記載されていた。
過去のプログラミング言語のなかの欠点と見なされた部分を解消するために、新たなプログラミング言語が構想され、作られてきた歴史がある。また多様なプログラミング言語が生み出される背景には、さまざまな事情があり、ハードウェアが時代とともに変化してきたことや、プログラミング言語というテクノロジーやコンピュータサイエンスの発展も影響しており、下のような諸事情もある。
プログラミング言語 概要
プログラミング言語の記述に簡潔さを求め、可読性が高いことを求め、バグが入り込みにくい記述を好むプログラマの方が多く、世の中では一般的である（特に、業務として、ミスの少ないプロの仕事としてプログラミングを行わなければいけない職業的プログラマで多い）一方で、ごちゃごちゃして難読で、一名で書くならともかく複数名でプログラムを書くと高頻度で誤読やバグを招きがちな記述でもあまり気にしなかったり面白がる趣味的なプログラマも一部にいる。
もともとプログラミング言語はもっぱら大学のコンピュータサイエンスの研究室や大手企業の研究所などの奥深くばかりで開発されていたのだが、ここ数十年では個人が趣味的に新しいプログラミング言語を構想しそのコンパイラを自分で書くための書籍なども時折出版されるようになり、つまり世の中の普通の人が新たなプログラミング言語を独自に作成するためのノウハウも広まってハードルが次第に下がってきている。
ウィキペディアに記事が掲載されているプログラミング言語を知りたい場合はプログラミング言語一覧を参照のこと。
プログラミング言語 分類・種類
プログラミング言語の分類法は多数ある。
ひとつの分類法としては（そして計算機科学や情報処理技術者などの教科書で、まっさきに一種の定番のように挙げてある分類方法としては）、機械寄り（CPU寄り）か人間（の思考）寄りか、で分類する方法であり、低水準言語 / 高水準言語 と分類する方法である。低級言語 / 高級言語 ともいう。
低水準言語の例としては、機械語の「命令コード」と1対1に対応する「命令語」を用いてプログラミングを行うアセンブリ言語がある（機械語も低水準言語のひとつに数える場合もある。）。
対比される高水準言語の例としてはPerl、Visual Basic、LISP、PHP、Java、Pythonなどを挙げることができる（なお、境界はやや曖昧で、C言語はかつては「高水準言語」と見なされていたが、その後それよりもレベルの高い高水準言語が多数登場したので、今日ではメモリ管理すらしないC言語は「低水準言語」に分類されることもある。）。
他の分類法としては、実行方法によってプログラミング言語を分類する方法もあり、インタプリタ方式言語（英: interpreted language） / コンパイラ方式言語（コンパイル方式言語、英: compiled language）と分類する方法である。
プログラミング言語 分類・種類
インタプリタ方式言語の例としてはPHPやRubyを挙げることができる。コンパイラ方式言語の例としてはC言語、C++、Erlang、Haskell、Rust、Go、FORTRAN、COBOLなどを挙げることができる。なお言語によってはインタプリタ方式で実行でき、かつコンパイル方式で実行することができるものもある。そして「一応、どちらの方法でも実行できるが、基本はコンパイル方式」などという場合もあるので、やや分類が曖昧になる場合がある。コンパイル方式でしか実行できない言語をわざわざ指さなければならない場合に「純コンパイル方式言語（英: pure compiled language）」などと分類する人もいる。
なおJavaはバイトコードにコンパイルをしてから実行するので、一応「コンパイル方式」に分類することも可能ではある。しかしJavaは、実行時コンパイラ (JIT) とJava仮想マシンを使用するので、しばしば「コンパイル方式とインタープリタ方式の中間的な方式」と指摘され、曖昧な位置づけである。
この他にも、以下のような分類法が存在する。
アプリオリ言語の代表例は、APL、Brainfuck、Emojicode、G、Hoon、J、Light Pattern、Mouse、Piet、プランカルキュール、Whitespaceなど。
プログラミング言語 分類・種類
汎用プログラミング言語の代表例は、Java、C Sharp、Python、Visual Basic、Rubyなど。
手続き型言語の代表例は、FORTRAN、ALGOL、C言語、COBOL、BASIC、Pascalなど。
スレッドを同時に複数個生成・管理できる言語を並行言語（もしくは並行性言語）、そうでない言語を非並行言語（もしくは非並行性言語）という。
なお、計算理論をチョムスキー階層という構想や理論が発表された時代（1950年代〜1960年代）には、計算表現能力に基づいてコンピュータの言語を、抽象的に、「タイプ0 / タイプ1 / タイプ2 / タイプ3」などに分類しようとしていたこともあった。ただし近年ではそのような分類法は滅多に持ち出されない。世の中のプログラミング言語のユーザーたちや言語開発者たちの関心は、すでに別のレベルに移っているからである。
プログラミング言語 分類・種類
それ以外に、コンピュータがプリンター（やモニタ）などを制御するために使うプログラミング言語を分類するための「ページ記述言語」という分類法もある。ページ記述言語の代表的な例としては、PostScriptを挙げることができる。たとえば、プリンターで美麗な印字をする場合、画面上のボタンやメニューで「印刷」という命令を選ぶわけだが、その時点でPC内のプリンター制御用プログラムがPostScript言語でプログラムを自動生成し、そのプログラムをケーブルやWi-Fi経由でプリンターに向けて送り出し、それを受け取ったプリンターの側でそれを実行するということで美麗な印字、繊細な曲線に満ちたフォントの印字を実現している。
その他に、あまり真面目な分類ではないが、わざわざ理解が難しくなるように作られた（冗談のような）プログラミング言語を特に「難解プログラミング言語」と分類することもある。
（他の分野でもありがちなことなのだが）プログラミング言語も分類法があまりに多数あるので、混乱しがちな分類法を整理整頓しようと「分類法の分類」をする人も出てくる。たとえば「プログラミングパラダイムによる分類法 / そうでない分類法」などである。
以上のようにプログラミング言語の分類法は多数あるので、各プログラミング言語は複数のカテゴリに分類可能である。たとえば、アセンブリ言語は「低水準言語」「非オブジェクト指向言語」に、Javaは「高水準言語」「オブジェクト指向言語」「並行性言語」に、Pythonは「オブジェクト指向言語」「スクリプト言語」に、LISPは「マルチパラダイム言語」「関数型言語」「手続き型言語」に分類することができる。
プログラミング言語 歴史
「コンピュータ」（という語）の定義次第ではあるが、それを「コンピュータ・プログラムによって駆動される機械」とするならば、コンピュータ・プログラムはコンピュータとともに生まれ、育ったということになり、そのプログラムの記法としてプログラミング言語があった、ということになる。チャールズ・バベッジが階差機関に続いて計画した解析機関は、パンチカードの先祖と言えるような穴の開いた厚紙の列によって制御されるという機構を持っていたため、その特徴から「19世紀のコンピュータ」「蒸気動力のコンピュータ」などと呼ばれることがある。
20世紀初頭には、タビュレーティングマシンによってパンチカードを使ったデータの機械処理が始まっている。そういった実際面ばかりではなく計算理論としても、1930年代から1940年代にかけて、アルゴリズムを表現する数学的抽象表現を提供するラムダ計算（アロンゾ・チャーチ）とチューリングマシン（アラン・チューリング）が考案された。ラムダ計算はその後の言語設計にも影響を与えている。
プログラミング言語 歴史
1940年代、世界初の電子式デジタルコンピュータ群が製作された。1950年代初期のコンピュータであるUNIVAC IやIBM 701では機械語を使っていた。機械語によるプログラミングは、間もなくアセンブリ言語によるプログラミングに取って代わられた。1950年代後半になると、アセンブリ言語でマクロ命令が使われるようになり、その後 FORTRAN、LISP、COBOLという3つの高水準言語が開発された。これらは改良を加えられ現在でも使われており、その後の言語開発に重大な影響を与えた。1950年代末、ALGOLが登場し、その後の言語に様々な影響を与えている。初期のプログラミング言語の仕様と使い方は、当時のプログラミング環境の制約（パンチカードによるプログラム入力など）にも大きく影響されている。
1960年代から1970年代末ごろまでに、現在使われている主な言語パラダイムが開発されたが、その多くはごく初期の第三世代プログラミング言語のアイデアの改良である。
これらの言語のアイデアは様々な言語に引き継がれており、現在の言語の多くは、これらのいずれかの系統に属する。
プログラミング言語 歴史
1960年代と1970年代は、構造化プログラミングに関する論争が盛んに行われた時期でもある。この論争で特に有名なものは、1968年にCommunications of the ACMに掲載されたエドガー・ダイクストラのレターGo To Statement Considered Harmfulであろう。その後の反論と指針としてはクヌースのStructured Programming with go to Statementsがある。
1960年代と1970年代は、プログラムのメモリ使用量を削減し、プログラマやユーザーの生産性を向上させる技法も進展した時期である。初期の第四世代言語 (4GL) は、同じプログラムを第三世代プログラミング言語で書いたときよりもソースコードの量を劇的に削減した。
1980年代は、相対的な統合の時代であった。C++は、オブジェクト指向とシステムプログラミングの統合である。アメリカでは、軍需に使うことを目的としてAdaというシステムプログラミング言語が標準化された。日本などでは、論理プログラミングを応用した第五世代言語の研究に資源を費やした。関数型言語コミュニティではMLとLISPの標準化の動きがあった。これらはいずれも新たなパラダイムを生み出そうというものではなく、それまでに生み出されたアイデアに改良を加える動きであった。
プログラミング言語 歴史
1980年代の重要な言語設計傾向の1つとして、大規模システムのためのプログラミングを目的としてモジュールの概念を採り入れた点が挙げられる。1980年代にモジュールシステムを採り入れた言語として、Modula-2、Ada、MLがあるが、それ以前には、既にPL/Iがモジュラープログラミングをサポートしていた。モジュールシステムはジェネリックプログラミングの構成要素とされることが多い。
1990年代中頃には、インターネットの急激な成長によって新たな言語が生み出される機会が生じた。Perlは1987年にリリースされたUNIX上のスクリプト言語だったが、ウェブサイトの動的コンテンツ作成に使われるようになった。Javaはサーバ側のプログラミングに使われるようになった。
プログラミング言語 要素
プログラミング言語の見た目は、その構文（syntax・統語論）で決定される。図形などを使うグラフィカルなプログラミング言語もあるが、たいていのプログラミング言語のソースコードは文字列である。ファイル形式ではプレーンテキストすなわちテキストファイルが用いられる。
また、たいていのプログラミング言語では、まず、（英語では lexical syntax などと呼ぶ）ソースの文字列から空白類を取り除き最小の意味のあるカタマリを取り出した「字句（トークン）」があり、構文は字句の並びである、という扱いのことが多い。字句を切り出して分類する処理を字句解析、その並びを調べる処理を構文解析という。
（字句解析のために）字句規則を示すのには正規表現が、そして（構文解析のために）構文規則を示すのにはバッカス・ナウア記法が使われることが多い。
下記はLISPの構文の一部分である。
これは、次のような規則である。
これに従う例として、12345、()、(a b c232 (1)) などがある。
構文上正しいプログラムが全て意味的に整合しているとは限らない、という設計の言語も多い。また、意味的に整合していても、それを書いた人が、自分の意図を正しく反映できていない場合もある。