ストレンジコード 難解プログラミング言語を巡る不思議な旅
Ronald T.Kneusel/著 水野貴明/訳 竹迫良範/監訳
発売日:2024年2月
- ページ数
- 575p
- ISBN
- 978-4-7980-6974-6
- 著者情報
- クノイズル,ロナルド T.(クノイズル,ロナルド T.)(Kneusel,Ronald T.)
プログラミング言語の愛好家。1980年頃、初めてApple 2コンピュータに出会ったときにプログラミング言語を体験しました。それから数十年後、コロラド大学ボルダー校で機械学習の博士号を取得し、現在は深層学習システムの開発に携わっている
水野 貴明(ミズノ タカアキ)
ソフトウェア開発者/技術投資家。Baidu、DeNAなどでソフトウエア開発やマネジメントを経験したのち、現在は英AI企業Nexus FrontierTechのCTO/Co‐Founderとして、多国籍開発チームを率いている。また、その傍ら、スタートアップを中心に開発支援や開発チーム構築などの支援や、書籍の執筆、翻訳なども行っている
竹迫 良範(タケサコ ヨシノリ)
株式会社リクルート勤務。1977年生まれ。初めて触ったコンピュータは、富士通FM TOWNSの32ビット世代。広島市立大学在学中に、日本語検索エンジン「Namazu for Win32」のオープンソース開発に参加。JAPHの文化に触れ、Code GolfやPolyglot作成が趣味に。Shibuya Perl Mongersの2代目リーダー。セキュリティ・キャンプ講師、初代SECCON実行委員長、IPA未踏PMとして高度IT人材育成に携わる。SC 22/ECMAScript Ad HocにてISO/IEC 16262:2011の国際標準化活動に従事、SC 22/C#、CLI、スクリプト系言語SGエキスパートを歴任
セブン-イレブン受取り(送料無料)
発送目安
発売日(発売日以降は当日)~2日で発送
宅配(送料¥550税込)
発送目安
発売日(発売日以降は当日)~2日で発送
交通状況・天候の影響や注文が集中した場合等、お届けにお時間をいただく場合がございます。
商品説明
本書は、コンピュータを使うだけでなく、それ以上のことをしようとする人々に向けて書かれています。あなたがプロの開発者なら、自分の技術について普通とは違う方法で考えることから得られる自由を高く評価してくれるでしょう。あなたが学生なら、プログラミング入門のような授業で得られるものを超えたプログラミングの可能性を感じることができるはずです。あなたが趣味でコンピュータに触れているなら、おそらくすでに難解プログラミング言語についてある程度の知識があり、それに対する情熱を追求したいと思っているかもしれません。さあ、この世界に飛び込んできてください。こっちの水は甘いぞ。(『イントロダクション』より)
本書は、「難解プログラミング言語」(エソラング)と呼ばれる言語について、さまざまな角度から解説したものです。「難解プログラミング言語」とは何でしょうか。本書では、「プログラミング言語とはどのようなものになりうるのか、どのように創造的でエレガントな方法で思考やプロセスを表現することができる、一風変わった言語」と定義しています。つまり、役に立たない言語ということでしょうか。そうではありません。多くの難解プログラミング言語は趣味的なものであり、中には冗談のようなものもありますが、実用的に使われている言語もあるのです。そういった「実用的な」言語から、「冗談のような」言語まで、本書は区別なく取り上げます。
本書は4つのパートに分かれています。パート1は、背景資料として、コンピュータサイエンスの課程で扱われるようなプログラミング言語のトピックについて取り上げます。プログラミング言語の歴史を古生物学になぞらえて説明しています。コンピュータの黎明期に現れた言語は、現代から見ると難解プログラミング言語に思えても、当時は必然性があったのです。さしずめ、カンブリア爆発に相当するでしょう。そういった歴史的背景を押さえておきます。そして、もう1つ、難解プログラミング言語に関して重要な点である「チューリング完全」についても学びます。
パート2は、道具としてのプログラミング言語と、パート3とパート4で見ていく難解プログラミング言語との架け橋となる言語を取り上げます。実用的でありながら、本流から外れている言語です。筆者は、これらを「非定型」言語と呼んでいます。
そして、パート3では、「ABC」「FRACTRAN」「Piet」「Brainfuck」「Befunge」という5つの難解プログラミング言語を解説しています。それぞれ異なる方向に難解ですが、きっと、どの言語でもコードを書いてみたくなるはずです。
パート4では、パート4では、本書のためのオリジナルの難解プログラミング言語「Filska」と「Firefly」について、言語設計、実装、拡張方法まで、詳細に説明しています。難解言語に限らない、「新しく言語を作る全て」が詰まっています。さらに、付録では、Fireflyを使った遺伝的プログラミングについても説明しています。言語を拡張するという好例です。
本書では、いくつかの難解プログラミング言語の実装にPythonを利用するので、Pythonに関する知識があれば役立ちます。なくても問題はありません。本書で最も重要なのは「好奇心」です。あなたがプログラミングが好きで、いろいろなことに「なぜ?」と疑問に思う気持ちを持っているなら、必ず本書を楽しめるはずです。ようこそ、この奇妙で素晴らしき、変態言語の世界へ。
※お届け日が変更になりました
2月16日→2月19日
目次
1 プログラミング言語とは(歴代のプログラミング言語たち
プログラミング言語の本質
チューリングマシンおとびチューリング完全)
2 非定型プログラミング言語(Forth
SNOBOL
CLIPS)
3 難解プログラミング言語(ABCのABC
FRACTRAN
PIET
Brainfuck
Befunge)
4 自家製難解プログラミング言語(Filska
Filskaを使う
Firefly
Fireflyを使う
さらに先へ)
Appendix Fireflyによる遺伝的プログラミング
商品詳細
- 出版社名
- 秀和システム新社
- サイズ
- 24cm
- 対象年齢
- 一般
- フォーマット
- 単行本
- 原題
- 原タイトル:Strange Code
注意事項
- 本の帯に関して
- 帯つきでの出荷はお約束しておりません。
商品ページに、帯のみに付与される特典物等の表記がある場合でも、確実に帯つきでの出荷はお約束しておりません。
また、帯は商品の一部ではなく「広告扱い」のため、帯の有無・破損による交換や返品は承っておりません。 - 版・表紙について
- 版・表紙(カバー)のご指定は承っておりません。ご注文いただくタイミングによっては、お届けする商品の版や表紙が商品ページ上のものとは異なる場合がございます。
また、初版にのみにお付けしている特典(初回特典、初回仕様特典)がある商品は、商品ページに特典の表記がされている場合でも、無くなり次第終了となります。