プログラマ行進曲第二章

主にソフトウェア関連の技術をネタにした記事を執筆するためのブログ

幾度となくiOSプログラミングに挑戦してその度に挫折して思うこと

アプリ作ってリリースするまでの道のり遠すぎだろ

もうこの一言ですむんですが、それだけだとブログ書いている意味がないので日付が変わる前にザラっと書くのに挑戦してみます。

去年の年末近くの記事にも書きましたが、下に載せる本を使ってまたiOSプログラミングを再開したんですね。

もう何度目の挑戦になるのかよく分からないんですが、挑戦した数は多分5回くらいは超えていると思います。

で、毎回その度に挫折するわけです。

そもそも目標を持って新しいことを始めた後、その目標を達成すること自体が難しいと言えば難しいし稀なことなのかもしれませんが、それにしたって躓きすぎだろうと前から思っていたわけですよ。

今回は上の書籍に書いてあるコードを写経してビルドして動かす、という手順で勉強しているんですが、iOSプログラミング(というかスマホ関連のプログラミング)の躓きがどういった原因で発生するのか、何となく考えたことがあるのでアウトプットして頭の中を整理したくなりました。

考えた原因を列挙

日付が変わる前に更新しよう、そういう制限かけたので尻切れトンボにならないように、思いついた原因だけザッと列挙してみます。

  • Objective-Cが分かっただけではアプリの形にならない
    • 多分最大の原因
    • 初心者はObjective-Cにだけ躓くのではなくて「Xcodeの使い方」「イベント駆動の概念」「iOSプログラミングする際のお作法」といった複数の箇所で躓く
    • で、初心者は初心者だからこれらの躓きの違いが区別できず、頭の中で整理がつかないことが多い(少なくとも私は)
  • 「実現したいこと」と「自分に可能なこと」のバランスを取って実装するのが難しい
    • サンプルコードは理解できて自分で書けても、自分がやりたいことを実現するにはどうしたらいいか分からなかったり、あるいは実現したいことが壮大すぎて自分の実装力では実現できない事態に陥る
    • 別にiOSとかスマートフォン関係のプログラミングに限らない事だと思うが、参入者多いから挙げておく
  • プログラミング != アプリリリース
    • 中途半端にプログラミングを知っている人の場合(私とか)、内部のプログラミングに凝り出して、アプリを完成させることよりもコードを書く方に目がいってしまう
    • …と書いたが、別にこれ、スマホの話しに限らないですね。
  • もはや世の中には便利なアプリがたくさん既に存在する
    • いざ自分で作ろうと思ったら、だいたい自分の欲しいものは既にアプリが出てたりしたり。
    • よりニッチなものとかシンプルなものを作れば需要がある場合もあるが、その場合「不必要なものを捨てる・省く力」が必要なので、初心者が実践するには厳しい場合が多い

…別にiOSとかスマートフォン特有の原因じゃなくてどこでも出てくる話ばっかりになってしまいましたが、とりあえず罠が多いということですよ!

残り1分切ったのでココまでにします!