$30 off During Our Annual Pro Sale. View Details »

🐬の推し本紹介2025: 『コーディングを支える技術 ――成り立ちから学ぶプログラミング作法』

🐬の推し本紹介2025: 『コーディングを支える技術 ――成り立ちから学ぶプログラミング作法』

Avatar for Kent OHASHI

Kent OHASHI

December 10, 2025
Tweet

More Decks by Kent OHASHI

Other Decks in Programming

Transcript

  1. 2 種類の比較の視点 共時的(synchronique) / 同時代的な「横」の比較 英語 vs フランス語 日本法 vs

    アメリカ法 通時的(diachronique) / 歴史的な「縦」の比較 古代の日本語 vs 現代の日本語 近世の法令 vs 現代の法令 ※ synchronique vs diachronique: 言語学者フェルディナン・ド・ソシュールによる区別 6
  2. 1. 現代の多くのプログラミング言語の場合 と書くと の意味で扱われる。 + よりも * のほうが が高い、という ルール(

    文法) が に組み込まれているため。 1 + 2 * 3 1 + (2 * 3) 演算子 優先順位 言語処理系 14
  3. 2. という古い言語(1950 年代〜) の場合 ※ と呼ばれる 演算子の優先順位のルールは不要 括弧は不要 ( 演算子ごとに受け付ける

    の個数が決まっていて曖昧さがないため) FORTH 1 2 3 * + 後置記法(postfix notation), 逆ポーランド記法(reverse Polish notation) 被演算子(operand) 16
  4. で数式を評価してみると FORTH on browser > 1 2 3 * +

    . ( 数式。ここで . は結果を取り出す操作) 7 ( 評価結果) 17
  5. というデータ構造を用いて 1 1 2 1 2 3 1 6 7

    1 2 3 * + 2 3 * + 3 * + * + + ( 終端) 2 3 1 6 * + stack push push push pop & push pop & push と計算することができる。 ※ と呼ばれ、 現代のプログラミング言語の処理系でも使われることがある仕組み スタック(stack) スタックマシン(stack machine) 18
  6. Further Reading 『コーディングを支える技術 ―⁠ ― 成り立ちから学 ぶプログラミング作法』 『7 つの言語 7

    つの世界』 『リーダブルコード ― より良いコードを書くため のシンプルで実践的なテクニック』 『プロダクティブ・プログラマ ― プログラマのた めの生産性向上術』 『英語の「なぜ? 」に答える はじめての英語史』 23