そりゃまあ != を重めにユーザ定義しない人には関係ない話だろうけど
そりゃまあ != を重めにユーザ定義しない人には関係ない話だろうけど
まあ言語仕様なんてだいたいは「今更後知恵で言われても」ばかりなのでそういうものだろうけど、それは妥協する理由ではあっても減点しない理由ではないので……
オレンジ的には演算子のオーバーロード大好きだし、出来ることならAdaのように標準の型はなるべく使わない思想で書きたい(C# では無理だけど)し、Delphiでも部分範囲型とか色々多用してたし、実際に必要な場面があるか謎だけど、nullとの比較で特殊な処理をするクラスも、オレンジ的には書ける言語の方が望ましいと感じる><
Adaのように積極的に型システムに頼って静的型検査で安全を確保するって考えを達成するのに必要な範囲であれば、型システムに柔軟性が必要かもって><
まああとオマケで、 ! 演算子が前置と後置の両方で使えるのも x !is not null (本当は x! is not null 相当の解釈をされている) の勘違いが通ってしまう原因なので、そこは記号を変えるなりすべきで前置/後置演算子両方あり (しかも意味は全然違う) みたいな割当は避けるべきだった
その変な書き方自体その記事ではじめて知ったし、オレンジは古いバージョンのC# で書いてるので使えない書き方かもしれない><
でもどっちにしてもオレンジは
if (hoge!=null) { なんか処理 }
みたいな書き方しかしないから、別にいい><(?)
あー、もしかして early return する if の場合は後続コード全てが暗黙に else 節に入っているというセマンティクスになってる?
なら理解はできるけど、名前の導入くらい重要なことはちゃんと専用の文法を用意しなよと思うわ
ところが最後のコード例を見ると残るっぽい書き方になってる
たとえば C++ でも if(auto x = hoge) {...} における x のスコープは then 節と else 節の中で済んでいるはずで、「if の条件の形で if 外から参照可能な名前を宣言/定義する」というのは妙じゃないですか?
で、次に妙なのが、バインドを伴うパターンマッチと boolean の式としての条件式が同じ書き方をできて、しかもそのバインドのスコープが if を抜けた箇所まで残ってる部分。
if (a.X is not { } x) return;
の後ろまで x が残るのは普通にうわぁとなります (ブロックスコープのない Python かよ……)
うわぁポイントはいくつかあって、一番根本的で今更どうしようもないのは変数が透過的に参照になっているところで、アドレスと値を明示的に区別できる言語仕様なら「ポインタと null を比較」は「ポインタの参照先の値をユーザ定義の比較演算子で比較」と混同しようがなかった。
透過的な参照は他にも shallow copy と deep copy の問題とか引数渡しと書き換えの問題とかを発生させる悪しき概念だと思う。
Rubyを例に出したのはこれを参考にした><
"Ruby: それはstdlibに搭載されているモジュールをrequireすると、整数割り算の動き方に影響を与えてしまう言語。"
Rubyにはウンザリ!動的型付け、副作用、およびオブジェクト指向プログラミング全般からの考察 | POSTD https://postd.cc/sick-of-ruby-dynamic-typing-side-effects-object-oriented-programming/
よく知らんけどRubyみたいに既存のクラスの振る舞いさえ変わっちゃう言語(? よくわからん)ならあれだけど、新たな数値型を実装したりする場面とかで演算子のオーバーロードを使って、そのなかでの演算子を使う処理が重いかもしれないって、文句あるならそういうの使わずに組み込み型使うとかすりゃいいじゃん><
型安全の考えに対して逆行してると思うけど><
どの部分が「うわぁ」なのかよくわからない><;
(==でいいじゃんって思うし重いかもしれないって重い判定が必要な場合には重くなるの当たり前じゃん感だし、==演算子のオーバーロードをしてある何らかのクラスの当該処理がnull比較でも重いのであれば、そのクラスの問題(そのクラスを書いた人の責任)でしょ?><
それをやめれって制限かけてったらJavaみたいな、ちょっとオリジナルの数値型を作ろうとするだけで演算子が使えなくなる柔軟性の無い言語に行き着いちゃう><)
Windowsのメニュー項目ってタブ文字が入ってるとタブ文字以降を右端に描くけど、同じ描き方を一発で出来るwin32apiのなにか(?><;)って無いのかな?><;
そういう風に考えると、jumpとdreamsって祖先が共通してる曲というか、jumpの姪(甥?)がdreamsみたいな感じになる?><;
what a fool believes
↓(パクリ)
steal away
↓(編曲に強い影響?)
kiss on my list
↓(出だしそのまま)
↓abadabadango
↓↓(同じ人の過去作でシンセリフ元ネタ)
iron eagle(naver say die)
↓(ものすごく強い影響を受けたっぽい)
dreams
って気がする><;
kiss on my listってjumpの元ネタとされてる曲でもあるしEVHこの曲すごく好き?><
dreams制作時にiron eagle(naver say die)の影響を強く受けたことはほぼ間違いないとオレンジは思うんだけど、EVHはiron eagleを聴いた時に「おっ、kiss on my listからパクってるじゃんw」って思ったのか思わなかったのか?><;
さらに気づいたけど、もしかしてiron eagleとdreamsの共通の祖先のひとつとしてこれもある?><;
"Kiss On My List" を YouTube で見る https://youtu.be/YOuhYuZLNYw
"Abadabadango" を YouTube で見る https://youtu.be/f2GX38BsHHc
が
"Iron Eagle (Never Say Die)" を YouTube で見る https://youtu.be/CTn-YXatVMo
こうなって(上ふたつ作編曲同じ人)
"Dreams" を YouTube で見る https://youtu.be/bNAop4IRMRo
こうなった(00:29~)っぽい?><;
van halenのdreamsの元ネタって曲のイメージ的にもギター/シンセリフ的にもリリース時期的にもどう考えてもking kobraのiron eagle(never say die)だと思うんだけど、じゃあそのシンセリフの元ネタってあるのかな?>< と思ってちょっと調べたけどiron eagleの曲作った人がその前に作ってたkim carnesのabadabadangoが祖先?><;
"Abadabadango" を YouTube で見る https://youtu.be/f2GX38BsHHc
邦楽ほとんど聴かないけど、ごく稀に音楽番組で最近の邦楽を聴くと「1970年代じゃん><」って感想になることわりと多いかも感><
最近のそういう変化でギターソロがどんどん短くなって、カントリーのギターソロでさえ4小節くらいしかなくなっちゃったけど、
一方でちょっと古い洋楽ロックとかのyoutube公式チャンネルのMVやyoutube music用動画(?)のどの部分が多く再生されてるか表示を見ると、多くの場合ギターソロ部分がたくさん表示されてて、
じゃあリアルタイム世代の年寄り(60代以上)しかそういう曲聴かないのかというと、むしろサブスクの時代になった結果若い人が時代にとらわれず古い曲を傾向が強まったらしいし、
「じゃあ、前奏長くてギターソロも長い1970年代風の曲とかも売り方工夫すれば売れるんじゃね?><」って謎><
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
L.A.郊外のI-10を中心部方向に走っててヤシの木いっぱい見えてトロピカル><
"BigRigTravels LIVE from Jurupa Valley, California. ( Mar 16, 7:23 AM )" を YouTube で見る https://www.youtube.com/live/fN9th3yPPrk?feature=share
"BigRigTravels Tour of Russell's Car Museum in New Mexico" を YouTube で見る https://youtu.be/Rsyu_Hq1XMA