ホワイトスペースに会う:世界で最も非実用的なプログラミング言語?

開示: あなたのサポートはサイトの運営を維持するのに役立ちます!このページで推奨する一部のサービスについては、紹介料を稼ぎます.


Whitespaceは、イギリスのダラム大学のEdwin BradyとChris Morrisによって開発された難解なプログラミング言語です。ホワイトスペースでは、スペース、タブ、ラインフィードのみが意味を持ちますが、他のすべての非ホワイトスペース文字はインタープリターによって無視されます.

これが奇妙で非現実的に聞こえる場合は、そうです!実際、’sホワイトスペースの要点.

簡単な歴史

BradyとMorrisは、2002年後半にパブでの会話中にホワイトスペースを作成するというアイデアを得ました。ほとんどのプログラミング言語はホワイトスペース文字を無視するため、開発者はこれを文字セットのこれらのメンバーに不公平であると考え、ホワイトスペースを作成することにしました。ほとんどのプログラミング言語はパブで設計されていないので、これはおそらくホワイトスペースをユニークにする別のファクトイドです.

ホワイトスペースは2003年4月1日にリリースされたため、最初は過度に複雑なエイプリルフールのように見えました’ジョーク。ただし、4月1日のリリース日はまったくの偶然でした。実際、リリース日はそれが公式に発表されたときにSlashdotで多くの注目を集めたので、かなり便利であることがわかりました.

特徴

ホワイトスペースは、整数をサポートする命令型のスタックベースのプログラミング言語です。浮動小数点数のサポートは実装されていません。その構文では、空白文字(スペース、タブ、および改行)のみが意味を持ち、他のすべての文字は無視されます。結果として、空白プログラムは、別の言語で記述されたプログラムの空白文字、またはプレーンテキストファイルに含めることができます。.

理論的には、プログラマーは自分のホワイトスペースコードの周りに小説を書くことができます。コードはまだ機能しますが、ほとんどの人は基礎となるホワイトスペースコードではなく、小説しか表示しません。.

難解なプログラミング言語(esolang)であるWhitespaceは、コンピュータープログラミング言語の設計の限界をテストするために作成されており、主流のプログラミングで使用することを意図していません。それは単に概念の証明であり、実用的なアプリケーションは非常に限られています。’現実の世界ではほとんど使用されていません.

ただし、実際には文字ではなく空白に基づいたプログラミング言語を使用できることを証明するために設計されたテックデモンストレーターとして、それは確実に機能します。残念ながら、ホワイトスペースは’それ以上のもののために設計されています。実用的なアプリケーション向けに設計されたプログラミング言語ではなく、手の込んだ技術デモでした.

構文

ホワイトスペース内のコマンドは、コード全体と同様に、一連のスペース、タブストップ、およびラインフィードで構成されます。たとえば、tab-space-space-spaceは、スタックの上位2つの要素の算術加算を実行します。コードは、命令修飾子パラメーター(IMP)の形式で記述され、その後に操作が続きます。空白には次のIMPがあります。 “スペース” –スタック操作, “タブスペース” –算術, “タブタブ” –ヒープアクセス, “改行” – フロー制御, “タブ改行” – 入出力.

データはバイナリ形式で表され、0にはスペース、1にはタブを使用し、その後に改行が続きます。たとえば、space-space-space-tab-tab-space-linefeedは2進数000110で、10進数で6です。.

次の例では、1から5までを数え、1から5までの数を出力します。 “S” 空間を表す, “T” –タブ、および “L” –改行:

SSSTL LSSSTSSSSTTL SLS TLST SSSTSTSL TLSS SSSTL TSSS SLS SSSTTSL TSST LTSSTSSSTSTL LSSSTSSSTSTL SLL LLL

上記のコードからの出力は次のとおりです。

1 2 3 4 5

ホワイトスペースでHello Worldを書いてみませんか?まあ、それはあなたがほとんどすべての単一の文字をコーディングする必要があり、あなたは’dスペース、タブ、および改行のインスタンスが約950個になる。それ’ホワイトスペースの紹介に含めることができる例ではありませんが、’再興味があり、あなたの手に余暇が多すぎる場合は、ここで確認できます.

ホワイトスペースのリソース

ホワイトスペースの学習にはほとんど意味がありませんが、この概念が好きで、それについてもっと学びたい場合、またはいくつかの例を試したい場合は、次のリソースを確認してください。

  • Whitespaceの公式ウェブサイトはオフラインのため、Wayback Machineのアーカイブされたコンテンツを、Whitespaceプログラミング言語の実際の説明、チュートリアル、例とともに確認することが唯一の選択肢です。.
  • Whitelips IDE Online Whitespaceコンパイラを使用していくつかの例を試すことができます。 “こんにちは世界” デフォルトの例。ホワイトスペースでは、ASCIIコードを使用して各文字を1つずつ定義する必要があるため、この例がどれだけ長いかに驚くでしょう。.

結論

プログラミング言語として、ホワイトスペースは、難解な言語標準であっても、それと同じくらいエキゾチックです.

その間’人々が実際に生産的なものに使用するプログラミング言語ではなく、’賢いメンタルエクササイズであり、少なくとも理論的には、ほとんどすべてのものをコードに変えることができるという証拠として機能します.

試してみて、その仕組みを理解したら、’あなたは本当にできるので、多かれ少なかれホワイトスペースでやり直した’深刻なものには使用しないでください。ええと、少なくともあなたが殺すのに多くの時間とより良いことがない限りは.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map