【最新版】システム開発の主要言語17選!選び方や利用シーンも解説!
「システム開発ではどのような言語が使われる?」
「言語の選び方を知りたい」
「システム開発の種類と言語の関係はある?」
昨今のシステム開発では、様々なプログラミング言語が使用されています。
今後システム開発を行っていくうえでも、どのような言語があるのかを知っておくことは、言語選びの観点からも重要です。
そこで本記事では、システム開発における主要言語17選と、言語の選び方、言語別の利用シーンを解説します。
将来システム開発の仕事を志望する方や、言語選びで迷っている方は、ぜひ参考にしてください。
また、本記事を執筆する「Swooo」では、ノーコードを活用したシステム開発を手掛けています。
ノーコード開発を行うことにより、プログラミング開発に比べて下記のメリットがございます。
- 開発工数を1/3程度に抑えられる
- 開発費用を1/3程度に抑えられる
- 開発後の改修も素早く行える
システム開発を検討しているけれど、自社にエンジニアが不在で、コストや開発期間をなるべく抑えたいという方は、ぜひSwoooへご相談ください。
開発方法 | ノーコード | フルスクラッチ |
---|---|---|
開発費用 | 250万円〜800万円 | 500万円〜3,000万円 |
開発期間 | 2週間〜3ヶ月 | 半年〜1年 |
改修スピード | ◎ | △ |
カスタマイズ性 | ◯ | ◎ |
▼『システム開発』の詳細についてより詳しく知りたい方は、こちらの記事が参考になります。
①【初心者必読】システム開発系の会社の種類とそのメリット・デメリットについて解説!
②Webアプリとは? 仕組みと作り方を解説!
システム開発に使用される主要言語17選
早速、近年のシステム開発でよく使用される16の言語を紹介して、各言語の
- 特徴
- 初心者へのおすすめ度
- 作れるもの
- 有名なプロダクト
を解説します。
以下は、各プログラミング言語の比較表なので、お忙しい方はこちらを参照してください。
言語 | 作れるもの | 有名なプロダクト |
Python | Web、スマホアプリのバックエンド、AI、ビッグデータ、ブロックチェーン | ペッパーくん、Instagram、Dropbox |
Ruby | Web、スマホアプリのバックエンド、開発環境 | Github、クックパッド |
PHP | Web、スマホアプリのバックエンド | Facebook、メルカリ |
Golang | Web、スマホアプリのバックエンド、大規模インフラ構築 | YouTube、メルカリ、Docker |
JavaScript | Webのフロントエンド、デスクトップアプリ、ゲーム、スマホアプリ | Webサイト全て、Webアプリ全て、Chatwork、Slack、VS Code |
Node.js | Webのバックエンド、リアルタイム通信、開発環境 | PayPal、Uber |
HTML/CSS | Webのフロントエンド | 特になし |
Swift | iOSのスマホアプリ、Mac OSのデスクトップアプリ | ほとんどのiOS/Mac OSのアプリ |
Kotlin | Androidのスマホアプリ | ヤフオク、NewsPicks |
Dart | iOS/Androidのスマホアプリ | 特になし |
Java | Webアプリケーション、スマホアプリのバックエンド、OS、サーバー、Androidアプリのフロントエンド、組み込みシステム | Twitter、LINE |
C言語 | OS、サーバー、高速処理が必要なパート、組み込みシステム | Mac OS、Unix、Windows |
C++ | OS、POSシステム、ゲーム | プレーステーション、Xbox、任天堂Switch、ソーシャルゲーム、Windows10の一部 |
C# | 基幹システム、POSシステム、デスクトップアプリ、Hololensのアプリ、ゲーム | Sansanの名刺管理アプリ、ポケモンGO |
Visual Basic | Windows系のアプリケーション、POSシステム | 特になし |
Shell Script | 特になし | 特になし |
bubble | Webアプリ | 特になし |
Python
Pythonは1990年代にできたプログラミング言語で、近年人気が上昇している言語です。
特徴は、先端技術に触れる機会が多く、ライブラリも豊富に存在すること。書き方としても癖がなく、比較的慣れやすいです。
ちなみに、Macでは標準装備なので、Macユーザーにとっては環境構築なども楽に始められます。
作れるものは
- Web
- スマホアプリのバックエンド
- AI
- ビッグデータ
- ブロックチェーン
などがあります。
特に、PythonはAIや機械学習などで大いに貢献している言語です。
有名なプロダクトとしては
- ペッパーくん
- Dropbox
があります。
Ruby
Rubyは、フレームワークである「Ruby on Rails」とセットで使うことが多く、非常に生産性が高いのが特徴的です。
このRuby on Railsの登場以来、Rubyは一躍有名になりました。
Rubyの場合、Ruby on Railsがとても優秀なので、これを利用するとプログラミング言語への理解がなくても、簡単なアプリ1つ作れてしまいます。
作れるものは
- Web
- スマホアプリのバックエンド
- 開発環境
などがあります。
有名なプロダクトは
- Github
- クックパッド
などがあります。
PHP
PHPはFacebookなどの、Web系の有名なプロダクトで使われている言語です。
また、ブログサイトやECサイトを簡単に作るCMSの「WordPress」や「EC-Cube」なども、PHPで書かれています。
さらに、PHPの使用人口が多いので、PHPに関する多くの情報リソースが存在します。
そのため、勉強するうえでは情報に事欠かないです。
ちなみに、LaravelというPHPのフレームワークが登場したことで、PHPの生産性が大幅に上がりました。
そのおかげで、近年ではPHPの人気が再浮上しています。
作れるものは
- Web
- スマホアプリのバックエンド
などがあります。
有名なプロダクトは
- メルカリ
などがあります。
Golang
Golangは、Googleが開発しているプログラミング言語で、並列処理やメモリの操作が得意な言語です。
小規模なアプリケーション開発というよりは、大規模・複雑でアクセスが集中するシステムの開発に、Golangがよく使われます。
また、Go言語は情報リソースが少ないため、プログラミング初心者向けの言語とは言い難いです。
作れるものは
- Web
- スマホアプリのバックエンド
- 大規模インフラ構築
などがあります。
有名なプロダクトは
- YouTube
- メルカリ
- Docker
などがあります。
JavaScript
JavaScriptは、Webのフロントエンドで動作する唯一のプログラミング言語です。
この世の中の全てのWebサイトやWebアプリケーションは、JavaScriptで書かれています。
つまり、Webのフロントエンドを作るためには、JavaScriptが必要なため、JavaScriptが書けたら仕事には困らないです。
ただ、JavaScriptの中ではライブラリやフレームワークなどの、新しい技術が生まれたり廃れたりしているので、JavaScript内においての流行が激しいです。
そのため、流行の波についていけずに、学習を断念してしまうケースもよくあります。
JavaScriptで作れるものとして、Webのフロントエンド以外に、デスクトップアプリなどがあります。
ゲームやスマホアプリもJavaScriptで作れるのですが、最近ではJavaScripはあまり用いられなくなってきました。
有名なプロダクトは
- Chatwork
- Slack
などのチャット系アプリや、「VS Code」などのエディターです。
Node.js
Node.jsは厳密に言うとプログラミング言語ではなく、JavaScriptをバックエンドでも動かせるようにするためのツールです。
書き方自体はJavaScriptと同じですが、やることがJavaScriptとは異なります。
ただ、Node.jsをやろうと思ったら、JavaScriptを覚えることは必須です。
そのため、JavaScriptに興味がある人にとって、その流れでNode.jsを勉強するのはおすすめです。
Node.jsは
- チャット
- チャットボット
のようなリアルタイム通信の処理が得意と言われています。
作れるものは
- Webのバックエンド
- リアルタイム通信
- 開発環境
などがあります。
有名なプロダクトは
- PayPal
- Uber
などがあります。
HTML/CSS
HTML/CSSは、正確に言うとプログラミング言語ではなく、HTMLは「マークアップ言語」、CSSは「スタイルシート」と言われています。
HTML/CSSは、プログラミング言語のように複雑な処理はできませんが、書いたものをそのまま表示させることはできます。
また、世の中のほとんどのWebのフロントエンドは、HTML/CSSで作られています。
そのため、他のプログラミング言語を勉強するうえでも、HTML/CSSの知識は必須ですが、そこまで勉強に時間を費やす必要もないです。
また、有名なプロダクトというのは特に存在しません。
Swift
Swiftは主にiOS用のアプリやMac OS用のデスクトップアプリの開発に使われる、静的型付けのコンパイル言語です。
以前だとiOSアプリやMac OSのアプリを作る場合に「Objective-C」という言語が使われていましたが、そのObjective-Cのできなかったことや仕様をSwiftで改良されて、現在ではSwift一択となっています。
Swiftは2014年にできた新しい言語ですが、情報のリソースは多いので、学習もしやすいです。
Kotlin
Kotlinは、静的型付けの汎用的なコンパイル言語で、Javaとよく似ていると言われています。
GoogleによってKotlinがAndroidの公式開発言語として採用されて以来、Android用アプリのほとんどはKotlinによって作られています。
ちなみにAndroid用アプリの製作は、以前はJavaを使っていました。
しかし最近だと、Kotlinの方が書きやすく優れているので、Kotlinを選ぶ開発会社が増えています。
そのため、Androidアプリを作りたい人は、Kotlinを学ぶのがおすすめです。
Dart
DartはiOSとAndroidのアプリを作ることのできる言語です。
Dartが登場したのは2011年なので、Dartという言語が新しすぎて、有名なプロダクトはほとんどありません。
登場した当初はあまり注目されませんでしたが、2017年に「Flutter」という「Dartを使ってモバイルアプリを作るための開発環境」の登場したことにより、Dartにスポットライトが当たるようになりました。
そのため、実績はあまりないので学習には困ることになりますが、これから伸びる言語なので、熟練者の方で興味がある方は始めてみてもいいかもしれないです。
ただし、情報リソースが少ないので、初心者には不向きになります。
Java
Javaは全てのOSで動かせる汎用プログラミング言語です。
Javaで作られている大規模なシステムは、世の中にたくさん存在しています。
また、業界を問わず様々な所で様々なものを作るために、Javaはかなり使用されていて、重要な言語と認識されています。
ただしJavaは有料化したため、Javaで開発したプロダクトを世に売り出す場合には、開発元のOracleへの手数料の支払いが必要です。
Javaは学習の難易度は高いですが、需要があるので、Javaが書ければ仕事も見つかりやすくなります。
C言語
C言語は汎用プログラミング言語で、「何でも作れる言語」「多くのプログラミング言語の祖」と言われています。
様々なプロダクトがC言語で作られており、様々な言語にも影響を与えています。
また、OSがC言語で書かれていることもあり、処理速度がかなり高速です。
有名なプロダクトは多く存在しますが、強いて例を挙げるなら
- Mac OS
- Unix
- Windows
などがあります。
C++
C++は汎用プログラミング言語の一つで、C言語に様々な改良を加えられた言語です。
C++は多種多様なシステムを作ることができます。
例えば、OSやPOSシステムなどのB to B向けのプロダクト開発から、コンシューマーゲームの開発まで、幅広く使われています。
家庭用のコンシューマーゲームや、リッチなソーシャルゲームを作りたい方などにおすすめです。
ただ、C言語が書ける人にとっては、C++は簡単ですが、基本的に難易度の高い言語なので、初心者にはおすすめできません。
C#
C#はMicrosoftが開発したプログラミング言語で、かなりの幅広いジャンルのシステムを作ることができる言語です。
C#は「C++とJavaの派生」と言われているので、それらの言語を書ける人であれば、C#もすんなりと習得することができます。
作れるものは
- 基幹システム
- POSシステム
などの企業向けサービスから、アプリやゲームなどのコンシュー向けのシステムがあります。
Visual Basic
Visual BasicとはMicrosoftによって開発されたオブジェクト指向プログラミング言語です。
Visual Basicは、業務系のシステムを作る際に用いられることがほとんどになります。
特徴としてはC#に似ていることと、開発環境Visual Studioで動くことが挙げられます。
Shell Script
Shell Scriptはコンピューター・OSに直接指示をするための言語です。
他の言語とは異なり、コンピューター・OSに命令するためのコマンドとして使われます。
そのため、作れるプロダクトというものはないです。
ちなみに、初心者の方にとっては、簡単な操作だけできれば事足ります。
bubble
bubbleはプログラミング言語ではなく、ノーコード開発ツールの1つです。ノーコード開発はソースコードを作成せずに、アプリやシステムを開発できる手法であり、通常の開発と比べて開発費や開発期間を大幅に削減できます。
bubbleはノーコード開発ツールのなかでも、カスタマイズ性に優れている点が特徴です。プログラミング言語の記載に対応しており、自由度の高い開発を実現できます。
また、Webアプリの開発に必要な機能やインターフェースが豊富に搭載されている点も魅力です。マッチングアプリやECアプリなど、大規模アプリの開発にも活用できます。ただし、操作画面やサポートが英語表記のため、一定の英語力が必要です。
bubbleについて、さらに詳しく知りたい方は、以下の記事も参考にしてください。
関連記事
ノーコードツールbubble(バブル)とは?日本初の公式認定資格を持つSwoooが徹底解説!
これから学習するシステム開発の言語の選び方
初心者の方がプログラミングを始める際に、「どのように選べばいいのか」といった疑問が出てくると思います。
そこで、これからプログラミングの勉強をする時の「言語選びの基準」を解説します。
実現したいこと・作りたいもので選ぶ
まずは自分が「何を実現したいのか・作りたいのか」を明確にすることが大切です。
「実現したいこと・作りたいもの」が決まれば、そこから逆算して考えることで、学ぶべき言語が見つかってきます。
例えば、「株価の変動を予測するAIを作って、Webサイトで予測結果を公開するWebサービスを作りたい」という目的があったとします。
この場合、「株価の変動を予測するAIを作るには、AIや機械学習に強いPythonの知識が必要だな」「Webサービス・Webサイトを作るには、RubyやJavaScriptなどが必要だな」といった道筋が立ち、必要なプログラミング言語が分かってきます。
そのため、まずは自分が何をしたいのかを決めて、そこから逆算して言語を決めるのが、言語習得への近道です。
案件の多さで選ぶ
特に作りたいものなどが無かったら、案件の多さや求人数で選ぶのも一つの手段です。
エンジニアやプログラマーへの就職・転職を考えている方にとっては、特に重視すべきポイントになります。
案件数の多い言語を挙げると、例えば「Java」「JavaScript」「PHP」「Python」「Ruby」などがあります。
これらの言語は、世の中のあらゆるシステム開発でよく使われているので、必然的に案件数も多くなるのです。
情報量の多さで選ぶ
情報量が多い言語は、初心者にとっても学習がしやすいです。
プログラミングの学習はGoogleで調べながら行うものなので、情報量の多さは必要不可欠になります。
「Java」や「Python」などといったメジャーな言語は、その言語に関する情報量が多い傾向にあります。
そのため、学習のしやすさを考慮して、情報量の多いプログラミング言語を選ぶようにしましょう。
システム開発の種類によって使用言語が変わる
システム開発の業務内容や業界によって、プログラミング言語は変わってきます。
そこで、どのようにプログラミング言語の選び方が変わってくるのか、システム開発の種類別に紹介します。
システム開発の種類と扱うプログラミング言語の関係は、下の表にまとめています。
種類 | 扱うプログラミング言語 |
オープン系システム開発(Web制作) | Java、PHP、Ruby、Python、JavaScript、HTML/CSS、bubbleなど |
スマホ向けアプリ制作 | Java、JavaScript、C#、Swift、Visual Basicなど |
ゲーム制作 | C++、C#、JavaScript、Swift、Rubyなど |
業務系システム開発 | Java、C#、JavaScriptなど |
組み込み系システム開発 | Java、C#、C++など |
汎用系システム開発 | C++、Javaなど |
オープン系システム開発(Web制作)で使用される言語
オープン系システム開発(Web製作)で必要になる言語は「Java」「PHP」「Ruby」「Python」「JavaScript」「HTML/CSS」「bubble」などです。
オープン系システム開発では、主にWebサイトやECサイトなどを開発します。
基本的にはWebサイトの制作になるので、フロントエンドを作る場合は、HTML/CSSの知識は必須です。
それに加えて必要になるのは、JavaScriptのような「動的サイトを作るプログラミング言語の知識」です。
世の中のサイトのほとんどが動的なので、JavaScriptも学習しておく必要があります。
また、バックエンドを作るためには、JavaやPHPといったサーバーサイドの言語も扱います。
スマホ向けアプリ制作で使用される言語
スマホ向けアプリ制作で必要になる言語は「Java」「JavaScript」「C#」「Swift」「Visual Basic」などです。
インターネットを使うデバイスの中心はPCではなく、今やスマートフォンになりました。
そのため、スマホ向けのアプリは現在も大きな需要があります。
ゲーム制作で使用される言語
ゲーム制作で必要になる言語は「C++」「C#」「JavaScript」「Swift」「Ruby」などです。
ゲーム制作で最も使用頻度が高い言語は「C#」になります。
ゲーム制作の開発環境である「Unity」と、C#を組み合わせて、コンシューマーゲームがよく作られるので、C#はほぼ必須の知識といえるでしょう。
業務系システム開発で使用される言語
業務系システム開発で必要になる言語は「Java」「C#」「JavaScript」などです。
業務系システム開発では、経理システムや基幹システムなどの構築を目指します。
そのため、JavaやC#などのバックエンド系のプログラミング言語がメインになるのです。
組み込み系システム開発で使用される言語
組み込み系システム開発で必要になる言語は「Java」「C#」「C++」などです。
組み込み系システムには、例えばエアコンや車などが挙げられます。
IoTが流行っている現代では、組み込み系システムの需要は高まる一方なので、上記のプログラミング言語を習得するのも、就職・転職の戦略としては良いです。
ただ、プログラミングの知識だけでなく、低レイヤーの知識も必要になるので、学習は難しくなります。
汎用系システム開発で使用される言語
汎用系システム開発で必要になる言語は「C++」「Java」などです。
汎用系システム開発では、国税庁のシステムや銀行システムなどの開発などの、大規模なシステムを構築します。
その際に必要になるのがC++やJavaといった汎用プログラミング言語です。
ちなみに汎用系とは、「汎用機」と呼ばれる大型のコンピューターで使用するシステムのことです。
システム開発の主要言語16選!選び方や利用シーンも解説! まとめ
今回は「システム開発でよく使用される主要言語16選」「これから学習するシステム開発の言語の選び方」「システム開発の種類と言語」について解説しました。
本記事で書いているプログラミング言語についての知識は、プログラミング言語選びにおいて重要です。
これからプログラミングを学習する方向けに解説したので、言語選びなどで困っている方は、ぜひ再読してみてください。
また、自社にエンジニアが不在の場合、ノーコード開発を選択するのも1つの方法です。ソースコードを作成しないため、プログラミングの知識は必要ありません。開発に必要な作業は、テンプレートの選択とパーツ配置だけです。
開発費と開発期間も削減できるため、ノーコード開発も検討してみましょう。