最近はちょっと大きい本屋さんにはスマホコーナーがあります。スマホ活用法、アプリ紹介本など一緒にアプリ開発入門書も結構並んでいます。
それらを見ると「すぐできる」とか「10日でおぼえる」などと謳った本が目につきますが、本当に10日で覚えて作ることが出来る物なのでしょうか。
プログラミングに限らず、技術書には著者が想定する読者レベルがあります。たいてい冒頭に書いてありますが、それを見ると「PCの基本的な操作ができるとと」「ある程度Javaが書けること」などなどとあります。
「PCの基本的な操作ができるとと」とは、どの程度のことでしょうか。マウスの操作方法から解説するとどれだけ本が厚くなるかわかりませんから、当然と言えば当然です。普通にブラウズしてアプリをそこそこ使える人でも、最近のアプリはフォルダ階層やファイルの存在を意識させないようなゆとり設計が多いため、アプリを数本使いこなせる程度では心細いです。
私が考えるに、最低ラインは「開発環境を自力で整備できる」くらいかと思います。そもそも開発環境が無いと始まりませんしね。
「ある程度Javaが書けること」。こちらは、Javaというよりもプログラミング経験の有無かな、と思います。実際の開発現場では未経験の言語、プラットフォームにいきなりぶち込まれて「これやって♪」ということも少なくありません。ずっとC/C++で仕事してきてある日突然Javaのプロジェクトにぶち込まれたり、みたいな感じですね。
変数の概念や順次・反復・分岐といった構造化プログラミングの基礎がわかっていれば何とかなるかな、と思います。OOPの経験があればなお良しです。
以上をまとめると、入門書買ってきて10日でスマホアプリが作れるようになる人の前提条件は
・開発環境を自力で整備できる
・Java以外も含めたプログラミング経験がある
といったところでしょうか。
ここで突っ込みが来そうな点がひとつ。
そもそも、プログラミング経験がある時点で開発環境くらい自力で整備できるんじゃね?と思われるかもしれません。ところが違います。
実際の開発現場では、一握りのアーキテクトが開発環境を全てお膳立てして、その他大勢のコーディング担当はモリモリとコーディングするだけです。5年以上経験があっても開発環境整備をしたこと無い人なんてザラです。むしろ多数派です。
これは、開発環境が技術的に難しいというよりも単純に「めんどくさい」ので、好きでも無いとやってられないからではないかな、と思います。たいてい、自宅でもゴニョゴニョと何かやっている人が多いです。
ですので、プログラミング経験と開発環境構築は別物といえると思います。
開発環境構築とは、最低限のPCに関する知識+モチベーションといえると思います。
余暇を使って自宅でスマホアプリを作ってみようか、と思って色々調べて挑戦している人の方が上ではないでしょうか。
それらを見ると「すぐできる」とか「10日でおぼえる」などと謳った本が目につきますが、本当に10日で覚えて作ることが出来る物なのでしょうか。
プログラミングに限らず、技術書には著者が想定する読者レベルがあります。たいてい冒頭に書いてありますが、それを見ると「PCの基本的な操作ができるとと」「ある程度Javaが書けること」などなどとあります。
「PCの基本的な操作ができるとと」とは、どの程度のことでしょうか。マウスの操作方法から解説するとどれだけ本が厚くなるかわかりませんから、当然と言えば当然です。普通にブラウズしてアプリをそこそこ使える人でも、最近のアプリはフォルダ階層やファイルの存在を意識させないようなゆとり設計が多いため、アプリを数本使いこなせる程度では心細いです。
私が考えるに、最低ラインは「開発環境を自力で整備できる」くらいかと思います。そもそも開発環境が無いと始まりませんしね。
「ある程度Javaが書けること」。こちらは、Javaというよりもプログラミング経験の有無かな、と思います。実際の開発現場では未経験の言語、プラットフォームにいきなりぶち込まれて「これやって♪」ということも少なくありません。ずっとC/C++で仕事してきてある日突然Javaのプロジェクトにぶち込まれたり、みたいな感じですね。
変数の概念や順次・反復・分岐といった構造化プログラミングの基礎がわかっていれば何とかなるかな、と思います。OOPの経験があればなお良しです。
以上をまとめると、入門書買ってきて10日でスマホアプリが作れるようになる人の前提条件は
・開発環境を自力で整備できる
・Java以外も含めたプログラミング経験がある
といったところでしょうか。
ここで突っ込みが来そうな点がひとつ。
そもそも、プログラミング経験がある時点で開発環境くらい自力で整備できるんじゃね?と思われるかもしれません。ところが違います。
実際の開発現場では、一握りのアーキテクトが開発環境を全てお膳立てして、その他大勢のコーディング担当はモリモリとコーディングするだけです。5年以上経験があっても開発環境整備をしたこと無い人なんてザラです。むしろ多数派です。
これは、開発環境が技術的に難しいというよりも単純に「めんどくさい」ので、好きでも無いとやってられないからではないかな、と思います。たいてい、自宅でもゴニョゴニョと何かやっている人が多いです。
ですので、プログラミング経験と開発環境構築は別物といえると思います。
開発環境構築とは、最低限のPCに関する知識+モチベーションといえると思います。
余暇を使って自宅でスマホアプリを作ってみようか、と思って色々調べて挑戦している人の方が上ではないでしょうか。