X



次世代言語18 V Julia 他

■ このスレッドは過去ログ倉庫に格納されています
0125デフォルトの名無しさん
垢版 |
2019/10/03(木) 20:09:06.24ID:foN68M/V
C++は例外安全パズルだったな
「CのコードはそのままC++のコードとして使える」が嘘八百だと割り切れば解ける
嘘八百だは言い過ぎだろなんて擁護してたら解けないパズル
0126デフォルトの名無しさん
垢版 |
2019/10/03(木) 20:20:39.48ID:19Ht2GHN
>>118
前スレでは型がどうとか言ってたな
時間の経過とともにトーンダウンしてるのは気のせいか
0130デフォルトの名無しさん
垢版 |
2019/10/03(木) 21:07:54.91ID:0BLjzKt+
型を指定すると何も作ってないことになるんだからすごい
0131デフォルトの名無しさん
垢版 |
2019/10/03(木) 21:22:20.83ID:vZs/C8bk
プロダクトを作るって観点で言語を議論せず
やれ型パズルだのやれ安全パズルだのぐだぐだ言うバカばっかになった
0132デフォルトの名無しさん
垢版 |
2019/10/03(木) 21:37:23.32ID:SvQDlrFS
>プロダクトを作るって観点で言語を議論せず

どうせ「俺はこれで作れるんだ」の応酬で議論にならない
0134デフォルトの名無しさん
垢版 |
2019/10/03(木) 22:17:31.43ID:kjukQEdu
>>129
構造的部分型の名を出した方向性は分かったがそこからどうanyの議論に発展するのか分からないな
0135デフォルトの名無しさん
垢版 |
2019/10/04(金) 00:07:17.02ID:x/Qhqm9U
例外はcatchしなければexitに似ているが
catchしたら、Cなら既に終了しているプログラムがまだ動いているようなもの
0136デフォルトの名無しさん
垢版 |
2019/10/04(金) 01:16:49.91ID:VgJGDogT
例外はCで対比するなら戻り値かerrnoで処理するものだから普通に動いているだろ
0137デフォルトの名無しさん
垢版 |
2019/10/04(金) 04:05:19.24ID:AwInIEFA
>>64
zigとの違いはナンでしょう
0138デフォルトの名無しさん
垢版 |
2019/10/04(金) 05:08:00.22ID:+WjHEk6J
マネージャー「このままじゃ期限に間に合わないが……大丈夫か?」

型ガイさん「大丈夫です!!!メンテナンスのことを考えて型に拘っていますので、品質の良いものができるかと!!!!!」

マネージャー「型?そこは拘らなくていいから期限を……」

型ガイさん「僕に嘘つきになれって言うんですか!!?!!!!??????!!!!!!」ドンッ!!!!
0139デフォルトの名無しさん
垢版 |
2019/10/04(金) 05:44:54.38ID:SpMME+ew
型定義できるのにany使うのはただの手抜きでしょ
テスト書かない奴・ドキュメント書かない奴と同レベルの言い訳されてもね
程度が知れるわ
0141デフォルトの名無しさん
垢版 |
2019/10/04(金) 06:03:38.67ID:1ASrQa/c
>>138
マネージャ無能すぎるだろ
こわい現場だ
0142デフォルトの名無しさん
垢版 |
2019/10/04(金) 06:11:57.87ID:6+RXT+MW
型書いたぐらいで期限に間に合わなくなるってことは、当然テストもロクにしてないわけで……
0143デフォルトの名無しさん
垢版 |
2019/10/04(金) 06:21:51.96ID:1ASrQa/c
そりゃテストなんて書かないでしょ
作るべきもがあるからな!ドンッ
0144デフォルトの名無しさん
垢版 |
2019/10/04(金) 07:03:06.07ID:Yf9jmew1
「型合わせ終わったからバグはありません!」
「どれどれ」
「バグだらけじゃねーか!ふざけんな!」
「型合わせ終わったのにどうして....」
0145デフォルトの名無しさん
垢版 |
2019/10/04(金) 07:10:07.14ID:hD2IkxgL
型システムを過信し過ぎるのも型を軽視しすぎるのもよくないねという話なんだよな
型が合って出なくなるバグは型にエンコードした情報だけって事すら認識してない人間が型パズル型パズルって馬鹿にしてそう
0147デフォルトの名無しさん
垢版 |
2019/10/04(金) 07:25:07.97ID:yNm14ygW
このスレJuliaと銘打ってるのにJuliaの話題出てこない。
0148デフォルトの名無しさん
垢版 |
2019/10/04(金) 07:42:49.57ID:fSgdSM//
「any」というのはですね、嘘吐きの言葉なんです。中途半端に型を使うからanyになるんですよ。
0150デフォルトの名無しさん
垢版 |
2019/10/04(金) 09:37:31.16ID:lnp3M0KY
最近の言語だとvar someClass = new SomeClass()みたいなnew演算子は排除するのがトレンドなのかな
C++だとnewのあるなしで確保先をスタックとヒープに分けるから意味あるけど
Java以降の言語でオブジェクト生成に毎回new打たせる意味は結局よく解らなかったな
特に意味もなくnew打たせる言語はもはやレガシー感漂う
0151デフォルトの名無しさん
垢版 |
2019/10/04(金) 10:18:13.78ID:hD2IkxgL
Goに至ってはnewはゼロ初期化明示に残ってこそいるけれどスタックかヒープかは自動でコンパイラが割り振るしな
0154デフォルトの名無しさん
垢版 |
2019/10/04(金) 11:58:03.15ID:VgJGDogT
あとjsonなどで思うのが
 list: [
   aa
   bb
 ]
または
 list: [
   aa,
   bb,
 ]
のように書きたい
リストの中間か最後(または先頭)かでカンマの有無を調整したくない
0155デフォルトの名無しさん
垢版 |
2019/10/04(金) 12:53:10.74ID:CFemRolP
dartはそこらへん緩かったような
a = [3,3,if (hoge) 4,for () i]
とかもできるようなったし。
0157デフォルトの名無しさん
垢版 |
2019/10/04(金) 14:38:10.03ID:JasulCXo
TSの型狂信者なんて関数型言語の狂信者に比べれば数も個体の狂暴性も大したことないじゃん
0158デフォルトの名無しさん
垢版 |
2019/10/04(金) 15:33:27.96ID:fSTucKVx
コードの書き方勉強するならもちろん外人が書いたコードを見た方が上達するんだろ?
0161デフォルトの名無しさん
垢版 |
2019/10/04(金) 19:06:33.35ID:x7KRb3pR
型パズルってフレーズここで聞きすぎてむしろ静的型チェックのない強い型付けの言語の方が型パズルだと思うようになってしまったけど…
0163デフォルトの名無しさん
垢版 |
2019/10/04(金) 19:36:22.90ID:6+RXT+MW
部品の型を言えばオートでパズル解いてくれるのが静的型チェックで、
人間がこの部品がどこならちゃんとはめられるか考えないといけないのが動的型付けだから、
なるほど型パズルなのは動的付け型の方だな
0165デフォルトの名無しさん
垢版 |
2019/10/04(金) 19:52:05.34ID:vlmSJkRH
解いてはくれねえだろ
コンパイラが間違いだと思ったら指摘するだけでよ
コンパイラが仕様を理解して正解を提案してくれる訳でもあるまいし
結局人間がきっちり書くしかねえんだよ

型が合えば満足する奴はそこがわかってない
0166デフォルトの名無しさん
垢版 |
2019/10/04(金) 20:47:40.84ID:x7KRb3pR
実際問題型に過剰な信頼を寄せている人間はおれどもTypescriptの中でわちゃわちゃしてるくらいなら別に良くない?
PureScript使えって言い出してる訳じゃないし
あっちはReactが上手く使えなかったり生DOM上手く使えなかったりで、静的型付け好きな私でも本末転倒感を感じる
0167デフォルトの名無しさん
垢版 |
2019/10/04(金) 20:51:25.00ID:6+RXT+MW
逆なんだよなあ
最低限型が合ってるかどうかコンパイラがチェックしてくれる分だけ労力を他のことに割ける

動的型付け信者はまるで動的型付けだとロジックのバグが発生しないかのような物言いをする
0169デフォルトの名無しさん
垢版 |
2019/10/04(金) 21:02:12.54ID:8yIxxMU3
動的型付けは不完全なコードも実行できるようにしてデプロイまでの工程を高速化するためのものであって、バグは当然増える
0170デフォルトの名無しさん
垢版 |
2019/10/04(金) 21:06:57.26ID:G1/ISgxb
>>167
ジェネリクス使いだすとだんだん手に終えなくなってくるよ
ようは単純な型使ってるだけの間は害はない
メタプログラミングやりだしたらどうでもいいところに時間かけるようになる
0173デフォルトの名無しさん
垢版 |
2019/10/04(金) 21:39:33.05ID:cnXTizuT
本来動かないコードのエラー発生をランタイムまで
先送りするのがメリットなのか?
0174デフォルトの名無しさん
垢版 |
2019/10/04(金) 21:40:16.83ID:6+RXT+MW
ジェネリクス使っただけで手に負えなくなるプロジェクトって静的型がなかったら実行時バグで死ぬだけでは
0176デフォルトの名無しさん
垢版 |
2019/10/04(金) 21:44:07.98ID:OLpRTMGU
>>175
型の制限を加えるプログラミングと言えるのでメタプログラミングのひとつだよ
出来合いのコンテナ使ってるだけの人は気にしなくていい
0180デフォルトの名無しさん
垢版 |
2019/10/04(金) 22:44:18.75ID:5vrHCZSw
>>138
マネージャー「このままじゃ期限に間に合わないが……大丈夫か?」

型なしガイさん「大丈夫です!!!期限を最優先に、JSDocも型も書かずに、コードだけを書いてます!!!!!」

ええんかおまいら・・・
0181デフォルトの名無しさん
垢版 |
2019/10/04(金) 23:04:10.46ID:Qy5oO/05
生JSはそもそもまともにドキュメントを書けるような構造化されたコードを書ける時点で結構ハイスキルな方だし、
そのレベルならドキュメント書かなくても十分に可読性や保守性の高いコードだと思うよ
0183デフォルトの名無しさん
垢版 |
2019/10/04(金) 23:22:38.10ID:f2ci0Glw
↓これマジ?ルーストってまともなエディタも作れないの??

686 デフォルトの名無しさん sage 2019/10/04(金) 22:07:43.17 ID:YLLg2aHe
AtomチームがやってたRust製エディタの実験プロジェクトも終了したんだからあきらめよう
0184デフォルトの名無しさん
垢版 |
2019/10/04(金) 23:29:38.96ID:A0q1MFV5
char **argv の時点で既にパズルになってたよ
型レベルの構文木があるなら構文解析もあるので型レベルプログラミング不可避
0185デフォルトの名無しさん
垢版 |
2019/10/04(金) 23:42:20.75ID:fwIXJdxR
>>183
Atom自体が死に体だから余裕が無くなったのだろ
まさかAtom用のフレームワークElectronを利用したVSCODEにシェア奪われるとは
0186デフォルトの名無しさん
垢版 |
2019/10/05(土) 00:19:16.44ID:PYJHTzmB
>>182
第1引数は数字です
第2引数は文字です

って書くんか?
それじゃ「メンテナンスのことを考えて型書いてますんで!!!」ガイジと同じレベルやないかい
0188デフォルトの名無しさん
垢版 |
2019/10/05(土) 01:03:03.48ID:PYJHTzmB
>>187
マネージャー「型?そこは拘らなくていいから期限を……」

型ガイさん「その情報無かったら他人はどうやって使うのさ命名でカバーするの?!!?!!!!??????!!!!!!」ドンッ!!!!
0189デフォルトの名無しさん
垢版 |
2019/10/05(土) 01:21:27.55ID:+P5r5Pn+
>>188
ほんでマネージャはなんで答えるのよ
0191デフォルトの名無しさん
垢版 |
2019/10/05(土) 01:30:54.69ID:PYJHTzmB
/**
* メソッドの盛り合わせでございます。
* データベースにお接続し、データを取得でございます。
* 第1引数は数字でございます。
* 第2引数は文字でございます。
* 第3引数はあるかもしれないしないかもしれないでございます。
* 返値はないかもしれないし数字かもしれないでございます。
*/

おまえら下請けのゴミどもはヨ?納品物は正しく敬語で書けよ
0192デフォルトの名無しさん
垢版 |
2019/10/05(土) 04:58:55.67ID:gUIOWgQJ
正直>>191はやりすぎだけど

型ガイさんみたいな意識高めの人ってコメント全く書かなそうだし>>191の方がメンテナンスしやすそう
0194デフォルトの名無しさん
垢版 |
2019/10/05(土) 06:06:07.64ID:xdqQKQ1c
もはや次世代言語関係なしに型もドキュメントもテストもロクに書けないペチパーが暴れるだけのスレになったな
0195デフォルトの名無しさん
垢版 |
2019/10/05(土) 06:09:42.41ID:GP9ct3ol
> 返値はないかもしれないし数字かもしれないでございます。
これが実際だったりしてもコメントにすら書かないでごまかす輩がいるんだよな。
型にこだわるやつに限って都合の悪いことはコメント書かん傾向にある。
逆にうまくいかんことをコメントにしろと思うのだが。
0196デフォルトの名無しさん
垢版 |
2019/10/05(土) 06:14:53.95ID:xdqQKQ1c
>>195
これもまったく逆だな
文字列か数値かnullが返る関数はそういう型を書かないとそもそもコンパイル通らないし、
そういう妙な型になってる関数はなんでそんな関数が出てくるのか、どんな用途なのかわからないようだとコードレビューに通らない
0197デフォルトの名無しさん
垢版 |
2019/10/05(土) 06:20:48.27ID:GP9ct3ol
>そういう妙な型になってる関数はなんでそんな関数が出てくるのか、どんな用途なのかわからないようだとコードレビューに通らない
そんなレベルでコードレビューやってるなら問題ないだろね。
0198デフォルトの名無しさん
垢版 |
2019/10/05(土) 08:03:17.63ID:/uRkHkBp
>>195
> 都合の悪いことは書かない
型に関しては全くそうは思わないが、話は変わるけどテストコードはまさに > 都合の悪いことは書かない が横行してるよね
ユーティリティ関数のようなテストしやすいところだけテスト書いて、本当にテストの必要なコア部分は誰もテストなんか書こうとしない
奇跡的に書かれたとしても頻繁に変更が入るからすぐに壊れて放棄される
この傾向は型の有無とは無関係だが、実際にはテストコードなんか無いのにその現実から目を背け
「テストがあれば型は不要」と抜かすのが動的型信者
0199デフォルトの名無しさん
垢版 |
2019/10/05(土) 08:06:08.67ID:GP9ct3ol
>「テストがあれば型は不要」と抜かすのが動的型信者
こんなこと言い出す輩はruby使ってる奴以外見たことないがな。
逆ならたくさん見てきた。
0200デフォルトの名無しさん
垢版 |
2019/10/05(土) 08:12:58.60ID:/uRkHkBp
>>199
まあそれはその通り
一方で、それなら静的型を使っているプロジェクトはそうでないプロジェクトに比べてテストが書かれないのかというと、
面白いことに実際にはたいてい逆なんだよなw
言語の性質とは無関係に、単に品質に対する意識の問題なんだよ
0201デフォルトの名無しさん
垢版 |
2019/10/05(土) 08:43:59.28ID:+P5r5Pn+
>>190
いや、命名でカバーすんの?
0202デフォルトの名無しさん
垢版 |
2019/10/05(土) 09:04:58.44ID:hwNO3Eb6
>>176
お前は何を言ってるんだ?
0203デフォルトの名無しさん
垢版 |
2019/10/05(土) 09:12:37.01ID:FrQq6pik
Haskellくらい型の表現力が豊かで状態を陽に扱う言語だと、コンパイルが通れば大体狙い通り動くってことが良くある
静的型付けでもオブジェクト!フィールド変数!ウオオオ!って副作用バリバリな言語だと、テストコード書かないと安心できないことの方が多い
0205デフォルトの名無しさん
垢版 |
2019/10/05(土) 09:44:48.66ID:j2LTRMYt
別に「型なんてなくてもいいものができる」なんて流石に言わんでな
「型キチがモナドだのFreeだのEffectだのでパズルおもちゃにしてマウントとってくるくらいなら型なんていらねえ」って言ってるだけ
これは個人の感想じゃなくて、Scalaの大失敗からの教訓な

これをいうとすぐペチパー連呼発狂マンが飛んでくるのほんと図星なんだなとしか思わん
0207デフォルトの名無しさん
垢版 |
2019/10/05(土) 10:02:24.47ID:6NInSiPP
>>191
こういうコメントに謎の型書くくらいなら
普通に言語機能の型書いた方がよくない・・・?

> 第1引数は数字でございます。
が平気で null | string (ただし暗黙キャストで数字になる) とか使われてたりするのが、型無し言語の世界だぞ

お前らこれ読んでも、型よりコメントの方がいい、型はなくていいとか、本気で言ってるの?
0208デフォルトの名無しさん
垢版 |
2019/10/05(土) 10:23:24.96ID:rY1OpV0v
おもちゃにするまではなんとなくわかるが個人の勝手だし、マウントとってくるってのはなんなのかわからんな。
0209デフォルトの名無しさん
垢版 |
2019/10/05(土) 11:30:14.04ID:8R/2cy4I
個人の勝手で共同プロジェクトのソースコードぐちゃぐちゃにされたらたまらんわ
結局メンテできるのそいつ一人になって
仕事が集中したらケツまくって逃げるんだもんな

型にこだわるやつは地雷だし、そんな奴をホイホイする言語が地雷
0210デフォルトの名無しさん
垢版 |
2019/10/05(土) 11:34:07.41ID:ZxO1UIOF
Cのマクロをほぼほぼ封印できた成功体験が大きいと思うぜ
マクロをどう使おうが個人の自由、などという結論にはならなかった

ちなみにマクロを否定するなら代案が必要だったから俺達はtemplateで再帰とかしている
0211デフォルトの名無しさん
垢版 |
2019/10/05(土) 12:12:59.41ID:GyCr6Yqs
メンテナンスが〜!って言われるけど作って最初の数ヶ月だけメンテされて

その後APIの仕様変更とかがない限りずっと放置されるんだよね……w
0212デフォルトの名無しさん
垢版 |
2019/10/05(土) 12:54:38.51ID:+P5r5Pn+
個人の勝手でコードぐちゃぐちゃになるってどういう組織なのよ
どんな体験からそんな保守的になったのか興味あるわ
0213デフォルトの名無しさん
垢版 |
2019/10/05(土) 12:57:47.72ID:6NInSiPP
個人の勝手うんぬんって、完全にマネジメントの問題じゃん
それが型のせいで〜とか、思考回路ショート寸前すぎない?
0214デフォルトの名無しさん
垢版 |
2019/10/05(土) 13:00:54.85ID:e/Rh94Kn
>>211
新規で作るよりあるものに機能足そうって思想で魔改造されるパターンで
放置どころかメンテが続くパターン知らないんだな
0215デフォルトの名無しさん
垢版 |
2019/10/05(土) 13:01:24.64ID:Kv3wO+aL
TSってaltJSの中じゃ保守的な方ってイメージだったんだが
言語機能としてはC#やJavaと大差ない程度なのに1人抜けたらメンテ出来ないってヤバいでしょ
0216デフォルトの名無しさん
垢版 |
2019/10/05(土) 13:09:22.15ID:bTVdb/1I
型キチが大暴れしてコードしっちゃかめっちゃかにするのを
型キチ本人のせいじゃなくてマネジメントのせいにするとか
まじで自分は悪くない正義なんだ思想でゲボ吐きそう

ScalaでScalaz使い倒した上にimplicit地獄で複雑怪奇に絡み合った製品コードを
「これがきれいでシンプルでバグもない!」って強弁した挙げ句
誰も触れないからメンテお前が一人でやれって言われた途端退職したキチと同類なんだろうなお前ら

今のScalaの惨状みてると、日本中といわず世界中で似たようなことあったんだろうなって思うは
0217デフォルトの名無しさん
垢版 |
2019/10/05(土) 13:13:28.85ID:BGs0A1AU
そりゃちょっと勉強すれば誰でもメンテはできるだろうけど型ガイさんのために学習コストを払うのが前提だよね……😅
0220デフォルトの名無しさん
垢版 |
2019/10/05(土) 13:20:34.36ID:xQy0rF4i
型アンチが型を嫌う理由が型に1ミリも関係ない私怨で草
動的型ならしっちゃかめっちゃかにならなかったわけじゃあるまいし

そいつ本人とコードレビューが機能してないのがダメなだけ
そいつがRubyやら生JS使ってても同じことが起こっただろう
0224デフォルトの名無しさん
垢版 |
2019/10/05(土) 13:23:25.13ID:bTVdb/1I
だから型そのものが嫌いなんじゃなくて
型キチのおもちゃになるくらいならそんなもんいらないとしか言ってねえっての
型そのものの有用性くらいわかっとるわ

型キチの藁人形論法寒気するわ
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況