ニュース&トピックス
News
2022. 05. 10
学園長コラム【学園長コラム vol.52】英語とプログラミング言語
スティーヴ・ジョブスの伝記を読んでいます。英語で。
600ページの大作のまだ10ページ目ですけど。苦労しています。
英語に苦労しながら、昔、プログラミング言語に苦労したことを思い出しました。
いまから40年以上前、私が初めてプログラミング言語の習得に苦労した話です。
ここでいまふと思いついたのが、英語とプログラミング言語との共通点です。
「たくさん読む」「たくさん書く」「実践してみる」、
この3つが習得最良の方法であるということが二つの言語の最大の共通点だと思います。
ただし「読む」と「書く」は同じですが、「実践する」方法はちょっと違いますね。
英語の実践は英会話が中心ですが、プログラミング言語の実践はプログラムを動かしてみることです。
この違いが実はなかなか面白いのです。
英会話は「多少、間違っていても通じる」ものですが、プログラムは「ちょっとでも間違っていたら動かない」ものです。
ですから英会話をたくさん続けた人であっても「英語が正しくない人」は結構いますが、
プログラムをたくさん動かした人は「正しいプログラムを作れる人」になります。
しかしここでも共通点はあり、
「しゃれた英会話をしようと努力を続けた人」は知的でセンスのある英語を話すようになるように、
「しゃれたプログラムを作ろうと努力を続けた人」は効率的でセンスのあるプログラムを作るようになります。
今回、私が言いたいことは、
「同じようなプログラムをつくる機会が来たら、前回と違う方法、もっとしゃれたプログラムを作ることに挑戦して欲しい」ということです。
たとえば、「1からnまでの整数を加算した合計を求める」というプログラムを作る場合を考えてみましょう。
「等差数列の和の公式」を使うとつまらないので、n回ループさせるようなプログラムを考えてみてください。
これを経験した数日後とか数週間後・数ヶ月後に「1からnまでの整数のうち3の倍数だけを加算した合計を求める」というプログラムを作る機会があったら、
さきほどとはちょっと違う方式を考えてみて欲しい。
これは英会話でも同じで、たとえば「自分の趣味を説明する」ときに数週間前とは違うもっとしゃれた言い方に挑戦する、みたいなことです。
さらに「1からnまでの整数のうち、3の倍数であるが9の倍数ではないものだけを加算した合計を求める」というプログラムに挑戦するとき、
さらに違うやり方を考えて欲しいのです。
ITのプロとなって働き始めたとき、
たとえば「入力された情報が既にデータベース中に存在するか否かを判断し、その結果で場合分けする」
という機能をプログラムに盛り込むことは人生で数百回や数千回、取り組む可能性があります。
最初におぼえた方法を数十年も続ける人もいれば、常に「もっとしゃれた方法はないか」と挑戦し続ける人もいます。
数十年後、二人の間の差はものすごく大きなものとなるはずです。
最近、組んだプログラムを思い出してみてください。
正しく動くことが一番大切ですが、その次に、どれだけしゃれているかを考えてみてください。
つまり、効率的に動くか、見やすい・わかりやすいプログラムか、修正しやすい書き方をしているか、
今後発生する修正がどのようなものかを事前に推測し、それに対応しやすい方法を採用しているか、
など、「しゃれているかどうか」はかなり高度な問題なのです。
自分が組んだプログラムが「ちょっとダサいな」と感じたら、もう一回、違う考え方で組み直してみてください。
さて、ちょっと長くなりますが、もう一つ、別なことを書きます。
「世界中に、英語が苦手な天才プログラマは(結構)いる」という事実です。
つまり、英語とプログラミング言語にはやはり違いがあり、高校時代に英語が苦手だった人でも、
プログラミング言語が得意になる可能性が十分にあるということです。
この法則は、私は、インド人でIT会社を経営している知人からの情報でも確認しました。
インドの母国語はヒンディー語であり、第一外国語が日本と同じ英語なのです。
そして最後にさらに一つ、別なことを書きます。
「天才プログラマにも英語が苦手な人はいるが、システムの設計やユーザへの説明などが得意な人は英語も得意になっていく」という法則があることです。
これには理由があります。
システム設計をするときなど、最新技術を調べようと思ったら英語のマニュアルや文献を調べないといけないことがよくあります。
あるいは海外の事例などを調べる際にも英語があると心強い。
なぜなら、世界中のIT関連の文献や書き込みは、技術的なこともビジネス的なことも、どの国の人も英語で書くからです。
日本語に正しく翻訳されたものが出回るのはこの中の少数であり、かつ、かなり時代遅れ的なタイミングになります。
英語が苦手な人も、プログラミングの天才を目指してください。
そして天才プログラマ、あるいは、その近くにまで到達したら、チャンスは大きく広がります。
是非、世界で活躍するようなプロをめざし、その過程で英語も得意になっていってください。
<プロフィール>
東京工業大学理学部数学科卒業。
ITエンジニアとしてコンビニ、アパレル、保険、銀行、人材派遣など様々な業界のシステム開発を手がけ、現在は株式会社クレスコ社外取締役、ユーザー系企業・顧問 情報活用コンサルティング、IT系企業・顧問 事業戦略策定コンサルティングを兼務。「ダメなシステム屋にだまされるな」(2009年日系BP)など、IT関連の著書も多数。
▼バックナンバーはこちら▼
【学園長コラム vol.1】毎日の仕事はITだらけ
【学園長コラム vol.2】プログラミングの初仕事
【学園長コラム vol.3】世界を変えるためにやっている
【学園長コラム vol.4】異常終了 - アベンド -
【学園長コラム vol.5】天才ユーザー(アパレル)
【学園長コラム vol.6】等比数列の和の公式
【学園長コラム vol.7】業種とIT
【学園長コラム vol.8】世界のIT
【学園長コラム vol.9】Win - Win - Win
【学園長コラム vol.10】Why don't you come to me?
【学園長コラム vol.11】経済産業省が鳴らす警鐘
【学園長コラム vol.12】AIとIoT
【学園長コラム vol.13】天才ユーザー(コンビニ)月曜夜9時の少年ジャンプ
【学園長コラム vol.14】天才ユーザー(百貨店)
【学園長コラム vol.15】メガ、ギガ、テラ
【学園長コラム vol.16】バッチ処理
【学園長コラム vol.17】恐怖の無限ループ
【学園長コラム vol.18】金持ちを目指せ
【学園長コラム vol.19】英語
【学園長コラム vol.20】ビル・ゲイツとの出会い
【学園長コラム vol.21】AIはこれから(1)
【学園長コラム vol.22】AIはこれから(2)
【学園長コラム vol.23】AIはこれから(3)
【学園長コラム vol.24】AIはこれから(4)
【学園長コラム vol.25】AIはこれから(5)
【学園長コラム vol.26】ニッチ(niche)
【学園長コラム vol.27】理系? 文系?それとも?
【学園長コラム vol.28】5G(ファイヴ・ジー)
【学園長コラム vol.29】4G(フォージー)と5G(ファイブ・ジー)
【学園長コラム vol.30】30歳になったときを想像してみる
【学園長コラム vol.31】倍々ゲーム
【学園長コラム vol.32】多様性
【学園長コラム vol.33】リモート・ワーク
【学園長コラム vol.34】台湾留学人気の理由
【学園長コラム vol.35】コミュニケーション能力
【学園長コラム vol.36】新・新型コロナ?
【学園長コラム vol.37】IT業界の景気は?
【学園長コラム vol.38】Society 5.0
【学園長コラム vol.39】変身
【学園長コラム vol.40】誰のためのプログラムか
【学園長コラム vol.41】IT活用のセンス
【学園長コラム vol.42】データの一元管理
【学園長コラム vol.43】広がる可能性
【学園長コラム vol.44】頭の体操
【学園長コラム vol.45】頭の体操(2)
【学園長コラム vol.46】新入社員のときのプログラム
【学園長コラム vol.47】IT利用の面白さ
【学園長コラム vol.48】2022年、世界の動き
【学園長コラム vol.49】口下手でいい
【学園長コラム vol.50】仕事が速い=仕事ができる
【学園長コラム vol.51】個性、努力、経験(勇気)