この数か月間、私はObjective-Cを使ってiOSアプリを構築する方法を学んできましたが、今日になってようやく少し手応えを感じられるようになりました。これは想像していたよりもずっと難しいと痛感しています。

葛藤し、困惑し、落ち込み、実際にコードを書く時間はバグを探して修正する時間よりも少ないほどでした。しかし、ようやく自分で作ったスマホアプリを触って遊べるようになったとき、すべての努力が報われたと感じました!

ec3deb8ca0071e7a3e65e8d3837b26c6

アプリ制作の道のりで、私は多くのことを学びました。iOSアプリの開発方法だけでなく、全体を計画する方法や、プログラミングスキルも向上しました。しかし、もしObjective-Cを学ぶ際に別のアプローチを取っていたら、多くの問題は避けられたはずです。

これらの経験をまとめると、もし今日もう一度コードを学び直すとしたら、私はこうするでしょう。

「コーダー仲間」を見つける

まず、お互いの経験や考えを共有できる「コーダー仲間」を見つけることです。

私の友人のJoshはPython開発者で、Objective-Cも扱えます。彼は私が投げかけた多くの具体的な質問(「if文をどうやって再び使うのか?」など)に非常に感謝してくれました。そして私がどうしても分からずに悩んでいるときは、デバッグを手伝ってくれました。まさに「教えることは学ぶこと」です。

正直なところ、このように辛抱強く基本的なプログラミング原理を説明してくれるプログラマーの友人がいたことは、本当に有益でした。もしもっと早くそんな友人がいたら、Objective-Cでこんなに遠回りをすることはなかったでしょう。

利用可能なすべてのリソースを活用する

もし身近にそんな辛抱強いコーダー仲間がいなければ、以下の方法で助けを得ることができます。

1. Stack Overflow

特定の構文や開発の問題に遭遇したら、Stack Overflowにアクセスするのが一番です。ただ、私はまだ自分から質問したことはありません。他の人が質問し、それに対する回答を見るだけで十分だからです。

2. オンライン定期刊行物を購読する

ネット上の学習リソースは複雑に入り組んでいて、初心者はしばしば混乱してしまいます。一部のオンライン定期刊行物は、定期的に最近の厳選コンテンツを配信してくれるので、選択のに学ぶことができます。私たちは「プログラマーネット」が発行する『ハッピープログラマー』を推薦します。ここをクリックしてメール購読できます。

3. Treehouse

ビデオコースと内蔵のコミュニティフォーラムを通じて、プログラミング方法を学べます。

4. askadev

askadevを利用すれば、助けが必要なときに経験豊富な開発者に連絡してもらえます。私は試したことはありませんが、すべてのプログラミング言語に対応しているかどうかはわかりません。ただ、無料であることが良い点です。次に何か難しい問題にぶつかったら、試してみてください。

5. Codementor

お金を払ってでもシニア開発者の助けを得てもよいというなら、Codementorを試してみる価値があります。最適な開発者をマッチングしてくれます。言語はAndroid、iOS、HTML、CSS、PHP、Pythonなど多岐にわたります。

6. ラバーダック法

この方法のポイントは、自分の問題を声に出して、ラバーダックや他の無生物(トースターでも)に説明することです。

説明しているうちに、ふと答えを思いつくことがよくあります(または間違いに気づきます)。

基本原則を学ぶ

多くのものが障害となるのは、私たち自身の誤解や、使っている技術に不慣れだからです。

例えば、APIを使うということは、APIがどう動くか、POSTリクエストとGETリクエストの使い方、JSONデータの解析方法を理解する必要があるということです。さらに、JSONデータの受け取り方さえも知っておく必要があります。

iOSアプリを作りたいなら、Objective-Cを学ぶだけでは不十分です。少なくとも、私が思い描くアプリを構築するには十分ではありませんでした。かつての私はまさにそういう間違いを犯しました。

さらに悪いことに、フォーラムの説明やオンラインチュートリアル、書籍の章の解説があっても、私は頻繁に行き詰まりました。それらはすべて基本原則をすっ飛ばしていたのです。私が知っていると思っていたが、実際には知らなかったのです。

もしもう一度学び直すなら、HTMLとCSSの基礎をしっかりと身につけます。アプリを作る場合も、今のように闇雲に始めるのではなく、まず基礎を固めます。

最初の言語

どんな言語も財産です。私が学んだHTMLとCSSは今のところ活用の場がありませんが、それでも学んだことを無駄だとは思いません。

初心者はまずHTMLとCSSでウェブサイトを作ってみるのがいいでしょう。これらはマークアップ言語なので、モバイルアプリやWebアプリの開発にはあまり役に立たないかもしれません。しかし、たとえ直接役に立たなくても、学ぶ過程で多くの知識と経験が得られ、次のプログラミング言語を学ぶのに役立ちます。

コードを学び始めたばかりでどこから手をつければいいかわからないなら、好きな本やチュートリアル、オンラインコースを選びましょう。これだと思ったら迷わず始めてください。明確な目標ができたら、他のプログラミング言語にすぐに移ることもできます。

自分が本当に作りたいと思うプロジェクトを見つける

私は自分ではまあまあ努力家だと思っています。10代の頃にHTMLとCSSを学び、数年前にRubyの基礎を学び、最近はPythonにも挑戦しています。

そして、私はObjective-Cを学ぶことにしました。しかし、それはObjective-Cが特に好きだからでも、他の人が学んでいるのを見て触発されたからでもありません。iOSアプリを作りたかったからです。本当に自分で作りたいと思ったのです。

Objective-Cを学ぶ情熱は、これまでのどの言語よりも高かったと言えます。

最も重要なのは、どんな困難に直面しても、また落ち込んでも、決して諦めようと思わなかったことです。このプロジェクトは心から作りたいと思っていたからです。たとえ小さな進歩でも、それが私の継続する力となりました。

もしコーディングを学ぼうと考えていて、特に制約がないなら、自分が本当に情熱を持てる、そして作りたいプロジェクトに必要なプログラミング言語を選びましょう。

学習のプロセスは人それぞれなので、あなたの経験は私とは異なるかもしれません。しかし、もしあなたが始めたばかりか、コーディングを学ぼうと考えているなら、私の経験と教訓が少しでも早く学ぶ助けになればと心から願っています。


翻訳リンク:http://www.codeceo.com/article/what-to-do-if-be-programmer.html
英語原文:What I would do differently if I was learning to code today
翻訳者:码农网– 小峰