*

iOSプログラミング入門書では、まず最初のHello, World!すら難しい

公開日: : 最終更新日:2014/06/12 iOSアプリを書く! , , ,

Hello, World!が第一歩

新しくプログラミング言語を習得するときに、「この言語でのHello, World!はどのように書くのかな」というように最初のプログラム作成ステップを踏んでいくタイプの人がいるだろう。最初のプログラムは、どこか画面に”Hello, World!”という文字列を出力することで完成し、達成感が得られる。第一歩目が終わる。
ウェブプログラマの場合なら、たとえばJavaScriptで以下のように書く。

document.write("Hello, World!");

これをブラウザのコンソールで実行するか、あるいはhtmlファイルのscriptタグに挟めば、画面に実行結果が表示される。成功だ。
あるいはPHPならば、

echo "Hello, World!";

これをhtmlファイル中でphpタグに挟むか、あるいは.phpのファイルにして(ローカル)サーバに置き、ブラウザからアクセスすれば良い。成功だ。

その勢いのまま、自分のプログラミングの才能に惚れ惚れしつつ、iOSプログラミングの本を開く。さあ、Hello, World!はどこだ?

果てしなく大股の第一歩

すると、どうも他のプログラム言語の入門書と勝手が違うことに気がつくだろう。まず最初にXcodeのインストールの仕方から始まり、画面の部分の説明が始まり、さあ最初のプログラムを書いてみましょうとなる。
そして急に登場する.hファイルと.mファイル。@interfaceとか@implementationとかの、およそテキスト処理とは無縁そうな単語。さらに、すでに書かれているコードをいじらされる。たかだかテキスト表示するためだけに、きっと優秀なプログラマが書いたであろうコードを傷つけないように、肩身の狭い思いをしながらテキストを打ち込めと指示される。もうこんな言語は嫌!という気分になって、挫折してしまうだろう。

Objective-C言語から自然に入門できる入門書は無いのかねぇ

どうしてこのような悲劇が起こるかというと、JavaScriptやPHPにおけるブラウザ、あるいは他の言語におけるコマンドラインのような出力環境をiOSに作るためのコードが必要だからだ。iOSプログラムを立ち上げて、初期画面が表示される。この時点での状態が、既に優秀なコードの結果なのだ。だからiOSプログラムの第一歩というのは、巨人の肩でこそこそ踏み出すことになる。まず必要なのは、巨人の上でバランスを崩さない技術なのだ。
じゃあ、iOSでの一歩の前に純粋にObjective-Cの一歩を踏み出したい!となったらどうすればよいか。これ、最初のプロジェクトテンプレート選択で、OSX ApplicationのCommand Line Toolを選択すれば良いのよね。

iOSではなくOSXアプリを選択

iOSではなくOSXアプリを選択

すると、このテンプレートにはコードを書く所がmain.mしかない。main.mにはinsert code here…というコメントが書かれている。ここにObjective-Cのコードを書いて左上の三角ボタンで実行すれば、実行結果が左下のスペースに出る!

consoleアプリケーション

consoleアプリケーション

で、実は既にHello, World!が書いてある(チェッ)。見なかったことにして、書いてあるコードを削除、新たにこのように打ち込んでみよう。

NSLog(@"Hello, World!");

するとどうだろう、なんと実行すると画面にHello, World!と表示される。そうそう、こういう感動が大事なわけよ。
そしてここからどんどんコードを書く技術を膨らませて行けば良い。関数を定義するにはどうすれば良いか。オブジェクトを作るには?インターフェースは書くことができるのか?
そのようにObjective-Cの経験を積んだ後、iOSアプリケーションのテンプレートを眺めて、「昔はこれ、さっぱり分からなかったなぁ」と懐かしむのが一番良い学習経路ではないか。うん。

Xcode6が正式リリースになって、Swiftが入門者を待ち受けるようになるとどうなるか分からない。少なくとも.hと.mのようにファイルを分けることは無いというから、もっと直感的になるのか。けれども、とりあえずObjective-Cから食らいついていく場合には、最初っからiOSアプリケーションを作ろうとしない方が良いんじゃないかな。

関連記事

GaussTester実行結果

Objective-Cの第四歩 インスタンスプロパティ・メソッドを定義する

Objective-Cの第三歩では、ピュアC言語からのObjective-Cのクラス入門ということで

記事を読む

no image

Xcode 6の正式リリースまでに、Objective-Cでアプリを一つ仕上げる!

Swiftに早速触れてみたい!でもXcode 6がベータ版の間は、有料(7800円/年)のDevel

記事を読む

no image

Objective-Cの第六歩 プロトコルの宣言と実装

Objective-Cの第五歩では、親クラスの継承とメソッドのオーバーライドについて説明した。そこま

記事を読む

no image

Objective-Cでは何故.hファイルと.mファイルを作成させられるのか

前回説明したように、Objective-Cでプログラムを書く際には、別にC言語そのもののつもりで書い

記事を読む

no image

Objective-Cの第三歩 クラスとクラスメソッドを定義する

Swiftの事をひとまず置いておいてObjective-Cの入門編を書いているわけだが、前々回の"H

記事を読む

no image

Objective-Cの第一歩(仕切り直し)

前回Objective-Cの第一歩として挙げたコードであるが、綺麗さっぱり忘れてほしい。というのは、

記事を読む

画面の回転に対応したプログラム

Objective-CでiOSアプリの第三歩 UIViewControllerの必要性を理解する

前回はUIViewControllerの存在を無視して"Hello, World!"アプリケーション

記事を読む

アイコンは未指定なので不格好

Objective-CでiOSアプリの第一歩 新規プロジェクトで生成されるコードの解説

しけたコンソールアプリばかり作っていたけれど、ようやっとiOSプログラミングに入るとしよう。急がない

記事を読む

クラスを継承して作成

Objective-Cの第五歩 クラスの継承とメソッドのオーバーライド

前回Objective-Cの第四歩では、等差数列の和を計算するプログラムGaussTesterの作成

記事を読む

無理矢理表示したHello, World!

Objective-CでiOSアプリの第二歩 とにかく立ち上がればというレベルのHello, World!アプリを作成

前回はiOSアプリ作成の第一歩として、Empty Applicationを選択した際に書いてあるコー

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

no image
Swiftが今年後半を目処にオープンソース化!そしてSwift 2

一時期iOSとOSXの開発からは離れていたけれど、久しぶりの大きなニュ

RunSwiftスクショ
WEB上で動作するSwiftの疑似実行環境 RunSwift・SwiftStub

Swiftの実行環境はMac+Xcode。ウワサのSwift言語に興味

no image
待望のRetina iMacが登場! iOSアプリの開発が楽になる?

10月16日(日本時間17日)に行われたAppleの新製品発表会。大方

no image
Swiftの参考書 電子書籍以外にもボツボツと登場

書店の棚に並んでいるSwift本を見て、正式リリースを実感! 何しろ

no image
Swift1.0を含むXcode6のGMが公開

大体2週間の間隔を空けてbetaのヴァージョンナンバーが上がり続けてい

→もっと見る

PAGE TOP ↑