ストレンジコード―難解プログラミング言語を巡る不思議な旅

個数:
電子版価格
¥4,257
  • 電書あり
  • ポイントキャンペーン

ストレンジコード―難解プログラミング言語を巡る不思議な旅

  • ウェブストアに22冊在庫がございます。(2024年04月27日 23時28分現在)
    通常、ご注文翌日~2日後に出荷されます。
  • 出荷予定日とご注意事項
    ※上記を必ずご確認ください

    【ご注意事項】 ※必ずお読みください
    ◆在庫数は刻々と変動しており、ご注文手続き中に減ることもございます。
    ◆在庫数以上の数量をご注文の場合には、超過した分はお取り寄せとなり日数がかかります。入手できないこともございます。
    ◆事情により出荷が遅れる場合がございます。
    ◆お届け日のご指定は承っておりません。
    ◆「帯」はお付けできない場合がございます。
    ◆画像の表紙や帯等は実物とは異なる場合があります。
    ◆特に表記のない限り特典はありません。
    ◆別冊解答などの付属品はお付けできない場合がございます。
  • ●店舗受取サービス(送料無料)もご利用いただけます。
    ご注文ステップ「お届け先情報設定」にてお受け取り店をご指定ください。尚、受取店舗限定の特典はお付けできません。詳細はこちら
  • サイズ B5判/ページ数 604p/高さ 24cm
  • 商品コード 9784798069746
  • NDC分類 007.64
  • Cコード C3055

出版社内容情報

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

内容説明

本書は、コンピュータを使うだけでなく、それ以上のことをしようとする人々に向けて書かれています。あなたがプロの開発者なら、自分の技術について普通とは違う方法で考えることから得られる自由を高く評価してくれるでしょう。あなたが学生なら、プログラミング入門のような授業で得られるものを超えたプログラミングの可能性を感じることができるはずです。あなたが趣味でコンピュータに触れているなら、おそらくすでに難解プログラミング言語についてある程度の知識があり、それに対する情熱を追求したいと思っているかもしれません。さあ、この世界に飛び込んできてください。こっちの水は甘いぞ。(『イントロダクション』より)

目次

1 プログラミング言語とは(歴代のプログラミング言語たち;プログラミング言語の本質;チューリングマシンおとびチューリング完全)
2 非定型プログラミング言語(Forth;SNOBOL;CLIPS)
3 難解プログラミング言語(ABCのABC;FRACTRAN;PIET;Brainfuck;Befunge)
4 自家製難解プログラミング言語(Filska;Filskaを使う;Firefly;Fireflyを使う;さらに先へ)
Appendix Fireflyによる遺伝的プログラミング

著者等紹介

クノイズル,ロナルド 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エキスパートを歴任(本データはこの書籍が刊行された当時に掲載されていたものです)
※書籍に掲載されている著者及び編者、訳者、監修者、イラストレーターなどの紹介情報です。