今回はこんな疑問にお答えしていきます。
エンジニアを目指す人が最初に抱える悩みの1つに「プログラミング言語選び」があります。
プログラミング言語の選択によって、制作物や難易度はもちろん、キャリアパスや年収は大きく変わってきます。そのため言語は慎重に選ぶ必要があります。
【先に結論】PythonとJavaScriptの比較表
Python | JavaScript | |
ロゴ画像 | ||
作れるもの | Webシステム全般+AIなど | Webシステム全般 |
使用例 | YouTube、Instagram | WordPress、LinkedIn |
設計思想 | シンプルで美しいコードを書くことを求められるので保守が容易 | 簡単なものを作るために設計され、Webの複雑化と共に進化している |
汎用性 | 非常に高い | 高い |
年収 | 高い | 高い |
求人数 | 非常に多い | 非常に多い |
難易度 | Python自体は簡単 Pythonで実装された技術は習得が難しい | JavaScript自体は簡単 JavaScriptで実装された技術は習得が難しい |
将来性 | 非常に高い | 高い |
おすすめの参考書 | Python[完全]入門 Python1年生 スッキリわかるPython入門 | 独習JavaScript 新版 JavaScript「超」入門 第2版 改訂新版JavaScript本格入門 |
学習方法 | Pythonが学べるスクール | JavaScriptが学べるスクール |
PythonやJavaScriptをプロのエンジニアから教わりたい方にはプログラミングスクールがオススメです。詳しくは以下の記事をご覧ください。
Pythonが学べるプログラミングスクールおすすめ9選【社会人必見!】
更新日:2024年11月17日
JavaScriptが学べるプログラミングスクールおすすめ9選【安いオンライン講座あり】
更新日:2024年11月17日
目次
Pythonとは
まずはPythonの特徴からご紹介します。
Pythonとは
Python(「パイソン」と発音します)は、「汎用」のプログラミング言語です。
Pythonは他の言語と比べて習得が容易で、開発速度も速いとされています。
筆者は現在、Pythonオンリーで生計を立てていますが、大昔Cという言語でプログラミングしてた頃と比べると、開発効率が10倍くらいは違うと感じています。
そのため、数年前から注目が集まっており、Pythonを採用する企業は増加傾向にあります。
Pythonで作れるもの
Pythonは人によるクセが出にくいため、チーム開発で使われることが多いです。
例えば下記のようなシステムはPythonで開発されます。
- 大規模なWebシステム
- 大規模なWebを使った業務システム
またPythonの大きな特徴として、複雑なデータの扱いが容易ということが挙げられます。
Pythonが使われている具体的なサービス
続いてはPythonが使われているサービスをいくつかご紹介します。
YouTube
YouTubeはPythonで作られています!
YouTubeの動画の本数は本当に膨大なことから、いったいどんなデータベースを使っているんだろうと気になりますね。
動画を検索するときもサクサク動くので、そこら辺りの処理も高度そうです。
インスタもPythonが使われています。
インスタのスマホアプリのサーバー側の処理はPythonで書かれています。
個人的にはインスタの一番の特徴はその搭載されているAIの優秀さだと思うのですが(おすすめの投稿のセレクションが秀逸)、AIに強いPythonを使っていると聞けば、納得できるのではないでしょうか?
おすすめDjangoが学べるプログラミングスクール6選をご紹介
Pythonが学べるプログラミングスクールおすすめ9選【社会人必見!】
更新日:2024年11月17日
AI(人工知能)が学べるプログラミングスクールおすすめ10選【社会人必見】
更新日:2024年11月17日
JavaScriptとは
続いてはJavaScriptの特徴をご紹介します。
JavaScriptとは
JavaScriptとは、元々は「Webのブラウザ内でできることを簡単に書いて実行できるようにしよう」という目的で、1990年代のWebの黎明期に登場した、「簡単さ」をモットーとした言語です。
その後のWebの進化に合わせて、JavaScriptは長大な進化を遂げました。
Webのブラウザ内でできることを書くことを「フロントエンド」と言いますが、JavaScriptは今でも「フロントエンド」の記述言語を独占しています。
JavaScriptで作れるもの
JavaScriptは基本的に「フロントエンド」の処理ならなんでも書けます。
というか「フロントエンド」のために作られた言語です。
JavaScriptの代表的なフレームワークには以下があります。
JavaScriptの代表的なフレームワーク
他にもNode.jsという技術もあります。
Node.jsとは「JavaScriptでバックエンド(Webのサーバー側の処理)も書いてしまおう」という目的で設計されたJavaScriptの実行環境です。
おすすめVue.jsが学べるプログラミングスクール5選をご紹介
おすすめReact.jsが学べるプログラミングスクール5選をご紹介
おすすめNode.jsが学べるプログラミングスクール5選をご紹介
JavaScriptが使われている具体的なサービス
続いてはJavaScriptが使われているサービスをいくつかご紹介します。
WordPress
WordPressとは、現在の世界中のWebサイトでもっとも広く使用されているサイト構築フレームワーク(CMS)です。
WordPress自体はPHPという言語で書かれていますが、フロントエンドはもちろんJavaScriptで書きます。
LinkedInとは、今ビジネスシーンで活用が進んでいるSNSの一つです。
このLinkedInのスマホアプリのバックエンドは、Node.jsで構築されています。
細かな話をすると、Node.jsには、アクセスが集中しても効率よく捌く独自の機能が備わっています。
JavaScriptが学べるプログラミングスクールおすすめ9選【安いオンライン講座あり】
更新日:2024年11月17日
PythonとJavaScriptを徹底比較
続いてはPythonとJavaScriptを様々な角度から徹底比較していきます。
Python | JavaScript | |
設計思想 | シンプルで美しいコードを書くことを求められるので保守が容易 | 簡単なものを作るために設計され、Webの複雑化と共に進化している |
汎用性 | 非常に高い | 高い |
年収 | 高い | 高い |
求人数 | 非常に多い | 非常に多い |
難易度 | Python自体は簡単 Pythonで実装された技術は習得が難しい | JavaScript自体は簡単 JavaScriptで実装された技術は習得が難しい |
将来性 | 非常に高い | 高い |
それでは順番に詳しく解説していきます。
1. 設計思想で比較
Pythonには確固たる設計思想があります。
それは「Pythonの禅(The Zen of Python)」と呼ばれるPythonプログラミングの原則に集約されます。
その一部を紹介します。
Beautiful is better than ugly.
醜いより美しいのが良い。
Explicit is better than implicit.
暗黙的より明示的が良い。
Simple is better than complex.
複合よりも単純、
Complex is better than complicated.
複雑よりは複合。
Readability counts.
読みやすさには配慮。
In the face of ambiguity, refuse the temptation to guess.
曖昧さに出会ったら、推測で済ます誘惑を拒絶すべし。
There should be one-- and preferably only one --obvious way to do it.
それをする明白な方法は一つあるはず。そして望ましいのは一つだけあること、
If the implementation is hard to explain, it's a bad idea.
もし実装を説明するのが難しいなら、そもそも良い考えではない。
If the implementation is easy to explain, it may be a good idea.
もし実装を簡単に説明できたら、それは良い考え。出典(英文):PEP 20 – The Zen of Python | peps.python.org
出典(和訳):Python プログラミングの基本ルール (The Zen of Python) - Python 入門
ご覧のようにPythonプログラマは「美しい」コードを書くことを求められます。
「美しい」とは
- 同じことを複数個所に書いていない
- 変数名や関数名を見ただけで何をしたいのか分かる
- そのファイルをみただけで他のどのファイルと関係しているのか分かる
などです。
この原則があるので、Pythonのプログラムは比較的保守が容易です。
There should be one-- and preferably only one --obvious way to do it.
それをする明白な方法は一つあるはず。そして望ましいのは一つだけあること、
何かをしたいときに、Pythonでは多くの場合解決方法は一つに限られます。
一方JavaScriptはそれほど明示的な設計思想はありません。
JavaScriptの歴史が示す通り、初めは簡単なものを作るために設計されて、Webの複雑化と歩調を合わせて進化してきた言語ですから、言語の仕様自体が大きく変化してきています。
これからもJavaScriptは進化していくのでしょう。
JavaScriptは無限に近い可能性を秘めている、と解釈することもできますね。
2. 汎用性で比較
Pythonはもともと汎用言語ですから、Pythonの汎用性については文句のつけようがありません。
一方JavaScriptも負けていません。
ただ、PythonがWeb以外のシステムも構築できるのに対して、JavaScriptはあくまでもWeb専用です。
その違いは確かにあります。
エンジニアも人間、ウィングを広げると言っても限度がありますからね。
3. 年収で比較
これはあまり変わりません。
ただ「Python 年収」「JavaScript 年収」の検索ワードで比較すると、おそらくJavaScriptの方が低めに出てくるでしょう。
これは裏があります。
一般的にエンジニアよりデザイナーの方が年収は低めです。
(最近のUXデザイナーとかだと高い専門性を持っていますのでこの限りではありませんが...)
4. 求人件数で比較
大手求人サイトの情報を元に求人数を比較してみましょう。(2022年4月時点)
Python | JavaScript | |
indeedの求人数 | 53,826件[indeedより] | 57,229件[indeedより] |
求人ボックスの求人数 | 38,446件[求人ボックスより] | 40,681件[求人ボックスより] |
dodaの求人数 | 4,262件[dodaより] | 3,857件[dodaより] |
マイナビ転職の求人数 | 3,090件[マイナビ転職より] | 2,079件[マイナビ転職より] |
リクナビNEXTの求人数 | 1,484件[リクナビNEXTより] | 1,416件[リクナビNEXTより] |
Greenの求人数 | 4,312件[Greenより] | 5,243件[Greenより] |
ご覧のようにPythonとJavaScriptの求人数は多少の違いはありますが、どちらも非常に多いことには変わりないと見て問題ないでしょう。
ちなみにこの求人数の多さは他のプログラミング言語と比べても圧倒的です。
5. 難易度で比較
難易度という観点で見た場合、両者は面白い相似を成しています。
まずPythonもJavaScriptも「言語としての習得は容易」です。
Pythonなら
- Django(Webシステム)
- AI
- 機械学習
- ディープラーニング(深層学習)
などを習得するのはそれなりに苦労します。
おすすめAI開発が学べるプログラミングスクール6選をご紹介
おすすめPythonが学べるプログラミングスクール9選をご紹介
一方JavaScriptも、
- Vue.js
- React.js
- Node.js
などを習得するのは、はっきり言って非常に難易度が高いです。
ただ、ここに年収が大きく関係してきます。
難易度の高い技術を習得しているエンジニアは年収が跳ね上がります。
JavaScriptが学べるプログラミングスクールおすすめ9選【安いオンライン講座あり】
更新日:2024年11月17日
6. 将来性で比較
両者とも将来性は抜群です。
また、その分野のスタンダードと化している両者は、今後とも様々な応用技術が出てくることが予想できます。
基礎が分かっていれば、応用を身に付けるのは比較的簡単です。
ちなみに両者の「日本での検索回数の推移」を比較してみると以下のようになります。(Googleトレンドより)
ご覧のように2017年頃を境に、PythonがJavaScriptの検索数を上回っていることが分かります。
PythonとJavaScriptは似てる?
PythonとJavaScriptは似てる部分も異なる部分もあります。
PythonとJavaScriptの似てる点
- 動的型付け言語:変数の型を宣言する必要がない
- 高水準言語:簡潔なコードを書くのに適している
PythonとJavaScriptの異なる点
- 用途:Pythonは機械学習やデータサイエンス、JavaScriptはWebページの構築で用いられる
- 文法と構文:文末のルールや括弧の種類が大きく異なる
- 実行環境:Pythonはインタプリタによって実行されるが、JavaScriptはブラウザ内で実行される
このようにPythonとJavaScriptは用途の文法も大きく異なり、似てる部分は限定的といえるでしょう。
Python・JavaScriptのおすすめの人の特徴
それでは最後に、PythonとJavaScriptがおすすめの人・向いている人の特徴を解説していきます。
Pythonがおすすめの人の特徴
PythonはWebシステム以外にもAIや統計システムに使われていると書きました。
ということは、Pythonがおすすめな人の第一は「数学の素養がある人」です。
具体的な分野は以下の通り。
Pythonに必要な数学の分野
- ベクトル
- 行列
- 集合
- 確率
- 統計
- 乱数
- 微分積分
数学を知らない人にAIはできません。
JavaScriptがおすすめの人の特徴
JavaScriptはフロントエンドで使用されていると書きました。
ということは、JavaScriptがおすすめな人の第一は「デザインセンス・創造力のある人」です。
JavaScriptエンジニア(フロントエンドエンジニア)は時にデザイナーのデザインを再現しなければならないことがあり、その業務の時、デザインセンスは必須になっているからです
PythonとJavaScriptを勉強する時のおすすめの参考書
ここまでの説明で多くの方は「PythonとJavaScriptのどちらを勉強しようか」ある程度定まったことでしょう。
Pythonを勉強する時のおすすめの参考書
まずはPythonを勉強する時のおすすめの参考書をご紹介します。
プログラミング業界では情報の鮮度がかなり重要です。
2022年6月時点でのPythonの最新バージョンは3.10.5ですので、Python3対応の参考書を選ぶようにしましょう。
Pythonの本・参考書おすすめ18選をご紹介【初心者向けの入門書あり】
更新日:2024年10月23日
JavaScriptを勉強する時のおすすめの参考書
続いてはJavaScriptを勉強する時のおすすめの参考書をご紹介します。
JavaScriptの本・参考書おすすめ15選をご紹介【初心者向けの入門書あり】
更新日:2024年11月17日
まとめ:PythonとJavaScriptはどっちがおすすめ?【違いを徹底比較】
今回はプログラミング言語の中でも人気のあるPythonとJavaScriptの特徴や違い、向いている人の特徴について解説しました。
Python | JavaScript | |
ロゴ画像 | ||
作れるもの | Webシステム全般+AIなど | Webシステム全般 |
使用例 | YouTube、Instagram | WordPress、LinkedIn |
設計思想 | シンプルで美しいコードを書くことを求められるので保守が容易 | 簡単なものを作るために設計され、Webの複雑化と共に進化している |
汎用性 | 非常に高い | 高い |
年収 | 高い | 高い |
求人数 | 非常に多い | 非常に多い |
難易度 | Python自体は簡単 Pythonで実装された技術は習得が難しい | JavaScript自体は簡単 JavaScriptで実装された技術は習得が難しい |
将来性 | 非常に高い | 高い |
おすすめの参考書 | Python[完全]入門 Python1年生 スッキリわかるPython入門 | 独習JavaScript 新版 JavaScript「超」入門 第2版 改訂新版JavaScript本格入門 |
学習方法 | Pythonが学べるスクール | JavaScriptが学べるスクール |
ご覧のようにどちらの言語も長所と短所があります。
またPythonやJavaScriptを新しく勉強したい方には、プログラミングスクールでプロから教わるのがオススメです。
プログラミング言語選びで答えがまとまらない場合は、プログラミングスクールの無料相談などを利用して有識者に相談するのもオススメです。
Pythonが学べるプログラミングスクールおすすめ9選【社会人必見!】
更新日:2024年11月17日
AI(人工知能)が学べるプログラミングスクールおすすめ10選【社会人必見】
更新日:2024年11月17日
JavaScriptが学べるプログラミングスクールおすすめ9選【安いオンライン講座あり】
更新日:2024年11月17日
JavaScriptの本・参考書おすすめ15選をご紹介【初心者向けの入門書あり】
更新日:2024年11月17日