次世代言語18 V Julia 他

■ このスレッドは過去ログ倉庫に格納されています
2019/09/30(月) 23:11:51.54ID:gS2Jpksn
スレタイ以外の言語もok

前スレ
次世代言語17 Go Rust Kotlin TypeScript Julia
https://mevius.5ch.net/test/read.cgi/tech/1567602619/
106デフォルトの名無しさん
垢版 |
2019/10/03(木) 12:14:21.23ID:KXJlaU6i
そういえば炎上して消滅したパッケージがあったな
2019/10/03(木) 12:21:08.52ID:dL16XEfi
次のスレタイは

次世代言語アンチスレ19 TypeScript Rust 他

に変更しないか?🤔
2019/10/03(木) 12:51:34.84ID:0St1gbfQ
>>107
イイネ
2019/10/03(木) 12:53:58.11ID:0St1gbfQ
>>104
https://speakerdeck.com/uhyo/an-quan-xing-falseji-bei-karajian-rutypescript
any型は嘘ってやつか
いかにも型合わせパズルばっかやってて
実際にモノ作ることには興味ない奴が言いそうなことだ
2019/10/03(木) 13:20:34.90ID:LXtrLKPo
何が問題なんだ?
any型を使うことは型チェッカに嘘をつくことであるというのは完全に正しいが
2019/10/03(木) 13:26:52.90ID:0St1gbfQ
型システム様のご機嫌伺いのためにコーも書いてる訳じゃないんで
作るべきモノがあるからコード書いてるんで
2019/10/03(木) 13:27:17.34ID:0St1gbfQ
コードな。typo
2019/10/03(木) 14:38:35.18ID:IZT0jEbm
そもそも炎上してるってどこ情報よ
2019/10/03(木) 14:55:45.10ID:YE1vF2br
VSやVSCodeとかならJavaScriptでも型推論してくれるし
型を明示したいならJSDocを書けばいいだけだから無理してTypeScript使う必要もないかな
115デフォルトの名無しさん
垢版 |
2019/10/03(木) 16:00:45.51ID:LjcEi/T6
>>104-105

始まってすらいない
2019/10/03(木) 16:24:21.32ID:hKJYGgWY
結局JSDocで型書くならTypeScriptで静的チェック強制した方がいいんだよなあ
2019/10/03(木) 16:25:51.66ID:kjukQEdu
型合わせパズル型合わせパズルって言ってるけどC#程度の強度でもDynamic使わずにまともにプロダクト作られて運用されてるのにanyが型システム的に嘘って言われた程度で騒ぐ人って…
2019/10/03(木) 16:54:32.05ID:HEopH3DP
typescriptは構造的部分型だからそのDynamicに型を付けていくようなものなんだよ
2019/10/03(木) 17:37:19.25ID:AmYqnV9Q
どの言語使おうと堅牢に作ろうと思えばその分コストかかるってだけの話なんだよな。
2019/10/03(木) 18:09:46.31ID:O76Q0qC9
>>119
メンテナンスコストを含めるとどうだろうね
2019/10/03(木) 18:17:34.75ID:fmdUi9Ln
メンテナンスコスト考えるならJava、PHP、jQueryだけ使うべき
2019/10/03(木) 18:19:08.06ID:L9fYtAg4
既存のJSプロジェクトからの移行ならともかく最初からTSで書くプロダクトならパズル言うほど複雑にならんぞ
2019/10/03(木) 19:48:39.53ID:n9RXubUB
旧世代言語、現世代言語の総合スレも欲しい
2019/10/03(木) 19:49:39.86ID:2xyzy1ot
>>118
C/C++だって生メモリに対して型を仮定してるだけだから似たようなもん
2019/10/03(木) 20:09:06.24ID:foN68M/V
C++は例外安全パズルだったな
「CのコードはそのままC++のコードとして使える」が嘘八百だと割り切れば解ける
嘘八百だは言い過ぎだろなんて擁護してたら解けないパズル
2019/10/03(木) 20:20:39.48ID:19Ht2GHN
>>118
前スレでは型がどうとか言ってたな
時間の経過とともにトーンダウンしてるのは気のせいか
2019/10/03(木) 20:22:34.58ID:kjukQEdu
>>118
漸進的型付けではなく構造的部分型なの?
2019/10/03(木) 20:37:15.91ID:GiS7EHuM
次世代言語スレがアホばっかりになったな
2019/10/03(木) 20:57:54.84ID:2xyzy1ot
>>127
構造的部分型を利用して漸進的型付けを実現している
130デフォルトの名無しさん
垢版 |
2019/10/03(木) 21:07:54.91ID:0BLjzKt+
型を指定すると何も作ってないことになるんだからすごい
2019/10/03(木) 21:22:20.83ID:vZs/C8bk
プロダクトを作るって観点で言語を議論せず
やれ型パズルだのやれ安全パズルだのぐだぐだ言うバカばっかになった
2019/10/03(木) 21:37:23.32ID:SvQDlrFS
>プロダクトを作るって観点で言語を議論せず

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

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

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

型ガイさん「僕に嘘つきになれって言うんですか!!?!!!!??????!!!!!!」ドンッ!!!!
2019/10/04(金) 05:44:54.38ID:SpMME+ew
型定義できるのにany使うのはただの手抜きでしょ
テスト書かない奴・ドキュメント書かない奴と同レベルの言い訳されてもね
程度が知れるわ
2019/10/04(金) 05:51:43.29ID:1uH22Nmi
>>139
ほんとそれ
俺達真実の探求者からするとanyは許せないよな。嘘つきの言葉を許すな!w
141デフォルトの名無しさん
垢版 |
2019/10/04(金) 06:03:38.67ID:1ASrQa/c
>>138
マネージャ無能すぎるだろ
こわい現場だ
2019/10/04(金) 06:11:57.87ID:6+RXT+MW
型書いたぐらいで期限に間に合わなくなるってことは、当然テストもロクにしてないわけで……
143デフォルトの名無しさん
垢版 |
2019/10/04(金) 06:21:51.96ID:1ASrQa/c
そりゃテストなんて書かないでしょ
作るべきもがあるからな!ドンッ
2019/10/04(金) 07:03:06.07ID:Yf9jmew1
「型合わせ終わったからバグはありません!」
「どれどれ」
「バグだらけじゃねーか!ふざけんな!」
「型合わせ終わったのにどうして....」
2019/10/04(金) 07:10:07.14ID:hD2IkxgL
型システムを過信し過ぎるのも型を軽視しすぎるのもよくないねという話なんだよな
型が合って出なくなるバグは型にエンコードした情報だけって事すら認識してない人間が型パズル型パズルって馬鹿にしてそう
2019/10/04(金) 07:16:14.13ID:8yIxxMU3
>>144の思考だとvoid*を使わないC/C++にはバグがないということになるが?
147デフォルトの名無しさん
垢版 |
2019/10/04(金) 07:25:07.97ID:yNm14ygW
このスレJuliaと銘打ってるのにJuliaの話題出てこない。
2019/10/04(金) 07:42:49.57ID:fSgdSM//
「any」というのはですね、嘘吐きの言葉なんです。中途半端に型を使うからanyになるんですよ。
2019/10/04(金) 08:09:42.31ID:ameVRwo7
TS信者はany推しでどでかい墓穴を掘ったな
2019/10/04(金) 09:37:31.16ID:lnp3M0KY
最近の言語だとvar someClass = new SomeClass()みたいなnew演算子は排除するのがトレンドなのかな
C++だとnewのあるなしで確保先をスタックとヒープに分けるから意味あるけど
Java以降の言語でオブジェクト生成に毎回new打たせる意味は結局よく解らなかったな
特に意味もなくnew打たせる言語はもはやレガシー感漂う
2019/10/04(金) 10:18:13.78ID:hD2IkxgL
Goに至ってはnewはゼロ初期化明示に残ってこそいるけれどスタックかヒープかは自動でコンパイラが割り振るしな
2019/10/04(金) 10:50:08.23ID:x/Qhqm9U
ハンガリアンかな
接頭辞newを見て補完候補を絞り込む
2019/10/04(金) 11:52:27.87ID:VgJGDogT
JavaScriptのnewの有無による差(言語仕様)が嫌い
2019/10/04(金) 11:58:03.15ID:VgJGDogT
あとjsonなどで思うのが
 list: [
   aa
   bb
 ]
または
 list: [
   aa,
   bb,
 ]
のように書きたい
リストの中間か最後(または先頭)かでカンマの有無を調整したくない
2019/10/04(金) 12:53:10.74ID:CFemRolP
dartはそこらへん緩かったような
a = [3,3,if (hoge) 4,for () i]
とかもできるようなったし。
2019/10/04(金) 13:03:54.51ID:TIm5etC2
>>154
中間のカンマ省略可能だと式書きたいときに困るでしょ
2019/10/04(金) 14:38:10.03ID:JasulCXo
TSの型狂信者なんて関数型言語の狂信者に比べれば数も個体の狂暴性も大したことないじゃん
158デフォルトの名無しさん
垢版 |
2019/10/04(金) 15:33:27.96ID:fSTucKVx
コードの書き方勉強するならもちろん外人が書いたコードを見た方が上達するんだろ?
2019/10/04(金) 16:24:52.16ID:e1FajTxb
そらネイティヴやからな
2019/10/04(金) 16:59:50.32ID:CbH6cc12
>>157
なにそのウンコよりゲロの方がマシ理論
これだから型パズル大好きマンは
2019/10/04(金) 19:06:33.35ID:x7KRb3pR
型パズルってフレーズここで聞きすぎてむしろ静的型チェックのない強い型付けの言語の方が型パズルだと思うようになってしまったけど…
2019/10/04(金) 19:35:11.93ID:fjkFfujs
とりあえずテストコード書こうぜカスども。
2019/10/04(金) 19:36:22.90ID:6+RXT+MW
部品の型を言えばオートでパズル解いてくれるのが静的型チェックで、
人間がこの部品がどこならちゃんとはめられるか考えないといけないのが動的型付けだから、
なるほど型パズルなのは動的付け型の方だな
2019/10/04(金) 19:36:50.56ID:6+RXT+MW
付け型ってなんやねん
2019/10/04(金) 19:52:05.34ID:vlmSJkRH
解いてはくれねえだろ
コンパイラが間違いだと思ったら指摘するだけでよ
コンパイラが仕様を理解して正解を提案してくれる訳でもあるまいし
結局人間がきっちり書くしかねえんだよ

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

動的型付け信者はまるで動的型付けだとロジックのバグが発生しないかのような物言いをする
2019/10/04(金) 21:00:50.51ID:a8m6fyZS
型だけは立派だなw
2019/10/04(金) 21:02:12.54ID:8yIxxMU3
動的型付けは不完全なコードも実行できるようにしてデプロイまでの工程を高速化するためのものであって、バグは当然増える
2019/10/04(金) 21:06:57.26ID:G1/ISgxb
>>167
ジェネリクス使いだすとだんだん手に終えなくなってくるよ
ようは単純な型使ってるだけの間は害はない
メタプログラミングやりだしたらどうでもいいところに時間かけるようになる
2019/10/04(金) 21:11:43.47ID:x7KRb3pR
OCamlは許された……?
2019/10/04(金) 21:30:24.60ID:Zf6it0qM
>>170
ジェネリクスすら使えないとかwww
2019/10/04(金) 21:39:33.05ID:cnXTizuT
本来動かないコードのエラー発生をランタイムまで
先送りするのがメリットなのか?
2019/10/04(金) 21:40:16.83ID:6+RXT+MW
ジェネリクス使っただけで手に負えなくなるプロジェクトって静的型がなかったら実行時バグで死ぬだけでは
2019/10/04(金) 21:41:27.58ID:EUw3Ota4
>>170
ジェネリクスとメタプログラミングは全然違うんだが
C++のテンプレートと勘違いしてる?
2019/10/04(金) 21:44:07.98ID:OLpRTMGU
>>175
型の制限を加えるプログラミングと言えるのでメタプログラミングのひとつだよ
出来合いのコンテナ使ってるだけの人は気にしなくていい
2019/10/04(金) 21:55:05.87ID:EUw3Ota4
>>176
型の制限を加えるとメタプログラミングになるというロジックが意味不明
2019/10/04(金) 22:01:57.54ID:D62UOEus
メタプログラミングって何なの?
2019/10/04(金) 22:31:52.18ID:8yIxxMU3
ggrks
2019/10/04(金) 22:44:18.75ID:5vrHCZSw
>>138
マネージャー「このままじゃ期限に間に合わないが……大丈夫か?」

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

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

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

って書くんか?
それじゃ「メンテナンスのことを考えて型書いてますんで!!!」ガイジと同じレベルやないかい
2019/10/05(土) 00:43:26.48ID:Kv3wO+aL
その情報無かったら他人はどうやって使うのさ
命名でカバーするの?
2019/10/05(土) 01:03:03.48ID:PYJHTzmB
>>187
マネージャー「型?そこは拘らなくていいから期限を……」

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

おまえら下請けのゴミどもはヨ?納品物は正しく敬語で書けよ
2019/10/05(土) 04:58:55.67ID:gUIOWgQJ
正直>>191はやりすぎだけど

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

これをいうとすぐペチパー連呼発狂マンが飛んでくるのほんと図星なんだなとしか思わん
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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