新しいものを表示

ていうか、Haskellで(型推論を否定せずに)プログラミングしてる人々、開発時にどうやってその複雑な型推論で決定される型が何であるか知るんだろ?><(便利なIDEでもあるの?><)

Haskellで対話コンソール(?)『『では無く』』型の名前表示して型推論がどう推論してるか見たいときどうすんだろ?><
C# で言う所の
hoge.GetType().ToString()
みたいなの・・・><(そんな便利な物は無い?><;)

今まで知らなかったけど、HaskellのIntegerじゃない方のInt、ものすごくキモい?><;
(古典的なCのintみたいな環境依存?><(なんで「型を!」って言語でそんな物を普通のコード(例えば低レイヤで移植性の問題でどうしても必要とか、とても限定的な場面以外)で使うんだろ?><;))

uint length = 100;
for (var i = 0; i < length; i++){}
とか他の型で書いても iはintに型推論されるっぽい?><;
(じゃあ何の意味あるの、わざわざ定型文入力を避けたっぽいこの書き方?><; もしかしてわざと未定義っぽい書き方にして将来のコンパイラの最適化を想定してる?><; ちゃんとした最適化ならintって書いても勝手に効率良い型に読み替えて最適化されるんじゃないの?><;)

スレッドを表示

C# でforループ(foreachでは無く)でわざわざvar使うの、メリットとして思い浮かぶのはInt32では収まりきらない時?><;
(むしろそんな場面がありうる場所で使うのって逆にバグの原因になるのでは?><;(将来的に(Adaの如く)自前の整数型かなんかを作って使う可能性を想定してる?><; なおさら型を明示的に書くべき場面だよね><;))

githubで(ちゃんと完全一致検索できないからあれだけど一応)検索したら
C# で"for (int i" は、4,014,293
C# で"for (var i" は、51,353
ってなった・・・><

わざわざ型推論で書いたっぽいコードわざわざ入力
[f][o][r][ ][(][v][a][r][ ][i][ ][=][ ][0][;][ ][i][ ][<]...
定型文機能(スニペット)使って入力
[f][o][r][Tab][Tab]...
・・・・・><
(もしかしたら設定で型推論優先にしてるのかもしれないけど、そこまでして型推論なコード書くの、何の意味があるの?><;)

VS2017のvarを一括で明示的な型宣言に変えてくれる機能、試すのに自分で書いた物だとvarほとんど使ってないからあれなので他人のコードで試してみたけど、そのコードに
for (var i = 0; i <(以下略)
とか書いてあって、「え!><; ループですらvar?><; intとvar両方とも3文字じゃん?><;」

ていうか VS2017のIDE、forって打ってTabキー2回押せば
for (int i = 0; i < length; i++){}
って定型文が入るじゃん?><;
わざわざ定型文機能使わないでわざわざintと同じ3文字であるvarって打ったの!?><;

日本だと、企業内で1本だけ買って、その会社のPC全部にインストールして全員で使いまわしとかが問題になってたかも><(通報されまくるようになって(?)、かなり減ったはず?><)

これ、ソリューションごとまとめて実行まで出来るじゃん!><;(VSのヒントでの修正、今まで気づかないでひとつひとつやってた><;)

スレッドを表示

ソニーのワープロの名前、「プロデュース」シリーズだ><
PJ-1000-コンピュータ博物館 museum.ipsj.or.jp/computer/wor

マイナーなのだと(ハードウェアだけだけど)、ソニーの・・・なんだっけ?><; あとしょぼいのだとブラザーも出してた気が><

orange さんがブースト

キャノンのキャノワードか、富士通のオアシスか、シャープの書院か、NECの文豪か、あとなんかあったっけ。

もう日本でもほとんどMS Wordかも?><(一太郎って、(一部の)お役所関連向け(お役所は古いままなので)になっちゃってるって話をよく聞く気が><)

こんなに簡単に出来るなら、『(C# では)varは完成品のコードには残さないようにしよう運動(※)』をしてもそこそこ受け入れられる?><;
(※コードを『読む』人間に型推論(を強制))させるべきでは無い、それこそ機械がすべきめんどくさい事を安全以外の理由で人間に押し付けている!><って発想><(逆に型を人間が明示的に書くのは安全の為なので、意思決定とマンマシンインタフェースのデザインの発想に照らし合わせて良い事><(人間と機械の多重チェック)))

型推論嫌ってるけど、foreach書く時だけは、(中身の型 in 集合の型)って書かされるから、オレンジの脳内の順番的に思い出しにくくて「なんだっけ?><;」ってついvarを使ってしまって、書き終わってから「そうだった!><」って(varが嫌いなので><;)書き直してめんどくさい><;ってなってたけど、これなら気にせずvar書けるし、書き終わったコードにはvar残らない=『人間は型を推論しなくていい』ので素晴らしい><

var fugas = new List<Fuga>();
foreach (var hoge in fugas)
{}
とか書いたあとにvar使ってる行でAlt+Enter押すと「'var'では無く明示的な型を使用します」ってヒント出てそのままEnter押すとちゃんと明示的な型に置き換えてくれるようになった!>< 超便利><><><><><

古いものを表示
:realtek:

思考の /dev/null