blogtitle
RSS Twitter
  • TOP
  • このブログについて
  • imotenもくじ
  • VPS拡張編
    • VPS機能拡張
    • セキュリティ対策
    • WordPress設定
  • ブログ主おすすめ
    • おすすめアプリ
    • おすすめ周辺機器
    • Xcode
    • ターミナルサービス設定
  • レシピ(料理)

【Xcode】初心者が独学でプログラミングを覚えるには【心構え】

Day:2013.6.24 0:05 Comments: 13

code Xcode

Xcode


プログラミングの難しさと奥の深さに辟易しているどうも僕です。

今回はプログラミングを覚えたくてXcodeをインストールしつつ、開いても意味不明でそっと閉じてしまう方向けに、自分がどうやってちょっとだけ書けるようになったかを書いていきます。



前提スキル


いくら初心者だといえども、これだけはやれるようになっとけという必要スキルを列挙。

とは言っても、ブログ主の主観だけど。


ブラインドタッチ


キーボードを見ないでキーを打てるくらいじゃないと話にならない。

PCに対する慣れがそれくらい必要。



Excelの関数がある程度使える


Excelのセルの中にIF文やROUNDUP文とかを書き込む事が出来て、正しく使用できる理解力が必要。

プログラミングは基本文字列を書き込むことに終始することになる。

なのでExcelでIF文などをどう使うか理解出来る程度の下地が無いと相当きつい。



Google先生で調べる力


実装したい機能があってもやり方がわからない。

そういう時にGoogle先生を使って答えを導き出す力が必要。



プログラミングが出来る ≠ アプリを作れる


プログラミングとは言っても出来ることは山のようにあるので、どこまで行くとプログラマなんだ?といっても誰も明確な答えは無いと思うんだよね。

医者になりたい!って思っても、歯医者もいれば、内科の先生もいる。

外科、産婦人科、麻酔科、精神科等々、ありとあらゆる種類がある。

それを全部マスターするなんてブラックジャックじゃないと無理。

当然プログラマでも得意とする分野や苦手な分野、そして簡単なプログラミングもあれば難しいプログラミングもある。

HelloWorldは指に絆創膏を貼るくらい簡単だが、Photoshopなどのアプリケーションは心臓外科手術並み。

個人で作ることはほぼ不可能。

実際自分がどれくらいプログラミングが出来るようになりたいっていう線引きが出来ていないと思うんだよね。

腕に包帯を巻ける程度になりたいのか、本格的な外科医師になりたいのかでも難易度がまったく違うし勉強時間も天と地の差がある。



自分が作りたいアプリがあるのかどうか


インスタンス変数とかプロパティとかイニシャライズとか難しいことは置いておいて、まず自分がこういうアプリを作りたいって言う構想があるかどうかでもちがう。

作りたいアプリが無いのに、プログラミングを覚えようとしても無駄。

絶対に覚えられない。

そもそも作りたいものがないのにどうしてプログラミングをしたいのか。

英語を話す機会が無いのに英語を覚えようとしても結局話せるようにはならないのと同じ。

まず、どんなアプリがほしいかを考えよう。



作りたいアプリを書き出す


サーバと通信して通信を同期して云々とか、なんでもいい。

自分が作ってみたいアプリをメモ帳にでも書いてみよう。

実装したい機能はこれ。

iPhone上での画面遷移はこう動くとか、とか実現したい機能を書きだしていく。

作ることが出来る出来ないは別として、それは取っておこう。



初めてのiOSアプリケーションを作ってみる


まず、初めてのiOSアプリケーションを作ってみる。


【Objective-C】XcodeでiPhoneアプリを作る基礎を学ぶ3【『初めてのiOSアプリケーション』その1】 | くずのは探偵事務所


これはAppleがObjective-C初心者に向けたドキュメントで、Xcodeの超絶基礎を学ぶことが出来る。

まず、右も左もわからない状態ならこれ。

これを作ると、プログラミングの一端に触れることが出来る。

作成後、実行結果は同じになったが、なぜこの式を書くのかがわからない。

そう思ったはず。

でもそれでいい。



先に理論を知っても一切わからない


ブログ主は最初、理論を学ぼうと参考書を読んでいたが、学校の教科書を読んでるように退屈で眠くて死にそうだった。

しかも、何にも覚えてない。

本を読んでも何がなにやらチンプンカンプンで、ちっともああ!これはこうなってるからなんだ!なんていう知的好奇心をくすぐるものが一切ない。

全くの無駄。

じゃあどうすりゃいいの?

と途方に暮れるのだが、どう書いてくか。

何を書いていいのかもわからない。

そこで最初に作りたいアプリを書きだしたものが生きてくる。



ひたすら機能を削っていく


考えたアプリの中から、ひたすら難しい機能を削っていく。

サーバとの通信→無理

かっこいいグラフィカルな動き→無理

人物名のソート→無理

等々、色々削っていくと非常に単純でどこにでもあるようなアプリの設計図が出来上がるはずだ。

たとえば、いつも自分が仕事使うような、個人情報満載の一覧とか。

連絡先を使うと私用の連絡先と混ざるから一緒にしたくない!とかそういうものでもいい。

自分専用だと割り切って設計してみよう。

ソートや検索機能をつけるとかもすべて削る。

なぜか。

絶対そこで詰まる。

するとどれだけ悩んでも先に進まない。

そして諦める。

あとから実装するんだ!と割り切って先に進めよう。



なるべく毎日少しずつ続ける


1日1時間でもいいし、調子のいいときに沢山時間を使って考えてもいい。

なるべく毎日続けよう。

じゃないとすぐ忘れる。

人間の脳はよく出来ていて、使わないと思ったらすぐにその記憶を脳の片隅に押し込んでしまって思い出せなくなる。

毎日細く長くというのも重要で、その日にわかっていなくても、寝たら記憶が整理されてなぜかしっくりしみこむようにわかっていたりする。

要は慣れが必要なんだよね。

こればかりは時間しか解決出来ない。

しっかり寝て頭にしみこませていくしかない。



綺麗なソースコードを書こうと思わない


右も左もわからないよちよち歩きのプログラマが綺麗なソースコードを書こうと思っても無駄。

綺麗かどうかすらわからないのにそんなものを意識しても始まらない。

それよりも、ボタンを押したら望み通りの処理がされているか、など機能の実装に力を注ごう。



1から10までコードを書くわけではない


プログラミングをするとき、すべてのコードを自分で考えるわけではない。

やさしいプログラマの方々がわざわざソースコードを晒してくれている。

そういうコードをコピペして使わせてもらおう。

どうしてこの機能がこのコードで・・・と思っても、今は考えなくていい。

進んでいくうちに理解できる日が来る。

ありがたく参考書やブログなどを参考にコードを拝借しよう。



アプリを完成させることが大事


プログラムを書くことが目的では無い。

自分のほしい機能が実装されたアプリを作ることが目的。

ここが非常に重要。

これを見失うと続かない。

自分の作ったアプリで自分の仕事や生活が少しでも楽になれば、また次のアプリを作ってみようと思うはず。

参考書のコードを拝借することも悪いことではない。

いずれ解る日が来る。

暇なときに目を通してみると、ああ、なるほど!って思うときが来る。

これはマジ。

ViewDidLoadってなんぞ?って所から、なんでこんな事もわからなかったのか・・・っていう風になる。

これもマジ。

是非いじってなれてみてください。

関連記事


    • 【Objective-C】XcodeでiPhoneアプリを作る基礎を学ぶ12【変数を理解する】
    • 出来ないと思っていた事でもやってみれば案外出来るということ
    • 【Objective-C】XcodeでiPhoneアプリを作る基礎を学ぶ13【メソッド】
    • 【Objective-C】XcodeでiPhoneアプリを作る基礎を学ぶ3【『初めてのiOSアプリケーション』その1】
    • iPhone用Excelファイル編集アプリを探してみた。


« 【PS3】The Last of Us(ラストオブアス)をプレイしてみた 【BootCamp】iMac2012版にWindows8をインストールしてみた »



Comments: 13

  1. Nyanchu より:
    2013年7月6日 2:43 PM

    こんにちは、はじめまして。
    Objective-Cを使ってiPhone(又はiPad)のアプリを作ると決めた者です。

    心得を読んで、「学生時代にポケコンでベーシックにのめり込んだ時、そんな感じだったなぁ」と浸りながら楽しく読ませて頂きました。

    当時のノリで「Objective-C」を初めてみれば出来るだろうと参考書等買い漁って始めたのですが、思うようにいかず・・・学生時代は同士がいて、モノクロ液晶に上から下へ流れる単純なソースという時代だったので、すんなり習得できたのですが、今では取り巻く環境が変わり、WINやMACでのプログラムとなると、オブジェクト、メソッド、クラスなど見慣れない世界が広がりオイテイカレタ感じを痛感しました。
    あなたのブログの内容がごく最近のものでしたので、勝手ながら近い状態でがんばってるのかな?と思いコメントさせて頂きました。プロフィールに30代とあったのも理由のひとつですw
    私は、作りたいものがハッキリしていない状態ですが、知識と経験を得るために、ありふれたゲームを自分仕様(機能を削ったもの)で作成する予定です。

    別の記事も拝見させて頂きます。

    返信
    • 葛葉 キョウジ(管理人) より:
      2013年7月6日 7:49 PM

      作ってますよ。
      仕事用のデータベースを作ってたんですが、
      先日やっと完成しました。
      なかなかの達成感ですw
      変数?なにそれ?
      って所からだったので、中々大変でしたがやっててよかったです。
      ゲームはまだ無理そうですがw

      返信
      • Nyanchu より:
        2013年7月6日 10:18 PM

        データベース!?すごいと思います。
        私はデータベースが作れませんw
        でもゲームを作ろうとしてます。。。
        とりあえず一発目のゲームは「数独」です
        ルールをご存知だと幸いですが、
        頭のイメージでは、正方形のテキストフィールドを81個用意して
        ナンバーパッドにて入力し、入力が終えたら都度、
        縦方向1列 横方向1行 各エリア をチェックしてみたいなこと考えてるのですが、データベース的に整理して処理しないといけないと思ってます。。。
        データベース部分について触れて頂けると幸いですが、ひとまず独自に
        やんちゃしてみます。

        返信
        • 葛葉 キョウジ(管理人) より:
          2013年7月8日 12:12 AM

          そんなたいそうなものじゃないですけどねw
          各組織で微妙に型式云々が変わるところなどを記録しておいて、
          携帯端末でみんなで共有すると楽だなと思って作ってみました。

          結構ゲームって処理が複雑で作るの大変そうですね。
          ちょっと独自なインターフェースがあるものは自分ではまだしんどいですw

          返信
  2. Nyanchu より:
    2013年7月8日 12:34 AM

    実際の業務で役に立つなら中身じゃないと思いますw

    かなり突っ込みどころ満載ですが、ひとまず数独できましたw
    笑っちゃうくらい無駄で長いソースになりましたけどw
    1プレイして、クリアメッセージが出てひとまず動作OKでした。はぁはぁ・・・

    ここから
    ①スッキリしたソースにしてゆく
    ②問題のデータベース化を図る
    ③出題の生成アルゴリズムを加える

    と、過程を踏んでゆけば、自ずとレベルアップを図れると考えていますが、
    たぶん相当先になりそうですorz

    ちなみに、管理人さんはデベロッパー登録されてますか?

    返信
    • 葛葉 キョウジ(管理人) より:
      2013年7月8日 11:09 PM

      登録してますよ。
      自分で作ったアプリがiPhoneで動いてるのを見ると感動しますし、
      モチベーションが滅茶苦茶上がりますw

      ソースコードを綺麗に書くのも大事ですけど、
      コメントをしっかり書かないとしばらくしてみたときにソースがまったく読めなくて苦労するので、
      コメントは書きまくってますw

      返信
  3. Nyanchu より:
    2013年7月10日 4:55 PM

    登録してみます(((o(*゚▽゚*)o)))

    コメントは大事ですよね
    会社でエクセルのVBAを作りますが
    手直しが入った時には覚えてないですw
    コメントを書くことによって、頭もスッキリしますね

    返信
    • 葛葉 キョウジ(管理人) より:
      2013年7月11日 3:43 PM

      その時わかってるからどうしてもコメントをぬかしがちになるんで、
      なるべく気をつけてます。
      それでもわからなくなるときあるんですよねw

      返信
      • Nyanchu より:
        2013年7月11日 7:08 PM

        すんなり書けたソースだとそうなります。

        行き詰るって、思考を右往左往しながら、
        無駄に多くコメント入れたりして、息抜きしたりします。

        ここが独学の醍醐味でしょうかw

        返信
        • 葛葉 キョウジ(管理人) より:
          2013年7月12日 9:37 AM

          人のソースコードを拝借するときもコメントは必須ですw
          読み解こうとすると膨大な時間が必要なので、とりあえずコメントを残して先に進んでますw

          返信
          • Nyanchu より:
            2013年7月12日 5:49 PM

            拝借+コメ残し あるあるw
            自分のレベルを遥かに超えたソースを拝借し、
            なんとなく組み合わせて、
            なんとなく目的の動きができることもありますねw
            ただ、それだとぜんぜん覚えないし成長しないねw

  4. 匿名 より:
    2016年3月8日 10:04 PM

    なんか元気もらえました……(笑)

    返信
    • 葛葉 キョウジ(管理人) より:
      2016年3月9日 3:37 PM

      それはよかったです!
      自分は30から独学で勉強して、
      今はJavaScriptも書いてますので、なせばなんとかなると思います。
      慣れです慣れw

      返信
返信をキャンセルする。

email confirm*

post date*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

  • お知らせ


    毎週日曜25時から25時30分までは定期サーバーメンテナンスタイムです。
    サーバーの再起動やアップデートを行いますので、ブログに接続出来なくなる場合があります。

  • About

    kyoji_kuzunoha HN:葛葉キョウジ
    Apple信者です。
    iPhoneを使いたくてSoftBankにMNPしたら、電波がクソ過ぎてトランシーバー並みに使えなかったので、なんとかdocomo回線で使おうと研究した結果、SIMフリーiPhoneにたどり着く。
    でも、docomoメールが使えないので色々調べたらimotenという神サーバーソフトがあることを知り、VPSと出会う。
    imotenのために仕方なく借りたVPSを色々いじっているうちにのめり込み、チューニングしまくってAirVideoサーバー、WebDAVサーバー、ミュージックストリーミングサーバーにセットアップして超快適な環境に。
    設定方法などを自分のメモとして書きためつつ、現在はXcodeを勉強中。
    ゲーム、ガジェット、料理が大好きな30オーバーのオッサンです。
    毎日ブログ更新してます。(日曜は休み)
  • 最近のコメント

    • 【白黒】iPhoneの画面の色が反転してしまった時の対処法【ネガ】 に 匿名 より
    • 【白黒】iPhoneの画面の色が反転してしまった時の対処法【ネガ】 に 山野邊弘次 より
    • 【白黒】iPhoneの画面の色が反転してしまった時の対処法【ネガ】 に 山野邊弘次 より
    • 【白黒】iPhoneの画面の色が反転してしまった時の対処法【ネガ】 に 山野邊弘次 より
    • いい蕎麦屋。悪い蕎麦屋。 に やまがた より
    • 【白黒】iPhoneの画面の色が反転してしまった時の対処法【ネガ】 に たけ より
    • 【白黒】iPhoneの画面の色が反転してしまった時の対処法【ネガ】 に 葛葉 キョウジ(管理人) より
    • 【白黒】iPhoneの画面の色が反転してしまった時の対処法【ネガ】 に 匿名 より
    • 【白黒】iPhoneの画面の色が反転してしまった時の対処法【ネガ】 に 匿名 より
    • 【白黒】iPhoneの画面の色が反転してしまった時の対処法【ネガ】 に 葛葉 キョウジ(管理人) より
  • 最近の投稿

    • 【内臓保護】酒量を思い切り減らしてみた【アル中予防】
    • 毎日豆乳を飲んでみた【1ヶ月目】
    • MacBookに対応しているMoshiのUSB-C充電ケーブルを買ってみた
    • MacBookにインストールしたアプリ
    • MacBook2016の使用感その1
    • 【Mac】ことえりのライブ変換を使ってみた【El Capitan】
    • ジャストシステムのポータブルバッテリーを買ってみた
    • 【MacBook】iPhoneのテザリングについて
    • MacBook2016とアクセサリを購入してみた
    • iPhone6PlusからiPhone6sに乗り換えてしばらく経った現在の使用感
  • 人気記事

    • 【imoten】SIMフリーiPhoneで、iモードメール@docomo.ne.jpを使ってみた。設定編【yahoo!版】 481 comments
    • 【Gmail】CentOS6.x(64bit)でimotenを設定して@docomo.ne.jpメールを使う【主にさくらインターネット編】 268 comments
    • imotenQ&A 184 comments
    • 【DTI】SIMフリーiPhoneでdocomo.ne.jpメールを送受信する方法【outlook.com編】 130 comments
    • 【Gmail】CentOS5.x(32bit)でimotenを設定して@docomo.ne.jpメールを使う【主にDTI編】 126 comments
    • 【iPhone】imotenの送信メールをSSLで暗号化する【docomoメール】 112 comments
    • 【MyCloud】さくらVPSをAirVideoサーバーにする【ストリーミング】 99 comments
    • docomo版iPhone5s(5c)用SIMについてちょこっと考察してみた 99 comments
    • 【imoten】SIMフリーiPhoneで、iモードメール@docomo.ne.jpを使ってみた。設定編【Gmail編】 97 comments
    • SPモードメールをiPhoneでプッシュさせる【docomo.ne.jp】 97 comments
  • アーカイブ

  • カテゴリー

    • amazon
    • android
    • Apple
      • AppStore
      • iPad
      • iPhone
      • Mac
    • AppleWatch
    • blog
      • WordPress
      • 移転作業ログ
    • code
    • docomo
    • Game
      • 100万人の信長の野望
      • 3DS・DS
      • PCgame
      • PlayStation
      • XBOX360
    • MVNO
    • News
    • SIM
    • VPS
      • imoten
        • DTI
        • imoten機能拡張
        • さくらVPS
        • はじめに
      • セキュリティ対策
      • 機能拡張
    • Windows
      • ターミナルサービス
    • Xcode
    • おすすめアプリ
    • おすすめ周辺機器
    • もっと評価されるべき
    • グルメ
      • レシピ
    • リモートデスクトップ
    • レビュー
    • 健康
      • ダイエット
      • ランニング
    • 動画
      • TAS
      • スーパープレイ
    • 周辺機器
    • 学習
      • 英語
    • 未分類
    • 雑談
  • カウンタ


    全体:10398795

    今日:1731

    昨日:1559

Copyright © くずのは探偵事務所,All right reserved.