こんにちは!
どうも、最初にPythonを学んでしまった負け組のkoafです。 最近色々なソフトやサーバーに携わらせてもらっており、そのなかの雑談で出てくる話題があります。
最初に何を学べばいいか問題
僕やPythonを最初期に学んだ人ははPythonを学んではいけないと絶対に言います。これからなぜかを紹介していきます。
記述がゴミ
まずHello WorldをJava、C#と比較していきましょう。
Python
print('Hello World')
Java
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, world.");
}
}
プログラミング初心者はここで「なんだよ簡単じゃん!」と思うでしょう。ですがここが罠なのです。
プログラミングの記述には一つ一つ意味があります。その意味を解読していきましょう。
Hello Worldの意味【Java編】
まず一行目から。
class HelloWorld {
これはHelloWorldのクラスの宣言を意味します。学校で例えるならここはHelloWorldクラスだよ~!と校長先生が言っているような感じです。
classはPythonでもありますので今は机の上に置いておきましょう。
public static void main(String[] args) {
ここは説明が難しいのですが、まぁ部屋の中を定義している感じです。で、重要なのがこの中のString[]
が重要です。
Pythonは基本的に文字の意味を宣言しません。数字と英語を同じものと受け入れているのです。まぁStringも同じものと受け入れているのですがそこは今椅子の横おいておいてください。なぜ文字の意味を宣言しなければならないのか?それはメモリの使用量が発端となります。文字の意味を宣言、めんどくさいからデータ型と言いましょう。データ型には効率的なメモリ使用量があらかじめ言語の中で書かれています。ここで察した人もいるだろうが、Pythonはメモリ使用量が多いのです。自分専用の効率化アプリやただのマクロならいいかもしれません。ですが一般にながすアプリを作る場合にはメモリ使用量が多いというのは致命的です。なのでおすすめできないところ1です。
System.out.println("Hello, world.");
ここは簡単なところで、Systemはjava.lang.Systemを短縮したもの、outは出力、printlnは書くって感じです。正直ここの意味は分からないのでprintに短縮してほしい
こんな感じです。
では、これとPythonを比較してみましょう。
比較編
PythonはJAVAとくらべて簡単になってます。なんせ文字を表示させるのが最短10文字ですから。 ですが、プログラミングの世界はここまで甘くありません。殆どはJavaのように堅苦しい文章ですから初心者はもう先にJavaを触れたほうがいいと思いますね。