2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

プログラミング初心者へ伝えたいことは

2
Last updated at Posted at 2026-03-28

# はじめに

何を伝えたいのかということですが、ここでは、技術的なことではなく、自分の経験から「心構えとか、考え方」を中心にまとめています。見出しは、多少教訓めいた言葉になっています。

この内容は、精神面的なこともあるかと思います。以下に、少し、まとめたいと思います。

# 経験から

自分の長年のプログラミング経験とかプロジェクト管理経験とかがベースになっています。

よく言われることは、初期の学習で、挫折する人が多いということです。初めの悪い印象がトラウマになり、やる気を失うことです。

最初の指導方法とか学習方法とかに問題があると、やる気を失ってしまいがちです。

あきらめずに地道に学習して行ける人はうまく行く人だと思います。それと、興味が持てるかが重要な要素になります。

プログラミングの面白さとか、楽しさは初めは、誰にも分らないはずですが、そのとっかかりは何なのかということです。

初心者にプログラミングは楽しいと教えることは難しいでしょう。慣れてきた頃に、それに徐々に気づくのですから。

物づくりの楽しさは、なんでもそうですが、小さなことの達成感からでしょうか。プログラミングも物づくりの一つです。

# プログラムって何なのか、初めての人はそう思うでしょう。

自分は、大学の情報処理という単位を受講したのが、はじまりでした。1966年の頃です。もう、60年も前のことです。当時は大型コンピュータでした。大学では、基礎から学ぶため、コンピュータの中身から教えられます。2進法とかからです。確かに、こういうところからはあまり面白くないかもしれません。

コンピュータには、ハードとソフトという概念がありますが、プログラミングはソフトの方です。プログラミングは言語です。その言語を覚えることから始まります。

しかし、その言語もいくつかに分類されます。CPU(ハード)を動かすプログラムは機械語です。アセンブラ言語です。しかし、プログラミングというと一般的には、アプリケーションプログラミングを言っていますので、もっと上位の言語になります。言語もいくつかの層から構成されていて、ちょうど玉ねぎの皮をむくような感じです。

ここでは、最上位層の言語になる、javascriptやphp、htmlのような言語のことを指しています。

いわゆるWebプログラミングのことで、OSのプログラミング言語である、CやC++とは別の言語になります。

こういう説明をすると、専門用語が頻繁に出てきて、初心者の方は、嫌気がさしてしまうかもしれません。

ここで、大事なことは、「積み重ね」という言葉です。小さなことから一つずつ学習して行くということです。

一速とびに進むことはできません。

# スパイラル方式がよさそう

プログラミングの学習には、このスパイラル方式がよく当てはまります。一直線に進むのではなく、進んでは、後戻りし、また、進んでは後戻りという風にして、少しずつ前進する方式です。

この後戻りが重要な要素になります。けっして侮ってはなりません。よく、学校で学んだあの復習です。子供の頃、家でやる復習が嫌でたまりませんでしたが、これが、重要なのです。

# 最近はAIがヒントを与えてくれるので、進み方が早い

昔は、書籍などの技術書が無ければ、学習が難しかったが、今はネットがあるので、簡単にそのヒントが得られます。ただ、そのサンプルコードを鵜呑みにするのではなく、なぜ、そのようなコードになるのかを理解して使用する必要があります。単なるコピーではいけません。

AIに頼ってもいいですが、コード内容をよく吟味して使用すべきです。

オープンソースというものがあります。今の時代は、それらのライブラリーもよく利用します。著作権なしで使用できます。毎回、一から作るのではなく、すでに実績のあるライブラリーは使用した方が効率がいいです。

あるものは使うということです。ネットで探しながら開発を進めて行きます。

# デバッグ方法に練達

これが大変です。品質を上げるためには、バグは取り除かないといけません。

不具合の原因が中々わからないことはよくあります。この追及に相当な時間を費やすことはしょっちゅうです。
この地道な作業ができない人はプログラマーに向いていないかも知れません。忍耐も必要です。

長年、プログラマーを続けてこれたのは、このあきらめないという精神力のお陰です。あきらめなかったからこそ、たどり着けたところは何箇所もあります。そうした成功例がたくさんあるとプログラミングも楽しくなります。

昔から、「信ずれば通ずる」という格言があります。その通りと思います。

# 不注意や思い込みは結構あります。

それが原因のことが、結構あります。

# 生半可な知識で対処すると怪我のもと

これは、非常に良くないことです。十分理解して進むことです。
どうしても、先を急ぐときは、生半可な状態で、プログラミングを進めてしまいます。吟味が不自由分のままです。それが、結果的には、あとで、原因不明の不具合になっています。大変な時間のロスになります。

# ちなみに今の開発環境は

webプログラミングは、10数年前からはじめました。開発環境は以下の通りです。
パソコン Dell inspiron620
OS windows 10
統合開発IDE Apache NetBeans IDE 26
使用言語 javascript jquery php MYSQL html

ホームページのurl
https://favorite.tecoyan.net/tiny_1/TinyPlayer_test_1.php?dnm=Tennessee%20Waltz#access

現在の開発は、上記のような、youtubeプレーヤーサイトが中心です。主にchromeのプラグインを開発しています。

# 最初は静的ページから入り、その後に動的ページに入ります。

静的ページは、html要素内にボタンなどの動的要素がないページで、クリックなどのイベントは発生しませんが、動的ページになると、ボタンやマウスの操作が入るページになります。そうなると、途端に難しくなりますが、挫折せずに続けると楽しいページが作成できます。ゲームなどのページはまさにそのお化けです。
作成したことはありませんが、大変難しいプログラミングと思います。

#最後にプログラミングのことがわかる簡単な説明をいたします。

まず、プログラムとは、コンピュータへ出す、命令や指示をブログラム言語で記述したものと考えます。コンピュータはその記述した命令(命令はメモリというところにあります。)を1命令づつ読み取って、命令を実行します。

よく例として出されるのが、「hellow」という文字をモニター画面に表示するものです。
これは、"hellow"という文字を画面に表示しなさいという、命令があります。
例えば、その命令は、jquery言語では、
$("body").html("hellow");
となります。
これは、bodyはページの本体をあらわしますので、そのページ(画面)に"hellow"と表示されます。

この命令をわかりやすく説明すると、$("body")は、表示する場所(ページの画面上)を表します。その場所へ、.html("hellow")命令は、"hellow"と表示せよという意味です。$(...)や.html(...)の意味は、追々分かってきます。

プログラムは、このような命令の集まりです。それらの命令で、画面にいろいろな文字や、写真の画像などを表示できます。

webプログラミングでは、上記のようなjqueryやjavascript言語を理解するところからスタートします。最初から言語のすべてを理解する必要はありません。少しづつ、覚えて行けばいいのです。あたかも、赤ん坊が言葉を覚えて行くように。気がついたら、数千ステップのプログラムを書いていたという時期が来ます。そこまで、到達したら、一人前のプログラマーです。

簡単に言うと、プログラムはこのような命令の集まりです。プログラマーは日々、このような命令を書いています。

# もうひとつ、伝えたいことがあります。

学問としての情報処理、コンピュータを学習するときは、ハード、ソフトともに学びますが、プログラムに特化し教育の場合は、難しいハードのことはさわり程度の知識でも大丈夫です。プログラムの開発に必要なツールを用意すれば、すぐにでも始められます。初めは、自作のホームページを作るところから、始めるといいでしょう。

# youtubeで「プログラミング初心者へ伝えたいことは」で検索すると

リンク
ここをクリックすると、検索されたリストで、再生がスタートします。
いずれの動画も結構、初心者が理解するには、ハードルが高いような気がします。

# 運動会のプログラムとソフトウェアのプログラムは何が違うのか

この違いをAIアシスタントに尋ねてみると、以下のような回答が来ます。

以下はAIアシスタントの回答
運動会のプログラムとソフトウェアのプログラムは、言葉は同じでもその内容は大きく異なります。

運動会のプログラムは、イベントの進行順序や内容を示した「計画書」や「予定表」のようなものです。誰がいつ、どのような競技を行うか、といった情報が書かれています。

一方、ソフトウェアのプログラムは、コンピューターに対して特定の作業を実行させるための「命令をまとめたもの」です。例えるなら、料理のレシピのようなもので、材料(データ)を使って、どのような手順で何を作るか(処理を行うか)をコンピューターに指示します。

🤖 ソフトウェアのプログラムとは
ソフトウェアのプログラムは、コンピューターを動かすための命令の集まりです。

プログラムの役割:
コンピューターに動作を指示。
特定のタスクを実行。
複数のプログラムでアプリケーションが構成される。
ソフトウェアとの違い:
ソフトウェアは、プログラムに加えて設定ファイルやデータファイル、ライブラリなど、関連する全ての要素を含む概念。
プログラムは、実際に処理を行う「命令群」そのものを指すことが多い。
文脈によっては、プログラムとソフトウェアは同じ意味で使われることもある。
具体例:
プログラミング言語(Java, C言語, Pythonなど)で書かれたコードがこれにあたる。
要するに、運動会のプログラムは「何をするか」の順序、ソフトウェアのプログラムは「どう動くか」の指示書と考えると分かりやすいでしょう。

# あとがき

昔から「継続は力なり」と言われています。まさに、そうかも知れません。

プログラミングは、言葉をコンピュータ言語に置き換えたものと言えます。プログラミング言語と言われるものです。その言語もコンピュータが出始めたころから、大分進化しています。様々な言語が生まれました。すべての言語を習得する必要はまずないと思います。自分も知っている言語はほんのわすがです。webプログラミングも、使用する言語はそんなに多くはありません。自分は、html,javascript,jquery,php,MYSQLぐらいの言語しか使用していません。昔はFortran,C,C++,pl言語,アセンブラ...などを使用していました。

面白いことに、ある程度まで、スキルが上がると、後は、自らの力で、問題解決ができることです。知識が知識を生んで、自己解決できるようになります。

そこまで、到達すると、後は楽です。最近は、AIが出てきたので、もっぱら、AIアシスタントから教えてもらっています。年齢を重ねると忘れることが多くなります。覚えたノウハウも忘れます。そのような時はAIアシスタントを使用します。

プログラミングを志向した、初心者の方には、ぜひ、これらのことを記憶にとどめて、チャレンジしていただきたいと思います。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?