「プログラミングって何?」「難しいの?」「私にもできる?」
って興味ありつつも、なかなかプログラミングのことがよくわからずに、いま一歩踏み出せない、という人が多いのではないでしょうか?
または、ちょっとプログラミングをかじったものの、そこでハマる人もいれば、そうでない人も実際にいます。
そこで、今回は、「IT苦手でもわかりやすく」「未経験や初心者に向けた」内容で、プログラマーを目指す人がありがちな挫折ポイント3つをご紹介します。
本記事の内容
- プログラミングとは?全く知らない人のための基礎知識
- 文系・初心者プログラマーがありがちなつまずきポイント3つ
- つまずいたときの解決策
なお、本記事はさきほどのとおり、「専門用語をなるべく排除」して、伝わりやすい表現に工夫しております。
もし、疑問等があれば、問い合わせフォームからでもお気軽にお問い合わせください。
では、早速はじめましょう。
スポンサーリンク
目次
プログラミングとは?全く知らない人のための基礎知識
基礎① プログラミングとは「英語」の文章を書くことと同じ
「言葉の壁」ってありますよね?
英語か日本語がわからなければ、外人となかなか話が通じません。
中には身振り手振りでなんとかコミュニケーションやるよ、
って人もいるでしょうが、、
「プログラミングは、相手が機械(ロボット)で、文通で伝える」
ことだと考えてください。
以下、少しファンタジーな話になりますが(笑)
ロボットという国があって、そこはさまざまなロボット言語があります。
そのロボット言語がプログラミング言語(Java、C++などいくつがある)。
我々は、ロボットに伝えるために、プログラミング言語の「文法」と「単語」を使うというわけです。
その翻訳家が、「プログラマー」という職業です。
余談ですが、最近ロボット側も我々に友好的になってきて、日本語や英語を理解するようになってきました。それが音声認識やAIです。
じゃ、プログラマーなんていらないのでは?と思う方もいるかもしれませんが、ロボット側の音声認識やAIをサポートするのも実はプログラマーなのです。
よって、「職業」として専門家であるプログラマーが居なくなることはあと何十年以上はあり得ません。
基礎② プログラミングは何書いてあるかわからなくない
「食わず嫌いならぬ、見ず嫌い」になってませんか?
実はプログラミング言語って、ほぼ英語に類似しているって知ってました?
class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world."); } }
上記は、プログラミング言語の1つで有名なJava言語です。
この文章は、ロボットに「Hello, world. と言いなさい」って伝えているプログラムです。
単語を1つ1つ見てください。
class、public、static、void…、すべて英単語です。
printlnだけ、英単語ではヒットしませんが、これは「print line」の略です。プログラミング言語では、文章が長くなることを避けるために、長い英単語を略語にしたり、複数単語をまとめて略語にしたりして使うことがあります。
よって、
- プログラミング言語は、ただの英単語の集まり
- 英単語や英熟語は、たまに略語を使うことがある
ということで、単語自体は決して難しくはありません。
ちなみに、英単語を必ずしもおぼえる必要もあまりありません。
パソコンのツールに辞書機能がありますので、単語は辞書機能がポップアップして、使い方や中身を説明してくれます。
文系・初心者がプログラミングを始めるとき『つまずき』ポイント3つ
「つまずき」は始める前も始めた後も様々ありますが、今回は”始めよう”するときにフォーカスして、よくあるポイントをご紹介します。
つまずき① プログラミング言語選びで疲弊して終わる
「プログラミングやりたいけど何から始めたらいいかわからない」
「本屋の専門コーナーに行ったら、見慣れない文字列ばかりで気が引けてやめた」
「Phython?Ruby?C言語?なんじゃーい」
っていうパターンです。
この場合は、プログラミングに興味は持ったものの、「へぇー色々と『言語』ってものがあるんだー、じっくり考えよう」ってことで、その後やめてしまうことが多いです。
または、友人や知人に聞いてみたりしても、人によって意見は違ったりすることもあって、混乱するパターンもありますね。
たしかに、現在は、AI(機械学習)や制御系、アプリ開発などでいくつかの主流言語が業界や業種ごとに違ってくるため、しかたないかもしれません。
つまずき② 独学で本を最初から理解しようとして途中で終わる
プログラミングの勉強をしようとしたら、誰しも入門書を買ってきて読みます。
この方法自体は、決して間違いではありません。
ただ、文系の方に多いのですが、本の最初からきっちり読んで肝心なところまでに進まずに終わってしまうパターンがあります。
書籍によっては、プログラミング言語の成り立ちや体系など、基礎知識がぎっしり第一章に書かれているものがあります。
スクールの講師や学界に行くような人でない限り、この基礎知識部分はほぼ不要ですよ。
私の知り合いでは、著者のあいさつ部分で止まっている、と話していた知人がいましたが(笑)
読み進む気になれないのは本側にも問題あり。ですので、しかたなく別の本をすすめておきました。(^^;)
つまずき③ なぜ言語なのに数式?とにかく数式が苦手
最後は、ちょっと本を読んでみたあとでつまずくポイントです。
どんなプログラミング言語もそうですが、数学のx,yのような”変数”を必ず使います。
下記は、9800円を消費税(8%)込み値段を計算して出力する、ごく簡単なJavaの言語(例)です。
public class MethodExample1 { public static void main(String[] args) { System.out.println("9800円の場合"); calcPriceIncludedTax(9800); } public static void calcPriceIncludedTax(int price) { double taxRate = 0.08; System.out.println((int) (price + price * taxRate)); } }
なぜ、英語みたいな言語なのに数式が必要なの?と思う人もいるかもしれません。
ただ、仕方ないのです。
その理由は機械語は、文法が少ないからです。
機械語は「足せ」、「引け」、「掛けろ」、「割れ」の四則演算だけなんです。
英語や日本語のように、5W1Hとかもないですし、疑問形や感嘆文なんてものもありません。すべて「命令形」で、しかも四則演算だけなんですね。
だから、数式が多い。
ただ、高等数学のような数式はありません。基本はすべて簡単な足し算引き算だけです。
スポンサーリンク
つまずいたときの解決策・対処法
では、どうすればいいのか?ってお話です。
その対処法は以下の通りです。
- 言語選びは迷ったらJavaでスタート。他の言語も応用できる
- 選ぶ本は図解入り実践書。触りながら覚えるべし
それぞれ、解説します。
言語選びは迷ったらJavaでスタート。他の言語も応用できる
最初、言語選びで迷うなら、Java言語から始めると良いですね。
ちなみに言語の中でもハードルはやや高めです。
その代わり、javaは他の言語にも応用が効くため、無駄になりません。
中途半端な気持ちでは、プログラマーになれません。そんなに甘くはありませんので覚悟は必要です!
ただし、興味ある業界(ゲーム業界やデータサイエンス、ロボット制御)などがある程度見えている場合は、そこで使用されている言語を調べてから、言語を決めましょう。
優先順位を間違わないようにしてくださいね。
選ぶ本は図解入り実践書。触りながら覚えるべし
専門書ですが、「図解入りで、例題と回答があるわかりやすい実践書」をおすすめします。
その実践書とあわせて、自宅パソコンにプログラミングの開発キットをインストールして、試しながら勉強をすすめるようにしましょう!
本だけの勉強では、絶対にNG。非効率でなかなか身につかないうえに、実用で役に立ちませんので、おすすめしません。
Javaの開発キットであれば、JDK(Oracle社 HP)というソフトがあり、無料でダウンロードして使用できます。
また、Pythonであれば、Pycharm(PyCharm)というソフトがあり、こちらも無料で利用可能です。
その言語も、「〇〇言語 開発環境」とネットで調べれば、見つかると思います。
まとめ:プログラマーへの道を挫折したら勿体ない
いまは、どんな業界に限らず、ITを活用する時代です。
せっかく、プログラミングに興味を持ったのに、途中でやめたら大きな損失につながりかねません。
今、IT業界では、年功序列が崩壊して、個人スキル次第で査定が決まる時代になりつつあります。また、転職やフリーランスになるにしても、すべて個人の専門技術が評価されます。
いまのうちから、手に職をつけておいて将来に役立ててみてはいかがでしょうか?
独学のプログラミング学習にせよ、スクールに行くにせよ、こちらの記事も参考にどうぞ。
https://best-ref.com/programing-school-hikaku/
今回は以上です。是非、トライしてみてください。
————————————————————————————-
本記事に関する、疑問や質問等、何かあれば問い合わせフォームでご連絡ください。