見出し画像

最近のプログラミングについての雑感

いや~、どうも。。いつものIT系のおっさんです。最近、なんとなく思ってることをつらつら書きたいと思います。

やっぱり、静的言語はイイ

4月ちょいぐらいまで、毎日、Pythonを書く日々だったのですが、その後、TypeScriptに仕事が変わったので、久々に静的言語に戻ってきたわけです。すると、やっぱり、ビルドができるんで、基本的な問題なら、ソースコードを動かさなくても気付けるのでラクですね。もちろん、Pythonじゃないとやりづらい仕事だったので、Pythonを使うメリットのほうが、トータルでは上回っていたので、Pythonでやってたわけで、Python以外でやるべきだった!とかそういう話ではないですけどね。

やっぱり、テスト付きのソースコードはイイ

ソースコードにテスト(単体テストとか)が付属していて、それを動かすことで、デグって(不具合が生じて)ないか確認できるっていうのは、やっぱいいですね。静的言語ならビルドである程度確認はできますが、実際使ってみないと分からない部分もやっぱりあるんで、そこで、テストです。

Pythonの時はデータ分析とかなんで、テスト書くってほどでもない気がして書いてなかったわけなんですが、やっぱり、他の修正をしてるうちにいつの間にか動かなくなっていたコードとかもありました。日々テストを動かすことで、そういうのを回避できるし、逆を言うと、テストによってデグってないか確認できるからこそ、怖がらずにどんどん、リファクタリング(体質改善的なやつ)とか、大幅改修とかできる、ってのもありますよね。

テストが無いと、怖がってリファクタもやりづらいとか、リファクタやったせいでデグって怒られるからやらないとか、そういうことになりがちで、クソコード化の進展がめちゃめちゃ早くなるんですよね。

静的言語だと、テストの数は少なくて済む

戻って来てる型が文字列だとか、整数だとか、そういう確認のためのテストは書かなくていいですからね。逆を言うと、動的言語の場合は、そういう基本的なこともテストで書かなきゃ確認取れないってことです。やっぱ、静的言語ラクだわ~。Javaとかだと、記述量が多くなったりして面倒、みたいなのもあったんですが、TypeScriptとか型推論がある言語だと、結構、型も省略できるんで、型の恩恵も受けつつ、型は結構書かなくて済むから、いいとこ取りばかり、という印象です。

とは言え、Rustはそれなりに苦労中。。

Rustは家で勉強がてら書いてるだけなので、さほど歴が長くないからからってのもありますが、まだまだ難儀してる感があります。

自分で書いたコードの量が増えて来ると、引き込まれてくる

それがプログラミングってやつですね。Rustは構文に慣れてないとか、使った歴が短いから、っていうのもありますが、書いた量が少ないんで、まだ、それほど引き込まれてないって面もあります。書いた量が増えて来ると、色々と、あれをこうしたい、ここをそうしたい、とかいうのが増えてきて、引き込まれてくるんですよね。作業興奮の概念と近いかもしれない。やればやるほど加速していく感じです。

でも、動的言語でコード量増えると・・

動的言語の場合は、一方で、逆方向の力も働きやすいです。つまり、コードが増えてきたんだけど、ビルド確認とかも取れないし、見たいコードにすぐに飛べないし、とかで、だんだんだるくなってきて、こんなん、メンテできるかっ!って投げ出したくなる感じです。ちょっとしたものを書くだけならいいんですが。。

おっさん(私)がRustをやるメリット

1. 高速化が可能なので、bot開発(趣味の一種)で差を付けられる、はず。
2. C++歴が割とあるので、Rustが理解しやすい。逆にC++やってない若い人には参入障壁になってる。高い壁の中なので、競争相手が少ない。
3. 必然的に年増が多い世界になりやすい素地があるので、おっさん(私)が年増でも、目立たないので、居心地悪くない。

一般のおっさん(年増)がRustをやるメリット

1. 組み込み系とかで古臭い仕事をしてる人も、Rustによって一躍、最先端のナウい(死語)仕事に転業可能!
2. そして、モテる。

窓際族なおっさんたちの逆襲が始まりそうですね。

(;゚д゚)ゴクリ…

乗るか乗らないかは、テレビの前のあなた次第。。

おわりに

というわけで、おっさんなら是非、Rustやりましょう!

じゃ、またね~♪


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