Python、強すぎる

最近業務ツールの作成でPythonを触っています

この言語割と強すぎませんか?と思うこの頃です

(強いっていうか便利ですね)


普段はJavaを主に使って開発することが多いのですが、開発の主体じゃない補助的な役割のツール類製造に関しては特にこれというのを決めて言語を選んでいませんでした

時にはshellやpowershellで書いてみたり、時にはJavaで書いてしまったり・・・

ただどれも痒いところに手が届かないというか色々な部分で独特だったりとかするのでちょっと使いにくい感がありました

別に独特でもいいんですけど、それを差し置いてもコード量が少なくすむとか可読性が良いとか開発環境が速攻で整えられるというメリットが欲しいと思っていました


Pythonとの出会い

突然のことでした

ある日上長にこのプロジェクトもanaconda入れもいいことになったよ〜と言われその日のうちに入れました(かなり意味不明なタイミングです)

その日の昼休みは昼食そっちのけで同じくインストールしたjupyter labを触り倒していました

Pythonはそれまであまり触ったことがなかったのでググりながら基本的な文法に関してはさらっと眺めました

他のプログラミング言語と基本的な部分は大して変わりなかった為、割とすんなり入れた記憶があります


Pythonで簡単な業務ツール製造

if文とfor文まで書き方が分かって、Pythonを完全に理解した時点(ダニングクルーガー効果!)で作らないといけないのに放置していたものがあることを思い出しました

具体的な説明はできませんが、簡単にいうととあるフォーマットの決まったexcelファイルをインプットにし、解析して結果をアウトプットするというよくありそうなツールです

製造するにあたって一応候補としては

😨 VBA → Python同様使ったことないし覚える気もないです(ごめんなさい)

😅 powershell → 今までexcelファイル解析では騙し騙し使っていましたが独特すぎていつも書き方とか忘れるので却下(完全に私の能力の問題・・・)

😍 Python → 数年遅れですがついに時代の波に乗れる

こんな感じでした

Python一択ですね!


書いてみての感想

まだPythonの持ってる力の何億分の1程度にしか使えていませんが、みんなが話題にするだけあるなと思いました

作ったのはpandasでexcelファイル読み込んでディシジョンテーブル形式になっているオブジェクトをひたすらパターンに合わせて解析し結果をアウトプットするツールでしたが、

思ったよりコード量が少ないこととコーディング時間が少ないことも驚きでした(慣れていなくて調べながらやったにしては短い時間で済みました)

今まで動的型付け言語をあんまりメインでやったことがなくJavaとGoと若干C++(C++で作られたシステムのバグ改修程度です)を経験してきました

古いシステムで生のJavaScriptで書かれたシステムの改修をしたことがありましたが、動的型付け言語が故の地獄を見た経験があったのでいい思い出がありませんでした

まあでもそれはそのシステムが悪いだけでPythonで何か作ることとは全く関係無いし意識して作れば特に問題にはなりませんでしたね


っていうかたいていの補助ツール類って割とPythonで作るのが最適解なんじゃないですかね・・・

便利なライブラリもたくさんあるし使用用途も膨大だと思います

(私はitertoolsの便利さに驚きまくりました)


最後に

Pythonはエンジニア必須ツールとなりそうです

もうなってるのかもしれません

まだ簡単なツール類しか作ってませんが、Flaskとか触ってみたいです

まだまだ触り始めたばかりの人間ですが、これからも機会があればずっと使い続けたいと思います

この記事が気に入ったらサポートをしてみませんか?