いまさらObjective-C

更新が滞っていました。いわゆる「技術的な活動」は行っていたのですが、成果として載せられるものがなかっただけの話です。ただ、これまでやってきたことが全く繋がっていなかった訳ではありません。言い訳がましく書いておくと、こんな感じです。

  1. (2008-2010年頃)FileMakerを使って中国語の単語を管理
  2. (2010年頃)FileMaker Goが登場してFileMakerのDBをそのままiPhoneiPadで扱えるようになるものも連係はイマイチ
  3. (2012-2013年) NLPとはなんぞやというところからNLTKに出会う。Pythonと合わせてはまる。
  4. NLTKで処理するのに手軽な自前データというところでFileMakerのDBの存在を思い出す。
  5. FileMaker DBとPythonODBC経由で接続。データの加工などに活用
  6. 巡り巡って中国語学習熱が再発(笑)。iPhoneとかiPadとかで勉強できたらいいなと思う
  7. FileMaker + FM Goでプロトタイプを作ってみる。ボチボチ良い感じ。
  8. やっぱりネイティブアプリだよね <<< イマココ

ということで、ここ最近はObjective-Cをいじり始めています。

時代が自分に追いついてきた ←逆だろw

Objective-C、実は過去にも挑戦したことがあるのですが挫折していました。一応エンジニアの端くれではあるものの、本職で使っている言語が手続き型という上から下に処理が流れるタイプのものだったので、オブジェクト指向型言語には乗り遅れ気味というか、(仕事上は)知らなくても困りませんでした。そのせいか、なかなかオブジェクト指向とか、Objective-C独特のお作法に慣れることが出来なかったのです。

なんでClassの概念の説明にクルマが出てくるんだ?

とか。

ただ風向きが少しずつ変わってきます。今から1年前、ちょうど上海に来る少し前ぐらいでしょうか。仕事で使っている某言語にもオブジェクト指向が徐々に導入されてきて、もはや避けて通れなくなったのです。そこであらためて、オブジェクト指向言語の解説書を読んでみると、書いてある事がきちんと分かるのです。クラスに属性(変数)を持たせたり、メソッドを定義する。さらに言えばクラスをそのまま使うのか、コピーしたヤツを使い回す(インスタンス化)のか等々。

過去に挫折したと思っていた記憶がまだ残っていたのと、その頃から仕事で使っている言語とは別にPythonを触りだしたことも理解の上でプラスに作用したんだと思います。

そこでObjective-Cの登場

話は戻ります。Pythonを使って中国語の発音であるピンインをいろいろ調べているうちに、昔学習したはずモノを結構忘れてしまっていることに気がつきました。これは復習せなならんと思っているうちに、再びiOSでアプリを作るという衝動に駆られて、日本から持ってきた(ものの手つかずだった)iOS開発関連の本を読んでみました。

初めてのiOSプログラミング 第2版

初めてのiOSプログラミング 第2版


iOSプログラミング入門 - Objective-C + Xcode 4で学ぶ、iOSアプリ開発の基礎

iOSプログラミング入門 - Objective-C + Xcode 4で学ぶ、iOSアプリ開発の基礎

これもまた今読んでみると内容が理解できるのです。もちろん、Objective-C特有の[]を使った書式とか、変数の前にくっついている"*"とか、相変わらず癖が強いなとは思うものの、乗り越えられない壁ではなさそうな感じです。

ということで、ひっそりと「中国語ピンイン学習アプリをiOSのAppで作ろうProject」を始動しました。中国語とObjective-Cの両方を学ぶという意欲作です(どこがw)。いつ完成するのか分かりませんし、最終的に公開するところまで行く確率は高くないかも知れませんが、少しずつ状況をUpdate出来たらいいかなと思っています。

(つづく)