2023/11/29(水)

所用でGoを真面目に触った。例外が無いあたりはとてもC++よりC言語寄りの感触がある。C++やJavaScriptあたりの言語に慣れているのでだいぶ感覚が違った。

:=で変数を作成する記法は他の言語であまり見ない。悔しいがちょっと気に入った。PythonやBASICのように、代入時に存在しない変数は作成される仕様の言語というのがあるが、あれは変数を作成するのと書き換えるのの区別が付かないという問題があるので好かない。Cに連なる多くの言語だと(型) (変数名) = (初期値)という記法が使われるが、あれにしても=という同一の記号を変数初期化と変数代入の2つの意味で文脈によって使い分けるというのが良くないと言えばよくない。その辺に対する一つの答えとしてアリだと思った。

構造体にJSON用のアノテーションを付けたりとかそういうのが出来るのはまあなんかモダンですねという感触だった。Rustでも見るのでこういう機能の方向性は知っているが、語れるほど使いこなしてないのでなんとも。ただまあ、プログラマにとって便利なのは間違いない。付けた情報が一体何者からどう利用されるのか、というのが非自明なのがちょっとモヤるが。

VSCode用の拡張機能を入れたらなんかいちいちすごい効果音がぺこぺこ言う。さらにすごい補完されたりすごいコードへの指示が来たりする。ありがたいのだが、はっきり言ってコードを書いてる感じがしなくてなんか微妙な気分になる。フォーマットや書き方的な部分は非本質であるがゆえに、言語的に縛られるべきではないみたいな感覚が少しあり、その辺にいちいち口出されることにだいぶ強い違和感を覚える。


明日は午前が休みなので少し心が軽い。土日の休み以上に平日のちょっとした朝の休みが快い気分になるのはなぜだろう。

Categories: