ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
ダウンロード
ブラウザよりも高速アクセス!
 

難解プログラミング言語

索引 難解プログラミング言語

難解プログラミング言語 (なんかいプログラミングげんご)とは、意図的に読解が困難なように設計されたプログラミング言語である。英語では、Esoteric programming language (略してesolangとも)と言われる。 基本的には、実用性を目指したものではなく、冗談プログラミング言語の一種で、いわゆるハッカーの間では、この種のジョークはたしなみとみなされており、難解プログラミング言語に区分されるプログラミング言語はいくつも作られてきた。.

29 関係: チューリング完全チューリングマシンハッカープログラミングパラダイムプログラミングコンテストプログラミング言語パロディフルクサスアセンブリ言語エイプリルフールコンパイラジョークBefungeBrainfuckC言語COBOL英語FORTRANHQ9+INTERCALIOCCCKEMURI (プログラミング言語)Lazy KMalbolgePietPxemUNIXUnlambdaWhitespace

チューリング完全

計算理論において、ある計算のメカニズムが万能チューリングマシンと同じ計算能力をもつとき、その計算モデルはチューリング完全(チューリングかんぜん、Turing-complete)あるいは計算完備であるという。 チャーチ=チューリングのテーゼによれば「計算可能関数」は、それを計算しようとする計算モデルがチューリング完全であれば計算できる。 一般的なプログラミング言語の背景にある計算モデルの多くはチューリング完全である。一見単純な機能しか持たない言語がチューリング完全な例としては、Lazy K、Brainfuckなどがある。究極的に単純な計算モデルとしては「がチューリング完全であると証明されている。 チューリング完全かどうかという事は、計算可能性理論の問題である。計算複雑性の分野の問題である時間や記憶容量の消費量については考えない。表計算における数式の処理などで、繰り返し処理を「どうやっても実現できなければ」それはチューリング完全ではない。 コンピュータ言語のうち、少なくともチューリング完全でなければプログラミング言語とは呼ばれない。逆にチューリング完全であるにも関わらず慣例的にプログラミング言語とは呼ばれないものもある。.

新しい!!: 難解プログラミング言語とチューリング完全 · 続きを見る »

チューリングマシン

チューリングマシン (Turing Machine) は計算模型のひとつで、計算機を数学的に議論するための単純化・理想化された仮想機械である。.

新しい!!: 難解プログラミング言語とチューリングマシン · 続きを見る »

ハッカー

ハッカー (hacker) とは主にコンピュータや電気回路一般について常人より深い技術的知識を持ち、その知識を利用して技術的な課題をクリアする人々のこと。また、コンピュータの「内側」を覗く人としても使用され、この内側を覗く行為が破壊行為あるいは不正アクセスを伴う場合は、ハッカーではなくクラッカーと言い換える事が提案されている。.

新しい!!: 難解プログラミング言語とハッカー · 続きを見る »

プログラミングパラダイム

プログラミングパラダイム (programming paradigm)とは、プログラミングにおけるパラダイムである。.

新しい!!: 難解プログラミング言語とプログラミングパラダイム · 続きを見る »

プログラミングコンテスト

プログラミングコンテストとは、コンピュータプログラミングの能力や技術を競い合うコンテストである。アルゴリズムなどに関する問題をコンピュータサイエンスや数学に関係する問題を解く早さを競うもの、ソフトウェアやネットワークのセキュリティ上の問題点を見つけることを競うもの、ソースコードの文字数(バイト数)の小ささを競うもの、人工知能(AI)を作って競うもの、作品(ソフトウェア)の評価を競うもの、など様々なコンテストが存在する。.

新しい!!: 難解プログラミング言語とプログラミングコンテスト · 続きを見る »

プログラミング言語

プログラミング言語(プログラミングげんご、programming language)とは、コンピュータプログラムを記述するための形式言語である。なお、コンピュータ以外にもプログラマブルなものがあることを考慮するならば、この記事で扱っている内容については、「コンピュータプログラミング言語」(computer programming language)に限定されている。.

新しい!!: 難解プログラミング言語とプログラミング言語 · 続きを見る »

パロディ

パロディ(parody、παρωδια)は、現代の慣用においては他の芸術作品を揶揄や風刺、批判する目的を持って模倣した作品、あるいはその手法のことを指す。.

新しい!!: 難解プログラミング言語とパロディ · 続きを見る »

フルクサス

フルクサス(Fluxus) は、リトアニア系アメリカ人のジョージ・マチューナスが主唱した前衛芸術運動、またその組織名である。ラテン語で「流れる、変化する、下剤をかける」という意味を持つ。1960年代を代表する芸術運動として、ネオダダ、ポップアートと並び称される。.

新しい!!: 難解プログラミング言語とフルクサス · 続きを見る »

アセンブリ言語

モトローラ MC6800 のアセンブリ言語のソースコード アセンブリ言語(アセンブリげんご、英: assembly language)とは、コンピュータ、マイクロコントローラ、その他のプログラム可能な機器を動作させるための機械語を人間にわかりやすい形で記述する、代表的な低水準言語である。なお、英語の assembly とは「組立」という意味である。.

新しい!!: 難解プログラミング言語とアセンブリ言語 · 続きを見る »

エイプリルフール

イプリルフール(April Fools' Day)とは、毎年4月1日には嘘をついても良いという風習のことである岩波書店『広辞苑 第六版』。イギリスではオークアップルデーに倣い、嘘をつける期限を正午までとする風習があるが、それ以外の地域では一日中行われる。 エイプリルフールは、日本語では直訳で「四月馬鹿」、漢語的表現では「万愚節」、中国語では「愚人節」、フランス語では「プワソン・ダヴリル」(Poisson d'avril, 四月の魚)と呼ばれる。.

新しい!!: 難解プログラミング言語とエイプリルフール · 続きを見る »

コンパイラ

ンパイラ(英:compiler)とは、コンピュータ・プログラミング言語の処理系(言語処理系)の一種で、高水準言語によるソースコードから、機械語に(あるいは、元のプログラムよりも低い水準のコードに)変換するプログラムである。.

新しい!!: 難解プログラミング言語とコンパイラ · 続きを見る »

ジョーク

ョーク(joke)または冗談(じょうだん)は聞き手や読み手を笑わせたり、ユーモアを感じさせる小咄や短い文の事。日本語では音と意味の近い冗句(じょうく)と当て字されることがある。ここでいう「ジョーク」は、悪ふざけ (practical joke) とは異なる。.

新しい!!: 難解プログラミング言語とジョーク · 続きを見る »

Befunge

Befunge はプログラミング言語の一つ。手続き型、スタック型で、自己変更的な言語である。実用言語ではない難解プログラミング言語のひとつ。 この言語のプログラムの命令は一次元の列ではなく二次元の格子上に並んでいて、実行する向きを上下左右に変更できる。この言語の任意の1命令は、ソースコード中で1文字で表現される。したがって、ソースコード中の行と桁がプログラムの格子の位置に対応する。 1993 年、Chris Pressey が「コンパイルが困難な言語」として作った。Befunge-93 はプログラムのサイズが 80 桁 25 行に固定されている。Befunge-93 の拡張 (一般化) である Funge-98 にはこの制限は無く、チューリング完全である。さらに Funge-98 には任意次元への拡張やマルチスレッド対応等が含まれている。.

新しい!!: 難解プログラミング言語とBefunge · 続きを見る »

Brainfuck

Brainfuck(ブレインファック)は難解プログラミング言語のひとつ。なお名称に卑語が含まれるため、Brainf*ckなどと表記されることがある。.

新しい!!: 難解プログラミング言語とBrainfuck · 続きを見る »

C言語

C言語(シーげんご)は、1972年にAT&Tベル研究所のデニス・リッチーが主体となって開発したプログラミング言語である。英語圏では単に C と呼んでおり、日本でも文書や文脈によっては同様に C と呼ぶことがある。.

新しい!!: 難解プログラミング言語とC言語 · 続きを見る »

COBOL

COBOL(コボル)は、1959年に事務処理用に開発されたプログラミング言語である。名前は「Common Business Oriented Language」(共通事務処理用言語)に由来する。.

新しい!!: 難解プログラミング言語とCOBOL · 続きを見る »

英語

アメリカ英語とイギリス英語は特徴がある 英語(えいご、)は、イ・ヨーロッパ語族のゲルマン語派に属し、イギリス・イングランド地方を発祥とする言語である。.

新しい!!: 難解プログラミング言語と英語 · 続きを見る »

FORTRAN

FORTRAN(フォートラン)は、1954年にIBMのジョン・バッカスによって考案された、コンピューターにおいて広く使われた世界最初の高級言語である。.

新しい!!: 難解プログラミング言語とFORTRAN · 続きを見る »

HQ9+

HQ9+はクリフ・ビッフルによって作られたジョーク向け難解プログラミング言語である。実用言語ではない。 HQ9+は4つの命令だけで構成されており、それらは'H'、'Q'、'9'、'+'という単一の文字で示される。HQ9+はチューリング完全ではなく、プログラミング言語としては不完全であるが、プログラミングの例題としてよく取り上げられるいくつかの問題に対しては極めて効率的である。.

新しい!!: 難解プログラミング言語とHQ9+ · 続きを見る »

INTERCAL

INTERCALはプログラム言語。それ自身がプログラミング言語のパロディにもなっており、実用言語ではない。いわゆる難解プログラミング言語の典型例として知られている。 INTERCALは、FORTRANやCOBOLはもちろん、1960年代に提案された数々のプログラミング言語の構造や表記法も皮肉の対象としている。そのため、CやJavaに慣れ親しんだ今日の観点からすると、そのユーモアは少々時代遅れに感じられる部分もある。.

新しい!!: 難解プログラミング言語とINTERCAL · 続きを見る »

IOCCC

The International Obfuscated C Code Contest(IOCCC, 国際難読化Cコードコンテスト)は、故意に難解なC言語のプログラムを書き、その読みにくさと複雑さを競うというハッカーの奇祭(プログラミングコンテスト)である。.

新しい!!: 難解プログラミング言語とIOCCC · 続きを見る »

KEMURI (プログラミング言語)

KEMURI(ケムリ)は、Brainfuckに類したプログラミング言語の一つ。実用言語ではない。 BrainCrash、HQ9+についで世界で3番目に短くHello worldを出力するプログラムを記述できる。 ほか、HQ9+とは異なり、任意の文字列を表示することも可能であるBrainCrashに、Hello worldを短く書けてチューリング完全という地位を受け渡してしまった--> KEMURIはスタックマシンであり、0~255の値が入るスタックがある。 実用性はほとんど無いように思われるが、KEMURI_PLUSではチューリングマシンで実行可能なあらゆるプログラムが記述できる(チューリング完全である)とされている。.

新しい!!: 難解プログラミング言語とKEMURI (プログラミング言語) · 続きを見る »

Lazy K

Lazy K(れいじーけー)は組み込み関数が3つしかない、純粋関数型言語である。似た言語として、同じような表記をする、非純粋関数型言語であるUnlambdaがある。.

新しい!!: 難解プログラミング言語とLazy K · 続きを見る »

Malbolge

Malbolgeは1998年にBen Olmsteadによって開発された、パブリックドメインの難解プログラミング言語である。名前は、ダンテの神曲地獄篇における地獄の第8圏であるMalebolgeにちなんで名付けられた。 Malbolgeはチューリング完全であるが、実用言語ではない。Malbolgeの異常な点は、最悪の、すなわち最も扱いにくく難解であるプログラミング言語となるべく設計されたことである。MalbolgeはINTERCAL、機械語、Brainfuckの最悪な部分を組み合わせたものであるという。しかし、理解を困難にするために用いたトリックのいくつかはごく単純化することができる。.

新しい!!: 難解プログラミング言語とMalbolge · 続きを見る »

Piet

Piet(ピエト)は、プログラミング言語であり、難解プログラミング言語のひとつである。 Ook! などのいくつかの難解プログラミング言語を開発した David Morgan-Mar がピエト・モンドリアンの作品に影響を受けて考案した言語で、文字ではなく色を組み合わせて記述する。 サンプルソースコードを一見すると、モンドリアンの『赤・青・黄のコンポジション (1930)』のような抽象画のように見える。.

新しい!!: 難解プログラミング言語とPiet · 続きを見る »

Pxem

PxemによるHello, worldプログラム。見ての通り、中身には何も記述されていない。 Pxemは2008年にぬこによって作られたジョーク向け難解プログラミング言語である。実用言語ではない。 なお、「Pxem」と言う名前については、特に意味は無く、ただキーボードで打ちやすいというだけである。 ファイル名をもコードとして解釈する特徴により、0バイトでのプログラミングを可能にする。.

新しい!!: 難解プログラミング言語とPxem · 続きを見る »

UNIX

UNIX (ユニックス、Unix、)は、コンピュータ用のマルチタスク・マルチユーザーのオペレーティングシステムの一種である。公式な商標は「UNIX」だが、商標以外の意味として「Unix」、またはスモールキャピタルを使用して「Unix」などとも書かれる。Unixは1969年、AT&Tのベル研究所にて、ケン・トンプソン、デニス・リッチーらが開発を開始した。 当初はアセンブリ言語のみで開発されたが、1973年にほぼ全体をC言語で書き直した。このため、Unixは歴史上、初めて高水準言語で書かれたOSであると言われる。 1973年の段階ではPDP-11に依存したコードが多く、移植性は低かったが、その後徐々にPDP-11に依存したコードを減少させ、1978年にInterdata 8/32への移植に成功して以降、徐々に他のプラットフォームにも移植されていった。 現在では「Unix」という語は、Unix標準に準拠するあらゆるオペレーティングシステムの総称でもある。現在ではUnixシステムは多数の系統に分かれており、AT&Tの開発停止後も、多数の商用ベンダーや非営利組織などによって開発が続けられている。 1970年代から1980年代の初期にかけて、Unixは大学や研究所などの教育機関で広範囲に採用され、特にカリフォルニア大学バークレー校をオリジナルとするBSD系統が誕生した。また Version 7 Unix や UNIX System V の特徴を持つオペレーティングシステムは「伝統的なUNIX」(traditional Unix)とも呼ばれる。 2007年に、「UNIX」の商標の所有者である標準化団体のThe Open Groupは、Single UNIX Specificationを完全に満たすと認証を受けたシステムのみが「UNIX」の商標を得られるとした。このためそれ以外のシステムは(ずっと以前から、AT&T版およびBSD以外を指して使われていた用語だが)「Unixシステムライク」または「Unixライク(Unix系)」と呼ばれるようになった。ただし The Open Groupはその呼称を気に入っていない。 現在では多く使われているUnixとしてはmacOS、AIX、HP-UX、Solarisなどがある(いずれも商用)。また認証を受けていないUnix系としてはLinux(派生OSにAndroid他)やMINIX、BSDの派生OS(FreeBSD、NetBSD、OpenBSD、DragonFly BSDなど)がある。.

新しい!!: 難解プログラミング言語とUNIX · 続きを見る »

Unlambda

Unlambda(アンラムダ)はコンビネータ論理とラムダ計算に基づく、仕様の小さな、ほぼ純粋な関数型言語のプログラミング言語である。デビッド・マドレ(David Madore)によって設計された。.

新しい!!: 難解プログラミング言語とUnlambda · 続きを見る »

Whitespace

Whitespace(ホワイトスペース)は、プログラミング言語のひとつであり、またそれを動作させるインタプリタを指している。WhitespaceはGPLにより配布されている。実用言語ではない難解プログラミング言語のひとつ。 本来 "whitespace" とは「空白」や「余白」を意味する英単語である。多くの一般的なプログラミング言語では空白に相当する文字(スペース、タブ、言語によっては改行も)は他の言語要素間の区切りとして使われている。しかし、言語 Whitespace においてはプログラムは空白文字だけで構成される(それ以外の文字列はコメント扱いで無視される)。そのため、一見するとプログラムであることすらわからないという珍しい言語である。.

新しい!!: 難解プログラミング言語とWhitespace · 続きを見る »

出ていきます入ってきます
ヘイ!私たちは今、Facebook上です! »