書籍概要

プログラミング言語大全

著者
発売日
更新日

概要

プログラミング言語の大全集! 100以上のプログラミング言語や処理系,関連言語を幅広く解説。C,Java,Python,PHP,Ruby,JavaScript...主要言語はもちろんマイナー言語まで収録。初心者にも経験者にも楽しい一冊です。

こんな方におすすめ

  • どの言語を学ぶべきか知りたいプログラミング初心者,新人プログラマー
  • 新しい言語に興味のあるホビープログラマー
  • プログラマーになりたい未経験の人
  • IT企業の営業,企画職など非プログラマーでプログラミング言語の基本的な知識が欲しい人

著者から一言

本書は,プログラミング言語の図鑑です。さまざまなプログラミング言語を簡潔に紹介しています。世界中には,星の数ほどプログラミング言語があると言われています。本書では,数あるプログラミング言語の中から,広く使われているもの,歴史上重要なものを厳選して収録しています。プログラミングの世界を楽しみながら読んでいただけたら幸いです。

サンプル

目次

おすすめプログラミング言語フローチャート

プログラミング言語を知る

  • プログラミング言語とは何か
  • どのプログラミング言語を学ぶべきか
  • コンピューターとプログラミング言語の歴史
  • プログラミング言語の活躍するシーン
  • プログラミング言語を分類して考える
  • プログラミング言語を動かすには

プログラミング言語大全

  • C ー高速・省リソースで現在も活躍する言語
  • Go ーGoogle発! 高速な現代的言語
  • アセンブリ ー最も低水準な言語
  • C++ ーCにオブジェクト指向を載せてパワーアップ
  • FORTRAN ー科学技術計算に特化した最初期の高水準言語
  • D ーC/C++の影響を受けて書きやすくした言語
  • Rust ー高速・安全・並行 新世代の言語
  • Python ー入門から機械学習まで大人気のプログラミング言語
    • +1 PyPy ―Python の処理系の1 つ
    • +1 Cython ―Python 高速化のための言語
    • +1 MicroPython ―組み込み向けのPython
  • Ruby ー日本が世界に誇るスクリプト言語
    • +1 mruby ―組み込み向けのRuby
    • +1 Crystal ―もしもRubyが静的型付けを重視したら?
    • +1 JRuby ―JVM で動くRuby
    • +1 Opal ―Ruby をJavaScript にする
    • +1 Streem ―Matz の新言語
  • PHP ー最もWebで使われるWebアプリ開発に特化したプログラミング言語
    • +1 Hack/HHVM ―Facebook 製のPHPライクな言語
  • Lua ー高速動作と高い移植性を持つ組み込みスクリプト言語
    • +1 LuaJIT ―JIT でLua を速くする
    • +1 MoonScript ―Luaを書きやすくしたいなら
  • Perl ー強力な文字列処理機能を持つ軽量スクリプト言語
    • +1 Raku ― 幻のPerl 6
  • JavaScript ーWebブラウザ/サーバーで活躍する言語
  • Node.js ーWebサーバーで動作するJavaScript実行エンジン
    • +1 Deno ― 新しい安全志向のJavaScript 実行環境
  • TypeScript ーJavaScriptのスーパーセットで大規模アプリの開発向け
  • CoffeeScript ー短く手軽に記述できるJavaScript代替
  • Dart ーJavaScriptの置き換えからモバイルアプリ開発まで幅広く
  • WebAssembly ーWebブラウザ用のアセンブリ言語
  • Java ースマートフォンやWebなど幅広く利用されるオブジェクト指向言語
    • +1 Vim script ― Bill Joy のViから生まれたVim
  • Kotlin ー簡潔に書けて汎用的なAndroidの公式開発言語
    • +1 Xtend ―Javaをより使いやすくするというモチベーション
  • Scala ーオブジェクト指向と関数型言語の特徴を持つJVM言語
    • +1 Scala.js ― Scala のパワーをJavaScript に
  • Groovy ーJVM上で動作するスクリプト言語
  • Processing ーデジタルアートとデザインのためのビジュアル表現言語
  • Swift ーAppleによるiOS/macOS向けプログラミング言語
  • Objective-C ーmacOS/iPhoneアプリ開発で活躍したCの亜種
    • +1 Simula ― C++ とJava の先祖?
  • C# ーWindowsの定番言語 UnityやXamarinで人気がさらに加速
  • F# ー.NETとML系言語の出会い
  • Visual Basic ーWindows開発で定番の初心者向け言語
  • VBA ー仕事を強力にサポートするExcel/Word等のマクロ言語
    • +1 Excel 関数 ―プログラミングの入口になる便利な機能
    • +1 Google Apps Script ― GoogleのVBA
  • Object Pascal/Delphi ーかつてはWindowsアプリケーション開発で人気 近年も地道に改良
    • +1 ALGOL ― 構造化プログラミングの初期の言語
    • +1 Pascal ―人気の教育用言語
    • +1 Ada ― 国防プロジェクトから生まれた安全重視の言語
    • +1 Eiffel ― Rubyにも影響を与えたオブジェクト指向の一つの姿
    • +1 Free Pascal ―オープンなPascal 処理系
  • AWK ー効率的に使えるテキスト処理専用の言語
  • sed ーテキストファイルを加工するUNIX出身言語
  • PowerShel ーWindows標準のシェルとスクリプト言語
    • +1 バッチファイル(コマンドプロンプト/ cmd.exe) ― Windowsの古くからの定番
    • +1 Windows Script Host(WSH) ― かつてのWindowsの人気スクリプト実行環境
  • Bash/Shell Script ーLinux標準のシェルBashは一通り言語の機能を持っている
    • +1 Z Shell (zsh) ― Bash と並ぶ人気のシェル
    • +1 C Shell (csh) ― Cの影響を受けたシェル
    • +1 KornShell (ksh) ― 高機能シェルのさきがけ
    • +1 Bourne Shell や互換シェル
    • +1 Friendly Interactive shell(fish) ― ユーザーフレンドリーなシェル
  • AppleScript ーmacOSのスクリプト言語
  • Haskell ー最も有名な関数型プログラミング言語
    • +1 Elm ― Web フロントエンド× Haskell
  • OCaml ー関数型にオブジェクト指向の強みをプラス
    • +1 ML― OCaml にも影響大のML 系言語の始祖
    • +1 Standard ML ― ML 系言語の二大巨頭
    • +1 Reason ― JavaScript とOCaml が出会ったら
  • Erlang ー高負荷サービスで人気のスケールする並行処理指向の言語
  • Elixir ー並行処理が得意で耐障害性・高可用性のある言語
  • Common Lisp ーANSIで標準化されている代表的なLisp
    • +1 Arc/Anarki ― Common Lisp の成功者Paul Graham による新Lisp
    • +1 Clojure/Clojure Script ―JVM とLisp
    • +1 Emacs Lisp ― 強力な設定言語
  • Scheme ー古くから人気のあるLisp方言の1つ
    • +1 Racket ― Scheme 派生の新言語
  • Prolog ー歴史ある論理プログラミング言語
  • Scratch ー楽しく始めるビジュアルプログラミング言語
    • +1 Viscuit ―日本発のビジュアルプログラミング言語
  • Smalltalk ーオブジェクト指向プログラミングに多大な影響を与えた言語
  • BASIC ー初心者からプロまで幅広く人気の言語
    • +1 F-BASIC ― FM シリーズのBASIC
    • +1 MSX-BASIC ― MSX シリーズのBASIC
    • +1 N88-BASIC ― PC-8800 で有名なBASIC
    • +1 ActiveBasic ― Windows でも動くBASIC
  • COBOL ー1959年に開発された事務処理用の言語
    • +1 PL/I ―メインフレーム向けのパワフルな言語
  • なでしこ ー日本語プログラミング言語
  • HSP(Hot Soup Processor) ー日本発 ゲームやツールが手軽に作れる
  • R ー統計解析向けの言語と実行環境
  • Julia ー平易さと速度を両立した科学技術計算向け言語
    • +1 MATLAB ― 数値計算の王道的ソフトウェア
    • +1 Octave(GNU Octave)― MATLAB代替として知られる言語
  • ActionScript ーFlashのスクリプト言語はJavaScriptの消された足跡
  • Haxe ーゲーム開発に便利 複数の環境で動かせるユニークな言語
    • +1 Nim ― Pythonのようなトランスパイル言語
    • +1 Mint ―ゲーム会社の内製プログラミング言語
  • Brainfuck ーチューリング完全な極小のコンパイラ
    • +1 Unlambda / Lazy K ― 関数型の難解プログラミング言語
    • +1 Piet ―プログラミング画像?
  • Whitespace ー目に見えない不思議なプログラミング言語

Appendix プログラミング言語とその周辺の知識をより深める

  • App. A プログラミング言語と関連する言語や記述形式
    • +α HTML
    • +α CSS
    • +α XML
    • +α JSON
    • +α Markdown
    • +α LaTeX
    • +α SQL
    • +α 正規表現
    • +α make
    • +α PostScript
    • +α ini
    • +α YAML
  • App. B プログラミング言語と道具
  • App. C プログラミング言語の作り方
  • サポート

    ダウンロード

    サンプルファイルのダウンロード

    (2020年10月12日更新)

    サンプルファイルをダウンロードできます。実行に際しては,オンラインREPLなどを適宜ご利用ください。

    ダウンロード
    サンプルファイル

    補足情報

    P.127 Swiftの「SwiftはWindowsでは使えない」の説明について

    (2020年10月12日更新)

    Windowsに対応していないと説明しましたが,
    Swift 5.3以降Windows(Windows 10)対応が始まっています。
    書籍執筆時点ではSwiftがWindowsに未対応だったため,このような記述となっています。

    正誤表

    本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

    (2020年10月12日最終更新)

    P.172 Prologの活躍するシーン内の説明

    現独特
    独特

    P.211 まとめ内の文言

    原理の元
    原理の

    商品一覧