web-dev-qa-db-ja.com

Brainfuckの学習から実用的な用途はありますか?

Brainfuckは、1993年にUrbanMüllerによって作成された難解なプログラミング言語です。プログラマーを挑発して楽しませるように設計されており、実際の使用には適していません。

しかし、それでも、それは存在し、 いくつかの本当にクールなもの が一緒に書かれています。

私の質問は-Brainfuckの学習/練習はプログラミングの私の知識の深さを増すでしょうか?例:(高水準言語を使用する)高水準プログラマーは、低水準のメソッドと操作の理解を向上させますか?それとも、本当に「コード」のように見えるコードを見せたり読んだり理解したりするのが難しいという意味で、ちょっとした時間を費やして楽しんだ冗談なのでしょうか。

8
Creative Magic

Brainfuck(および他の esolangs の数、私の favorite[〜#〜] fractran [〜 #〜] )を使用すると、コンピューティングの基本、状態の格納、およびループの性質を理解できます。

Minskyレジスタマシン のような、好ましくない名前を使用して、少し考えやすいものを処理する方が便利な場合があります。 Wolfram Mathworld の記事をレジスタマシン で見ると、BrainFuckとの強い関係が見られるでしょう。

これらの言語のプログラムがどのように機能するかを理解することで(そしてそれらの多くはチューリング完全です)、あなたは可能性があります計算とBig Oの性質についてより良いアイデアを得ることができます。

Esolangでプログラムを作成する方法の基本は、計算の基本を少し明確にします...またはあいまいですが、その不明瞭さによって、高水準言語で忘れられている基本の他の側面に光を当てます。

13
user40980