新しいものを表示
orange さんがブースト

ポヨグヤミン入門が論理回路からの Verilog からの C だったので、どうしても手続き型視点がなぁ

スレッドを表示
orange さんがブースト

育ちが悪いので、 Rust を書いててブロックが式になるけど手続き型っぽいのなどを見て最初に浮かんだ感想は「これ Ruby で見たやつだ、いいじゃん」でした (Scheme ではなかった)

よく知らないけど、1 + "hoge" ってRubyではエラーらしい( togetter.com/li/163331 )し、あれかも><

orange さんがブースト

そういう (言ってみればエッジケース的でもある) 話、結局「自然なセマンティクス」があるよねという話になるので、最低限意味論という概念を認識できていないとどうしようもないし、この話をするたびにいちいち意味論について書くほど暇でもないというのがある

でも、お約束の
1 + "hoge"
がエラーになるかどうかみたいなのもどう型付けするかの話であって動的静的の話とは直接関係ないって、そこ理解してない人が多い話ではあるかも><

orange さんがブースト

そもそも言語の設計の話をするならその辺りは教養の範囲内ではの気持ちがなくもないので……

orange さんがブースト

らりおさんは型システムの議論慣れてるからそんな事は当然として話してるけど、型システムの議論慣れてない人はそこもなんのこっちゃらわからないわけで・・・><

orange さんがブースト

オレンジが言いたい事としては、この議論をするなら、特に型システムの議論に慣れてない人がいる場合には、『動的静的の厳密な違いの話』( mstdn.nere9.help/@orange_in_sp mstdn.nere9.help/@orange_in_sp )と、『静的型な環境と動的型な環境それぞれの傾向の話』は厳密には違うって話もしてあげないと、混乱して可哀想かもって・・・><

orange さんがブースト

そもそも雑でいいやという思想だと動的型付けになりがちなので (スクリプト言語の大半もそうだし)、そのあたりのコアの思想が明確でない中途半端というか一貫しない言語はそもそも考慮する価値をあまり感じないですね……

で、強い弱いも型安全も文化圏によってかなり指すものが違ったりするので、オレンジは「ゆるふわ」ってゆるふわな書き方をしてた><;

そもそも型がゆるふわかどうか面って、どこがどのようにゆるふわかで例えばオレンジが大好きな(だけど実用はしたことが無い)Adaの思想であれば「整数型とかそのまま使うのマジ!? ちゃんと名前ついた型作れよ」みたいな発想だし、あれかも><

これの言語とか静的型付けだけど、スプリプト言語っぽい思想の変な言語でかなりゆるふわ的発想かも><

U-22プログラミング・コンテスト2019、独自の言語を開発した15歳が経済産業大臣賞を受賞 | スラド IT it.srad.jp/story/19/10/23/1625

orange さんがブースト

そもそも静的型付き言語は型をしっかりつけろという前提があると仮定していたので、静的型付きなのにガバい言語とかいまどき新しく用意するか? と思っていたという話です。
古代言語の系譜なら C みたいにガバいのも仕方ないとなるけど

オレンジのさっきのgistでの本題として言いたい事はそのおかしさで、なおかつ、ちゃんと型安全にするのであれば宇宙船演算子を導入すると便利そうって言いたかった><
あと、この事例がまさにそうだけど、こういう場合には静的か動的かって話ではなく型安全とか強い弱いの文脈の話であって動的でゆるふわだけど強い型付けとか色々あるわけであって、静的/動的ではあんまり書かないほうがいいんでは感><

orange さんがブースト

IComparable インターフェイス (System) | Microsoft Docs
docs.microsoft.com/ja-jp/dotne

え、マジで現代に静的型付きなのに三方比較を int で返す言語があったの!?
それはごめんなさい、 C# のマトモでなさを見誤ってました

C# はそこに関してはなぜか型がゆるふわだけど、別に長くないよ?>< むしろオレンジの書き方の方が冗長><

orange さんがブースト

や、だってまさか言いたいことの本題が「C# の三方比較クソ長ったらしすぎ」だったとは思いませんよ

じゃあ最初から「そんな心配しなくてもC++では宇宙船演算子が型をきっちりとした実装で導入されるからそんな心配しなくても大丈夫だよ!」で50分の謎のやり取りしないで済んだじゃん?><

orange さんがブースト

はい、「<=>」を実装している沢山ある言語のなかでも静的型付きなのは C++ だけでしたね

orange さんがブースト
古いものを表示
:realtek:

思考の /dev/null