*

プログラミングが初心者にとって難しい4つの理由

今回は初心者がプログラミングをやるのがなぜ難しいかをしっかり書いていこうかと思います(爆)。

最近は動画コンテンツの普及などで、一般の方でもプログラミングを始める敷居は低くなってきていますね。

私が始めたのは5年ぐらい前ですがそのころからみても、初心者向けのわかりやすい動画、本が多くなってきたなと感じます。

10年以上の前にプログラミングを始めた人からみると別世界のように感じているのではないでしょうかね。

このようにプログラミングをやりやすくなっていることは事実ですが、一般の方でも簡単にできるようになるか?といわれれば私は自信をもってNoといいます(汗)

ネットをみると「プログラミングなんて独学で誰でもできる」という意見を言う人は比較的多いですが、私は疑問です。

この記事では不特定多数の学習指導経験から初心者にとってなぜプログラミングが難しいかを書いていこうと思います。

環境構築が大変

プログラミングをやる場合、まずスタートラインに立つことすら大変です。

プログラミングをする場合はそれ専用のソフトウェアを自分のPCにインストールしなくてはいけないことが多いです。この作業を環境構築といいますが、これが大変なんですよねえ・・・

GUIだけでほぼ完結するものもありますが、パスを通さなきゃいけなかったり、設定ファイルをいじらなければいけないものもあります。

ネットで情報を探してもちょっと導入方法が違ったり、バージョンが違っていたりすると、もうお手上げです。経験があれば、何となくあたりが付けられますが、初めての人間には全くわかりません(汗)。

しかもPCのバージョンが古かったりするとうまくインストールできないこともありますし、32bit/64bi版でソフトが違うとか言われても「???」になる人がほとんどでしょう。

調べても調べても意味不明な単語が増えるだけで、モチベーションは落ちる一方です。

そしてうまくインストールはできたとしても、どこにプログラムを書いて実行させればいいのかもわかりません。ネットや本の情報を頼りにすすめようにも少し前提条件違うともう動きません。

プログラミングをやろうとしたものの、スタートラインに立つことすらできずに撃沈した人は多いはずです。

プログラミングを始めてみよう!という初心者向けの本にはJavaScriptをすすめているものが多いのですが、JavaScriptを選定している理由は言語自体が入口自体は比較的簡単なことと環境構築をしなくていいからでしょうね。

私も初心者が勉強するのに良いプログラミング言語は何ですか?」を真面目に考えてみるで書きましたが、独学でとりあえずプログラミングをやるならJavaScriptは候補の1つだと思います。

エラーの嵐で撃沈

何とかスタートラインに立つことができたとしても次に初心者を待ち受けるのはエラーの嵐です。

プログラミングってコンピューターが実行しますから指示通りに書かないと動きません。一文字でも入力ミスがあると動かないんですが、これが初心者殺しになります。

初心者の場合、本のソースを写したりして勉強し始めることが多いと思うのですが、一文字のミスもなく写すことができる人は稀です。

その場合、エラー表示がでるのですが、初心者にはわかりません(汗)

経験者からみると

  • エラー箇所の行番号がでてるじゃん
  • エラーの内容が簡単な英語で書かれてるじゃん

と思うのですが、それはわかっているから言えるのであって初心者の場合、そもそもそういう現象自体をイメージできないです。

経験者の方は、自分が勉強し始めのときに悩んだことを忘れています。

私も多くの方のプログラミング指導(ソースの写経)に付き合いましたが、

  • 行末の;(セミコロン)が抜けてる
  • 文字列のクオートが抜けてる
  • 条件分岐やループの中括弧の対応がずれてる
  • 全角の空白を入れてしまった
  • 変数と文字列の結合文字が抜けてる

といった経験者であればすぐにわかるようなことで何時間も悩むということは全く珍しくありません。

慣れないと発見できないんですよね・・みなさん「ソースを何回も見て、見本と間違いないはずですが、うまくうごきません」と異口同音にいいます(汗)

自分の文章の誤字脱字に気づきにくいのと一緒です。基本的な構文エラーは環境構築を工夫することで防げますけど、初心者にそんなことはもちろんわかりません(汗)

わけのわからない概念がいっぱい

プログラミングも学習が進んでくると「1から10までを表示しましょう」みたいな基礎だけではなく、オブジェクト指向みたいは難しい概念がでてきます。

天才でない限り、これらの難しい概念を一発で理解できる人はいません。

こういった複雑な概念はある程度、こみいったプログラムを書かないと重要性がわかりません。簡単な例を出して、オブジェクト指向の概念を説明されても初心者には理解ができないことがほとんどです。

といっても複雑なソースは初心者にはわかりませんので簡単な例で説明するしかありません(爆)

基礎とアプリ作成の溝が大きすぎる

プログラミングの場合、純粋にプログラミングをやりたいというよりはWebアプリを作りたいとかソフト作成をしたいという動機があるかと思います。ただ最初の基礎の構文練習とアプリ作成の距離というのは非常に大きいです。

初心者のうちは「1から10までを表示しましょう」みたいな問題をやりますが、これをどういかしたらwebアプリが作れるかが全くイメージできません。

PHPはHTMLの中にコードをいれて実行しますんで基礎とアプリ作成の溝は比較的少ないと思うのですが、それでも多くの方にはイメージが難しいでしょう。

最近は開発環境が充実していますんで分野によっては簡単なアプリをいきなりつくることもできます。

それにしても自分が作りたいアプリやサービスを作るのにはどうすればいいか、をイメージするまではそうとうの学習期間を要します。

まとめ

一般的な未経験者がプログラミングをするのがなぜ難しいかを書いてみました。

プログラミングは決して一部の超人や天才にしかできないことではありませんが、安易にだれでもできるみたいな誇張を信じてはいけません。

この記事だけだとなにやら暗い気持ちになってしまうと思うので(汗)プログラミングをどうやってやったらいいかといった学習系のネタに関しては下記で書いたので参考にしてみてください。
初心者が知っておくべきプログラミングの学習法
プログラミングを独学で身につけるときに大切な6つのポイント
プログラミングを独学で身につけるための4ステップ(実践編)

関連記事

PHP 掲示板

PHPで掲示板を作ろう! 掲示板の作成方法 その3(エラーチェックとファイル書き込み)

今回はPHPのコードの説明です。 掲示板の作成方法についてやります。 えー、前回の掲示板

記事を読む

PHPで掲示板を作ろう!(データベース編) その1 データベースとは

以前、掲示板を作成するブログ記事を書きました。 その1 PHPで掲示板を作ろう! 掲示板の作成

記事を読む

PHPで掲示板を作ろう!(データベース編) その5 PHP-MySQL連結編

今回はMySQLの第5回目の講義です。 前回までの記事 PHPで掲示板を作ろう!(データベース編

記事を読む

XAMPPとは何か

PHPを勉強する場合、まずXAMPPというソフトウェアを自分のパソコンにインストールします。

記事を読む

ゼロからWEBプログラミング(PHP)をマスターするのに何時間かかる?

おはようございます。松本です。 さて、本日のテーマはタイトルのとおりです。以前受講生の方に「ゼ

記事を読む

未経験者がWEB系企業の就活で注意すべき5つのポイント

昨日、あまり寝てないせいか、今日も寝れない松本です(爆) 生活リズムはやはり大切ですね。睡眠時

記事を読む

PHPのメリット・デメリット

うちのブログで一番読まれている記事が「フレームワークのメリット・デメリット」ですね。 タイトル

記事を読む

無料プログラミングスクールのメリット・デメリット

一般的にプログラミングのスクールというのは高額です。 30万以上するような講座が普通なので、ぽ

記事を読む

PHPで掲示板を作ろう!(データベース編) その4 SQL編

今回はMySQLで掲示板を作ろうの続きです。前回のMySQLの講義が11/18日ですね。 2か

記事を読む

「初心者が勉強するのに良いプログラミング言語は何ですか?」を真面目に考えてみる

プログラミングをそもそもやったことがない方であれば、タイトルのように「どのプログラミング言語をやった

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

転職エージェントについて

さて、エンジニアとして転職を考えている人であれば転職エージェントを使っ

エンジニアが転職して年収を上げる方法を考えてみました。

えー前回の記事でも書きましたが、2020年2月現在転職活動中です。

2020年のご挨拶

今更ですが、明けましておめでとうございます。 2019年も2本し

自社開発>客先常駐である本当の理由

このブログでも何回か取り上げていますが、ITエンジニアの働き方としては

エンジニアにとって必要なコミュニケーション能力とは

気がついたらもう3月下旬になっていますね・・ 年末年始忙しかった

→もっと見る

  • follow us in feedly
PAGE TOP ↑