プログラミング初心者にはPythonがおすすめな理由
僕の記事では一貫してpythonでアルゴリズムを紹介しています。それは僕が得意だからなのもありますが、何より読みやすさ書きやすさが理由です。
いろんなサイトでpythonは読みやすい言語だと紹介されていますが、なぜなのかをJavaと比べて紹介したいと思います。
その上でpythonを初心者にお勧めする"もう一つの理由"を紹介したいと思います。
PythonとJavaを文法で比べてみる
変数の定義の仕方
python
num = 3
Java
int num = 3;
if文
python
if num == 3:
print("num is 3")
Java
if(num == 3){
System.out.println("num is 2");
}
for loop
python
for i in range(100):
print(i)
Java
for(int i; i<=100; i++){
System.out.println(i);
}
このように文法が少しながくなります。
そもそものJavaとpythhonの違い
上に文法の違いを紹介しましたが、正直なところ少し長くなるだけで習得の難しさという観点では一度慣れてしまうとそこまで苦ではないです。
pythonの簡単さ(Javaの難しさ)はクラスが関わってきます。
pythonの場合、もし自分の名前を出力する場合print("Astrostory")ですみますが、Javaの場合そうはいきません。
Javaの場合
public class main{
public static void main(String[] args){
System.out.println("Astrostory");
}
}
としなければなりません。
Javaは大抵mainを持つファイルとクラスの持つファイル(大体複数個)に大別されます。プログラムを実行すると最初にmain関数から実行されていきます。
今回はmain以外にクラスはありませんが、たとえ文字列のアウトプットなどの簡単なものであったとしてもmain関数を作る必要があります。
ちなみに、public static voidは
public ... どこからでもアクセスできる
static ... インスタンスを作成しない
void ... 戻り値なし
このようにカチッと決め込んでコードを書くのでしっかりとしたシステム開発とかには向いていると思います。
そもそもちょっと何言っているの?ってなっていてJavaを学習しようとしている人はこのままJavaに入るよりも、pythonなどでクラスやインスタンスまで学んでからの方が急がば回れでいいんじゃないかなって個人的に思っています。
pythonが初心者にお勧めなもう一つの理由
まず前提とて、プログラミングは実際に手を動かしてコードを書いていかないと上達しないと僕は考えています。
なので初心者(僕も初心者と中級者の間なので偉そうには言えませんが)の方にはたくさんコードを書いて欲しいのですが、ただ文法の練習をするって楽しいですか?
僕はただ文法の練習のためだけにコードを書いているのが時間の無駄に感じます。(無駄じゃないけど)なので、ただ練習してコードを消去ではなく、今後も自分の役に立つようなものを作るように心がけています。
例えば数学科なので計算を手伝ってくれるものを作ったり。
(ちなみにこれは友達のFinite Math用)
pythonはたくさんのライブラリーがあるので簡単に自分の役立つものを作れたりします。
例えば、上のコードは計算式を1から作ってますが、sympyを使って解くこともできます。
これは僕が読んだ中でわかりやすかったSymPyの記事。
ただ。ライブラリーは少し特殊だから、pythonの勉強のためならわざと文法を使ないとかもですが...
こんな感じでこの記事は終えようと思います。