393.Java VS Python
初回:2024/12/04
Java と Python って、適用領域が違い過ぎるので、あまり比較することに意味がないかも知れませんが、面白そうなので取り上げてみました。
P子「で?どちらの見方なの?」※1
仕事なら Javaで、趣味なら Python ってところでしょうか?
P子「あれ?Javaも趣味じゃなかった?」
趣味でお給料をもらえているのですから、文句は言えませんね。
1.なぜ「Java」は"面倒"で「Python」は"危険"なのか
まずは、今回の元ネタを...
≪参考資料1≫
https://techtarget.itmedia.co.jp/tt/news/2411/13/news01.html#utm_medium=email&utm_source=tt-ranking&utm_campaign=20241120
なぜ「Java」は"面倒"で「Python」は"危険"なのか
2024年11月13日 05時00分 公開
[Darcy DeClute,TechTarget]
Javaって、面倒です。それは同感です。
記憶があいまいなので、今では夢うつつですが、私がJavaに出会ったのは、Java1.0の正式版が出る前だったような気がします。Javaについては、O'Reilly の『トラ本』と言われるJavaクイックリファレンスを購入し、JavaWorld も定期購読し、JavaHouse メーリングリスト ももっぱら ROM でしたが読みながら『みんなすごいな』と感動していたものです。
当時は APIも少なく、IDE(統合開発環境)のEclipse を使ってみようと思っても、パソコンが非力で全然動かなくなるので、テキストエディターと、javac のみで開発していました。それでもすべてが自分の手の中にあるので、楽しかった思い出です。
私は今でもほとんど同じ環境(さすがにコンパイルには、ant を使っていますが)なので、今風の開発にはついていけていません。
ですが、開発自体は面倒ですが、きっちりオブジェクト指向的な作り(個人的にはインターフェースを中心とした設計)をしてフレームワークを構築すれば安心・安全です。
一方、Python では、サードパーティー製のモジュールがいっぱいあるのと『ちょいプロ(ちょこっとだけ組むプログラムの事)』を作るには非常に楽なのですが、少し入り組んだ処理を行おうとすると、途端に難しくなります。この難しいというのはバグなく組むとかそういう事が難しいという事です。
最近は、Javaの開発はほとんど行っておらず、もっぱらPythonで『ちょいプロ』しているのですが、改めて短い処理なら簡単ですが、少し本格的に組もうと思うと、逆にPython の方が面倒で危険だと思っています。
P子「また、Python信者から、色々と言われるわよ」
まあ、実際私のPythonスキルはそれほど高くないので、能力が低いから面倒で危険だと感じていると言われそうですが、そういう能力が低い人が組むと面倒で危険な言語だという事です。
P子「まあ、Javaであろうが何であろうが、能力が低い人が組めば、すべての言語が危険だと思うわ」
2.まとめ
まあ、JavaとPythonではすむ世界が異なると思っています。それでもそれぞれが、手をこまねいているわけではなくどちらも進化を続けています。
Javaは、記述の簡素化の方向に進んでおり、コーディング量は以前より少なくて済むようになっています。これは単にタイピングの問題ではなく、ソースコードを見るときに簡潔に記述されている方が理解しやすいと思います。
Pythonは、flake8によるソースチェックや、mypyによる型チェックなど、周辺機能で言語仕様の足りない所を補完できる...かどうかは、若干疑問ですが、安全性の方向に進化しているような気がします。もちろん、Python 3.13 のJITコンパイラや、本格的なマルチスレッド対応(の実験的実装)など処理速度の向上も図ろうとしています。
P子「機械学習系の言語としては、代表格だものね」
どちらの言語もお気に入りなので、それぞれが適材適所で進化していってくれるのを楽しみにしています。
P子「『Python なんて、大っ嫌い!』じゃなかった?」
まあ、今でも時々ちゃぶ台をひっくり返したくなることもありますけど。
ほな、さいなら
======= <<注釈>>=======
※1 P子「で?どちらの見方なの?」
P子とは、私があこがれているツンデレPythonの仮想女性の心の声です。