学びたい言語という始点 — Objective-Cでの例

開発者が学ぶべき言語論が(ある意味)花盛りですが、40を過ぎたオジサンの経験を話したいと思います。

かれこれ20年以上前になります。当時C言語を少しですが学んでいた私は次にオブジェクト指向言語を学ぼうと思いました。C++の存在は知っていましたが、いろいろ調べるうちにObjective-Cというものがあると知りました。Objective-CはSmalltalk型のオブジェクト指向言語で、C++よりスマートでハンサムに見えました。しかしC++よりかなりマイナーです。それでもObjective-Cの方がステキに思えたのでObjective-Cを学ぶことに決めました。

Objective-Cを学べる書籍は少なかったのですが、1冊見つけて購入しました。確かNextStep版以外の、あれはGCC版だったのかな?、2種類のObjective-Cの解説が載っていました。何度も読んで楽しみました。その後、Objective-CでWeb開発ができるというWebObjectsも学びました。

そのうちいろいろあって就職することになったのですが、Objective-Cで仕事のできる会社はほとんどありません。しかし全く無いわけではありませんでした。

その後フリーランスでも仕事をしました。フリーランスではPHPを使いました。PHPはObjective-Cと比べるとあまり面白くはありませんでしたが、糊口を凌ぐために使えるようにしました。一つの言語を学ぶと、他の言語も学びやすいので、PHPの学習はObjective-Cを学んだときより比較的簡単でした。

そのうちApple社がiPhoneを公開し、個人でもiPhoneアプリを作れるようになりました。そこでObjective-Cの出番です。iPhoneを購入し、勝手知ったるObjective-Cでアプリを開発しリリースしました。TacticonというTwitterのアイコンを連絡先のアイコンに設定するというアプリでした。このアプリをリリースしたことで知り合いからiPhoneアプリの仕事を依頼されました。実績を積み、地方にいながら東京の会社から仕事を依頼さるようにもなりました。そして現在のLang-8社から声がかかり、現在はLang-8社のHiNativeというサービスのiOSアプリを開発しています。ちなみに長野県在住で東京の会社に所属しフルリモートで働いております。

また、最近ではOcamlに興味を持ち、そこからF#の存在を知り、学び始めました。これもまたマイナーな言語ですが、とても楽しく学んでいます。

たしかに現在メインストリームにある言語や今後中心になっていくだろう言語を学ぶことも良いかもしれません。しかし自分が興味を持った、楽しく学べる言語を学ぶことも一つの道であると思います。私が経験したことは

1. 学びたい言語を学ぶのは楽しい
2. マイナーな言語でも仕事はあることがある
3. マイナーでも一つの言語を学べばメジャーな他の言語を学ぶのは簡単になる

ということです。Objective-Cを学ぶなかで、オブジェクト指向についてや開発手法などさまざまなことを学びました。現在でもとても役に立っています。しかしもっとも言いたいのは「楽しい」ということではないでしょうか。いろいろな言語を覗いて、自分が楽しい・面白いと思える言語に出会って、その言語を始点としてプログラミングを学んでいくとよいと思います。

以上、オジサンの昔語りでした。

それから、HiNativeをよろしくお願いします。

それからそれから、Lang-8社ではiOSやAndroid、Webをはじめさまざまな職種の求人をしております。奮ってご応募ください。