Upload
makoto-mizukami
View
45
Download
2
Embed Size (px)
Citation preview
15/04/2023 2
自己紹介• http://makotom.org/• 元 Opera Wiki 管理人• “ 飛行機エンジンの人”• 主要言語は JavaScript/ECMAScript
15/04/2023 3
Rust 1.0 おめでとうございます !あとは手元の布教用ステッカーが無事にはけるようにがんばってください
15/04/2023 4
プログラミング言語はいらない ?
15/04/2023 5
Someone says……• プログラミング言語はヒトへのわかりやすさと
機械にとってのわかりやすさという相反するものを中途半端に追及している
• 結果として双方にとって都合が悪い• 最悪• こんなものはなくなるべき
15/04/2023 6
本当にそうでしょうか ?
15/04/2023 7
ヒトにとってのプログラミング言語
• 任意の入力から特定の出力を得る手続きの記法• 必要としている解を得るためのロジックの記述
• 本来ヒトに理解されにくい訳がない• 構造上の理解しにくさがあるのならそれは特定の言語
もしくは特定のプログラムがクソなだけ• ただし従来の言語は計算機の都合がはっきり見えがち
なのも事実かも
15/04/2023 8
計算機にとってのプログラミング言語
• いかなる ( 高級 ) 言語による記述も低級な演算子による処理の連続に帰結する• 詳細な演算処理の手順を関数などに隠蔽し抽象化
• 計算機にとって都合が悪い訳がない• 計算機そのもののの実装はともかくとして• 計算機に都合が悪い記述があるならそのプログラムや
そのような記述を許す特定の言語がクソ• 字句解析レベルで都合が悪いならそれは特定の言語が
クソなだけ
15/04/2023 9
とはいっても個々の言語に
不満がのこることもあるでしょう計算機寄りの概念への詳細な理解が必要だったり ( 型 ? プロセス ? ファイルシステム ?)
機械的な合理性が犠牲になったり文法や語彙が特定の自然言語の影響を受けすぎだったり
15/04/2023 10
Afterword - To all programming lovers
• 言語環境は計算機を使いやすくするためのものであるという意識• 思いやりのある設計• 隠すところは隠し見せるところは見せる• ヒトは情報量が少なすぎても多すぎても機能しません
• ロジックを記述しているという意識• ヒトにもいかなる形態の計算機にも理解される論理性• 論理性の破綻はバグや脆弱性そのものです