まめぞうの技術メモ

IT関連で勉強したことをメモします

プログラミング初心者はなにから始めるべき?個人的オススメ学習法

最初に選ぶ言語がプログラミング人生を決めるかも?
最初に選ぶ言語がプログラミング人生を決めるかも?

自分は大学の授業で Java から入ったのですが(何年前だかって話ですが...)、正直挫折しかけましたよ...。

もっと入りやすい言語があったんじゃないかと思い、個人的経験を元にオススメを紹介します。

ちなみに、私はガチなアプリ開発者ではなくて、ふわっとしたエンジニア(SE)歴が長いので、多少変なところがあってもご容赦ください。

プログラミング言語は基本はどれも同じ

具体的な話に入る前に、プログラミング言語って細かな違いはありつつも、基本的な部分はどれも同じです。

変数、配列、ループ、条件分岐、この辺りは基本ですね。

ありがちなのは、データを取って変数(リスト)に入れて、ループ(繰り返し)で一個一個取り出して、条件分岐で分類するとか。こんなのすごく多い気がします。

具体的には...

以下のような変数(リスト)があって、

["りんご", "ゴリラ", "ラッパ"]

こんな条件分岐があって

if(リストの要素 == "りんご"{
   りんごジュースを作る
} else if(リストの要素 == "ゴリラ"{
   ゴリラを動物園に入れる
}else{
   ラッパを演奏する
}

ループ(繰り返し)で、中身を 1 つずつ取り出して、↑の条件に当てはめて処理を分ける。

みたいな感じ。

そこにいろんな要素が絡んできて複雑になるんですよね。

例えば、

  • プログラミング環境の構築
  • オブジェクト指向(クラス、メソッド、メンバ変数、継承、実装...)
  • データベースにリストを格納、取り出し
  • 結果を Web ページに表示する
  • ライブラリを使う
  • 他のサーバと通信する

等。

てことで、なるべく単純なところから初めて、一つ一つ複雑化させていく方が入りやすいと個人的に思うのです。

Java とか...大学の授業&社会人の新人研修の記憶ですが、集団研修だったので覚えているのですが、プログラミング環境の構築で詰まってる人たくさんいましたね。

Eclipse(プログラミングツール)がいつまでも経ってもパソコンに入らなくて、そもそも授業に入れないとか、そんな思い出があります。

どの言語から始めるべき?

前置きはここまでで、どの言語から始めるのがおすすめかという話になります。

ずばり、自分が一番馴染み深い環境の言語ですね。

例えば、Windows ユーザーなら、bat ファイルや PowerShell、Mac & Linux ユーザーならShell ですね。

基本的に何もインストールしなくてもメモ帳開いてプログラム書けますからね。余計なところで詰まらない。

自分がいつもパソコンでやっている作業の便利ツールとか作ると、効率化にもなって一石二鳥ですね。

特殊な環境構築がいらないので、エンジニアにならなくても事務作業とかにも使えるスキルだし、覚えておいて損はないです。

さっそくやってみる(Windows)

  • メモ帳開いて、test.bat というファイルをデスクトップに作る
  • 以下をコピペして保存
echo abcde > test.txt
  • test.bat ファイルをダブルクリック
  • そうすると test.txt ファイルができる

    test.txt ファイルがデスクトップにできるはず
    test.txt ファイルがデスクトップにできるはず

  • 中を開くと abcde って書いてある

    メモ帳で開くと abcde って書いてある
    メモ帳で開くと abcde って書いてある

1 分でできます。ここに、変数、配列、ループ、条件分岐、とかを一つずつ入れていけばいいです。

batファイル 変数 とかでググればすぐ出てくるはず。

さっそくやってみる(Mac & Linux)

Windows の abcde ってファイルに書く簡単なプログラムを Shell で書くとこうなりますね。

test.sh というファイルを作って以下をコピペして保存。

#!/bin/bash
echo "abcde" > test.txt

で、

./test.sh

で実行すると、test.txt ができます。 (権限エラーが出るときは、chmod +x ./test.sh で権限をつける)

test.txt を開くと "abcde" って書いてあるはず!

まとめ

  • どの言語も基本的な部分は一緒なので、簡単なものから入って挫折を回避
  • 学習要素を一回に詰め込むと意味不明になってくる。
  • Windows なら batファイルや PowerShell、Mac & Linux なら Shell が個人的におすすめ