YouTubeチャンネルはこちら!

【プログラミング言語の種類を徹底比較!】実際に使用されているWEBサービスを例に解説します!

この記事は約17分で読めます。

プログラミングって種類が結構あるのね。

初心者はどのプログラミングから勉強すればいいのかな?

プログラミング言語によってできることとできないことはあるのかな?

こんな疑問についてこの記事では解説をしていきます。

プログラミングは今エンジニアでなくても身につけておいた方がいいスキルと言われています。あのホリエモンも

稼ぎたければプログラミングをやれ!

って言っていますよね。

このブログを書いております私は、未経験からエンジニアに転職をした経歴を持っておりまして。このmoriblogではその経験を元に、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とCSSJavaScriptMYSQLサーバーがあればできてしまうでしょう。

このような構成をLAMP構造といいます。

LAMP
  • L → Linux(サーバー)
  • A → Apache(サーバーのアプリ)
  • M → MySQL(データベース)
  • P → PHP(perl, pythonでも可)




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

ブログから大規模サイトまで作れる CMS - WordPress.org 日本語
簡単に美しいサイト、ブログ、アプリを作成するのに使えるオープンソースソフトウェア。

ココナラ

株式会社ココナラ — coconala Inc.
株式会社ココナラは[一人ひとりが「自分のストーリー」を生きていく世の中をつくる]をビジョンに掲げ、スキルマーケット「ココナラ」や「ココナラ法律相談」、「ココナラミーツ」などのシェアリングエコノミー・サービスを提供しています。

FaceBook

ブラウザーをアップデートしてください | Facebook

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

第1章 ゼロからデプロイまで - Railsチュートリアル
SNS 開発を題材にした大型チュートリアル。プロダクト開発の 0→1 を創りながら学びます。電子書籍や解説動画、質問対応、法人向けサービスも提供しています。

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

progate

Progate(プロゲート) | Learn to code, learn to be creative.
Progateはオンラインでプログラミングを学べるサービスです。プログラミングを学んでWEBアプリケーションを作ろう。

プロゲートは基本無料でプログラミングを勉強できますので、初心者エンジニアの強い味方になってくれます。ただし無料枠では機能が制限されてますので、途中までしかコースを進めることができません。

Ruby以外にも様々なプログラミング言語がありますので、興味があるようでしたらトライしてみるのもオススメです。

月額で980円で各上級コースが解放されますのでまずは無料枠で勉強してみて、もっとやってみたいと思えるようでしたら課金して開放するといいでしょう。

RubyはWEB系のエンジニアを育てるカリキュラムのプログラミングスクールでは学習が可能です。ある程度他のプログラムについて経験のある方であれば独学でも良いかもしれませんが、プログラミング初学者の方であればプログラミングスクールに通って現場で使えるプログラミングのスキルを習得したほうが良いです。

理由については以下の記事を確認してください。

Rubyで作られたシステム

クックパッド

レシピ検索No.1/料理レシピ載せるなら クックパッド
日本最大の料理レシピサービス。338万品を超えるレシピ、作り方を検索できる。家庭の主婦の作った簡単実用レシピが多い。利用者は5400万人。自分のレシピを公開できる。

Gunosy

あなたの情報収集をもっと快適に。|株式会社Gunosy(グノシー)
Gunosyは情報が増えつづける社会において、適切な人に適切な情報を届けることを目指しています。情報を適切に届けることで、ストレスなく自分の欲しい情報、コンテンツを楽しむことができる社会を実現します。

食べログ

グルメ・レストランガイド
全国にあるレストラン805,668件を一般ユーザーの口コミをもとに集計した様々なグルメランキングから探すことができます。美味しいレストランや、人気のレストランが簡単に見つかります!

価格.com

価格.com
「買ってよかった!」と思えるお買い物は価格.comから! パソコンや家電から、ファッション、食品に至るまで、あらゆる製品・サービスを、販売価格やクチコミ情報、ランキングなどの視点から比較・検討できる、お買い物支援サイトです。

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

Javaとは

Javaサーバーサイド言語になります。その為Java単独ではクライアントサイドのブラウザ画面に文字を出したりということができません。しかしJavaでもWEBサイトを作ることは可能で、その場合にはフレームワークを使うことになります。フレームワークを使うことで、javaのプログラムhtmlとやり取りすることが可能になります。

WEBアプリケーションや、api、業務システム、組み込みのプログラムなど様々な分野で活躍するJavaのプログラムですが、androidのアプリケーションの開発にもJavaは使われていますのでandroidアプリの開発者はjavaを理解する必要があります。

JavaJavaScriptなどの言語とは書き方が違いますので、慣れないと混乱してしまうかもしれません。また、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で作られたシステム

Twitter

https://twitter.com/

楽天

https://www.rakuten.co.jp/

スマートフォンアプリ(Android)

みずほ銀行

インターネットバンキング(みずほダイレクト) | みずほ銀行
みずほ銀行のインターネットバンキング(みずほダイレクト)のご案内です。みずほダイレクトの新規申込、変更手続きや、はじめての方へのスタートガイドやご利用ガイド、セキュリティ対策・ツールもご案内しています。

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

Pythonとは

Pythonは、わかりやすい文法で初心者にも人気のプログラミング言語になります。

Pythonにもフレームワークもありますので、作りたいシステムに合わせてフレームワークを変えて柔軟に対応することができます。

PythonはWEBアプリから組み込みアプリケーションなど様々な用途で使われます。

最近では人工知能(AI)にもPythonが使われることで人気が高いです。これからの時代はAIと共存していくことにシフトしていくと考えられますので、今からプログラミングを学習する方はPythonの学習をお勧めします。

環境に関してはLinuxのサーバーは標準で Python の環境が構築されていますので、サーバー上で使うのであれば環境構築を行う必要がありません。自分の開発用のPCなどローカル環境であれば構築する必要があります。

Pythonのフレームワークに関してはいくつかありますので、用途に合わせて選択する必要があり、環境構築も別途必要になります。

Pythonで作られたシステム

Youtube

YouTube Japan 公式チャンネル
YouTube Japan 公式チャンネルでは、国内外で話題になっている様々なカテゴリの動画の再生リストをご紹介中です。YouTube が独自に実施するプログラムやイベントの動画もご紹介します。ぜひ、チャンネル登録して国内外で話題の最新動画をチェックしてください。

Evernote

最高のメモアプリ - Evernote で大切なノートを整理
Evernote ではアイデア、プロジェクト、ToDo などを記録したり、忘れないように優先順位を付けたりすることが可能です。無料トライアルを是非お試しください!

Instagram

Instagram
Instagramアカウントを作成、またはアカウントにログイン ― クリエイティブな写真や動画を簡単に撮影・編集して、友達や家族とシェアしよう。

LINE bot

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

この記事のまとめ

この記事ではプログラミング言語の種類と、実際のサービスではどのようなプログラミング言語が使われているのかを見てきました。

プログラム言語によって使う用途や性質が違うということが少しはお判りいただけましたでしょうか?

普段見慣れているあのアプリが、実際にどのようなプログラミング言語で動いているのかを知ることでプログラミングの可能性を感じますよね?

ちなみにTwitter はもともとはRubyの開発でしたが、アクセスが膨大になり処理がしきれなくなったため、コンパイル型言語で処理の早いJavaに変えたようです。

おそらく大改修だったのではないかと思いますが、システムの状況によってはプログラミング言語も変える必要があるということを知っておくべきです。

プログラミングは暗記よりも理解です。理解が非常に大切です。

便利なフレームワークやツールが世の中には存在していますが、どうしてこうなってるのだろうということを考えていくのが大切で、想定外の事が起きた際には、これがわかっているのと分かっていないのとでは、対処能力が大きく変わります。

プログラミングの学習については、自分の力で解決できないときは初学者では必ず起こりますが、その際には有識者にアドバイスをいただくと理解が深まります。

初学者の方はプログラミングのスクールでサポートを受けながら学習すれば、挫折するリスクを減らすことができ、転職時に未経験のエンジニアに比べて有利な条件で入社することができるでしょう。

プログラミングスクールについては以下の記事にてまとめておりますので確認していただけたら幸いです。

エンジニアに興味がある方は以下の記事にてエンジニアになるための方法をまとめていますので参考にしてください。

コメント

プロフィール

シュン@pgfrat

高校卒業後に製菓学校に進学し製菓関連の国家資格を取得する。
専門学校卒業後に個人の洋菓子店やレストランなどで洋菓子や料理に携わるが、ブラックな勤務体制により絶望と脱獄、転職を繰り返してニートやフリーターを数年経験。

サラリーマンとして再起を図るものの、リーマンショックにより正社員にも関わらずリストラされてまたもやニート生活に堕ちる。
その後は奇跡的に大手家電量販店に転職し、接客販売業に従事。
数年間満足した生活を送ったが、夢を見たくて再度ホテルとレストランで修行を開始。

数年で身体を壊して為飲食業自体をリタイアしまたもやニートになりながらも何かしらの正社員にならないとマズイなと思う。
その後転職活動を営業、事務、などのデスクワーク中心の業種に絞り転職活動を行う。

今から営業は無理だと思いIT業界を目指して勉強を開始し転職を成功させて現在に至る。

現在はエンジニアとしてシステムエンジニアとして上流工程から下流工程まで浅く広く。

趣味は料理、it関連、音楽、映画、ゲーム、レジャー、ガジェット、ダーツなど

定期的にmoriblogを更新しておりますので読んでいただけたら幸いです。

シュン@pgfratをフォローする

カテゴリー

タイトルとURLをコピーしました