- プログラミング言語の種類が多すぎて選べない!
- 初心者が学びやすい言語は?
- フリーランスエンジニアが安定して稼げる言語は?
生涯フリーランスエンジニアを目指すあなたにとってプログラミング言語選びは重要。言語の流行り廃りのサイクルは早いため、選択を誤ってしまうと求人案件がなくなり稼げなくなる事態に陥ってしまいます。
私はエンジニア歴21年の中で、会社やプライベートでC/C++のようなレガシー言語からトレンド言語まで幅広い開発をしてきました。しかし、その時の状況に対して不向きな言語を選択してしまう失敗もたくさんしてきました。
この記事では、生涯フリーランスエンジニアを目指す初心者におすすめのプログラミング言語を紹介します。
この記事を読めば、初心者のあなたにとってベストなプログラミング言語選びができるようになります。
初心者におすすめプログラミング言語10選
本章ではプログラミング初心者がまず最初に学ぶべきプログラミング言語10選を紹介します。
目指すキャリアや習熟度によって選択する言語は変わってきますが、「プログラミングは初めて」「なりたい職種も決まっていない」という初心者を想定したランキングです。
初心者におすすめのプログラム言語ランキング
順位 | 言語 | 難易度 | 汎用性 | ニーズ | 将来性 |
1位 | Python | ||||
2位 | JavaScript | ||||
3位 | Java | ||||
4位 | PHP | ||||
5位 | C/C++ | ||||
6位 | Ruby | ||||
7位 | Kotlin | ||||
8位 | Swift | ||||
9位 | Go言語 | ||||
10位 | TypeScript | ||||
番外 | Perl |
※ 「難易度」は数値が低いほど初心者向き。
※ 「ニーズ」は現在の案件の求人数と単価の両方を考慮。
【1位】Python
順位 | 言語 | 難易度 | 汎用性 | ニーズ | 将来性 |
1位 | Python |
Python(パイソン)は、可読性を重視したオブジェクト指向の動的型付けインタープリタ型のプログラミング言語です。
習得の難易度も低く、需要(求人数や単価)も安定しており、かつ将来性も高いため学習効率が最も良いと言える言語。
PythonはAI・データサイエンスの業種でのデファクトスタンダートな言語として有名だが、その他の様々な業種でも汎用的に使われるため、習得しておくと何かと役に立つ言語です。
Pythonの特徴のまとめ
- コンパイル不要のスクリプト型言語(インタプリタ、動的型付け言語)
- オブジェクト指向言語
- AI・データサイエンスを中心に多くの分野で使える汎用的な言語
- 文法がシンプルで、コード記述量も少なくなる
- C言語との相性も良い
- 強力なライブラリ・フレームワークを備えている
フリーランスエンジニアはPythonで稼げるの? Pythonのフリーランス案件の単価は?求人数は? Pythonを使う仕事の種類ってどんなものがある? Python(パイソン)はAI分野を中心に人気が高く、初心者[…]
【2位】JavaScript
順位 | 言語 | 難易度 | 汎用性 | ニーズ | 将来性 |
2位 | JavaScript |
JavaScriptはWebサイトの表現に動きをつけられるスクリプト型言語(インタプリタ)です。たとえば、入力フォームを設置したり、ポップアップウィンドウを表示させたり、etc.ができます。
習得の難易度も低く、需要(求人数や単価)も安定しているため学習効率が非常に高い言語。HTML/CSSと組み合わせて楽しみながら習得するのに向いています。
JavaScriptはWeb業界のフロントエンド言語としてデファクトスタンダートな言語で、他に置き換わる言語がないので、Web業界に入るのであれば習得は必須です。
JavaScriptの特徴のまとめ
- コンパイル不要のスクリプト型言語(インタプリタ、動的型付け言語)
- プロトタイプベースのオブジェクト指向
- Webブラウザさえあれば実行できる
- Web業界のフロントエンド言語としてデファクトスタンダード
- 「Node.js」を使用すればバックエンドでも使えるが需要はそこまで高くない
- AltJSの静的型付け言語での開発が主流になりつつある
- 強力なライブラリ・フレームワークを備えている
JavaScriptをメイン言語としてフリーランスで稼げる? JavaScriptのフリーランス案件の単価は?求人数は? JavaScriptが活かせる仕事の種類ってどんなものがある? JavaScriptはWeb[…]
【3位】Java
順位 | 言語 | 難易度 | 汎用性 | ニーズ | 将来性 |
3位 | Java |
Javaはオブジェクト指向の静的型付けコンパイル型の言語です。Java仮想マシンの上で動く中間言語(バイトコード)をコンパイルで生成することで、OSに依存せず実行できる点が魅力です。
習得の難易度は高めですが、現時点での需要(求人数や単価)がトップクラスなため、学習効率は非常に高い。
ただし、エンジニア数が多く価格競争になりがちであったり、同じJVM系言語であるKotlinなどの競合言語がでてきたり、etc.の不安要素もある点には注意が必要。
Javaの特徴のまとめ
- JVM(Java Virtual Machine:Java仮想マシン)でプラットフォーム非依存
- オブジェクト指向の言語であり大規模開発に向いている
- コンパイル型の静的型付け言語である
- ガーベージコレクションでメモリ管理が容易
- マルチスレッドが可能
- 分散コンピューティングをサポート
- セキュリティ機能を備える
- ユーザーも多く、学習環境・ライブラリ・フレームワークが充実
- 実行速度・メモリ効率がそこそこ 良い
Javaをメイン言語としてフリーランスで稼げる? Javaのフリーランス案件の単価は?求人数は? Javaが活かせる仕事の種類ってどんなものがある? Javaの歴史は非常に古く、今でも人気があり学ぶ価値の高い現役の[…]
【4位】PHP
順位 | 言語 | 難易度 | 汎用性 | ニーズ | 将来性 |
4位 | PHP |
PHPは動的なWebページを作成できるスクリプト型言語(インタプリタ)です。PHPはHTMLに埋め込むことでサーバー上で動かすことができ、様々な機能を実現できます。
習得の難易度は低く、初心者がHTML/CSSと合わせて楽しみながら習得するのに向いています。また、多くのレンタルサーバーに初めからインストールされており、環境設定がカンタンなことも初心者向きと言えます。
PHPはWeb業界のバックエンド言語として、企業での採用率79%を占めるほど伝統的に使われている点と、WordPressで採用されている点で、案件が安定していることが強みです。ただし、Webバックエンド系の言語は多くの競合言語が出てきているため、習得後は早々に次の言語習得に広げていきましょう。
PHPの特徴のまとめ
- コンパイル不要のスクリプト型言語(インタプリタ、動的型付け言語)
- HTML言語に組み込むことでサーバー側で実行され、Webサイトに動きをつけられる
- サーバー側にあるMySQLなどのデータベースと連携できる
- WordPressを筆頭に世界のWebサイトの80%で使われている
- クラスオブジェクトベースのオブジェクト指向言語
- 文法がシンプルで初心者向き
- 案件数も多いがPHPエンジニアも多い
- 強力なフレームワークを備えている
PHPをメイン言語としてフリーランスで稼げる? PHPのフリーランス案件の単価は?求人数は? PHPが活かせる仕事の種類ってどんなものがある? PHPはWeb系を目指すフリーランスエンジニアであればHTML・CSS[…]
【5位】C/C++
順位 | 言語 | 難易度 | 汎用性 | ニーズ | 将来性 |
5位 | C/C++ |
C言語は汎用の静的型付けコンパイル型の言語です。ハードウェア制御の記述も可能な低水準言語(アセンブラなど)の特徴も併せ持ちます。
C言語を習得することで「プログラミングの基本から応用まで」に加え、「コンピュータサイエンスの本質」を抑えられることから、初心者が最初に学ぶ言語としておすすめできます。しかし、他の言語と比較すると習得の難易度が高い点は注意が必要です。
組み込み・制御系の案件がメインになりますが、現時点でフリーランス案件としては多くありません。しかもこの領域は、言語知識だけではなくハードウェアやシステムに関する知識も求められることから初心者には少々ハードル高めです。すぐに稼ぎたい人は避けたほうが良いかもしれません。
C言語の特徴のまとめ
- 汎用の静的型付けコンパイル型の言語
- 軽量で実行速度が早い
- ポインタ演算でメモリ管理ができる
- CPU特化の命令(アセンブラ)と相性が良い
- OS/デバイスドライバ開発〜アプリ開発まで汎用的に幅広く使われる
- 学習の難易度は高め
C言語やC++言語をメイン言語としてフリーランスで独立できる? 「C言語は難しい」と聞くけど、今から学ぶ価値ある? C言語エンジニアの将来性は? 「C言語は習得が難しいからやめとけ」の声を鵜呑みにし、難しいという理[…]
【6位】Ruby
順位 | 言語 | 難易度 | 汎用性 | ニーズ | 将来性 |
6位 | Ruby |
Ruby(ルビー)は日本国産のオブジェクト指向の動的型付けインタープリタ型のプログラミング言語です。
「ストレスなくプログラミングを楽しむこと」が理念であり、記述もシンプルで初心者にも優く、挫折しづらい言語。国産であるため日本語環境や日本語のコミュニティが充実している点も初心者の教育向きです。
Web系エンジニアになりたい初心者にとって、Ruby習得の優先度は高いでしょう。Ruby人気は下降気味ではありますが、ビジネス価値はそこまで下がっていないので案件獲得もできる状況にあります。ただし、導入としてはOKですが、長く付き合うことは避けたほうが賢明です。
Rubyの特徴のまとめ
- コンパイル不要のスクリプト型言語(インタプリタ、動的型付け言語)
- 「楽しさ」と「実用性」を重視して開発された
- 日本語情報が豊富で初心者が学びやすい
- ソースコードがシンプルで書きやすく読みやすい
- データ型は全てオブジェクトの純粋なオブジェクト指向言語
- 有名な「Rails」を使うことでWebバックエンド開発が効率的にできる
- 人気は下降気味だが、日本におけるビジネス価値はキープできている
Rubyをメイン言語としてフリーランスで稼げる? Rubyのフリーランス案件の単価は?求人数は? Rubyが活かせる仕事の種類ってどんなものがある? Web業界を目指すエンジニアであれば「Ruby」とそのフレームワ[…]
【7位】Kotlin
順位 | 言語 | 難易度 | 汎用性 | ニーズ | 将来性 |
7位 | Kotlin |
Kotlin(コトリン)は2011年にJetBrains社が開発した静的型付けのオブジェクト指向言語です。コンパイルされたKotlinコードはJava VM(仮想マシン)上で動作し、Androidアプリ開発の公式言語として有名です。
初心者におすすめな理由は、比較的カンタンに習得できるにも関わらず、案件が高単価になりやすいコストパフォーマンスの高い言語だからです。
更に汎用性・将来性も高く、Web系バックエンド開発などを中心に、Androidアプリ以外でもKotlin採用のケースが増えることが予想されます。
Kotlinの特徴のまとめ
- コンパイル型の静的型付けのオブジェクト指向言語
- Androidの公式開発言語
- JVM系言語のため、Webバックエンド開発などにも使用可能
- Javaの簡潔化と安全性の向上を重視して開発された
- JavaやScalaに比べて学習コストが低い
Kotlinをメイン言語としてフリーランスで稼げる? Kotlinのフリーランス案件の単価は?求人数は? Kotlinが活かせる仕事の種類ってどんなものがある? KotlinはAndroidアプリ開発を中心に近年で[…]
【8位】Swift
順位 | 言語 | 難易度 | 汎用性 | ニーズ | 将来性 |
8位 | Swift |
Swift(スウィフト)は2014年にApple社が開発したApple製OSのアプリ開発に特化した静的型付けのコンパイル型プログラミング言語です。Apple製OSとはiOSやmacOSのことです。
iOSアプリ開発の案件を狙うのであれば、Swiftの習得は必須です。またSwiftは、文法がシンプルで学びやすく、開発環境が秀逸で楽しみながら学べるため初心者におすすめです。
国内でのiPhoneシェア率は高く、iOSエンジニアは慢性的に不足しているため、案件ニーズとしては安定している状態です。
Swiftの特徴のまとめ
- コンパイル型の静的型付けプログラミング言語
- Apple製OSのアプリに特化
- Apple製品に最適化されており、軽量で高速な動作が可能
- モダンでコードが読みやすく書きやすい
- オブジェクト指向プログラミング
- Objective-CやC言語との混在も可能
- Objective-Cに比べてシンプルで学習コストが低い
- 「Xcode」の「Swift Playground」機能でインタラクティブなデバッグができる
Swiftをメイン言語としてフリーランスで稼げる? Swiftのフリーランス案件の単価は?求人数は? Swiftが活かせるiOSエンジニアってどんな仕事? SwiftはApple製OSのアプリ開発に特化したプログラ[…]
【9位】Go言語
順位 | 言語 | 難易度 | 汎用性 | ニーズ | 将来性 |
9位 | Go言語 |
Go言語(Golang)は静的型付けのコンパイル型として2009年にGoogle社によって開発された比較的に新しい人気急上昇中のプログラム言語です。
おすすめの理由は、比較的カンタンに習得できるにも関わらず、案件も高単価になりやすいコストパフォーマンスが高い次世代の言語だからです。
Go言語はWeb業界での高速なAPIサーバー開発での使用頻度が高まっており、今最も注目度が高い言語と言っても過言ではありません。更にWeb業界の他、モバイルアプリや組み込み系への展開も期待できる将来性の高い言語です。
しかし、現時点ではまだGo言語一本でフリーランスを生き抜けるほど案件数は多くないので、他のメイン言語の補助的な位置づけで習得しておくと良いでしょう。
Go言語の特徴のまとめ
- コンパイル型の静的型付け言語であり、軽量かつ高速
- 文法がシンプルで学習しやすく、可読性も高い
- C言語の伝統に則った構文(構造体やブロックの区切りなど)
- 並列処理に言語レベルで対応できている
- ポインタの概念が無く安全なメモリ管理になり、記述もカンタン
- 「gc」と「gccgo」の2種類の処理系がある
- Linux・Mac・Windows・Androidで動作可能
- オブジェクト指向をサポートしていない
フリーランスが今からGo言語を学ぶのはアリ?ナシ? Go言語のフリーランス案件の単価は?求人数は? Go言語が活かせる仕事の種類ってどんなものがある? Go言語(Golang)は近年で大流行しているプログラム言語で[…]
【10位】TypeScript
順位 | 言語 | 難易度 | 汎用性 | ニーズ | 将来性 |
10位 | TypeScript |
TypeScriptはAltJS(Alternative JavaScript)の一つで、2012年にマイクロソフトが開発・提供した静的型付けのプログラミング言語です。AltJSとはコンパイル(トランスパイル)するとJavaScriptコードに変換されるプログラムのことです。
煩雑なコードになりやすいJavaScriptの欠点を補い、保守性を高める言語として設計されました。
基本的にJavaScriptに似た文法で開発できるので、JavaScriptの知識があれば比較的カンタンにTypeScriptも習得できます。
TypeScriptはJavaScriptでは煩雑になり難しかった中規模〜大規模な開発で使用されます。特に近年では、TypeScriptに対する注目度も高く、高単価な案件も多いため、Web業界で働きたいのであれば是非とも抑えておきたい言語です。
TypeScript言語の特徴のまとめ
- コンパイル型(正確にはトランスパイル)の静的型付け言語
- コンパイルするとJavaScriptコードが生成されるAltJSのひとつ
- オブジェクト指向を踏襲しており、大規模開発に向いている
- 大規模開発向けではない動的型付けのJavaScriptの欠点を補う
- エンジニア人気が高く、採用率も急上昇中のトレンド言語
【番外:避けるべき言語】Perl
順位 | 言語 | 難易度 | 汎用性 | ニーズ | 将来性 |
番外 | Perl |
Perl(パール)はラリー・ウォール氏によって開発された30年以上の歴史があるインタープリタ型のプログラミング言語です。
Perlは長年に渡り、テキスト処理を支えてきた秀逸な言語ですが、世間一般には「終わった言語」と言われています。その大きな要因としては、コードの自由度が高すぎて読みづらく、メンテナンスしづらい点があります。
ベテランエンジニアを中心にPerlユーザーは非常に多く過去の開発資産も多いため、Perlにふれる機会は多いのですが、基本的には将来性が低い言語なので、よほどのことがない限り避けておくほうが無難です。
Perlの特徴のまとめ
- コンパイル不要のスクリプト型言語(インタプリタ、動的型付け言語)
- 30年以上の歴史があり安定している
- 正規表現を使ったテキスト処理に強い
- CGIで多く使われてきた経緯があるが、今は多言語に地位を奪われている
- CPANモジュール(≒ライブラリ)が豊富で開発効率も良い
- コードが汚くなりがち
Perlはオワコンで活かしどころは無い? Perlのフリーランス案件の単価は?求人数は? Perlユーザーにはどんな仕事の種類がある? Perlは未だユーザーも多く、開発コミュニティも活動中です。しかし、なにかと絶[…]
プログラミング言語の4つの選び方
プログラミング言語の選び方は、個人の置かれている状況や考え方で様々です。次の中から自分に一番合った選び方をしてください。
- 【選び方1】習得の難易度から選ぶ
- 【選び方2】職種や目的から選ぶ
- 【選び方3】需要の高さ(求人数・単価)から選ぶ
- 【選び方4】言語の将来性から選ぶ
【選び方1】習得の難易度から選ぶ
初心者は特に、習得するまでの学習コストが低くてカンタンなプログラミング言語を選択しましょう。いきなり攻略の難しい言語に手を出すと挫折する確率が高くなります。
たとえば、C言語を選択することは挫折パターンの典型です。組み込み・制御系の業界ではC言語は必須ですが、他の業界であればカンタンな言語を攻略してから手を出した方が挫折しづらいでしょう。
「環境の準備コストがかからない」「学習情報が豊富」である点もポイントです。
たとえば、JavaScriptとHTML/CSSを使ってWebブラウザで動かしたり、KotlinやSwiftでスマホアプリを作ったりして、楽しみながら学べると良いでしょう。習得の難易度だけで選ぶとしたら、次の言語あたりがおすすめです。
難易度から選ぶおすすめプログラミング言語TOP5
- HTML/CSS
(難易度:)
JavaScriptやPHPと組み合わせて学習しておきたい。しかし、これだけでエンジニアとして仕事をするのは難しい。 - JavaScript(難易度:)
ブラウザでHTMLと一緒に動かしながら超カンタンに学べる。 - PHP(難易度:)
多くのレンタルサーバーに初めからインストールされている。WordPressと一緒に動かしたりできる。 - Swift(難易度:)
初心者向けの学習用アプリの「Playgrounds」が秀逸。今のところ、iOS以外では活躍シーンが少ないのが難点。 - Python(難易度:)
実践的、汎用的、大人気の三拍子揃っているにも関わらず、比較的にシンプルで学びやすい言語。また、汎用的で多くの職種で使われる。
【選び方2】職種や目的から選ぶ
職種によって使われる言語が異なります。よって、「どんな職種に就きたいか?」「何を作りたいか?」をまずは決めましょう。
職種別、主に使われるプログラミング言語
職種 | 使われるプログラミング言語の代表例 |
AI/データサイエンスのエンジニア | Python |
Web系フロントエンドエンジニア | HTML/CSS、JavaScript |
Web系バックエンドエンジニア | PHP、Ruby、Go言語、Python、Java、etc. |
組み込み・制御系エンジニア | C/C++、Java、アセンブラ |
システム・業務系エンジニア(SE) | C/C++、C#、Java |
ゲーム開発系エンジニア | C/C++、Java、etc. スマホゲームであればSwiftやKotlinも対象。 |
iOSエンジニア | Swift |
Androidエンジニア | Kotlin |
「今は職種や目的を決められない」という人は言語の「汎用性」を重視すると良いでしょう。
【選び方3】需要の高さ(求人数・単価)から選ぶ
初心者であれば、いきなり高単価な案件を狙うのではなく、求人数が多い言語を優先して選択することをおすすめします。
初級〜中級レベルに成長したら、単価を見比べて言語選択すると良いでしょう。いくら求人数が多くても単価が低ければあなたの市場価値が頭打ちになってしまうからです。
どんなに市場価値の高い(単価の高い)言語を未経験の段階で極めても、経験がないと採用に至りません。当然ですが、お金を稼げる仕事がなければフリーランスとして詰んでしまいます。
たとえば、「JavaやPHPは求人数は多いけど、価格競争になりがち...。Pythonあたりが良いか…」と考えられる。
【選び方4】言語の将来性から選ぶ
次にプログラミング言語の将来性から選ぶ方法です。将来性のある言語とは、10年後や20年後も安定して案件需要がある使われ続ける言語のことです。
「同じ職種に強い競合言語がないか?」、「現在のシェアが高いか?」、etc. の総合的な判断が必要です。
今はシェアが小さくても、「今後はジャンルで覇権を取る」と予想できる言語にベットしたい。
今後も求人が安定しそうな言語の例
- C/C++(将来性:)
長年に渡り第一線で活躍していた言語。組み込み業界では必須。 - Python(将来性:)
AI分野ですでに主流であり、他ジャンルでも汎用的に使われる。 - PHP(将来性:)
Web系のバックエンド言語では採用率が79%。 - JavaScript(将来性:)
Webフロントエンドでは対抗言語が無く、必須で使われ続ける。
今後は更に求人が伸びそうなトレンド言語の例
- Go言語(将来性:)
Web系、アプリ系、組み込み系の各ジャンルで伸びている。 - Kotlin(将来性:)
Androidアプリだけではなく、JVM言語としてJavaの置き換えにも期待。 - TypeScript(将来性:)
JavaScriptのAltJS(代替JavaScript)として注目。
終焉に向かっている言語の例
- Perl(将来性:)
30年以上の歴史がある超有言語だが、今から学習する価値はない。 - Ruby(将来性:)
日本では今も現役で活用されており学習に適しているが、他言語の台頭が著しく、長く付き合わない方が賢明。
プログラミング言語の4つの学び方
本章では、新しくプログラミング言語を習得する際の一般的な学習方法について解説します。
プログラミング言語はそれぞれ特徴があり、学習のインプットになる情報量にも差があります。そのため基本的には、言語によって学び方も様々であることはご留意ください。
- 【学び方1】プログラミング基礎の書籍で学ぶ
- 【学び方2】定番のプログラミング言語の書籍で学ぶ
- 【学び方3】プログラミング学習サイトで学ぶ
- 【学び方4】プログラミングスクールで学ぶ
【学び方1】プログラミング基礎の書籍で学ぶ
いきなり特定のプログラミング言語を学習し始めるのではなく、「プログラミング全般の基礎」から学習することは成長への近道です。
「◯◯言語は学んだけど、本質が理解できていない」「プログラムが動く仕組みはわからない」という見せかけエンジニアは非常に多く、採用側もそこはカンタンに見抜けます。
私も100人以上のエンジニア面接をした経験から、「なぜその言語を選択したか?」など掘り下げた質問を繰り返せば、だいたいはレベルがわかります。
次の書籍を1,2冊で良いので読み込み、プログラム基礎を理解してから言語選択をした方が逆に近道になります。
おすすめのプログラミングの基本学習の書籍
【学び方2】定番のプログラミング言語の書籍で学ぶ
まず、学びたい言語で評判の高い定番の書籍を一冊購入して一通り目を通すことをおすすめします。
定番の書籍では、プログラミング言語の基礎から応用に至るまでの重要なポイントを体系的に安心して学べます。
最初はざっと読み通して「こんなものか」程度の理解で読み進め、「どこに何が書いてあるか」を把握しましょう。その後、開発で行き詰まった際に繰り返し目を通すことで自然と身につきます。
最初から教材を何周もする学習法は、効率が悪い!早く手を動かそう!
書籍の選び方のコツ
- ド定番を選ぶ
ロングセラーである メジャーなプログラム言語には定番と呼ばれる書籍が2,3は存在するもの。表紙に騙されず、ロングセラーな定番を選ぶと良い。 - 発行日をチェックする
発行日をチェックする プログラミング言語は日々進化しているため、あまりに古いとサンプルが動かないこともある。 - サンプルが多い書籍を選ぶ
サンプルが記載されている 言語の原理だけでは理解は難しい。サンプルがしっかり書かれているかは重要。
おすすめ定番書籍(Pythonの場合)
【学び方3】プログラミング学習サイトで学ぶ
次に、書籍やプログラミングスクールが合わない人は、プログラミング学習のWebサイトを活用して学ぶ方法がおすすめです。
プログラミング学習サイトがおすすめな人
- 本を読むのが苦手
- スクールより安価(または無料)で習いたい
- オンライン講義でスキマ時間に自分のペースで学びたい
プログラミングサイトには次のように様々な形式の学び方があるため、自分の学習スタイルに合った方法を選択することができます。
プログラミング学習サイトでの代表的な学び方
- 動画の講義形式で学ぶ
- スライド形式で学ぶ
- ゲーム感覚で学ぶ
次に、代表的なプログラミング学習サイトを紹介します。
どのサイトも基本的なメジャー言語はほぼ対応していて、無料プランと有料プランがあり、金額差はさほどありません。選択ポイントは動画形式かスライド形式の学び方の違いと、各言語のコンテンツの好みになります。
同じ言語でも講座によって難易度やユーザーインターフェースに違いがあるので、まずは無料プランでのお試しをおすすめします。
代表的なプログラミング学習サイト
- Progate
イラスト中心のスライド形式。ブラウザ上で動く開発環境を提供してくれるので、言語学習だけに注力したい初心者におすすめ。 - ドットインストール
動画解説型。業界でも最大の講座数を保有。目的に合わせた学習を選択できる点が良い。 - paiza
動画解説型。開発環境の提供もあり、言語学習に注力できる。転職サービスと連動している点も良い。 - Playgrounds
ゲーム感覚で学べるiPad/Macアプリ。Swift限定にはなるが、楽しんでいたらいつの間にか基礎が身につくような感覚。
【学び方4】プログラミングスクールで学ぶ
「自分を律することが苦手な人」はプログラミングスクールが向いています。
しかし、初心者がいきなりスクールに通い始めることはおすすめしません。上記の3つの独学で基礎知識や最低限の情報を得てから、スクールを活用する方法をおすすめしています。
「いきなりスクール」はおすすめしない理由
- 【やめとけ理由1】教材の質は独学と変わらない
- 【やめとけ理由2】軌道修正が効かなくなる
- 【やめとけ理由3】効率的に学べず、知識が定着しない
- 【やめとけ理由4】悪徳スクールに引っかかりやすい
- 【やめとけ理由5】未経験者が就職サポートを受けてもろくな就職先がない
上記の解説は次の記事を参照ください。
初心者がいきなりプログラミングスクールに通うのは有効?無駄? なぜ、「プログラミングスクールはやめとけ」とよく言われる? プログラミングスクールへ通うと良いタイミングを教えて! プログラミングを習得したい人の多くは[…]
まとめ
以上、初心者が最初に学ぶべきおすすめプログラミング言語について解説してきました。おすすめランキングは次です。
初心者におすすめのプログラム言語ランキング
順位 | 言語 | 難易度 | 汎用性 | ニーズ | 将来性 |
1位 | Python | ||||
2位 | JavaScript | ||||
3位 | Java | ||||
4位 | PHP | ||||
5位 | C/C++ | ||||
6位 | Ruby | ||||
7位 | Kotlin | ||||
8位 | Swift | ||||
9位 | Go言語 | ||||
10位 | TypeScript | ||||
番外 | Perl |
※ 「難易度」は数値が低いほど初心者向き。
※ 「ニーズ」は現在の案件の求人数と単価の両方を考慮。
プログラミング言語の選び方は、個人の置かれている状況や考え方で様々です。次の中から自分に一番合った選び方をしてください。
- 【選び方1】習得の難易度から選ぶ
- 【選び方2】職種や目的から選ぶ
- 【選び方3】需要の高さ(求人数・単価)から選ぶ
- 【選び方4】言語の将来性から選ぶ
プログラミング言語はそれぞれ特徴があり、学習のインプットになる情報量にも差があります。そのため基本的には、言語によって学び方も様々であることはご留意ください。
- 【学び方1】プログラミング基礎の書籍で学ぶ
- 【学び方2】定番のプログラミング言語の書籍で学ぶ
- 【学び方3】プログラミング学習サイトで学ぶ
- 【学び方4】プログラミングスクールで学ぶ
本記事で紹介したプログラム言語は全て様々なエージェントで案件を扱っています。まずは次の記事で紹介するフリーランスエージェントを見比べ、無料エントリーから始めることをおすすめします。
フリーランスエージェントの種類が多すぎて選べない 各エージェントの特徴を数値比較できるようにしてくれ! そもそもフリーランスの案件探しにエージェントは必要? ITエンジニアがエージェント選びを間違えると「単調かつ激[…]
以上、このブログでは、このように「会社員エンジニアがフリーランス独立して自力でお金を稼げるようになるまで」の役立つ情報を発信し続けていきます。
ではまた!