- プログラミングって独学で学べるの?
- 使えるようになったらどんなメリットがあるの?
こんなお悩みを解決するため、プログラミングは独学について解説していきます。
結論から言うとプログラミングは独学で学べます。
私も大学1年の頃プログラミングの授業があったのですが、教授が書いた内容をただ打ち込んでいるだけで理解はしていませんでした。
卒業後、IT企業に勤めたのですが研修時代は成績は悪かったため、前の方に座るよう講師に言われたこともあります。
そんな私も今では、複数言語を使いこなしながらエンジニアとして働いてます。
どのように現在に至ったか、どのようにプログラミングを覚えたかこちらの記事に書こうと思います。
目次
簡単な経歴
簡単に私の経歴を説明させていただきます。
新卒で入った会社で通信関連の制御システムの構築をC言語を使い行ってました。
その後、今後のキャリアを考え制御システムからWEBシステムのエンジニアに転向。
C言語でメモリ、基本的な文法を理解していたのでWEB系言語はすぐ覚えることができました。
そして、さらにスキルの幅を広げるため転職を行い、転職先でJAVAを用いた広告配信システム開発に携わったり、最近は上流工程の要件定義などを主に行っています。
ただ、プログラミングしていないと感覚が鈍るのでプライベートで定常作業を自動化するため、色んなサービス(APIなど)を使いプログラミングを行うようにしています。
現在扱えるプログラミング言語
現在私の扱えるプログラミング言語を参考までに記載させていただきます。
インタプリンタ言語とはコンピュータが解釈・実行できる形式に変換しながら同時に少しずつ実行していくような言語
コンパイラ言語と記述したソースコードを一旦コンピュータが解読可能な機械語に変換し、実行した際にコンピュータが任意の命令を実行させるような言語です
インタプリンタ言語
PHP
Perl
ruby
Python
- JavaScript
コンパイラ言語
- C
- C++
- JAVA
その他
- HTML
- CSS
- VBA
個人的には、基本が詰まっているC言語を学んでから他の言語を学んだ方が理解を深めることが出来ると経験上思いますが、C言語ははっきり言って初心者には難しいです。
とりあえず簡単なプログラミング体験を行うのであれば、AIなどで疲れているPythonや多くのWEBシステムで使われているPHPなどが良いのではないでしょうか。
言語の基本構成
書き方は言語それぞれですが、基本的な構文は下記のパターンとなります。
その他
- もしも〜だったら(if文)
- このケースだったら(case文)このケースだったら(case文)
- この回数だけループ(for文)
- ずっとループ(while文)
例えば「1.もしも〜だったら」を例にあげると例えば作った料理が「チャーハン」だったら「中華料理」だよと伝えてあげる方法だと下記のようになります。
メモ
[PHP]
作成料理 = チャーハン; // 変数(変動する値)作成料理に、「チャーハン」を設定
if(作成料理 == チャーハン){ // 作った料理が「チャーハン」ですか?と言う意味
echo "中華料理だよ"; // 「チャーハン」だった場合、「中華料理だよ」って表示
}
勉強方法
「書籍で学ぶ」、「ネットで学ぶ」、「スクールに通い学ぶ」
基本的にはこの3つかと考えてます。
私は書籍で学びましたが、現在はgoogle先生に問い合わせれば必要な情報を提供してくれるため、とりあえずネットで学んではどうでしょうか。それでも駄目ならスクールに通うことも視野に入れても良いかもしれません。
ネットだと技術情報共有サービスのQiitaなどに色んな技術情報が共有されてますので読んでみてはいかがでしょうか。
また、paizaと言う転職サイトでプログラミングスキルチェックを無料で行っていますので、こちらを活用して勉強するのもアリかと思います。※スキルを磨けば、IT企業からスカウトされます
プログラミングスキルを身に付けることのメリット
プログラミングスキルを身に付けることで、下記のようなメリットがあるのではないかと考えてます
職に困らない
エンジニアは人材不足という状況は現在も続いていますのでスキルを身に付けることで職に困らないのではないでしょうか。
好きな時間に好きな場所で作業が出来る
クラウドソーシングの内容にIT関連の仕事が多数あります。
例えばある情報をサイトから抽出し整形するツール作成などの仕事の依頼があり、受注すれば納期さえ守れば時間、場所は問わない生活を行う事ができます。
最近流行りのフリーランスのような生き方ができるのです。
毎日を行っている作業を自動化でき、効率的に生きることが出来る
毎日定常作業で手動で行っている作業を自動化させる事が可能かつ正確性も高める事ができます。
私もある情報を抽出するツールを毎日動かすツールを作成し、空いた時間で別の作業を行っています。
情報化社会への適応度が高まる
最近でいうと7pay問題で上がった2段階認証など、IT業界に入れば当たり前のセキュリティ対策などを自ずと身に着ける事ができセキュリティが高く、高品質のシステムが作れるようになるかと思います。
最新技術への関心が高まる
AI、IoTなど最新技術がどのようなプログラミング言語で作成されていて、どのように構築されているのか興味が湧いてくるかと思います。
このように色々なメリットがあり、最近では小学校でもプログラミングの授業が出来、知識の吸収の早い小さい頃から学んでいるようです。
少しでもこの記事を読んでプログラミングに興味があるようでしたら、小さい子たちに負けないよう学んでみてはいかがでしょうか。