言語設計と人間の思考 -Ruby vs. 『1984年』の架空言語-

692 Views

August 26, 25

スライド概要

言語は外部世界とのインターフェースであり、その設計が人間に与える影響は大きい。
比較言語学を通じてその影響を検証しよう。
このスライドは『1984年』の Xxxspeak と Ruby / Python を例として取り扱っている。

1. Oldspeak(Present-Day English) vs. Newspeak
2. Ruby vs. Python
3. Ruby vs. Newspeak
4. Ruby vs. Oldspeak(Present-Day English)

profile-image

某教育系サービスの内製開発にソフトウェアエンジニアとして携わっています。 使用技術スタックは、バックエンドは Ruby on Rails、フロントエンドは React.js + TypeScript です。 プライベートでは Python も少し書きます。 学部生時代は英語学を専攻していたので、言語に強い興味を持っています。 LT 会のプレゼンテーションなどで使用したスライドを掲載しています。 宜しければご自由にご覧下さい。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

言語設計が人間の 思考に与える影響 -Ruby vs. 『1984年』の架空言語作成者: 石田 隼人 英語版はこちら 最終更新日: 2025年08月26日 1

2.

自己紹介 • 各種アカウント • • • • • GitHub: @hayat01sh1da X: @hayat01sh1da LinkedIn: @hayat01sh1da Speaker Deck: @hayat01sh1da Docswell: @hayat01sh1da • 職業: ソフトウェアエンジニア • 趣味 • • • • • 言語学 カラオケ 音楽鑑賞 映画鑑賞 猫飼育 2

3.

免許 / 資格 • 英語 • TOEIC® Listening & Reading 915点: 2019年12月 取得 • エンジニアリング • • • • 情報セキュリティマネジメント: 2017年11月 取得 応用情報技術者: 2017年06月 取得 基本情報技術者: 2016年11月 取得 IT パスポート: 2016年04月 取得 • その他 • 珠算2級: 2002年06月 取得 • 暗算3級: 2001年02月 取得 3

4.

スキルセット • 言語 • 日本語: 母語 • 英語: ビジネスレベル • 開発 • Ruby: 中上級(FW: Ruby on Rails) • Python: 中級 • TypeScript:中級(Library: React.js) • HTML:中級(Library: Bootstrap) • CSS:中級(Library: Bootstrap) • SQL:中級 • その他 • ドキュメンテーション: 上級 4

5.

職歴 1. システムエンジニア @SES • レガシー Windows Server 運用・保守 • 社内アカウント管理 • 社内セキュリティ啓蒙 • 英語通訳(海外拠点とのオンライン会議・ベンダー対応・海外スタッフのアテンド) 2. ソフトウェアエンジニア @受託開発会社 • サーバーサイド開発(Ruby on Rails, RSpec) • フロントエンド開発(HTML / CSS, JavaScript) • QA(Native iOS / Android Apps) • 企業技術ブログ記事執筆 3. ソフトウェアエンジニア @チャットボットプラットフォーム開発会社 • 既存チャットボットプラットフォーム開発・運用・保守(Ruby on Rails, RSpec) • 新規チャットボットエンジン性能検証(Ruby, Ruby on Rails, RSpec, Python) 4. ソフトウェアエンジニア @メガベンチャーの教育系サービス内製開発部門 • 学事・進路支援機能開発(Ruby on Rails, RSpec, Minitest, TypeScript + React.js) • 年次高校マスタデータ更新(Ruby on Rails, RSpec) • 負債解消活動(Ruby, Python, GitHub Actions etc.) 5

6.

国際交流活動 • 大学時代 • • • • 英語学ゼミ(マスメディア英語) 国際交流サークル兼部(2年次) 内閣府主催国際交流プログラム(2013年 - 2016年) 日本語学の授業の S 単位取得(最終年次) • 海外生活 • オーストラリアでのワーキングホリデー(2014年04月 - 2015年03月) • • • 2ヶ月間のシドニーの語学学校通学 6ヶ月間の Hamilton Island Resort での就労 1ヶ月間の NSW 州の St Ives High School での日本語教師アシスタントボランティア活動 • その他活動 • • • • • 英語での日々の日記(2014年04月 - 現在) Sunrise Toastmasters Club 参加(2017年02月 - 2018年03月) Vital Japan 参加(2018年01月 - 2019年07月、2022年10月 - 2023年02月) 英語自己学習 Ruby 関連カンファレンス参加 6

7.

目次 1. 本日のテーマ 2. 自然言語と人間の思考 3. プログラミング言語と人間の思考 4. Ruby vs. Xxxspeak 5. まとめ 6. 参考文献 7

8.

1. 本日のテーマ 8

9.

1. 本日のテーマ 1. Ruby の発展に豪も貢献しないこと。 2. 実用的・技術的ではないことをひたすら熱心に検証すること。 3. 客席の皆さんを言語学的思考実験の短い旅にお連れすること。 9

10.

2. 自然言語と人間の思考 10

11.

2. 自然言語と人間の思考 自然言語とコミュニケーション 我々は自然言語という I/F を通して以下の活動を行う。 コミュニケーションの分類 外的コミュニケーション = 社会活動 内的コミュニケーション = 知的活動 活動 行動 / 要素 他者との情報交換 • 質問する • 主張する 他者の振舞いの制御と調整 • 要求する • 命令する • 提案する • 約束する 自分の知識の整理 = 自分の外の世界にある対象物の分類 • 生物 vs. 無生物 • 植物 vs. 動物 • 人間 vs. その他の動物 自分の中での理由付けと類推 = 行間を読む • 額面通りの意味を理解する • 含意を推論する 11

12.

2. 自然言語と人間の思考 ジョージ・オーウェル著『1984年』の Newspeak 当該小説の世界の「オセアニア社会」で設計・部分適用された架空言語。 主たる目的は関連する概念ごと語彙を消し去り反政府思想を統制すること。 すなわち、ある言葉が消えるとそれに対応する概念すら我々は失う。 以下に Oldspeak(Present-Day English) と Newspeak の対比を示す。 属性 Oldspeak(現代英語) Newspeak 語彙と表現 毎秒豊かに 毎年貧弱に 人間の思考の統制 緩い 厳しい 表現の柔軟性 非常に高い 皆無 曖昧さ 少ない 多い 認知負荷 低い(ローコンテクスト) 高い(ハイコンテクスト) 表現の合意形成 困難 容易 12

13.

3. プログラミング言語と人間の思考 13

14.

3. プログラミング言語と人間の思考 プログラミング言語とコミュニケーション 我々はプログラミング言語という I/F を通して以下の活動を行う。 コミュニケーションの分類 外的コミュニケーション = 社会活動 内的コミュニケーション = 知的活動 活動 行動 / 要素 他者との情報交換 • 質問する • 主張する コンピューターと他者の振舞いの制御と 調整 • 要求する • 命令する • 提案する • 約束する 自分の知識の整理と活用 = 設計と実装 • コントローラーかモデルか • ActiveRecord か CQRS か • Monolith か Microservice か 自分の中での理由付けと類推 = コードの間を読む • 実装内容そのもの • 実装から見える要件 14

15.

3. プログラミング言語と人間の思考 まつもとゆきひろ氏(Matz)作の Ruby 大きな特長として Perl に倣った言語学・認知学的考慮がある。 そのおかげで、Rubyists は素晴らしいコーディング体験を享受出来る。 もう1つのオブジェクト指向言語の Python との差分を検証してみよう。 属性 Ruby Python 語彙と表現 豊か 限定的 人間の思考の統制 緩い 厳しい 表現の柔軟性 高い 低い 曖昧さ 少ない(名前重要の規約) 少ない(言語設計) 認知負荷 評価困難(高くも低くもある) 評価困難(高くも低くもある) 表現の合意形成 困難(ツール導入で緩和可能) 容易 15

16.

4. Ruby vs. Xxxspeak 16

17.

4. Ruby vs. Xxxspeak Ruby vs. Newspeak 以下の比較においては共通点が少ない。 属性 Ruby Newspeak 語彙と表現 豊か 毎年貧弱に 人間の思考の統制 緩い 厳しい 表現の柔軟性 高い 皆無 曖昧さ 少ない(名前重要の規約) 多い 認知負荷 評価困難(高くも低くもある) 高い(ハイコンテクスト) 表現の合意形成 困難(ツール導入で緩和可能) 容易 17

18.

4. Ruby vs. Xxxspeak Ruby vs. Oldspeak 以下の比較においては、どちらも「設定より規約」を重視しているため、 共通点が多い。 属性 Oldspeak(現代英語) Ruby 語彙と表現 豊か 毎秒豊かに 人間の思考の統制 緩い 緩い 表現の柔軟性 高い 非常に高い 曖昧さ 少ない(名前重要の規約) 少ない 認知負荷 評価困難(高くも低くもある) 低い(ローコンテクスト) 表現の合意形成 困難(ツール導入で緩和可能) 困難 18

19.

4. Ruby vs. Xxxspeak [おまけ] Python vs. Newspeak 以下の比較においては、どちらも「規約より設定」を重視しているため、 共通点が多い。 属性 Python Newspeak 語彙と表現 限定的 毎年貧相に 人間の思考の統制 厳しい 厳しい 表現の柔軟性 低い 皆無 曖昧さ 少ない(言語設計) 多い 認知負荷 評価困難(高くも低くもある) 高い(ハイコンテクスト) 表現の合意形成 容易 容易 19

20.

5. まとめ 20

21.

5. まとめ 以下の原理は自然言語・プログラミング言語のどちらにも適用される。 1. 豊かな語彙はコミュニケーションの I/F の観点で • 緩い人間の思考の統制のおかげで表現の柔軟性が高い • 豊か過ぎて適切に扱うのが難しい慣用表現ゆえに認知負荷が高い • 同じコミュニティ内で使う共通表現の定義について合意形成コストが高い 2. 貧弱な語彙はコミュニケーションの I/F の観点で • 厳しい人間の思考の統制のせいで表現の柔軟性が低い • 数が少ない慣用表現ゆえに認知負荷が低い • 同じコミュニティ内で使う共通表現の定義について合意形成コストが低い 21

22.

6. 参考文献 22

23.

6. 参考文献 • Michael L. Geis, Language and Communication, Oxford, OUP, 2001 • George Orwell, Nineteen Eighty-Four, the United Kingdom, Harvill Secker, 1949 • 石田隼人、『 現代英語を知ろう Vol.1 -英語という言語- 』、東京、2024年 • 石田隼人、『 Economy of Efforts -労力の節約原理- 』、東京、2025年 • 石田隼人、『 比較言語学のススメ -Ruby vs. Python に学ぶ言語のアイデン ティティ- 』、東京、2025年 • 石田隼人、『Road to Ruby for A Linguistics Nerd』、東京、2025年 • 石田隼人、『AI 時代の高級言語の意義 -人間の思考・表現の観点から-』、 東京、2025年 23

24.

EOD 24