BOOKサーチ |

タイトル ストレンジコード(ストレンジコード)
著者名 Ronald T. Kneusel/水野貴明/竹迫良範(ロナルドティークノイズル/ミズノタカアキ/タケサコヨシノリ)
出版社名 秀和システム
ジャンル パソコン・システム開発
isbnコード 9784798069746
書籍のサイズ 単行本
発売日 2024年02月16日頃
販売価格 4,730
チラよみURL
サーチ
google yahoo rakuten amazon
本書は、「難解プログラミング言語」(エソラング)と呼ばれる言語について、さまざまな角度から解説したものです。「難解プログラミング言語」とは何でしょうか。本書では、「プログラミング言語とはどのようなものになりうるのか、どのように創造的でエレガントな方法で思考やプロセスを表現することができる、一風変わった言語」と定義しています。つまり、役に立たない言語ということでしょうか。そうではありません。多くの難解プログラミング言語は趣味的なものであり、中には冗談のようなものもありますが、実用的に使われている言語もあるのです。そういった「実用的な」言語から、「冗談のような」言語まで、本書は区別なく取り上げます。 本書は4つのパートに分かれています。パート1は、背景資料として、コンピュータサイエンスの課程で扱われるようなプログラミング言語のトピックについて取り上げます。プログラミング言語の歴史を古生物学になぞらえて説明しています。コンピュータの黎明期に現れた言語は、現代から見ると難解プログラミング言語に思えても、当時は必然性があったのです。さしずめ、カンブリア爆発に相当するでしょう。そういった歴史的背景を押さえておきます。そして、もう1つ、難解プログラミング言語に関して重要な点である「チューリング完全」についても学びます。 パート2は、道具としてのプログラミング言語と、パート3とパート4で見ていく難解プログラミング言語との架け橋となる言語を取り上げます。実用的でありながら、本流から外れている言語です。筆者は、これらを「非定型」言語と呼んでいます。 そして、パート3では、「ABC」「FRACTRAN」「Piet」「Brainfuck」「Befunge」という5つの難解プログラミング言語を解説しています。それぞれ異なる方向に難解ですが、きっと、どの言語でもコードを書いてみたくなるはずです。 パート4では、パート4では、本書のためのオリジナルの難解プログラミング言語「Filska」と「Firefly」について、言語設計、実装、拡張方法まで、詳細に説明しています。難解言語に限らない、「新しく言語を作る全て」が詰まっています。さらに、付録では、Fireflyを使った遺伝的プログラミングについても説明しています。言語を拡張するという好例です。 本書では、いくつかの難解プログラミング言語の実装にPythonを利用するので、Pythonに関する知識があれば役立ちます。なくても問題はありません。本書で最も重要なのは「好奇心」です。あなたがプログラミングが好きで、いろいろなことに「なぜ?」と疑問に思う気持ちを持っているなら、必ず本書を楽しめるはずです。ようこそ、この奇妙で素晴らしき、変態言語の世界へ。






 
お問い合わせ