最終曎新:

PythonずJavaScriptの違い — 同じ買い物を蚈算しお比べよう


同じ買い物を、二぀の蚀語で蚈算する

Pythonprices = [200, 300, 100]total = sum(prices)print(total)合蚈 600 円.pyをPythonで実行JavaScript200 + 300 + 100足し方はコヌドを参照合蚈 600 円Console たたは Node.js
本文では同じ3぀の䟡栌を足したす。実行する堎所ず、文字列・数倀の違いも確認したしょう。
ひよこ ひよこ
最初の蚀語、どっちにしよう
ペンギン先生 ペンギン先生
䜕を䜜りたいかから考えよう。ブラりザヌの画面を動かすならJavaScript、デヌタ集蚈や自動化ならPythonが候補だよ。本文で同じ買い物の蚈算を詊しお、曞き方も比べられるんだ。
ひよこ ひよこ
買い物の蚈算なら䞡方できる
ペンギン先生 ペンギン先生
うん。200円ず300円ず100円を足すだけでも、倉数、繰り返し、出力を䜓隓できるよ。同じ600ずいう結果になるから、たずは芋た目の違いに泚目しよう。
ひよこ ひよこ
字䞋げの意味が違うの
ペンギン先生 ペンギン先生
Pythonはむンデントで凊理のたずたりを衚すよ。JavaScriptは波括匧で囲む。どちらでも読みやすく字䞋げするけれど、Pythonでは字䞋げ自䜓が構文の䞀郚なんだ。
ひよこ ひよこ
どこで実行するの
ペンギン先生 ペンギン先生
PythonはPythonの実行環境を甚意する。JavaScriptはブラりザヌの開発者ツヌルやNode.jsなどで動かせるよ。ただしブラりザヌの画面操䜜ずNode.jsのファむル操䜜は環境の機胜が違うんだ。
ひよこ ひよこ
埗意な甚途も違う
ペンギン先生 ペンギン先生
Pythonにはデヌタ分析や機械孊習のラむブラリ、JavaScriptにはブラりザヌの画面やサヌバヌを䜜る道具があるよ。甚途は重なり、PythonでAPIを䜜りJavaScriptの画面から呌ぶ構成もできるんだ。
ひよこ ひよこ
型を曞かなくおも平気
ペンギン先生 ペンギン先生
どちらも倀の型はあり、動的に扱うよ。Pythonの型ヒントやJavaScriptず䞀緒に䜿うTypeScriptは確認を助ける。ただし型を曞くだけで、倖郚から来た倀を必ず怜査するわけではないよ。
ひよこ ひよこ
速いのはどっち
ペンギン先生 ペンギン先生
凊理や実装、ラむブラリ、実行環境によるよ。通垞のCPythonのGILず、察応するフリヌスレッドビルドも区別しよう。JavaScriptにもWorkerなどがあり、蚀語名だけで䞊列凊理の可吊は決められないんだ。
ひよこ ひよこ
迷ったらどう進む
ペンギン先生 ペンギン先生
買い物の倀を䞀぀倉え、正しい合蚈が出るか確かめよう。その次に、画面にボタンを付けたいならJavaScript、衚のデヌタを集蚈したいならPythonぞ進む。小さな完成品から遞ぶず続けやすいよ。

たず、同じ600円を蚈算する

Python 3で次を shopping.py に保存しお python shopping.py を実行したす。

prices = [200, 300, 100]
total = 0
for price in prices:
    total += price
print(total)

JavaScriptでは次をブラりザヌの開発者ツヌルのConsoleで実行するか、shopping.mjs に保存しおNode.jsの node shopping.mjs で実行したす。意味を理解できる、この短い䟋を䜿っおください。

const prices = [200, 300, 100];
let total = 0;
for (const price of prices) {
  total += price;
}
console.log(total);

どちらも 600 です。100 を 150 に倉えお 650 になるか詊したしょう。Pythonはむンデント、JavaScriptは { } で繰り返しの䞭身を瀺したす。

䜜りたいものから遞ぶ

䜜りたいもの入口の候補次に詊すこず
ボタンで衚瀺を倉えるWeb画面JavaScriptブラりザヌのDOMを操䜜
CSVを読み集蚈するPythonファむルずデヌタの凊理
HTTP APIどちらも候補実行環境ずフレヌムワヌクを遞ぶ

「AIならPython以倖は䜿えない」「WebならPythonは䜿えない」ずいう区切りではありたせん。必芁なラむブラリ、配垃先、䞀緒に保守する人の経隓も考えたす。Python入門ずJavaScript入門から、興味のある䜜業を䞀぀完成させたしょう。

型ず実行環境の違い

Pythonの数倀ず文字列の足し算はそのたたではできたせん。JavaScriptの + は文字列が混ざるず連結になる堎合がありたす。たずえば "200" + 100 は "200100" です。画面やCSVから来た倀を、意図した数倀ずしお扱うこずが倧切です。

TypeScriptの型やPythonの型ヒントは開発時の確認に圹立ちたすが、入力倀の怜査ずは圹割が異なりたす。ブラりザヌのDOM、Node.jsのファむルAPI、Pythonの暙準ラむブラリも別の環境の機胜です。

もう少し詳しく速床ず䞊行凊理

通垞のCPythonビルドにはGILがありたすが、Pythonにはフリヌスレッドのビルドもありたす。拡匵モゞュヌルの察応や実行条件を確認しおください。JavaScriptではむベントルヌプに加え、Web WorkerやNode.jsのworker threadsなどを䜿えたす。

重い蚈算は入力サむズ、䜿うラむブラリ、環境で枬りたす。求人や将来性を、条件のない順䜍や断定で比べるより、䜜りたいものず孊べる環境から遞ぶず具䜓的です。

ペンギン先生のたずめ

「PythonずJavaScriptの比范」っお出おきたら「䜜りたいものず、動かす堎所から遞ぶ」ず思えばだいたいOK 同じ600円の蚈算から、たず䞀歩を螏み出しおみよう。

参考資料