次世代言語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/
2019/10/02(水) 21:08:04.33ID:ctc3w0LL
Rust言語のメリットと課題、「Azure IoT Edge」の事例から分かること
https://www.atmarkit.co.jp/ait/articles/1910/02/news094.html

Microsoft Security Response Center(MSRC)は2019年9月30日(米国時間)、Microsoft社内におけるRust言語の採用事例を発表した。

ガベージコレクションのランタイムオーバーヘッドを避けたかったため、Go言語は選択肢から外れた。
加えて、デーモンに必要なセキュリティ関連の要件から、メモリや並行性(コンカレンシー)に由来するバグに対処する必要のない言語が必要だった。
こうした条件を踏まえ、Rustが最適だという結論に達した。

Azure IoT Edgeの一般提供を開始する前に外部のセキュリティベンダーと契約し、開発したソフトウェアに対するペネトレーションテストを実施した。その結果、コードベースのうち、Rustで作成した部分では、セキュリティ問題が見つからなかった。

開発時にはRustエコシステムが役立った。開発当初から、「rust-clippy」を使用し、Rustコンパイラがカバーしない範囲の細かい警告を出力させることにした。

加えて、継続的インテグレーション(CD)を実行する際、Rustコードの整形ツール「rustfmt」による処理を経ていないプルリクエストを却下する仕組みを採用したことで、コードベース全体で一貫したコードの整形が可能になった。

Rustコンパイラの更新プロセスとツール整備は順調に進んだ。コンパイラへのアップグレードは、ほぼ常にスムーズだった。
2019/10/02(水) 22:15:39.37ID:moUE+MGs
スレタイから却下されたエセ次世代言語の話をだらだらするのやめようぜ
2019/10/02(水) 22:23:35.74ID:GBuBTMR1
じゃあV言語の話でもするか
2019/10/02(水) 22:34:48.77ID:bHxMNFNF
V言語ってGoの人たちがやたらネガキャンしてたよな
91デフォルトの名無しさん
垢版 |
2019/10/02(水) 22:51:59.69ID:9qRss58O
集金詐欺だからな。
2019/10/02(水) 22:57:27.47ID:h+E35lZ8
メモリリークしかしない言語なんて擁護しようがない
2019/10/02(水) 23:00:27.33ID:+qWRsZhw
CIではなくCDと略されるようになったのか?
94デフォルトの名無しさん
垢版 |
2019/10/02(水) 23:04:59.04ID:+yvFYHag
いまどきCDて
DVDだろ
2019/10/02(水) 23:11:12.76ID:tA+LoOos
Scalaってなんで最近聞かないんだ?
96デフォルトの名無しさん
垢版 |
2019/10/02(水) 23:18:21.13ID:9qRss58O
>>94
brulayだろおっさんwww
2019/10/02(水) 23:35:30.41ID:eo8nmuYy
メモリは1.5年ごとに倍になるし、
2019/10/02(水) 23:35:37.83ID:PwhcmkbT
Scalaスレってもうないのな
2019/10/02(水) 23:36:48.12ID:+0jwjbHR
集金詐欺という意味なら最近出てる新しい言語は皆該当する
100デフォルトの名無しさん
垢版 |
2019/10/03(木) 09:18:54.47ID:UVRnRWDJ
P++はどう?
2019/10/03(木) 09:41:25.91ID:UJPWBD3i
>>100
計画としてすら存在しない言語についてどうと言われても
102デフォルトの名無しさん
垢版 |
2019/10/03(木) 11:06:26.15ID:edjgLSeC
ようこそここへ (クックブック)
2019/10/03(木) 11:20:52.04ID:k70uCiU6
Perl6はどう?
2019/10/03(木) 11:43:05.22ID:QW/GUpCE
TS界隈が燃えてるな
俺が予想した通りだ
型で遊びたいやつらがマウント取り始めた
もう終わりだ
2019/10/03(木) 11:52:52.78ID:HEopH3DP
https://www.npmjs.com/package/typescript
もう終わりだ
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
その情報無かったら他人はどうやって使うのさ
命名でカバーするの?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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