プログラミング言語

ITエンジニアの『当たり前』が初心者には難しい話

「え、そんなことも知らないの?」が一番つらい

プログラミングを始めたばかりの頃、先輩エンジニアやネットの記事を見て、こう思ったことはありませんか?
「みんな当たり前のように言っているけど、全然分からない…」
・「パスを通して」
・「環境変数を設定して」
・「ポートが被ってる」
・「ディレクトリを移動して」

だんだん経験を積んでいくと、つい忘れてしまいがちなのが
「エンジニアにとっての当たり前は、初心者にとっては【暗号】である」ということです。

暗号に感じるのは恥ずかしいことではありません。
むしろ、誰もが通る道です!
エンジニアが、そのことを忘れてしまっているのが恥ずかしいのかも…

今日は、IT初心者がつまずきやすい「当たり前用語」を、できるだけ分かりやすく解説していきます!

ファイルとフォルダの「実は知らない」基礎知識

フォルダとディレクトリって違うの?

A. 同じものです!
フォルダ = Windows的な呼び方
ディレクトリ = Unix / Linux的な呼び方

プログラミングの世界では「ディレクトリ」と呼ぶことが多いですが、意味は同じ。
「ファイルを入れる箱」とのことです。

パスって何?(Path)

パス = ファイルやフォルダの住所
皆さんの家に住所があるように、コンピュータ内のファイルにも「住所」があります。

絶対パス(フルパス):最初から全部各書く住所

Windows: C:\Users\YourName\Documents\report.txt
Mac/Linux: /Users/YourName/Documents/report.txt

相対パス:今いる場所からの道順

今が Documents フォルダなら
./report.txt (同じフォルダ)
../Desktop/image.png (一つ上のフォルダのDesktopの中)

相対パスには、フォルダの位置を記号を用いて表します。
・. → 今いるフォルダ
・.. → 一つ上のフォルダ

拡張子は何のためにあるの?

拡張子 = ファイルの種類を表す「名札」
・.txt → テキストファイル
・.jpg / .png → 画像ファイル
・.mp3 → 音声ファイル
・.py → Pythonプログラム
・.js → JavaScriptプログラム
・.html → Webページ

よくある失敗:
 Windowsで「拡張子を表示しない」設定になっていて、「script.py.txt」と一番後ろの.txtに気付かない
 上記ファイルを動かそうとしてもPythonが動かない…
解決策:
 Windowsの「表示」 → 「ファイル名拡張子」にチェックを入れる!

隠しファイルって?

ドット( . )で始まるファイル = 隠しファイル
・.gitignore → Git(ファイルの変更管理ツール)の設定ファイル
・.env → 環境変数ファイル
・.DS_Store → Macが勝手に作るファイル

なぜ隠す? → 普段使わない設定ファイルなので、邪魔にならないように。

表示する方法:
・Windows:エクスプローラーの「表示」 → 「隠しファイル」
・Mac:Finderで「Command + Shift + . 」
・Linux:「ls -a」コマンド

謎の専門用語を解読する

パスを通すって何?

パスを通す = コマンドをどこからでも使えるようにする設定
例えば…
Pythonというコマンドを打った時、コンピュータは「Python.exeってどこにあるの?」と探します。

パスが通っていない状態:

> python
‘python’ は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

パスが通っている状態:

> python
Python 3.11.0 (main, Oct 24 2022, …)
>>>

パスを通すためには、コンピュータ探す場所のリスト(環境変数PATH)に、pythonがあるフォルダを追加する必要があります。
イメージ:コンピュータ「Pythonを探そう。C:\Program Files\Pythonがパスか…」 → あった!

環境変数ってなに?

環境変数 = コンピュータ全体で使える「メモ」
プログラムが「あの情報どこだっけ?」となったとき、見に行く共有メモ帳みたいなものです。
よく使う環境変数:
・PATH → コマンドを探す場所のリスト
・HOME → あなたのホームディレクトリ
・API_KEY → APIの秘密鍵(プログラムが読む)

なぜ環境変数に入れるの?

特にAPI_KEYなどの秘密情報は、コードに直接書くと危険!絶対に秘密にすべき情報です。
GitHubにアップすると、世界中に公開されてしまいます。

良い例

python
import os
api_key = os.environ[‘API_KEY’]  # 環境変数から読む

悪い例

python
api_key = “abc123xyz” # コードに直接書く→危険!

ポートって何?

ポート = コンピュータの窓口番号
1台のコンピュータで複数のサービスを動かすとき、どの窓口でどのサービスを提供するかを決める番号です。
病院でイメージすると若やすいかもしれません🏥
・1番窓口 → 病院の受付
・2番窓口 → 処方箋の受付(薬の受渡し)
・3番窓口 → お会計

これがコンピュータの場合、以下の役割で窓口が決められています。
・ポート80:Webサーバ(HTTP)
・ポート443:Webサーバ(HTTPS)
・ポート3000:開発中のWebアプリ(よく使う)
・ポート5432:PostgreSQL(データベース)

「ポートが被っている」とは?

同じ窓口番号で2つのサービスを始めようとしている状態
Error:Port 3000 is already in use

解決方法:
・片方を閉じる
・別のポート番号をt具買う(3001など)

サーバーとクライアントって?

サーバ:サービスを提供する側
クライアント:サービスを受ける側

例1:レストラン
・サーバ:お店(料理を提供)
・クライアント:お客さん(料理を注文)
例1:Webサイト
・サーバ:GoogleのWegサーバー
・クライアント:あなたのブラウザ

コマンドラインの「当たり前」

コマンドライン、ターミナル、コンソールって?

全部ほぼ同じ意味!黒い画面に文字を打ち込むやつです。
正式名称:
・Windows:コマンドプロンプト / PowerShell
・Mac:ターミナル
・Linux:ターミナル、シェル

よく使うコマンド:

ディレクトリ操作:

pwd          # 今いる場所を表示(Print Working Directory)
ls            # ファイル一覧を表示(List)※Windowsはdir
cd Documents      # Documentsフォルダに移動(Change Directory)
cd ..          # 一つ上のフォルダに移動

ファイル操作

touch test.txt         # 空ファイルを作成(Macのみ)
mkdir new_folder       # フォルダを作成(Make Directory)
rm test.txt           # ファイルを削除(Remove)※取り消せないので注意!
cp file1 file2          # ファイルをコピー(Copy)
mv old new          # ファイル名を変更/移動(Move)

表示

cat file.txt         # ファイルの中身を表示
head file.txt        # 最初の10行を表示
tail file.txt         # 最後の10行を表示

初心者がよくやる失敗

cd documents # 小文字で書いた
# → エラー!Windowsは関係ないけど、Mac/Linuxは大文字小文字を区別する

プログラミングでよく出る謎用語

ライブラリとフレームワークって何が違うの?

ライブラリ = 道具箱
必要な道具(関数)を選んで使います。
使用者が何を使うかを選ぶことができます。

フレームワーク = 家の骨組み
フレームワークのルールに従って、使用者がパーツを埋めていきます。
フレームワークに合わせる必要があり、フレームワークが使用者のコードを呼びます。

パッケージマネージャーって?

パッケージマネージャー = アプリストアのようなもの(プログラマ用)
ライブラリをインストール・管理するツールです。
各言語のパッケージマネージャー:
・Python:pip
・JavaScript:npm / yarn
・Ruby:gem

バージョン管理(Git)の基礎

Git = タイムマシン機能付きの保存システム
よく聞く用語:
・リポジトリ(repo) → プロジェクトの保管場所
・コミット(commit) → セーブポイントを作る
・プッシュ(push) → ネット上(GitHub等)にアップロード
・プル(pull) → ネット上から最新版をダウンロード
・ブランチ(branch) → 並行世界を作る(実験的な変更をするとき)
・マージ(merge) → ブランチを本流に統合

イメージはゲームのセーブデータのようなものです。🎮
間違えたときには前のセーブデータに戻ることができます。(やり直しができる!)

開発環境の「当たり前」

IDEとエディタって何が違うの?

エディタ = メモ帳の高機能版
コードを書くためのツールです。
・Visual Studio Code(VS Code):超人気!迷ったらコレ!
・Sublime Text
・Vim / Emacs:上級者向け

IDE(統合開発環境) = エディタ+デバッガ+コンパイラなど全部入り
・Visual Studio:C#などのMicrosoft系言語
・PyCharm:Python
・IntelliJ IDEA:Java

おすすめ:まずはVS Codeから始めるのがベスト!拡張機能も豊富です

仮想環境って何?

仮想環境 = プロジェクト専用の小部屋

なぜ必要?

プロジェクトAではPython3.9を使いたい、プロジェクトBではPython3.11を使いたい…
こういった場合、バージョンが衝突しAとBを同時に勧めるのが非常に難しくなります。
仮想環境を使うことによりコンピュータ内に2つの環境を用意できます。
そうすれば、同時に異なるバージョンのプロジェクトでも問題なく進行することができるのです!

ビルド、コンパイルって何?

コンパイル = 翻訳作業
人間が読めるコードを、コンピュータが実行できる形式に変換することです。
C言語のコード(.c) → コンパイル → 実行ファイル(.exe) に変換されます。
コンパイルが必要な言語:
・C
・C++
・C#
・Java…など

コンパイル不要な言語(インタプリタ言語)
・Python
・JavaScript
・Ruby…など
書いた直後から実行できるのが特徴です!
翻訳をしていないのではなく、一度に翻訳せず翻訳しながら実行することで直後の実行を可能にしています。

ビルド:コンパイルも含めた「実行可能な形にする一連の作業のこと」

まとめ:「分からない」は恥ずかしくない!

ここで紹介した用語、私も最初は分かりませんでした。
自分で調べたり、先輩に聞いたり…
実業務を通して初めて理解したこともあります。
これらはすべてのプログラマが通ってきた道なのではないでしょうか。

IT業界は専門用語が多すぎて、初心者には優しくありません。
でも、知らないことは恥ではありません。
むしろ、知らないことを「知らない」と言えることが大切です。

先輩たちもみなさんに頼られたいはずです。
分からないことは聞いてみましょう。きっとみなさん親切に教えてくれますよ。
そして、いつか皆さんが「当たり前」と思うようになったとき、教えてもらったときを思い出して、
初心者に優しく教えてあげてくださいね😊

エラーメッセージは怖くない!

thum06

赤い文字に心が折れそうになったこと、ありますよね

プログラミングを始めて最初にぶつかる壁、それがエラーメッセージです。

画面いっぱいに表示される赤い文字、英語の羅列、意味不明な記号…
目をつむりたくなってしまいますね。
でも、ちょっと待ってください!

エラーが出るのは、あなたが悪いのではありません。
むしろ、エラーが出るのはプログラミングの日常なんですよ。

「エラーが出ないようにするにはどうすればいいですか?」とよく聞かれます。
答えは簡単です。
「無理!」です笑

プロのエンジニアでも毎日エラーと格闘しています。
大切なのはエラーメッセージの読み方を知ることです。
今日はその秘伝をお伝えします!

エラーメッセージは「敵」ではなく「ヒント」

まず、考え方を変えましょう。
エラーメッセージは「コンピュータが間違った場所を教えてくれているメッセージ」のことなのです!
何も言わずに動かなくなるより、よっぽど親切だと思いませんか?

エラーメッセージの基本構造

ほとんどのエラーメッセージは以下の3つの情報を含んでいます。

  1. どこでエラーが起きたか’(ファイル名、行番号)
  2. 何がおきたか(エラーの種類)
  3. なぜ起きたか(原因のヒント)

これを知っているだけで、エラーとの向き合い方が変わります!

【実例で学ぶ】よくあるエラーの読み方

例1:Pytyonの場合

Traceback (most recent call last):
  File "main.py", line 5, in <module>
    print(mesage)
NameError: name 'mesage' is not defined

読み解き方

  1. どこで? → 【 File “main.py”, line 5 】 = main.pyファイルの5行目
  2. 何が? → NameError = 名前に関するエラー
  3. なぜ? → ‘mesage’ is not defined = ’mesage’という名前は定義されていませんよ!

【おそらくスペルミス!’message’と書くべきところを’mesage’と書いてしまった】
どうですか?一行ずつ見ていくと、意外と丁寧に正確に教えてくれていますよね✨

例2:JavaScriptの場合

Uncaught ReferenceError: functon is not defined
    at script.js:12

読み解き方

  1. どこで? → 【 script.js:12 】 = script.jsファイルの12行目
  2. 何が? → ReferenceError = 参照エラー
  3. なぜ? → functon is not defined = ’functuon’が定義されていませんよ!

【これもスペルミス!’function’と書くべきところを’functon’と書いてしまった】

例3:C#の場合

error CS0103: The name 'Consol' does not exist in the current context

読み解き方

  1. エラー番号 → 【 CS0103 】 = Googleで検索すると、どんなエラーなのか詳細がでる!
  2. 何が? → The name ‘Consol’ does not exist = ‘Consol’という名前が存在しない

【またまたスペルミス!’Console’と書くべきところを’Consol’と書いてしまった】

パターンに気付きましたか?
初心者のエラーの約8割は、スペルミスによるものなんです!

エラータイプ別・対処法ガイド

構文エラー(SyntaxError)

意味:文法が間違っている場合に発生するエラーです。
よくある原因:

  • カッコの閉じ忘れ ()
  • セミコロンの付け忘れ ;
  • クォーテーションの閉じ忘れ ”、’

対処法:エラーが指摘している行の前後もチェックしましょう!1行前が原因の場合も多いです。

名前エラー(NameError、ReferenceError)

意味:変数や関数の名前が見つからない
よくある原因:

  • スペルミス
  • 大文字・小文字の間違い(Message ≠ message)
  • 変数を使う前に定義していない

対処法:エディタの補完機能を使ったり、変数名の場合は定義した箇所の変数名をコピペしましょう。

型エラー(TypeError)

意味:データの型が合っていない

age = "25"
print(age + 5)  # エラー!文字列と数値は足せない

対処法:変数の型は都度確認し、もし異なる型を扱いたい場合は型変換をするなどで対応しましょう!

エラーが出たときのマインドセット

✅やるべきこと

  • 深呼吸をする(本当に大事!)
  • エラーメッセージをちゃんと読む
  • 最後に変更した部分を疑う
  • いったん休憩する(煮詰まったら散歩しよう!)

❌やってはいけないこと

  • 適当にコードをいじる(余計に壊れることも…)
  • エラーメッセージを無視する
  • 「自分にはセンスがない」と思い込む
  • 徹夜で解決しようとする(徹夜は頭が働かないので非推奨です!)

「それでも解決できない!」というときは

  1. コードを最小限にする
    • エラー箇所だけを抜き出して、シンプルなコードで再現をしてみる方法です。
    • 問題の本質が見えやすくなります
  2. ラバーダッキング
    • 誰でも何にでも良いので、声に出して説明してみることです。
    • 説明している途中で間違いやおかしい箇所に気付くことがあります!
  3. 質問サイトやコミュニティを活用
    • teratail → 日本語のプログラミングQ&Aサイト
    • Qiita → 技術記事共有サイト
  4. ChatGPTに聞く
    • エラーメッセージとコードを添付して聞いてみましょう。
    • ⚠️100%正しいわけではないので、複数の情報源を確認するクセをつけましょう。

まとめ:エラーはプログラマの相棒

プログラミングとエラーは切っても切れない関係です。
でも、この記事で紹介した方法を使えば、エラーは怖いものから解決できるパズル🧩に変わります!

  1. エラーは誰にでも出る(プロでも毎日出ます!)
  2. エラーメッセージは味方(解決のヒントをくれている)
  3. 解決方法は必ずある!(Google、コミュニティ、AIを活用)

次にエラーが出たときは「うわ、エラーだ…」と思わずに「よし、解決してまた一歩成長するぞ!」と思えたら最高ですね👏🎉

プログラミング言語の選び方

thum05

結局、何から始めればいいの?

プログラミングを始めようと思ったとき、最初に悩むのが「どの言語を学ぶか」ですよね。
Python、JavaScript、C#、Java、Ruby…検索すればするほど選択肢が増えて、逆に迷ってしまう…そんな経験、ありませんか?

実は私も最初は「とりあえず人気らしいから」という理由で言語を選んで、後悔した経験があります。
今日は、みなさんが最初の言語選びに迷わないよう、目的に合った言語の選び方をお伝えします!

まず知っておきたい大前提

「万能な言語」は存在しない。

これが一番大事なポイントです。
どの言語にも得意・不得意があります。

  • Web開発が得意な言語
    • JavaScript
    • PHP
    • Ruby
  • データ分析が得意な言語
    • Python
    • R
  • アプリ開発が得意な言語
    • Swift(iOS)
    • Kotlin(Android)
    • C#(Windows)
  • ゲーム開発が得意な言語
    • C#(Unity)
    • C++(Unreal Engine)

このように、「何を作りたいか」で選ぶ言語は異なります。

タイプ別おすすめ言語

🌱Type1:とにかく早く何か作りたい!

おすすめ:Python

  • 文法がシンプルで読みやすい
  • エラーメッセージが新設
  • ライブラリ(便利な道具)が豊富
  • Web開発、データ分析、AI、自動化など幅広く使える

こんな人におすすめ!

  • プログラミング初体験の人
  • 「まず動かす喜び」を味わいたい人
  • 将来やりたいことがまだ決まっていない人

🌱Type2:Webサイトを作りたい!

おすすめ:JavaScript

  • Webブラウザで動く言語
  • HTML/CSSと組み合わせて即座に結果が見える
  • フロントエンド(見た目)もバックエンド(サーバ側)も書ける
  • 求人数が多い

こんな人におすすめ!

  • 自分のポートフォリオサイトを作りたい人
  • インタラクティブな(動きのある)Webページに興味がある人
  • 就職を視野に入れている駆け出しプログラマ

🌱Type3:ゲームやアプリを作りたい!

おすすめ:C#

  • Unityというゲームエンジンで使われている
  • Windowsアプリ開発にも使える
  • オブジェクト指向が学べる(プログラミングの重要な考え方)
  • 意外と文法がわかりやすい

こんな人におすすめ!

  • ゲーム開発に興味がある人
  • Windowsアプリを作りたい人
  • 将来的に「ちゃんとした」プログラマになりたい人

🌱Type4:スマホアプリを作りたい!

iOSアプリ → Swift
Androidアプリ → Kotlin

  • 最初はどちらか一方から勉強するのがよい
  • 開発環境の構築が少し大変
  • 自分のスマホで動くアプリを作る喜びは格別!

よくある間違った選び方

  • 「人気だからやってみよう!」
    • 人気 = なんでもできる、ではありません!
    • 作りたいものに合っている言語を選びましょう。
  • 「難しい言語の方がかっこいいな…」
    • 難しさ ≠ 優秀さです。
    • 最初の壁が高いと、挫折しやすくなってしまいます。
  • 「友達が使っているし、やってみようかな」
    • あなたとお友達の目標・作りたいものが同じであることが前提になります。
    • 同じ場合は、相談しながら進めることができる相棒となってくれるでしょう!

最初の一歩を踏み出すために

小さく始める

いきなり大規模なアプリを作ろうとしない!
まずは「Hello, World!」から始めましょう。

環境構築で挫折しない

環境構築が苦手な人は、ブラウザだけで始められるサービスから始めてみましょう

  • Python → Google Colab、Replit
  • JavaScript → CodePen、JSFiddle
  • C# → .NET Fiddle
コミュニティを活用する

Xで「#駆け出しエンジニアと繋がりたい」と検索をすると、同じように学習している仲間が見つかります。
一人じゃないって実感できるだけでも、モチベーションが全然違いますよ!

言語を選ぶ際のその他のポイント

  • 学習コスト(学びやすさ)
    • 最初は文法がシンプルなものを選ぶと良いでしょう。
    • 特にエラーメッセージが分かりやすいと挫折しにくいです!
    • 学習コミュニティや教材の豊富さも重要なポイントです。
  • 将来性や需要
    • IT業界で需要が高い言語を選ぶと、将来的に仕事に繋がりやすくなります。
    • PythonやJavaScriptは常に高い需要があります。
  • 周囲に聞ける人がいるか
    • もし周りに詳しい人がいるなら、その人が使っている言語を学ぶのもいい方法です。
    • 困ったときにすぐ質問できる環境は、学習の大きな助けになります!

まとめ

完璧な言語選びよりも「始めること」が大切!
ここまで言語の選び方について解説してきましたが、正直なところ、最初のうちはどの言語を選んでも間違いではありません。
大切なのは、まずは一歩踏み出して、実際にコードを書き始めることです。

大切なポイント

  1. 「何を作りたいか」で選ぶ
  2. 迷ったらPythonかJavaScript
  3. 最初の選択で失敗しても、言語はいくらでも選びなおせる

あなたが選んだ言語で、まずは小さな一歩を踏み出してみてください。
その一歩が、いつか大きなアプリやサービスを生み出す力になります。

あなたのプログラミング学習の旅が、素晴らしいものになることを願っています!