プログラミング初心者

プログラミング初心者がやるべき言語は?学習における 2つのデカい罠

プログラミングの初心者にオススメの言語

初心者の方にお勧めの言語は PHP です。
PHP 以外だと、Javascript、Python もいい感じです。

Javascript の初心者本をチラ見して「無名関数」「クロージャ」あたりで吐き気がした方は PHP か Phyton をやりましょう。
Javascript はオブジェクト指向の言語なので、慣れないと理解が進まずに足がプルプルします。

Python はC系言語ではない特殊なグループに属するので、無難に PHP から初めて他の言語を学習するとスムーズだとおもいます。
どの言語を勉強するかよりも、なる早で自分で書けるようになることが遥かに重要です。

プログラミングの大前提である「変数」「関数」の考え方をざっくり理解して「条件の評価」「変数の代入」が薄っすら理解できると、自分で何となくのコードが書けるようになります。
サンプルがしっかりと載っている初心者向けの本を1冊買ってきて、例文をまるまる暗記して自分のパソコンでピコピコやってると、書けるコードのパターンが自然と増えます。
エラーが発生したらエラーのメッセージをコピペしてGoogle で調べると98% くらいの確率で、エラーを回避する方法が見つかります。

「本を読む→サンプルを暗記する→自分で書いてみる→ググる」のループを来る返すほどプログラミングの感覚を掴めるようになります。
プログラミングが分かり始めるとドンドン楽しくなってきますが、そのモチベーションは長く続かないです。

少し慣れてきたら、どんなに汚いコードでも大丈夫なのでクローズドなアプリを自分でつくることに挑戦してください。
自分でなんちゃってアプリが作れるようになると、コードを公開したり超簡単な仕事を受けられるようになります。
そうなると自然とフィードバックが貰えるようになります。

誰かのフィードバックによってモチベーションを維持できるようになります。
初心者の方にとっては如何に早くフィードバックが貰えるところまで到達できるかが勝負になります。

C言語からやりましょう!という罠ワナ

プログラミングの初心者は「C 言語をやりましょう」みたいなWeb サイトだったり書籍があったりしますが、完全に罠です。
「Ruby on Rails から初めましょう!」「フレームワークからやりましょう!」も同じ系統の罠です。

PHP・Java・Perl・Objective-C やWindows 系の言語などはC 言語から派生したもので、C 言語からやるのはある意味正しいです。
ただ、C 言語はメモリ管理のためにポインタの処理が必要となり、Java・PHP などの派生言語に慣れるとタダタダ面倒だけです。

プログラミング経験者でもポインタで撃沈するので「初心者だからC 言語」という考えは完全に捨てましょう。
大学の情報処理の授業でC 言語をやりましたが、殆どの人が速攻で脱落して、その姿を二度と見ることはありませんでした。

C 言語からプログラミングを初めてある程度書けるようになったとしても仕事はほぼ皆無です。趣味でプログラミングをやろうとしても続かないです。
仮にプログラマーじゃなかったとしても、プログラミングで稼ぐイメージをしっかり持った方がいいです。

あと、初心者がRuby on Rails や Laravel などのフレームワークから勉強し始めると「MVC なんぞや」という入り口で HP を削られ、すぐに瀕死の状態になります。
フレームワークは非常に強力なツールですが、前提となる知識が必要になるので、勉強しないとダメな面倒なことが増えるだけです。一旦フレームワークは諦めましょう。

ちなみに、C 系の言語を一つ極めると他言語のソースコードをみるだけど、ざっくりとは処理の内容が分かったりします。

3週間で習得できる!みたいなウリ文句

プログラミングを3週間で習得とかは無理ゲーです。
プログラミングの雰囲気は掴めるかもしれませんが、3週間とか2ヶ月くらいじゃスキルは身につかないです。

英語会話学校のウリ文句でよくあるパターンです。
簡単にスキルが身につかないから、宣伝文句が効果を発揮する訳です。

便利なフレームワークや開発環境が整っているので、テキスト通りに作業をすれば、3週間くらいで何となくのアプリは作れます。
ただ、教科書アプリを1回つくったくらいじゃ、プログラミングへの理解は全然深まらないので、孤独な環境でトライアンドエラーを繰り返さないと速攻で忘れます。

中学生の時に、MSX という化石パソコンでゲームプログラミングをかいてテープに保存して遊んでました。
社会人になって仕事としてJava を扱うようになり、半年くらいは上司の指示に従い作業をする日々でしたが、Java への理解は全く深まらなかったです。

1年くらいで指示された箇所を恐る恐る修正する日々を少し脱却して、サーバまわりの作業を担当するようになり、プログラミングのスキルは殆ど身につかなかったです。

フレームワークが普及してない時代に CSV をデータストアにした顧客管理システムをスクラッチでかいて、MySQL に移行して外部API と連携させたあたりから、ようやくプログラミングが少し分かるようになりました。
業務内容をヒアリングしてデータモデルをつくりER 図に落とし込む作業とか、アクセスが増えたと気にどうやってプロファイルするかなど、プログラミング以外の理解も地道に一つひとつ深めながら匍匐前進した感じです。

まとめ

PHP マンセーという訳じゃないのですが、初心者の方は PHP から勉強を始めるのがオススメです。
殆どのレンタルサーバでPHP を使うことはできますし、WordPress でサイトを運用した経験のある方は馴染みもあるとおもいます。

ウェブ系のスキルは「ネットワーク」「サーバ」「プログラミング」「デザイン」にざっくりと分類されます。
この4種類のうち、2つのスキルをクロスして身に付けると、かなりの確率で食いっぱぐれなくなります。

特にプログラミングのスキルは一生ものなので、お互いに精進しましょう!

Comments are closed, but trackbacks and pingbacks are open.