IT人材のためのキャリアライフスタイルマガジン

プログラミング初心者が独学でやるべきこと|おすすめの言語

プログラミング学習

IT業界は活況を呈し、プログラマーが不足している状態です。ここでは、初心者の方が独学で言語を習得しプログラマーとなるために、どんな言語選びどんな学習をすべきかを考えようと思います。初心者が独学に適した言語を選択した時、プログラマーへの扉が1枚開くでしょう。

更新日時:

I プログラミング学習の始め方 初心者プログラマーへの独学向け

初心者の方が、独学でプログラマーとしての学習を始めたのだけれど、途中で挫折してしまった話はよく聞きます。大体、初心者の90%程の方が途中で止めてしまうと言われています。そうならないためにはどうすべきか、初心者の方が、独学でプログラマーを目指し、独学で乗り越えるための5箇条から始めましょう。

プログラミング入門

 プログラミングは武器になる 〜独学でプログラマーへ1〜

初心者でもプログラムが組めるようになりコーディング力(プログラムを記述できる力)が上がれば、作成したプログラムも評価され、それがやがてプログラマーとしての収入とかステイタスアップとかに確実につながります。初心者の方が独学によるプログラマーを志向する背景はこんなところにあるのだろうと思います。

 どの言語を選ぶか 〜独学でプログラマーへ2〜

750種類ほどあるプログラム言語から、独学でどの言語をやるかを決めるのは初心者たる貴方自身です。なぜ、その言語なのか?そこにはやることの目的があるはずです。その目的を明確にするのも初心者たる貴方なのです。プログラマーとして独学で習得しようとする言語と目的に乖離があってはならないのです。

 言語の選択に迷った時は 〜独学でプログラマーへ3〜

プログラミングについて何も知らない初心者からのスタートなのです。途中で止めてしまうと、独学であっても、それまでに掛けた時間・費用が無になります。そうならないための選択が大切になってきます。学習するのに易しく広く使われている言語を選ぶことが、初心者たる貴方が独学を持続させていくポイントになってきます。

 プログラミングの環境を整える 〜独学でプログラマーへ4〜

(i) 環境構築とは

「プログラミング言語を扱える環境」を作ることを、「開発環境の設定」や「環境構築」と言います。プログラミングはUnixがベースとなりますので、その派生版であるLinuxで構築するのが手っ取り早く簡単です。以前は、難しいOSとして避けられて来ましたが、「Ubntu」などはWindowsと同じ手軽さになっています。プログラミング志向の意欲があれば、初心者で独学でものりきれると思います。

(ii) Windowsで構築に参考になるところ

しかし、Windows環境が圧倒的に多いでしょうから、開発環境の構築には次が参考になるでしょう。ともに無料です。この部分は、初心者の方が独学でプログラマーを目指すときの最初の壁かもしれません。 *ドットインストール(http://dotinstall.com/)* *ローカル開発環境の構築 [Windows編] (全14回) *ローカル開発環境の構築 [MacOS X編] (全14回)

 初心者が学習を持続させるには 〜独学でプログラマーへ5〜

(ア) プログラマー初心者として、目的にあった無理のない独学可能な言語を選択すること (イ) プログラムの学習は暗記ではなく理解だということ(独学の時は特に注意     する点です) (ウ) 書籍などに書かれたコードを覚えようとするのではなく、概要を捉えるよ        うにすること(初心者のときは全てが重要にみえます) (エ) 間違えは当たり前、サンプルコードを参考にコードを書き間違えても気     にしない(初心者の場合これが気持ちを萎えさせる原因) (オ) 書き上げたコードをiphoneなどで画像に残し、通勤とか就寝前に一日に     一度は確認すること(独学時のコツ) (カ) ある程度学習が進んだら、サンプルコードの繰り返しだけではなく、サン    プルを少しアレンジして自分の考えに従ってコーディングしてみる。最初は    上手くいかなくても、そのコードのどこに問題があるのか時間を気にせず取    り組むこと(プログラマーも悩んでいます) (キ) マンネリ化や孤立感を覚えたら、「独学+無料のレッスン」も考えてみること       書籍だと寝ながら読むには重すぎて疲れますし、iphoneだと軽く自前の明かりで十    分見えますので、目の疲れもありません。さらに、待ち合わせの空き時間などでは    すぐ出せて仕舞える手軽さがあり便利です。

Ⅱ 独学から始める初心者が学ぶべきプログラム言語

パソコンだけではなく、家電に代表されるようにある程度自動化された機器に組み込まれていて、機器の動作を制御するための手続きを記号化したものをプログラムいい、記号化のために使われる様々な約束事をプログラム言語と言います。 プログラマーを目指す初心者の方が、独学でも習得可能となるために、どんな言語を選択するべきなのか、主流と思われる言語の中から考えてみましょう。

【1】今主要となっている言語8種の概説

【プログラミング講座】第1回

(1) 歴史があり憧れの言語C

(1)〜(6)を手続き型といい、(7)、(8)を関数型と言います。これは執筆者の独断と偏見で2組に分けたものです。この分類に不備がありましたら悪しからずお願いします。独学だった私には、感覚的に関数型がどちらかというと易しいと思われました。初心者でプログラマーを目指す方も同様だろうと思います。いずれにしましても、現役のプログラマーは下のどれかの言語で活躍されている方が多いはずです。

1972年に生まれた歴史あるプログラミング言語です。開発されてから45年の年数が経っていますが、いまだに広く使用されています。学習が独学であろうがなかろうが、プログラマーを目指す初心者の人が一度は憧れる言語と言えます。

〜汎用性〜

機械語に近い言語なので難しいですが、今でも組み込み分野とかパフォーマンスが求められる分野では圧倒的な地位にあります。Widows,LinuxといったOSもC言語でできており、後で紹介するRuby,PythonもCで作られています。したがって、ITの基盤はCにあると言ってよいでしょう。Cを扱えることは、プログラマーとしての最高のスキルなのでしょう。 *機械語・・・0と1で表された、CPUが直接理解、実行できる言語のこと *組み込み分野・・・例えば、PCの周辺機器を動かすためのドライバー

〜用途〜

C言語の適用範囲は広く、さまざまな業界で使われていますが、特に機械制御の分野で活躍しています。他のプログラム言語の源にもなっていますので、Cのエキスパートになると、仕事・収入等で一生困ることはないと言えます。プログラマーとしての大道でしょう。だから、憧れのCなのです。 ただ、正直この言語を初心者が独学で習得するには難しいものがあると言わざる得ません。貴方が、10代〜30代前半の年代でなければ避けたほうが賢明です。

C言語入門 第1回 開発環境の準備

(2) C言語の拡張版C++ 

C++は「シープラスプラス」と読みC言語の拡張版です。したがって、C言語と互換性を持っていますのでその環境を利用できます。拡張した分、C言語より速度は若干劣りますが、C同様機械組み込みやゲームのプログラムに使われています。ただ、Cと同様、プログラマー志向の初心者の方が独学で習得するには時間がかかるかもしれません。

(3) マイクロソフト開発のC# 

C#は、Microsoft社が開発した言語で「シーシャープ」と読みます。C++の改良版ですが、Windowsのみに特化していますので、C言語やC++との互換性はありません。C++よりも簡単で、プログラムがしやすいように設計されています。独学で、Cのプログラマーを目指す初心者の入り口になるかもしれません。

(4) 優等生のJAVA

パソコンにJava環境がないと動作しないwebサイトやプログラムなどが沢山ありますので、世界中で広く使用されており、プログラマーとしての需要が一番高い言語です。 OSに依存しませんので、ゲームの開発やスマホアプリ、コンピュータグラフィックス等々、その用途は広くプログラムを必要とする業界ならば、どこでも使われていると考えてよいでしょう。 ただ、個人的な感想ですが、言語的にも複雑なところがありますので、初心者の独学での習得には時間を要するかもしれません。

(5) WEBで活躍のJavaScrpt

Java Scriptは、 プログラマーに人気でありwebページにさまざまな機能を持たせるために利用される言語です。その機能が、webページの動的な部分を作り出しているのです。 webサービスを実施する企業であれば必ず用いる言語ですので、プログラマーとしての需要は高いと言えます。初心者の方が習得するには独学でも可能でしょう。ただ、下のPHPなどをマスターした後がよいと思います。

(6) HP作成に欠かせないPHP 

Webサイト作成用の言語。今では、「Webプログラミング=PHP」というレベルまで普及しています。WEBプログラマーとして人気の言語です。Java Scriptと同じく動的な部分を担当する言語です。 文法は簡単で読みやすく、シンプルにプログラムを記述できるため、プログラマーを目指す初心者が、最初に習得する言語として人気の高い言語といえます。独学は十分可能だと思います。

(7) 松本ひろゆき作 Ruby

Rubyは、1995年に松本ゆきひろ氏によって開発されたプログラミング言語です。日本発で、海外でも人気のあるプログラム言語となっています。WEBサイト構築を手がける企業などでの利用が多く、プログラマーの需要も高いと思われます。 シンプルで柔軟性の高いプログラミングを可能とする言語だと言えます。したがって、他の言語と比較しても習得しやすいと言われており、初心者の方の独学向けの言語と言えるかもしれません。

(8) 初心者にオススメのPython

Pythonは、オランダで生まれたプログラミング言語で、理工系の初心者、特に海外で人気が高い言語です。関数型ですので、Y=F(X)のXに値を代入するとYが決まるようなシンプルな感覚でコードを書けるようになります。どちらかといえば、初心者でも理工系が強い人が選ぶと独学でも決して失敗しない言語と言えるでしょう。 開発や学習に使うための環境も、比較的簡単に整えることができ充実した環境となっています。用途は、webサービスの開発、機械学習の研究、教育目的など多方面に渡り使用する業界もさまざまです。特に,人工知能の開発分野で人気の高い言語となっています。プログラマーとしての人気は世界でもトップクラス、日本でもその人気が高まりつつある注目の言語なのです。

Ⅲ プログラム言語とプログラマーの年収

初心者の方が、せっかく努力して独学でプログラミングを習得したとしても、それが収入に結びつかなければプログラマーとしての意味が褪せります。したがって、どの分野のプログラマーが求人数も多く収入も多いのか調べてみましょう。

求人数と年収 

   2017年も、IT市場全体のプログラマー求人は堅調で、優秀なプログラマーは引く手あまたのようです。こうなってくると、初心者でもやってみよう。独学でもいいという気持ちになります。昨年2016年におけるプログラム言語ごとの求人年平均と求人数を見てみましょう。

上のサイトの資料を求人数順位で並べてみました。 (1)「Java」(平均年収500万円)[プログラマー求人掲載数56,753件] (2)「PHP」(平均年収538万円)[プログラマー求人掲載数23,735件] (3)「Javascript」(平均年収555万円)[プログラマー求人掲載数18,298件] (4)「C言語」(平均年収597万円)[プログラマー求人掲載数13,649件] (C++,C#を含む) (5)「Ruby」(平均年収606万円)[プログラマー求人掲載数11,694件] (6) 「Perl」(平均年収633万円)[プログラマー求人掲載数10,905件] (7)「Python」(平均年収651万円) [プログラマー求人掲載数 9,175件] (8)「Objective-C」(平均年収475万円)[プログラマー求人掲載数3,389件] (9)「COBOL」(平均年収446万円)[プログラマー求人掲載数2,231件] (10)「アセンブラ」(平均年収441万円)[プログラマー求人掲載数837件]

Ⅳ 初心者が独学できるプログラム言語はどれか 〜その1〜

今、IT市場全体は、IoT、車載デバイス、スマートフォン、クラウド、人工知能やロボットなどへと加速度的な広がりを見せています。つまり、第4次産業革命と呼ばれる流れのまっただ中に向かって進んでいると言えるでしょう。 初心者の方も、独学で言語をマスターし、プログラマーとなってこの流れに乗りたいものです。

 理工系が得意な初心者におすすめはPYTHON!  

Pythonは関数型ですので、下の例からも分かりますが初心者の方にも簡潔で分かりやすい言語構造になっています。十分な習得後はプログラマーとしての大道も用意されています。初心者の方も独学可能な言語となっています。

ニシキヘビがシンボル

PythonはGuido van Rossum氏により作成されたプログラミング言語です。オープンソースで開発されており、プログラムを書くのも実行するのも無料で行うことが出来ます。

C言語と”HellowWorld”でコード比較

初心者プログラマーに向けた一例として、プログラマーが最初に書くプログラムとして知られる「Hello World!」プログラムのソースコードを、C言語とPythonで比較してみましょう。 C言語だと、 #include <stdio.h> int main(void) { print("Hello World!"); return 0; }  となるのを、Pythonだと   print("Hello World!") とたった一行で済みます。 例として簡単すぎますが、これだけでも、C言語に比べPythonのシンプルさが初心者の方にも伝わると思います。プログラムのエラーは、ソースコードの量に比例して増えていくものです。その点、Pythonは簡潔な記述と、文脈の判断にインデント(文頭の空白)の数を用いるといった仕様のため、綺麗なソースコードの書き方を自然に覚えることが出来ます。独学でもいけそうな気がしてきます。

(3) 収入も求人数も多い言語は?

上にあった、「プログラム言語と年収」のところから、年収1位,求人数7位となっています。海外ではJava、C言語に次ぐ人気で、自動運転などのAIやデータ解析の分野では欠かせなくなっているそうです。しかし、Pythonの普及率は海外に比較すると日本は遅れを取っていますので初心者から始めても、このプログラマーのさらなる需要増は今後見込まれます。 習得次第で、プログラマーとして将来年収の期待ができ、さらに初心者が独学でも理解もしやすい言語であるPythonの習得に一歩踏み出してみようかと思ったらしめたものです。

 初心者はPythonを!

Pythonの長所

文法がシンプル 初心者でも、特に理系であるならば、コードを見ているとだいたい何が書いてあるのか、何を実行させようとしているかがある程度分かリます。そのことは、コードの読みやすさや書きやすさや、文法もシンプルで必要最低限のものしか用意されていないことの裏返しです。 そのため、プログラマーを目指す初心者にも分りやすく、独学可能な言語だと思います。 専門分野に強い 様々な専門分野に応じた、標準ライブラリ(プラグインのようなもの)と呼ばれるものが多数あり、Pyhtonが持たない機能をこのライブラリで補うように工夫されています。 特に、数学系のライブラリが充実しており、科学技術計算やデータ解析など、「機械学習」、「ディープラーニング」、「人工知能」などへの応用分野に注目が集まっています。

Pythonの短所 

Pythonによるプログラムの実行速度はJavaやC言語と比べると速くはありません。また、書籍や日本語の情報は増えているものの、他の言語に比べまだ少ないのが現状で、その分英文などの記述に当たらなければならのが難点といえます。この部分では、初心者の独学向けではないように思われますが、学習環境は整いつつあり独学ができるようになってきています。下にある統合環境をご覧ください。

Pythonの将来性 

求人数は、第7位と比較的少ないものの、求人年俸平均は600万円を超えており、他の言語に比べて高い水準にあると言えます。プログラマーの他にも、理数が得意であれば、データサイエンティストといった新しい職業への道も開けています。初心者が独学でマスターするのにも適していますし、習得後の需要・収入を考えるとこれが一押しになります。

 初心者向けPythonプログラミング学習の進め方

統合開発環境をつくる

統合開発環境とは、プログラミング用に特化した便利なエディターだと思って下さい。Pythonの統合環境は、anconda,idle,spyder,ipythonとありますが、ここでは取り扱いの比較的易しいと思われるanaconda,idleを紹介します。 もちろん、プロのプログラマーも日常的に使っている代物です。2つ上げましょう。初心者でも、これがあれば独学は十分できます。まさに、初心者向けで独学に最適です。

anaconda

(1) Continuum Analytics 社 が提供。anacondaを利用するとPythonを含めたライブラリィが一括でインストルされます。 開いた画面を少し下に下がると、 Download for Windows、Download for macOS Download for Linux と並んでいますので、Windowsであればそこをクリックして出てきた64bit、32bitのinstallerのどちらかをえらんでクリックしダウンロードして下さい。 最初だと困る時も多いと思いますので、そんな時以下が参考になります。 http://pythondatascience.plavox.info/pythonのインストール/pythonのインストールーwindows ただ、全てが英文ですので戸惑うかもしれません。英語の勉強もできるんだと思うと気持ちも軽くなるでしょう。 (2)スグレモノのJyupyterNotebook anacondaを利用してPythonをインストールすると、プログラムを作成しその場で動作確認ができるJupyter Notebookというツールが同梱されています。 (3)JyupyterNotebookはFireFox上で動く FireFoxというWEBでブラウザー上で動くものです。したがって、自分の移動先でインターネットにさえ繋げれば、どこでも仕事の継続や確認をチームメンバーとできてバックアップも自動化されています。つまり、Pythonのクラウド版と言ってよいでしょう。 起動するには、「スタートメニュー」⇒「すべてのアプリ」⇒「Anaconda3 (64-bit)」⇒「Jupyter Notebook」と選択していきます。

idle

初心者向けで、手っ取り早く分かりやすいかもしれません。 インストールは、http:http://uxmilk.jp/37145  を参考にして下さい。 未入力の状態で、Idleの最初の画面はコマンドShellと呼ばれるものです。この画面は上から File Edit Shell Debug Optins Windows Help    Python 3.4.2 (default, Oct 8 2014, 10:45:20) [GCC 4.9.1] on linux Type "copyright", "credits" or "license()" for more information. >>> となっています。>>>をプライマリプロントといい、この右隣にコマンドを打ち込んでいくことになります。間違えると、すぐさまエラー表示がでてどの部分に問題、エラーがあるか大体分かる仕掛けになっています。これに触れると、独学可能の実感がわくはずです。

お薦めの本等々

オライリー・ジャパンのものが頭一つ抜けているような気がします。手にした時、果たして初心者である自分にあったものなのか、独学できる内容なのかと思ったものです。 ただ、読んでいくとそれほど難しい気がしません。例にあるコードも簡潔でキレイな感じです。

1.「Pythonチュートリアル」Guido van Rossum (鴨澤眞夫訳)   訳が素晴らしい。分かりやすい適切な訳でユーモアたっぷりです。   初心者でも思わず引きこまれ、独学でもいける気にさせてくれます。 2.「Pythonからはじめる数学入門」Amit Saha (黒川利明訳)   もともと数学をやっておりましたので、大変理解がスムーズでした。   これも、初心者用、独学用だと思います。 3.「DeepLearning」斎藤康毅   数学部分は少し難しいかもしれません。ただ、例のコードはスッキリし   て分かりやすい。

Ⅳ 初心者が独学できるプログラム言語はどれか 〜その2〜

WEB系のプログラマーを目指している人も多いでしょうから、初心者でも独学でマスターできる言語を1つ選んでみたいと思います。 フリーランスでもWEB系プログラマーへ以来の仕事は沢山あり、供給が追いついていないように思えます。

WEB系ならおすすめはPHP!

プログラム言語の年収と求人数をご覧ください。2 PHP,3 JavaScript と並んでいます。この2つは、主にWEB系で用いられ、ともにコンテンツの動的な部分を担当しています。したがって、プログラマーの需要も高くこの2つのコーディング力は業界で重宝がられ供給が間に合わない状態です。WEB系に感心のある初心者の方も独学で十分習得できるでしょう。

JavaScriptは後で!

大雑把に言って、PHPは動的な大枠を担当し、JavaScriptはその枠組みの中で動的なコンテンツを与えるための言語だと言えるでしょう。したがって、JavaScriptだけでは単独で動きませんので、プログラマーとしてはPHPやRubyの次にマスターする言語だと捉えて下さい。 初心者がPHPを習得してから次の言語として独学可能だと思います。

第2回 PHP,MySQLとは?

PHPがお勧め

PHPは、データベースと連携しての動作がメインですので、ブログ作成で世界中で使われているWordPressなどに組み込まれています。Yahoo!や楽天、などのシステムにも利用されています。 初心者にとって習得しやすく、手軽にWebアプリケーションを学べる言語だと思います。独学でも楽しみながらWebアプリケーションのノウハウを学ぶことができるでしょう。WEBプログラマーを目指す方へお勧めのプログラミング言語の一つです。

WordPressの紹介

WordPressというソフトがあります。これは、もともとブログを作成するためのシステムとして公開されました。その後どんどん進化し、個人ブログ、企業サイト、公共機関のサイトなど、様々なウェブサイトでCMS(コンテンツ管理システム)として利用されています。

WordPressから入る道もある

したがって、WEBプログラマーの+1のスキルとして求められ重宝がられています。 WordPressそのものは、いたって簡単でその中でPHPの記述もあります。初心者の方が独学でWordPressから入りPHPへいたる方法もあります。

WEBプログラマーへの近道 〜WordPressとの複合的な独学の勧め〜

WordPressは「PHP」で構築されており、コンテンツの管理にはMySQLというデータベースを利用して、CMSとしての機能を実現しています。データベースなどと聞くと、初心者であれば独学は無理かなという感じもするでしょうが、その存在すら感じさせない操作性を持っています。 ここで、注意点はWordPressが「PHP」で構築されているということです。プログラミングの学習を前に進めるエネルギーは、いまのこのプログラムで何ができるかが大きな要因になります。WordPressでブログを構築していくと自然「PHP」の学習もできるというメリットが生まれます。つまり、複合学習がプログラム学習の可能性を増大させて行くと考えてよいでしょう。 さらに、「PHP+WordPress」のスキルがあれば、プログラマーとしての貴方の需要は一層高まっていくでしょう。

お薦めの本

上2つは、初心者用、最下段は慣れた人の独学用 *PHPの絵本、著者(株)アンク、出版社翔泳社 *よくわかるPHPの教科書 【PHP5.5対応版】、著者たにぐち まこと、出版社SB  クリエティブ *逆引きWordPress、 著者 岡田庄司、出版社秀和システム

Ⅴ プログラマーになろうと思うとき

これまで多岐に渡って記述してきました。最後となりますが、自分がITの世界で感じていることに触れたいと思います。それがまた、プログラマーを目指し、独学を続けていこうとする初心者の皆さんへのエールだと思っていただければ幸いです。

プログラミング学習のベースなるもの

プログラミングの学習には継続が必要です。継続する力が必要だと言われても、何をすれば独学が継続に繋がるのかが大切です。そのためには、参考文献の例の類似問題を自分なりに考えて、間違いを嫌がらず徹底してやることです。そうすれば、独学であればこそ、だんだん言語自体が身体に馴染んできて正確なコードを書けるようになっていきます。「問題のレベル」はそれこそ「問題」ではないのです。試行錯誤と自己思考を繰り返す中でしか言語は獲得できません。それが、プログラマーを目指して、独学を続けることができる初心者の心得だと思って下さい。

STEMの時代

STEMが大切ということを耳にするようになりました。ITの発展が国の命運を決めていくような時代に入ったのでしょう。それこそが、第4産業革命と言われる所以なのかもしれません。 STEMは、「Science(科学)、Technology(技術)、Engineering(工学)、Mathematics(数学)」の頭文字をとった造語です。さらに、最近ではさらに、「Art」の「A」を入れて「STEAM」とも言われるようになってきております。

STEAMに求められるもの

基礎的な素養として理数系の知識であり、さらに統合的な知識として「Art」の部分の素養が必要とされているのが上から分ります。プログラマーとしてのスキルは当然として周辺知識の獲得も不断に行わなければならないのでしょう。この意味で、誰もが初心者であり独学を必要としているのです。

Python PHPの習得が意味するもの

10年ほど前のことだと思いますが、クラウド、ビッグデーターという言葉がまず登場しました。そして、数年前からAI(人工知能)、IOTという言葉を見聞きするようになりました。こんご、IT分野の成長は益々加速されていくでしょう。老若男女を問わず、そんな世界を我々は生きていかなければなりません。「STEM」という言葉から全ての人が理数系の素養を今以上に求められる時代に入ってきたのだと言えます。

プログラマーは初心者でも挑戦できる

この記事を読んでいる皆さんには一つの希望があります。それは、「アプリケーションを利用するだけ」から「作ってみよう」という意識の変化にあります。「Python」はAIをリードするプログラム言語であり、「PHP」は文系分野の素養を要する言語えます。「Python」、「PHP」の選択は単にプログラムの世界を超えて、変わりゆく世界をどう生きるかにも繋がる重要な選択なのだと思います。 どちらも、初心者の方が独学で乗り越えれば、プログラマーとして十分すぎるほどの言語になるはずです。

関連タグ

アクセスランキング