言語の生と死 -自然言語 VS プログラミング言語-

738 Views

March 15, 22

スライド概要

目的も用途も全く違う自然言語とプログラミング言語を、 以下の3つの観点で比較してたら意外と面白かったことを共有します。
1. 言語が「生きている」とは?
2. 言語が「死ぬ」とは?
3. 言語の死が私たちにもたらすこととは?

profile-image

I work for EdTech as a software engineer and English composition service as a corrector. I use Japanese and English for communication, and implement web applications in Ruby(Ruby on Rails), Python, JaveScript, HTML / CSS etc. I am happy to share all slides in common presented in the past lightning talk sessions in my company.

シェア

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

関連スライド

各ページのテキスト
1.

言語の生と死 -自然言語 VS プログラミング言語Composed by Hayato Ishida 最終更新日: 2023 年 01 月 22 日 1

2.

自己紹介 • アカウント名 • @hayat01sh1da • 専攻 • 英語学(マスメディア英語) • 保有資格 • • • • • TOEIC® L&R 915 点 応用情報技術者 基本情報技術者 セキュリティマネジメント IT パスポート 2

3.

職歴 1. SES(システムエンジニア) • • • • Windows Server 運用・保守 社内アカウント管理 社内セキュリティ業務 通訳(テレビ会議、ベンダー対応、海外スタッフアテンド) 2. システム開発会社 • • • • 自社製品、受託開発のサーバーサイド(Ruby on Rails) 自社製品、受託開発のフロントエンド(HTML5 / CSS3, JavaScript) QA(iOS / Android のネイティヴアプリ) 自社運営技術ブログ執筆 3. カスタマーサポート向けチャットボット SaaS の自社開発 • 現行チャットボットプラットフォーム運用・保守 • 新チャットボットプラットフォームの性能検証 4. EdTech サービス開発 • Web, iOS / Android のネイティヴアプリの API 開発(サーバーサイド) • 学校向けデジタル教材開発・改修・問合せ対応 3

4.

語学・国際交流 • 大学時代 • • • • 英語学ゼミ(マスメディア英語) 国際交流サークル掛け持ち(2 年次) 内閣府系国際交流プログラム 参加(2013 年 - 2016 年) 日本語学の授業の単位取得 • 海外生活 • ワーキングホリデー@オーストラリア(2014 年 04 月 - 2015 年 03 月) • • • 語学学校 ハミルトン島 勤務 St Ives 高校で日本語教師アシスタント • その他活動歴 • • • • • • • 英語で日記を毎日書く(2014 年 04 月 - 現在) Sunrise Toastmasters Club 在籍(2017 年 02 月 - 2018 年 03 月) Vital Japan 勉強会参加(2018 年 01 月- 2019 年 07 月、2022 年 10 月 - 現在) IDIY 英文添削講師 勤務(2021 年 09 月 - 現在) ELSA Speak を使ったスピーキングトレーニング(2022 年 11 月 - 現在) The Japan Times の記事読み・要約・意見記述を毎発行日実施(2023 年 01 月 - 現在) オーストラリアの友人とビデオチャット(不定期) 4

5.

今日話すこと 目的も用途も全く違う自然言語とプログラミング言語を、 以下の 3 つの観点で比較してたら意外と面白かった話。 • 言語が「生きている」とは? • 言語が「死ぬ」とは? • 言語の死が私たちにもたらすこととは? 5

6.

今日話さないこと • 英語の詳しい話(単語・熟語・文法・発音 etc.) • 言語学の詳しい話(言語の歴史とか音韻学 etc.) • プログラミング言語の詳しい話(なぜ動くのか・歴史・実装 etc.) 6

7.

元ネタ • 2018 年のアドベントカレンダー(2 社目)で書いた記事 • Matz(Rubyの父)がTwitterでシェアしてくれた 7

8.

⛏️歓迎 8

9.

コンテンツ 1. 2. 3. 4. 5. 言語の概要 言語の生死の定義 言語の死の副作用 まとめ 参考文献 9

10.

1. 言語の概要 10

11.

1. 言語の概要 自然言語 • 自然発生的 • 人工的に開発されたものではない • 口語と文語の両方が存在する • 話し言葉と書き言葉 • 今この瞬間が最新版 = Living Standard • 常に進化・変化する • 古英語、中英語、近代英語、現代英語のような時代区分が存在する • 社会、文化、歴史とそれを扱う集団や個を映し出す鑑 • コミュニケーションツール • 情報のやり取り、行動規制、知識体系化、推論など 11

12.

1. 言語の概要 プログラミング言語 • 人工的 • 開発目的で人間が発明 • 話すことはできない • 「Ruby を話してみて!」← 無理! • 定期的に進化・変化する = バージョンアップ • Ruby の 3.1.2、Python の 3.10.7 etc. • JavaScript は Living Standard(ES6 はバージョンというよりスナップショット) • 開発者(言語の生みの親やコミッター、メンテナー等も含む)の思想の分身 • クラスや関数(メソッド)の設計 • 開発手法(TDD, DDD etc.) • 間接的なコミュニケーションツール • コードから実装意図が読み取れるのが良いコード • レビュアー、レビュイー間で要件を満たしているかをコードを見てすり合わせる 12

13.

2. 言語の生死の定義 13

14.

2. 言語の生死の定義 自然言語 The true definition of a dead language is one that has no native speakers left. There are several different ways that it can happen, but the bottom line is that if there is only one person left who speaks the language as their native tongue and fluently, then the language has died. 死語の本当の定義は母語話者が誰 1 人としていなくなった言語のことを指す。それに至る までの過程はいくつか存在するが、その最低ラインは「その言語を母語として流暢に話す 人が 1 人しか存在しない場合、その言語は死んでいる」と言うことだ。 出典: ll.8-10, Sarah-Claire Jordan, Alpha Omega Translations 14

15.

2. 言語の生死の定義 自然言語 • 生の定義 • 進化、変化し続けること • 2 人以上の母語話者が存在する • 母語話者間でコミュニケーションがある • 死の定義 • 進化、変化が止まった時 • 母語話者が 1 人以下 • コミュニケーションが発生しない • 言語と私たち人間は一心同体 → 一方が死ぬと他方も死ぬ(ピッコロと神様的みたい) 15

16.

2. 言語の生死の定義 プログラミング言語 There are only two kinds of languages: the ones people complain about and the ones nobody uses. — Bjarne Stroustrup, creator of C++. Be it because nobody is using it, nobody is hiring for it, or nobody is talking about it — based on the level of community engagement, the job market, and overall growth — some languages just aren’t worth your time anymore. プログラミング言語には 2 種類しか存在しない。それは、人々が文句をつけるプログラミング 言語と誰も使わないプログラミング言語だ(C++ の生みの親ビャーネ・ストロヴストルップ談)。 今この瞬間に(コミュニティへの貢献や労働市場、総合的な成長性の水準に基づいて)それを使っ ていないという理由であろうと、それを使える人を雇っていないという理由であろうと、それ が全く俎上に上がっていないという理由であろうと、もはや単純に時間を費やす価値のないプ ログラミング言語もあるのだ。 出典: ll.9-15, Justina H., Codementer 16

17.

2. 言語の生死の定義 プログラミング言語 • 生の定義 • 人々が関心を示していること • 文句をつけられる =「もっとこうなってほしい」 • 毎年のように「死んだ」説が出る Ruby / Rails は絶賛生存中 • Ruby はクリスマスにメジャー版をリリースするのが通例 • 現在進行形で開発者が使っており、改良され続けていること • 死の定義 • 誰も見向きしない • 不満も抱かれない = どうでもいいと思われている • メンテナンスされない = 機能不足 & セキュリティホール満載 • No news is bad news. 17

18.

3. 言語の死の副作用 18

19.

3. 言語の死の副作用 自然言語 Orwell believed that if something is not sayable, it will not be thinkable. In his novel, he told of a society that tried to limit language by getting rid of certain words(e.g., freedom or justice) and restricting the meaning of others. The purpose was to make certain political ideas unsayable in the hope that they would become unthinkable. Orwell は「言葉で表現できないことは思考不能になる」と考えていた。 彼の小説の中で、 特定の語彙(「自由」や「正義」)を消去したり、その他の語彙の意味を制限して言語統制を 行う社会を描いた。 その目的は、政治思想を思考不能することを期待して特定の政治思想を言葉で表現できな くすることであった。 出典: p.61 ll.17-22, Michael L. Geis, Language and Communication 19

20.

3. 言語の死の副作用 自然言語 • 思考手段の喪失 • 例えば、「空腹」という言葉やその関連語がなかったら、どのようにお腹が空いたこ とについて考え、表現するか • 国家や社会の言論統制の目的は、特定の思想を口に出せなくし、それによって考えさ せなくすること • 文化的アイデンティティの喪失 • 日本語独特の敬語表現、婉曲表現は長い日本の歴史の中で醸成されたもの • それは日本語という媒体を通して考えられ、表現され、発展したもの • 例えば、日本語がなくなったらどのように「建前・本音」や「社交辞令」などの独特 な文化が存在しうるか ← 不可能! 20

21.

3. 言語の死の副作用 プログラミング言語 • 市場価値の下落 • 「DoJa で I モード開発ゴリゴリやってました」💀 ※ ただし、JavaScript のように Flash の台頭や標準化の難しさから受難の時代があった ものが、Google Map の Ajax 通信や Node.js の台頭によって再び脚光を浴びる例もあ るので何があるかはわからない。 • 開発コストの膨張 • • • • • メンテナンスコスト 不足機能の自前実装 セキュリティパッチ 多言語への乗換えコスト etc. 21

22.

4. まとめ 22

23.

4. まとめ 性質 自然言語 プログラミング言語 自然発生的 / 人口的 自然発生的 人工的 口語 / 文語 口語・文語 書くことのみ 常に 定期的に(ものによる) 個、コミュニティ、社会、文化、 歴史など 実装者の思想 (生みの親、開発者 etc.) 〇 △ 生の定義 進化、変化し続けること 人々が関心を示すこと 死の定義 母語話者が 1 人しかしないこと → コミュニケーションがなくなる → 進化、変化が止まる 誰も興味を持たないこと → 開発、メンテが止まる → 進化、変化が止まる 思考手段の喪失 文化的アイデンティティの喪失 市場価値の下落 開発コストの膨張 進化 何を反映するか コミュニケーションツール? 言語の死の副作用 23

24.

4. まとめ 補足・感想 • プログラミング言語に関しては、実用的なものでなければ売れないし参 照されないので、この手のテーマに関して信頼できるエビデンスを見つ けるのが難しい • 一方、自然言語に関しては言語学という学問が存在するので、実用性は ともかく深い考察の成果物や研究結果があるため、文献の参照が比較的 容易 • 自然言語は紀元前の太古の昔から存在する一方、プログラミング言語は 資本主義経済の時代に生まれた若い言語。「進化、変化が止まることに よって死ぬ」のは、言語の性質というより市場の原理 • 「プログラミング言語学」なるものがあったら? 24

25.

5. 参考文献 25

26.

5. 参考文献 • Sarah-Claire Jordan, What Causes the Death of a Language? • 最終アクセス日: 2021 年 10 月 23 日 • Justina H., Worst Programming Languages to Learn in 2018 • 最終アクセス日: 2021 年 10 月 23 日 • Michael L. Geis, Language and Communication, Oxford, OUP, 2001 • NTTドコモの公式開発ツールを使おう • 最終アクセス日: 2021 年 08 月 09 日 • クジラ飛行机、『いまどきの JS プログラマーのための Node.js と React ア プリケーション』、東京都、ソシム株式会社、2017 年 26

27.

EOD 27