なんか考えてることとか

変な人が主にプログラミング関連で考えていることをまとめる。

オフサイドルール言語が批判される意味がわからない

ブロック単位で字下げを行う、もしくはフォーマッタをかける初心者でない人がオフサイドルールでないプログラミング言語を使わない、というのは、良いとして、初心者向けにもお勧めしないことが理解できない。

俺個人としては、初心者にこそオフサイドルール言語を使わせるべきだ。

字下げを行わずにコードを書くなんて非常識なのだから、オフサイドルール言語は要らない、そう思った方もいるだろう。

しかし、そうじゃないのだ。真の初心者は、字下げがないことによって可読性が下がることすら考慮しないのだ。
現実として、ソフトウェア開発の未経験者が書いたコードは、そうであった。そもそもリスキリングしてから書けよ、と思うだろう。最初から経験者に頼めよ、と思っただろう。だが、この未経験者は、そうはしなかったのだ。

そして俺は、そいつによって地獄を見せられた。そうして作られたのが、この記事である。まぁ記事の趣旨は「可読性を犠牲にしてでも行数を少なくするべき」とかいう危険な思想に関しての批判なのだけれど。字下げに関しても、本当に酷かった。

ついでに言うと、この初心者どもは、スペースも一切使わずに、詰め詰めでコードを書きやがったので、ある程度スペースが強制されるような言語であればもっと良い。これは、あまり聞いたことがないけども。

もしも、こんな奴らを野放しにしてでも、オフサイドルール言語を批判するのなら、字下げを行わないコーディングを違法にするべきだ。こんなのは、もはや犯罪である。

「行数の少ないコード」信仰者による、非常に読みやすいプログラムの書き方



注意
この記事は私怨や戒めを込めたネタ記事です。こんな記事を真に受けず、マサカリは投げないようお願いいたします。
もっと読みにくく、イラつかせるアイデアは大歓迎です。

続きを読む

JavaScriptのNumber型におけるbit演算は悪である

⚠注意⚠

今回の記事は「特に」個人の感想色が強く、JavaScript好きにとって不快になる要素が含まれているかもしれません


おそらく手続き型言語であれば必ずと言って良いほど存在するbit演算。今回はJavaScript(以下JS)のNumber型におけるbit演算は自分が今まで見てきたbit演算の中でも最悪の物であることをお伝えしたいと思う。

続きを読む

Python 3.11で末尾再帰が書けるようになる

  • 2022/10/28
    • factorial関数の定義に誤りがあったので修正

3.10以前のPythonでは、再帰関数に対して「末尾呼び出し最適化」など何も対策をしていないために、普通に再帰関数を定義すると、問題が発生してしまっていた。

しかしPython 3.11でその問題が解消された再帰関数が書けるようになった。今日は再帰関数の問題点と、Python 3.11における再帰関数の定義の手法について書いていこうと思う。

続きを読む

Rustにおいてbreakやreturnを含む式はどの型であっても良い

  • 2022/8/27
    • 演習問題の(3)で提示されているコードが間違っていたので修正

Rustaceanなら周知の事実であるが、Rustは基本式指向の言語である。そのため、すべてのブロックは式として扱われる。そしてとにかく型に厳しいことでも知られる(型に厳しいと言うよりは、少し特殊な場合を除いて部分型付けされていない、というだけのことなのだが)。

今回は、式において{ break v; }{ return v; }の型はどういう型になるのかについて書いていきたい。

続きを読む