プログラミング言語と発音 2

 

プログラミング言語の「=」の読み方は「ゲッツ」だし、「!」は「ノット」だし、「^」は「キャレット」だ。こういうのは、もう知らんとどうにもならんレベルだ。ところでこれ以外にも、日本人特有のプログラミング言語の壁があって、便利なはずのオブジェクト指向言語って離散数学以前に英語力いるよねって話をしたい。

オブジェクト指向は、Smalltalkという言語(OS)に端を発しており、これの特徴は、誤解を恐れずに言えば、子供でも使えるフレンドリーな点だ。視覚的で直感的で普段の言葉に近いインターフェイス。アランケイのダイナブック構想だ。確かに視覚的なGUIは世界共通語なんだけど、「普段の言葉」っていうのはもちろん英語のことであり、確かに英語圏のちびっこなら分かるやつには分かるんだろう。だけど、特定の自然言語への依存は、それ(英語)からほど遠い言語圏の者、つまり日本人には色々とキツイのである。正直に言いおう。手続き型からオブジェクト指向へ移行する際の障壁は、それが新しいパラダイムだからではなく、単にダラダラと長ったらしい英語スペル呪文地獄にある、と。

ちなみに、このSmalltalkというアラン・ケイのSFを真に受けて、強引に大衆化したのがスティーブ・ジョブスである。例えば、iPhoneのアプリはObjective-Cとよばれる言語で書かれているが、この言語はSmalltalkのシンタックスをお手本にしている。しかも中身はC言語なのでSmalltalkよりも高速に動く。この機構が、iPhoneのキビキビした動作を支えているのだ。では、Objective-Cの英語スペル呪文の一端を紹介しよう。一つのメソッドでこれである。

-(void)browserViewControllerWasCancelled:(MCBrowserViewController*)browserViewController

まあ、同じ命令をC言語で書くと何十行にもなるんだろうが、しかしなげーよ。いらっとくるよねー。いらっときたあなたも英語力が無い。「ブラウザービューコントローラがキャンセルされた」。これは中学英語なわけです。それでこれどんなとき使うねん。となると説明書を読まないといけない。それも英語で高校英語くらい。仮引数の型のMCbrowser・・・の「MC」ってなんやねん。Multipeer Connectivityです。そんなもん知るかw でも英語圏のプログラマーなら推測できるかも。

・・・というようにオブジェクト指向は英語まみれなのです。コード読むのがしんどいです。でも、洋書の解説本を読んでいてObjective-Cのコード・リストが出てくるとホッとするんですねえ。だってそのコードは生の英語よりもアホっぽいカタコト英語で、何を意味しているのか、ぱっと見て分かるから。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください