プログラミング入門

コンテンツ
IT・テクノロジー

プログラミング入門

最近ではプログラミングもWebを活用すればタダで始めることが出来ます。
一方ではスクールなどもあります。私はスクールに通った経験はありません。ただし、ネット上で評判のいい、「N予備校」は受講しています。
こちらは月1000円の受講料がかかりますが、わたしは「【2020年度】プログラミング入門 Webアプリ」のコースを受講してサーバーサイドのプログラミングを勉強しています。
ある程度は、それ以前に勉強済みでしたが、知らなかった情報は多く、コストパフォーマンスはよいと思います。真剣に取り組めば3か月ほどで「【2020年度】プログラミング入門 Webアプリ」のコースは受講可能で、レベルとしてはWeb会社でアルバイトが出来る程度、とされています。
しかしながら、このコースも教科書に従って進めれば技術が身につくというものでは必ずしもなく、自分で調べる(ググル)ことが必要です。
現代において、プログラミングの上達にはググり力が必要です。
わからない言葉や文法、Errorメッセージが出てきたら、そのままググります。

EasyRetouch.jpg_retouch_.jpg

なにか必要なモジュールがインストールされていない、ことがわかります。

EasyRetouch_retouch_.jpg

サンプルコードを見ていてわからない構文が出てきたとします。
例えば、    require('./posts-handler');

EasyRetouch_retouch_1.jpg

ググります。
データをサーバーに送信しようとするもの、であるとわかります。
EasyRetouch_retouch_2.jpg

何から始めるか?

プログラミングと一言で言われてしまいますが、その中身は多様です。
・Webフロントエンド(Web製作でおもにHTMLやCSS、JavaScriptをつかうもの)
・Webバックエンド(Webサーバーを構築するもの、JavaScript、PHPなど)
・デスクトップアプリ(PCの上で動くもの、WindowsのC#やMacのSwift など)
・スマホアプリ(Kotlin、Swift、Javaなど)
・組込みFW(ファームウェア。家電や事務機器、工場の機械の制御を行うもの、C言語、C++など)
・AI、機械学習(Pythonが主流だがC++なども)
・ゲーム(テレビゲーム、ネットゲームなどC++/C#など。テレビゲームは組込みに近く、ネットゲームはWebのフロントエンド、バックエンドなども関係します)
・電子工作系(C言語、C++、Python)

C#

あなたがWindowsユーザーであればもっとも簡単に始められるのはC#によるWindows向けアプリだと思います。
C#の開発環境はMicrosoftが提供している、Visual Studio(無料)を用いて手軽に始められます。
ただし、C#は初めは少々難しいので1冊本を買うことをお勧めします。
おすすめは「ゴールからはじめるC# ~「作りたいもの」でプログラミングのきほんがわかる」という書籍ですAmazonで探してみてください。

Python

AI、機械学習に興味があればPythonが良いでしょう。
Pythonには2と3がありますが、2はサポートが終了するので、今から始めるなら3の一択です。
Pythonもプログラミングが初めてなら、1冊読んでみることをお勧めします。

C言語

Pythonに限らず、プログラミングの基礎は知っておく必要があるからです。
しかし、Pythonには暗黙の型、動的型付けという魔法があります。
これは、本来のC言語やC#/C++などの古典的な言語との大きな違いです。
変数に対して、型(整数なのか少数なのか文字列なのか…)を意識せずに使えて便利な反面、場合によってはわかりにくさを生みかねません。
なので、Pythonから始めてもいいですが、静的型付け(C言語など)も勉強しておくことをお勧めします。

苦しんで覚えるC言語」というサイトが無料で使えて基本が押さえられます。

Javascript

Web系がよければ、JavaScriptです。
回し物ではないですが、N予備校はおすすめです。
Web系はJavaScriptについては多くの書籍がありますが、サーバーの構築に対応しているものは少ないです。
・フロント系
改訂新版JAVASCRIPT本格入門 (Amazonで探してみてください。)
・サーバー系
NODE.JS + EXPRESS入門 - JAVASCRIPTとコマンドラインがちょっとわかる人がNODE.JSを使うサーバーサイド開発に入門するための本
(Amazonで探してみてください。)

電子工作・Arduino

電子工作系がよければ、私が始めた方法になりますが、
ArduinoとC言語から始めるのがよいです。
Arduinoは電子工作に便利なGPIOと呼ばれるピンが
はんだ付けなしに利用できます。 (Amazonで3000円前後)
EasyRetouch_retouch_3.jpg

または、Arduinoは互換品が安く入手できます。 (部品がいろいろついて3000円ちょっと)
EasyRetouch_retouch_5.jpg

Arduino開発画面イメージ。
EasyRetouch_retouch_4.jpg

最初は先人のブログなどを見て回りイメージ
をつかみましょう。
電子工作(はんだ付け、トランジスタ、抵抗、コンデンサ)とプログラミングもあわせて習得する必要があるということがわかります。

ラズベリーパイ

このように調べていくと、ラズベリーパイというものがあることがわかりました。ラズベリーパイはLinuxが乗ったものです。
Linuxはコマンドラインを用いて操作します。はじめは難しいと思いますが、Linuxの基礎知識はプログラミングにとってとても有利です。もしプログラミングの仕事をしたいと思っているのなら、必ずいつかは必要になるものです。
EasyRetouch_retouch_6.jpg

Linuxの開発画面のイメージ
EasyRetouch_retouch_7.jpg
プログラミングやハッカーといった単語からイメージされるのがこのような真っ黒の画面ではないでしょうか?(ターミナルといいます)

ラズベリーパイはArduinoと同様GPIOがあり、センサーやLEDなどを接続できますが、そもそもLinuxというパソコンと同様なものなので、その応用範囲は広く、Python、C言語、C++、Goなど使える言語も幅広いです。
Arduinoとの大きな違いはネットワークにも標準で対応し、機種によってはWi-Fiも使えます。
よって、JavaScript等を用いてWebサーバーにすることも可能です。
以上。
まずはやりたいことを明確にすることが一番です。
なんとなくプログラミングを始めるより明確な目的があるほうが勉強は進みます。

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す