

こんな疑問についてこの記事では解説をしていきます。
プログラミングは今エンジニアでなくても身につけておいた方がいいスキルと言われています。あのホリエモンも
稼ぎたければプログラミングをやれ!
って言っていますよね。
このブログを書いております私は、未経験からエンジニアに転職をした経歴を持っておりまして。このmoriblogではその経験を元に、IT業界について情報を発信しております。
さて、プログラミングを学んだほうがいいとされる理由としては将来の為です。
プログラミングができれば、個人でアプリやサービスを作ることができます。ただしプログラミングだけできても、プログラムを動かす土台や、どんなサービスを作るのかというアイデアがなければアプリやサービスは作ることはできません。
土台やアイデアは自分で用意するか、外注するか選択肢はありますが、企業に属さなくても個人でプログラムを組むことができれば、アプリやサービスを作って販売して稼ぐことも可能になります。
企業に属した場合はプログラマーとして就職することができますし、フリーランスという働き方も可能です、個人でつくる場合は副業もしくは起業ということになるでしょう。
この記事では将来役に立つと言われているプログラミングの種類と使われているサービスについてご紹介いたします。
プログラミング言語の基本知識に関しては以下の記事を参考にしてください。
※IT業界の情報について知りたい方は以下も合わせて読んでみてください。
プログラミング言語の種類

プログラミング言語の種類は非常に多くあります。プログラミング言語の種類によって得意不得意がありますので、どの部分で使われるのか変わりますし、同じ処理をコンピュータに命令する場合にプログラミング言語によって、
などが変わります。
IT業界は技術の進化が早いので、古い技術だと使われなくなる事もあります。
これはプログラミング言語も同様で現在は様々なプログラミング言語が生まれておりますので、古いプログラミング言語が使われなくなる事もあります。
もちろん様々なところで使われていて随時アップデートしているような古くてもなくならないプログラミング言語もあります。
なくならないプログラミング言語の特徴としては
ということが挙げられるでしょう。
今後も新しいプログラミング言語が出てくるとは思いますが、あまり流行らなかったりする可能性もありますので、プログラミングを学習する方は業界の動向をしっかり見ておくべきでしょう。
人気のプログラミング言語
人気のプログラミング言語は業界内で需要がありますので習得してしまえばお仕事の獲得が容易になります。
ここからは人気の高いプログラミング言語を解説していきます。
JavaScriptとは

JavaScriptは初心者にもおすすめのプログラミング言語になります。web業界のエンジニアになる方でしたら学習は必須になります。
様々なライブラリやフレームワークと呼ばれる拡張機能がリリースされており、フロントからサーバーまで幅広くプログラムを実行することができます。
JavaScriptは通常はユーザー画面(クライアントサイド)で動くプログラミング言語になりますが、サーバーサイドJavaScriptのフレームワークであるNode.jsを使える環境を用意することで、JavaScriptでサーバーの処理も書けます。
jQueryと呼ばれるライブラリを使うことで、機能が拡張されてより便利にJavaScriptのプログラミングを行うこともできます。
JavaScriptをマスターしておけば、WEB業界の仕事に困ることは無いです。
などプログラミングの基礎も学べますので
WEBエンジニア志望の方でしたら学んで損はないでしょう。
独学での勉強の仕方としては、まずは好きなエディターで JavaScript をプログラミングをしてみるのがいいでしょう。
エディターについては以下の記事を確認してください。
JavaScriptはクライアント側で動く言語になりますので、インターネットのブラウザーがあれば動作します。自分でプログラムを動かしながらプログラムの動きを学べますのでいい経験になるはずです。
HTML,CSSとは

HTMLとCSSはプログラミング初心者の方であれば、勉強しておくべきプログラミング言語の一つになります。正確にはHTMLとCSSはプログラミング言語ではないといわれておりますが、コンピューターに指示をする言語になります。HTMLとCSSは画面の表示に使われるので上で紹介している JavaScript と共に勉強することでWEBのエンジニアとしてのスキルが身に付きます。
HTMLとCSSは環境構築いらずで、パソコンの標準アプリであるメモ帳で書いて動かすことができます。
HTMLとCSSだけですと、動きが出ないのですが、JavaScriptを使うことで
など高度なデザインを実現することができます。
プログラミング言語にはフレームワークがよく使われています。フレームワークとは枠組みということで、フレームワークを使うことでプログラムの雛形が提供されている為構築のスピードアップやバグの低下、セキュリティの向上などが見込まれます。
フレームワークはHTMLにレンダリングと呼ばれる処理を行うものもありますので、プログラマーの方であってもHTMLは使う機会はあります。
SQLとは

サーバーサイドのエンジニアを目指す方は、データベースを使う機会があります。フロントエンドエンジニアであっても関わりはあります。
SQLはRDBと呼ばれるデータベースを操作する言語になります。
プログラミング言語とは言われませんが、クエリと呼ばれるSQLの言語は比較的優しいので初心者の方でもすぐに理解ができます。
実際のシステムはプログラムにSQLを使ってデータベースを操作する命令をさせることになりますのでバックエンドのデータベースに関わるエンジニアはSQLを使える必要があります。
プログラミングを作った後は単体テストが行われますが、作ったプログラムがデータベースと連動している場合には
ということを必ず確認する必要があります。
なのでプログラマーを目指されている方はSQLについて学習しておくといいです。
私もIT業界に入ってから初めて覚えたのがこのSQLでした。
比較的簡単だとは言われていますが、複雑なシステムですと混乱することもありますし、データは重要な資産になりますので、誤ってデータを消してしまったら大変なことになります。
重大なバグの調査のためにデータベースの中のデータを調査して原因を突き止めることもありますので、データの取り扱いに関してや、必要なデータをすぐに探せられるレベルのSQLのスキルは身に着けておいた方が良いです。
SQLはRDBデータベースを構築する必要があります。データベースを構築後にデータベースのサーバーにログインして使うことができます。
ツールを使えば設定をしておくだけで、サーバーと接続してSQLを書いて、データベースを操作することができますので、データベース構築と一緒にツールの設定について学習することもお勧めします。
PHPとは

PHPはHTMLと親和性の高いプログラム言語になります。環境構築は必要になります。WEBのフロントからサーバーサイドまで操作することができます。
HTMLと親和性が高いので簡単なWEBサイトであれば、HTMLとCSSと JavaScript とMYSQLとサーバーがあればできてしまうでしょう。
このような構成をLAMP構造といいます。
LAMPはWEBのシステムを作る際の最小構成と言われています。
CMSで有名なWordPress(ワードプレス)もLAMPの構成でできています。
phpを使うのであれば、レンタルサーバーやAWSでサーバーを立てるか、インターネット上に公開しないのであれば自分のPC(ローカル環境)でphpの環境を構築するか、PC上に仮想環境を作って Linux サーバーを立てて使うことはできるでしょう。
ローカルで構築する分は無料で LAMP構造 を構築できますので、試験的に利用したり、学習したい方にはお勧めです。
ワードプレスはサーバー言語でphpを使いhtmlにレンダリングを行うことでWEBページを表示しブログやサイトを作ることができます。
他の言語でワードプレスと同じように実装するのであれば、
複数のプログラミング言語を使うか各プログラミング言語のWEBアプリ構築用に最適化されたフレームワークを使い構築する必要があります。
その場合はプログラミングの知識以外にも、フレームワーク使い方や環境設定方法の知識も、必要になりますので学習コストは高くなります。
PHPであれば言語の構文と使い方を覚えてしまえば、WEBサイトの構築がしやすいので、WEBサイトを構築したい方は、学習する価値が高い言語になります。
PHPもlarabelというフレームワークがあり、現在人気のフレームワークとなっておりますので、phpを学習する方はlarabelも学習することで、仕事の幅が広がります。
PHPを学習することで、WEB系のフロントエンドエンジニアを目指すことができます。
phpはサーバー以外にもデータベースと連携しますのでデータベースの連携の知識も必須になります。データベース言語のSQLも併せて勉強しておくといいです。
PHPで作られたシステム
PHPで構築されている世の中で使われているWEBアプリケーションの紹介をいたします。
WordPress

ココナラ

Rubyとは
Rubyは日本人の まつもとゆきひろさんが開発した人気のWEBプログラミング言語になります。日本人が作られたプログラミング言語ということもあり、公式のドキュメントも見やすく、人気の言語なので困ったときの対応策がネット上で検索すると出てきやすいです。
Rubyはオブジェクト指向のプログラミング言語す。
オブジェクト指向というのは、プログラムの世界を現実世界に見立てて、物(プログラム)を動かしてプログラムの世界を作っていく考えになります。
Rubyにはフレームワークがあります。フレームワークというのは、既にプログラムの雛形になりまして、RubyのフレームワークはWEBアプリケーションを作ることができる雛形が用意されております。
RubyのフレームワークはRuby on Railsと言います。Ruby on Railsを使うには、別途環境設定が必要にはなりますが、Ruby on Railsを使うとWEBアプリケーションを作るのに必要な設定がコマンド一つで一瞬でできてしまい、すぐにアプリケーションを作っていくことが可能です。
フレームワークにはプログラミングとは別に使い方について学習する必要がありますが、使い方さえわかってしまえば、すぐにプログラミングをして構築することができる出でしょう。
ただRaisの環境構築は初心者ですと、ハマってしまうことも多々ありますので、独学よりはITスクールや経験者に教えてもらったほうが挫折せず勉強することができます。
簡単にWEBアプリケーションを作ることができると言われている、Ruby on Railsですが、インターネットやネットワーク、データベース、サーバーなどの知識がわかっている前提の話になります。
コマンド一つで魔法のように色々できてしまうRuby on Railsですが、

今のコマンド何のために打ったのかな?
のようにしっかり何が行われているか理解できないと、他のプログラミング言語を使う際に苦しくなります。
RubyとRuby on Railsを学びたいのでしたらrailsチュートリアルが有名です。
railsチュートリアルから初めて、更に学習を進めることで、Rubyエンジニアとして成長することができるでしょう。
railstutorial

初心者の方がいきなりこれをやるのは過酷ですので、まずはプロゲートで基本を勉強しておくといいでしょう。
progate

プロゲートは基本無料でプログラミングを勉強できますので、初心者エンジニアの強い味方になってくれます。ただし無料枠では機能が制限されてますので、途中までしかコースを進めることができません。
Ruby以外にも様々なプログラミング言語がありますので、興味があるようでしたらトライしてみるのもオススメです。
月額で980円で各上級コースが解放されますのでまずは無料枠で勉強してみて、もっとやってみたいと思えるようでしたら課金して開放するといいでしょう。
RubyはWEB系のエンジニアを育てるカリキュラムのプログラミングスクールでは学習が可能です。ある程度他のプログラムについて経験のある方であれば独学でも良いかもしれませんが、プログラミング初学者の方であればプログラミングスクールに通って現場で使えるプログラミングのスキルを習得したほうが良いです。
理由については以下の記事を確認してください。
Rubyで作られたシステム
クックパッド

Gunosy

食べログ

価格.com

WEBに特化した言語になりますので使い勝手のいいWEBサービスに使われています。
Javaとは

Javaはサーバーサイド言語になります。その為Java単独ではクライアントサイドのブラウザ画面に文字を出したりということができません。しかしJavaでもWEBサイトを作ることは可能で、その場合にはフレームワークを使うことになります。フレームワークを使うことで、javaのプログラムでhtmlとやり取りすることが可能になります。
WEBアプリケーションや、api、業務システム、組み込みのプログラムなど様々な分野で活躍するJavaのプログラムですが、androidのアプリケーションの開発にもJavaは使われていますのでandroidアプリの開発者はjavaを理解する必要があります。
JavaはJavaScriptなどの言語とは書き方が違いますので、慣れないと混乱してしまうかもしれません。また、Javaを使うには環境構築も必要です。
JavaはRuby同様に初心者がオブジェクト指向プログラミングを学ぶには最適な言語になります。
堅牢なシステム構築が行えますので、セキュリティをしっかり考えたシステムを作るのにJavaは適しています。
Javaの環境構築はRuby同様初心者の方ですと失敗してハマる可能性はあります。
そしてRuby同様にフレームワークを使うとさらに難易度が上がります。Javaのエラーについては、初心者では難解ですので、知識がない状態で独学でJavaを学習しようとすると挫折する可能性があります。
Rubyで紹介させていただいた「プロゲート」でもJavaは学ぶことはできますが、課金をして上級クラスを学習しても、オブジェクト指向の考え方がわかるくらいでJavaプログラマーとして実践で使えるレベルにはなりません。(DBなどのミドルウェアの連携などに言及されていない為javaでアプリケーションを作れるレベルにはならない)
もしプログラミング初心者の方がJavaを学ぶのであればしっかりとした知識のある方に教えてもらうことが望ましいでしょう。
Javaの習得はプログラミングの知識がある方なら独学でも可能ですが、他の言語に比べて習得に時間はかかります。習得の速さを求めるのであれば
上記を検討する必要があると思います。
Javaが使えれば・・・
Javaが使えれば就職先に困ることはないです。WEBや組み込みアプリケーションやandroidなど様々な分野で使用されているので、仕事がなくなることはありません。
Java エンジニアの30代年収は、概ね 500〜700万円 というデータがありますので、IT業界の中でも比較的収入が高いです。プログラマーとしてキャリアを兼用している方はJavaをしっかり勉強されて、Javaエンジニアを目指すのもいいかもしれません。
Javaで作られたシステム
楽天
スマートフォンアプリ(Android)

みずほ銀行
堅牢なシステムだからこそ銀行のプログラムにも採用されているケースもあるようです。皆さんが使われているAndroidプリケーションにもJavaは使われています。
Pythonとは

Pythonは、わかりやすい文法で初心者にも人気のプログラミング言語になります。
Pythonにもフレームワークもありますので、作りたいシステムに合わせてフレームワークを変えて柔軟に対応することができます。
PythonはWEBアプリから組み込みアプリケーションなど様々な用途で使われます。
最近では人工知能(AI)にもPythonが使われることで人気が高いです。これからの時代はAIと共存していくことにシフトしていくと考えられますので、今からプログラミングを学習する方はPythonの学習をお勧めします。
環境に関してはLinuxのサーバーは標準で Python の環境が構築されていますので、サーバー上で使うのであれば環境構築を行う必要がありません。自分の開発用のPCなどローカル環境であれば構築する必要があります。
Pythonのフレームワークに関してはいくつかありますので、用途に合わせて選択する必要があり、環境構築も別途必要になります。
Pythonで作られたシステム
Youtube
Evernote


LINE bot

これから人工知能の開発が進みPythonエンジニアは需要が高まりますのでPythonは、これから更に人気のプログラミング言語になるでしょう。
この記事のまとめ

この記事ではプログラミング言語の種類と、実際のサービスではどのようなプログラミング言語が使われているのかを見てきました。
プログラム言語によって使う用途や性質が違うということが少しはお判りいただけましたでしょうか?
普段見慣れているあのアプリが、実際にどのようなプログラミング言語で動いているのかを知ることでプログラミングの可能性を感じますよね?
ちなみにTwitter はもともとはRubyの開発でしたが、アクセスが膨大になり処理がしきれなくなったため、コンパイル型言語で処理の早いJavaに変えたようです。
おそらく大改修だったのではないかと思いますが、システムの状況によってはプログラミング言語も変える必要があるということを知っておくべきです。
プログラミングは暗記よりも理解です。理解が非常に大切です。
便利なフレームワークやツールが世の中には存在していますが、どうしてこうなってるのだろうということを考えていくのが大切で、想定外の事が起きた際には、これがわかっているのと分かっていないのとでは、対処能力が大きく変わります。
プログラミングの学習については、自分の力で解決できないときは初学者では必ず起こりますが、その際には有識者にアドバイスをいただくと理解が深まります。
初学者の方はプログラミングのスクールでサポートを受けながら学習すれば、挫折するリスクを減らすことができ、転職時に未経験のエンジニアに比べて有利な条件で入社することができるでしょう。
プログラミングやIT知識に関する学習は時間がかかります。
プログラミングスキル・IT知識を最短で学習しプログラマーやエンジニアとして働きたいという方はエンジニアスクールやプログラミングスクールを使うことが現在では当たり前となっています。
以下のリンクにて無料から有料の「プログラミングスクール」「エンジニアスクール」についての情報をまとめて共有していますので是非参考にしてください。
未経験からエンジニアを目指す場合には業界情報や職種に関する情報、IT技術や用語など知るべきことが多くあります。以下の記事にて業界未経験のエンジニア職希望者が知るべき情報をまとめていますので是非見てみてください。
この記事が役に立った、気に入ったと感じていただけた方はフォローとシェアをお願いいたします。
No tags for this post.
コメント 記事に関するご意見・ご感想・ご質問などお気軽にどうぞ!※メールアドレスは非公開です