・自分でアプリを作ってみたいけどプログラミングって難しそう・・・
・個人でも独学で習得できるものなの?
・どれくらいの時間でアプリを作れるようになる?
今回は、こういった疑問に答える。
正直、大した話じゃないので3分くらいで読了可能かと。
この記事では、個人としても会社員としてもアプリ開発を学んだことがある経験がある僕の視点から正直なところを解説していく。
これを読めば、実際にチャレンジしてみるか否かを判断するのに役立つはず。
ということで、サクッと解説していく。
Contents
プログラミングって難しいの?
断言するが、プログラミングは超簡単である。
理由は以下のとおり。
- プログラミングは単純作業
- ネットで調べれば不明点は大体が解消できる
- 大した学力がなくてもできる
詳しく説明していこう。
まず、プログラミングというのは大雑把にいうと2つの作業の繰り返しでしかない。
- 正しい命令を書いて、正しい動作結果を得る
- 動作結果が正しくなければ命令を修正する
これだけ。本当に単純作業なのである。
しかも、プログラムは自分で全て書かずとも自動補完により速く正確に書けるし、わからないことはGoogle先生にでも聞けば大体のことは解決できるという手軽さ。
正直、これで難しいなんて言ってたらもはや無能だろう。
もちろん、プログラマの実力次第で作業完了までの時間は前後するが、毎日継続的に書いていればその差も次第になくなる。何でもそうだが慣れの問題なのである。
プログラミング習得に高い学力は必要?
プログラミングは大した学力がなくても習得可能だ。
何故そう言い切れるのかというと、学力のない僕自身が実際に業務レベルのプログラマをやれているから。
- 中学時の成績は最下位近く
- 四則演算はギリギリできる(暗算は不得意)
- Fランク大学卒
一応大学は出ているが、実際は『勉強できない中卒』ほどの学力しかない。そんな僕でもフリーのプログラマとして食えているので、プログラミングは超簡単で誰にでもできるというわけ。
これに対して「プログラミングは難しい!」と語るプロ(笑)が世の中にいたりするが、初心者にマウンティングを取りたいアホか、ガチの無能で難しいと感じちゃってる痛い人のどちらかなので無視してOKだ。
ただ、いくら簡単だとはいえ、プログラミングができるようにならない人も多少いるのも悲しいことに事実だったりする。大体の原因は以下のどれかだろう。こういう人は、他の世界でどうにか頑張って欲しい。
- そもそもやる気がない
- 適性が著しく低い
- プログラミング作業を困難にする障害を持っている
文系・理系はあまり関係ない
プログラミングをする場合、その作業を有利にするのは理系か文系かということよりも『正しい結果を得るために必要な処理を正しく組み立てられる』ことだったりする。
そんな組み立てる力は、日々を通じて慣らしていけば普通に習得できるものなので、理系か文系はぶっちゃけあんまり関係ないのである。正直、1年もやれば慣れる。
実際、理系だからその組み立てる力があるとは限らなくて、ハイレベルな大学を出ている理系の人でも、まともにプログラミングができないという人はわりと普通にいたりする。
逆に、低学歴な文系の人が普通にプログラミングをできているケースなども当たり前のようにあるため、結局は論理の組み立てに慣れているか慣れていないかだけの話だったりする。
そんなわけで、文系だからといって心配する必要はないし、理系だからと言って必ずしも有利とは限らないので、そのへんは深く意識しなくても良いだろう。
そもそも、大した作業じゃないのでわりと誰にでもできるようになるし慣れの問題だから(笑)
個人でもプログラミングは習得可能なの?
普通に習得可能。
というのも、習得に役立つ情報が簡単に手に入るから。
正直、本屋でそれらしい本を1冊買って、最初のページから淡々と進めるだけで簡単なアプリくらいならすぐに作れるようになる。
そこから少し進んでより難しいアプリを作りたいなら、Googleで英語をベースとして実装方法を検索してみればそれらしい情報は見つかる可能性が高い。
どれくらいの時間でアプリを作れるようになる?
どれくらいかかるかは人によるし、どの程度のアプリを作りたいかにもよる。
例えば、書籍でサンプルとして記載されているような簡単なアプリを作る場合なら1週間も必要ないだろうが、ストアで既に配信されているような人気アプリのようなものを0から作ろうと思えば、少なくとも数ヶ月かかるのが普通。
プログラミングはそれ自体は難しくないが、自分が考えている機能を実現する作業はそれなりに時間がかかるし、仕様によっては複雑な処理が必要で延々と悩みこむこともある。
まとめ
- プログラミングは難しくない(正しく書いて正しく動かすだけの単純作業)
- ただ、慣れないと作業に時間を要する
- 必要なのは処理を組み立てる力(理系が有利とは限らない)
- プログラミング自体は容易だがアプリ開発はそれなりにハード。
コメント