ゼロベースからのPython
皆さん、こんにちは、こんばんわ。
His First Japan 合同会社 代表社員の字引淳です。
参画しているお客様の案件で、Pythonのワーカーインスタンスの開発。
業務どころか、以前、手だけ動かした機械学習のコードしか経験のない状態で、1人月タスクを割り振られる。
地獄
そう思ったけど、お客様のテックリードの方が丁寧に教えてくれたり、テストコードでモックが使いづらい箇所があったときなど、僕が5時間近く悩んだところを、数分で解決の糸口を示してくれたりと、支援をいただき、半月で、数か月分の勉強をすることができました。
Javaをやっていた人から見ると、Pythonの内包表記などは、変態にしか見えませんが、実際使ってみると、JavaのFanctionalとか、Lambdaとかが冗長で、あほみたいだとしか思えなくなります。
各々特徴のあるコンピュータ言語なのでどちらがいい、悪いというような比較はむずかしいですが、Javaを利用するためには、最低でもSpringBootやなんやらのフレームワークを入れてIDEを使ってというような準備が必要なので、手間がかかります。
Pythonは、その点、シンプルにできることが多いので、ちょっとしたコードを作成するならPython。というように使い分けるといいかもしれませんね。
今回のことで学んだことは、JavaにはJavaの、PythonにはPythonの流儀があるので、応用して書けばいいというものではなく、ある程度は応用し、できる限り、流儀に従った書き方をするほうがいいという教訓ですね。
Javaっぽいパイソンも動くことは動きますが、それでは、Pythonの本領は発揮されません。
開発がひと段落したので、これから、文法などを確認していきます。
定数がないのか!
とか、いろいろな特徴がPythonにはあるので、定数がないのをどうやって補っているのかを知るのは、規則でがんじがらめになったJavaには活かす余地がないですが、何らかの力にはなるでしょう。