次世代言語18 V Julia 他
■ このスレッドは過去ログ倉庫に格納されています
スレタイ以外の言語もok
前スレ
次世代言語17 Go Rust Kotlin TypeScript Julia
https://mevius.5ch.net/test/read.cgi/tech/1567602619/ >>118
C/C++だって生メモリに対して型を仮定してるだけだから似たようなもん C++は例外安全パズルだったな
「CのコードはそのままC++のコードとして使える」が嘘八百だと割り切れば解ける
嘘八百だは言い過ぎだろなんて擁護してたら解けないパズル >>118
前スレでは型がどうとか言ってたな
時間の経過とともにトーンダウンしてるのは気のせいか >>118
漸進的型付けではなく構造的部分型なの? >>127
構造的部分型を利用して漸進的型付けを実現している 型を指定すると何も作ってないことになるんだからすごい プロダクトを作るって観点で言語を議論せず
やれ型パズルだのやれ安全パズルだのぐだぐだ言うバカばっかになった >プロダクトを作るって観点で言語を議論せず
どうせ「俺はこれで作れるんだ」の応酬で議論にならない >>125
元々互換性は完全では無いけど、例外安全と何か関係あったっけ? >>129
構造的部分型の名を出した方向性は分かったがそこからどうanyの議論に発展するのか分からないな 例外はcatchしなければexitに似ているが
catchしたら、Cなら既に終了しているプログラムがまだ動いているようなもの 例外はCで対比するなら戻り値かerrnoで処理するものだから普通に動いているだろ マネージャー「このままじゃ期限に間に合わないが……大丈夫か?」
型ガイさん「大丈夫です!!!メンテナンスのことを考えて型に拘っていますので、品質の良いものができるかと!!!!!」
マネージャー「型?そこは拘らなくていいから期限を……」
型ガイさん「僕に嘘つきになれって言うんですか!!?!!!!??????!!!!!!」ドンッ!!!! 型定義できるのにany使うのはただの手抜きでしょ
テスト書かない奴・ドキュメント書かない奴と同レベルの言い訳されてもね
程度が知れるわ >>139
ほんとそれ
俺達真実の探求者からするとanyは許せないよな。嘘つきの言葉を許すな!w >>138
マネージャ無能すぎるだろ
こわい現場だ 型書いたぐらいで期限に間に合わなくなるってことは、当然テストもロクにしてないわけで…… そりゃテストなんて書かないでしょ
作るべきもがあるからな!ドンッ 「型合わせ終わったからバグはありません!」
「どれどれ」
「バグだらけじゃねーか!ふざけんな!」
「型合わせ終わったのにどうして....」 型システムを過信し過ぎるのも型を軽視しすぎるのもよくないねという話なんだよな
型が合って出なくなるバグは型にエンコードした情報だけって事すら認識してない人間が型パズル型パズルって馬鹿にしてそう >>144の思考だとvoid*を使わないC/C++にはバグがないということになるが? このスレJuliaと銘打ってるのにJuliaの話題出てこない。 「any」というのはですね、嘘吐きの言葉なんです。中途半端に型を使うからanyになるんですよ。 最近の言語だとvar someClass = new SomeClass()みたいなnew演算子は排除するのがトレンドなのかな
C++だとnewのあるなしで確保先をスタックとヒープに分けるから意味あるけど
Java以降の言語でオブジェクト生成に毎回new打たせる意味は結局よく解らなかったな
特に意味もなくnew打たせる言語はもはやレガシー感漂う Goに至ってはnewはゼロ初期化明示に残ってこそいるけれどスタックかヒープかは自動でコンパイラが割り振るしな ハンガリアンかな
接頭辞newを見て補完候補を絞り込む JavaScriptのnewの有無による差(言語仕様)が嫌い あとjsonなどで思うのが
list: [
aa
bb
]
または
list: [
aa,
bb,
]
のように書きたい
リストの中間か最後(または先頭)かでカンマの有無を調整したくない dartはそこらへん緩かったような
a = [3,3,if (hoge) 4,for () i]
とかもできるようなったし。 >>154
中間のカンマ省略可能だと式書きたいときに困るでしょ TSの型狂信者なんて関数型言語の狂信者に比べれば数も個体の狂暴性も大したことないじゃん コードの書き方勉強するならもちろん外人が書いたコードを見た方が上達するんだろ? >>157
なにそのウンコよりゲロの方がマシ理論
これだから型パズル大好きマンは 型パズルってフレーズここで聞きすぎてむしろ静的型チェックのない強い型付けの言語の方が型パズルだと思うようになってしまったけど… 部品の型を言えばオートでパズル解いてくれるのが静的型チェックで、
人間がこの部品がどこならちゃんとはめられるか考えないといけないのが動的型付けだから、
なるほど型パズルなのは動的付け型の方だな 解いてはくれねえだろ
コンパイラが間違いだと思ったら指摘するだけでよ
コンパイラが仕様を理解して正解を提案してくれる訳でもあるまいし
結局人間がきっちり書くしかねえんだよ
型が合えば満足する奴はそこがわかってない 実際問題型に過剰な信頼を寄せている人間はおれどもTypescriptの中でわちゃわちゃしてるくらいなら別に良くない?
PureScript使えって言い出してる訳じゃないし
あっちはReactが上手く使えなかったり生DOM上手く使えなかったりで、静的型付け好きな私でも本末転倒感を感じる 逆なんだよなあ
最低限型が合ってるかどうかコンパイラがチェックしてくれる分だけ労力を他のことに割ける
動的型付け信者はまるで動的型付けだとロジックのバグが発生しないかのような物言いをする 動的型付けは不完全なコードも実行できるようにしてデプロイまでの工程を高速化するためのものであって、バグは当然増える >>167
ジェネリクス使いだすとだんだん手に終えなくなってくるよ
ようは単純な型使ってるだけの間は害はない
メタプログラミングやりだしたらどうでもいいところに時間かけるようになる 本来動かないコードのエラー発生をランタイムまで
先送りするのがメリットなのか? ジェネリクス使っただけで手に負えなくなるプロジェクトって静的型がなかったら実行時バグで死ぬだけでは >>170
ジェネリクスとメタプログラミングは全然違うんだが
C++のテンプレートと勘違いしてる? >>175
型の制限を加えるプログラミングと言えるのでメタプログラミングのひとつだよ
出来合いのコンテナ使ってるだけの人は気にしなくていい >>176
型の制限を加えるとメタプログラミングになるというロジックが意味不明 >>138
マネージャー「このままじゃ期限に間に合わないが……大丈夫か?」
型なしガイさん「大丈夫です!!!期限を最優先に、JSDocも型も書かずに、コードだけを書いてます!!!!!」
ええんかおまいら・・・ 生JSはそもそもまともにドキュメントを書けるような構造化されたコードを書ける時点で結構ハイスキルな方だし、
そのレベルならドキュメント書かなくても十分に可読性や保守性の高いコードだと思うよ 流石にドキュメントは書こうぜというか
最早型云々のレベルじゃない ↓これマジ?ルーストってまともなエディタも作れないの??
686 デフォルトの名無しさん sage 2019/10/04(金) 22:07:43.17 ID:YLLg2aHe
AtomチームがやってたRust製エディタの実験プロジェクトも終了したんだからあきらめよう char **argv の時点で既にパズルになってたよ
型レベルの構文木があるなら構文解析もあるので型レベルプログラミング不可避 >>183
Atom自体が死に体だから余裕が無くなったのだろ
まさかAtom用のフレームワークElectronを利用したVSCODEにシェア奪われるとは >>182
第1引数は数字です
第2引数は文字です
って書くんか?
それじゃ「メンテナンスのことを考えて型書いてますんで!!!」ガイジと同じレベルやないかい その情報無かったら他人はどうやって使うのさ
命名でカバーするの? >>187
マネージャー「型?そこは拘らなくていいから期限を……」
型ガイさん「その情報無かったら他人はどうやって使うのさ命名でカバーするの?!!?!!!!??????!!!!!!」ドンッ!!!! >>189
なんでっておまえらドキュメントガイジがコードも書かずに遊んでるからだろ
給料泥棒 /**
* メソッドの盛り合わせでございます。
* データベースにお接続し、データを取得でございます。
* 第1引数は数字でございます。
* 第2引数は文字でございます。
* 第3引数はあるかもしれないしないかもしれないでございます。
* 返値はないかもしれないし数字かもしれないでございます。
*/
おまえら下請けのゴミどもはヨ?納品物は正しく敬語で書けよ 正直>>191はやりすぎだけど
型ガイさんみたいな意識高めの人ってコメント全く書かなそうだし>>191の方がメンテナンスしやすそう ジェネリクスとメタプログラミングについてはとりまRust Part7 260をチェケラ もはや次世代言語関係なしに型もドキュメントもテストもロクに書けないペチパーが暴れるだけのスレになったな > 返値はないかもしれないし数字かもしれないでございます。
これが実際だったりしてもコメントにすら書かないでごまかす輩がいるんだよな。
型にこだわるやつに限って都合の悪いことはコメント書かん傾向にある。
逆にうまくいかんことをコメントにしろと思うのだが。 >>195
これもまったく逆だな
文字列か数値かnullが返る関数はそういう型を書かないとそもそもコンパイル通らないし、
そういう妙な型になってる関数はなんでそんな関数が出てくるのか、どんな用途なのかわからないようだとコードレビューに通らない >そういう妙な型になってる関数はなんでそんな関数が出てくるのか、どんな用途なのかわからないようだとコードレビューに通らない
そんなレベルでコードレビューやってるなら問題ないだろね。 >>195
> 都合の悪いことは書かない
型に関しては全くそうは思わないが、話は変わるけどテストコードはまさに > 都合の悪いことは書かない が横行してるよね
ユーティリティ関数のようなテストしやすいところだけテスト書いて、本当にテストの必要なコア部分は誰もテストなんか書こうとしない
奇跡的に書かれたとしても頻繁に変更が入るからすぐに壊れて放棄される
この傾向は型の有無とは無関係だが、実際にはテストコードなんか無いのにその現実から目を背け
「テストがあれば型は不要」と抜かすのが動的型信者 >「テストがあれば型は不要」と抜かすのが動的型信者
こんなこと言い出す輩はruby使ってる奴以外見たことないがな。
逆ならたくさん見てきた。 >>199
まあそれはその通り
一方で、それなら静的型を使っているプロジェクトはそうでないプロジェクトに比べてテストが書かれないのかというと、
面白いことに実際にはたいてい逆なんだよなw
言語の性質とは無関係に、単に品質に対する意識の問題なんだよ Haskellくらい型の表現力が豊かで状態を陽に扱う言語だと、コンパイルが通れば大体狙い通り動くってことが良くある
静的型付けでもオブジェクト!フィールド変数!ウオオオ!って副作用バリバリな言語だと、テストコード書かないと安心できないことの方が多い 別に「型なんてなくてもいいものができる」なんて流石に言わんでな
「型キチがモナドだのFreeだのEffectだのでパズルおもちゃにしてマウントとってくるくらいなら型なんていらねえ」って言ってるだけ
これは個人の感想じゃなくて、Scalaの大失敗からの教訓な
これをいうとすぐペチパー連呼発狂マンが飛んでくるのほんと図星なんだなとしか思わん >>191
こういうコメントに謎の型書くくらいなら
普通に言語機能の型書いた方がよくない・・・?
> 第1引数は数字でございます。
が平気で null | string (ただし暗黙キャストで数字になる) とか使われてたりするのが、型無し言語の世界だぞ
お前らこれ読んでも、型よりコメントの方がいい、型はなくていいとか、本気で言ってるの? おもちゃにするまではなんとなくわかるが個人の勝手だし、マウントとってくるってのはなんなのかわからんな。 個人の勝手で共同プロジェクトのソースコードぐちゃぐちゃにされたらたまらんわ
結局メンテできるのそいつ一人になって
仕事が集中したらケツまくって逃げるんだもんな
型にこだわるやつは地雷だし、そんな奴をホイホイする言語が地雷 Cのマクロをほぼほぼ封印できた成功体験が大きいと思うぜ
マクロをどう使おうが個人の自由、などという結論にはならなかった
ちなみにマクロを否定するなら代案が必要だったから俺達はtemplateで再帰とかしている メンテナンスが〜!って言われるけど作って最初の数ヶ月だけメンテされて
その後APIの仕様変更とかがない限りずっと放置されるんだよね……w 個人の勝手でコードぐちゃぐちゃになるってどういう組織なのよ
どんな体験からそんな保守的になったのか興味あるわ 個人の勝手うんぬんって、完全にマネジメントの問題じゃん
それが型のせいで〜とか、思考回路ショート寸前すぎない? >>211
新規で作るよりあるものに機能足そうって思想で魔改造されるパターンで
放置どころかメンテが続くパターン知らないんだな TSってaltJSの中じゃ保守的な方ってイメージだったんだが
言語機能としてはC#やJavaと大差ない程度なのに1人抜けたらメンテ出来ないってヤバいでしょ 型キチが大暴れしてコードしっちゃかめっちゃかにするのを
型キチ本人のせいじゃなくてマネジメントのせいにするとか
まじで自分は悪くない正義なんだ思想でゲボ吐きそう
ScalaでScalaz使い倒した上にimplicit地獄で複雑怪奇に絡み合った製品コードを
「これがきれいでシンプルでバグもない!」って強弁した挙げ句
誰も触れないからメンテお前が一人でやれって言われた途端退職したキチと同類なんだろうなお前ら
今のScalaの惨状みてると、日本中といわず世界中で似たようなことあったんだろうなって思うは そりゃちょっと勉強すれば誰でもメンテはできるだろうけど型ガイさんのために学習コストを払うのが前提だよね……😅 >>216
そいつがキチなのは本当なんだろうけど
それじゃそのキチにすら見限られるよ・・・ 型アンチが型を嫌う理由が型に1ミリも関係ない私怨で草
動的型ならしっちゃかめっちゃかにならなかったわけじゃあるまいし
そいつ本人とコードレビューが機能してないのがダメなだけ
そいつがRubyやら生JS使ってても同じことが起こっただろう とりあえず「コードしっちゃかめっちゃか」の例を見てみたい だから型そのものが嫌いなんじゃなくて
型キチのおもちゃになるくらいならそんなもんいらないとしか言ってねえっての
型そのものの有用性くらいわかっとるわ
型キチの藁人形論法寒気するわ ■ このスレッドは過去ログ倉庫に格納されています