次世代言語10[Rust Swift TypeScript Dart]

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/04/25(水) 07:02:27.60ID:OmWDt0SE
スレタイ以外の言語もok

前スレ
次世代言語9[Haskell Rust Kotlin TypeScript Dart]
http://mevius.5ch.net/test/read.cgi/tech/1520298555/
2018/05/23(水) 09:59:13.80ID:1qopdzmM
メソッドチェーン推しのくせにオプショナルチェーンに考えが至らず、多言語の後追いでパクリ導入したが?を識別子にできることとクソ命名習慣が相まり?.が使えず&.となった、もはやまともにパクることすら出来なくなってきた糞ジャップ言語があるらしい。
2018/05/23(水) 14:15:18.86ID:zwnct6X1
pythonはもう機械学習の覇権言語として確固たる地位を確立してしまったので、
ITドカタどもが書きやすいと感じるかなんて、最早どうでも良い領域に到達してしまった
2018/05/23(水) 14:49:50.61ID:xLXjXRd/
機械学習を自分で書ける腕があるなら、既に人が作ってくれたものを捨ててわざわざ一からやるなら別にPython使わなくても良いのよ?
2018/05/23(水) 17:28:38.80ID:mefsnanK
自分のオリジナルのモデルを実装したら、比較検証用に他のモデルも動かす必要あるわけじゃん?
既存のモデルまで全部自前で実装するのはダルいんだわ。
で、既存のモデルはPythonで動かすってなったら、そのまま自分のモデルもPythonで動かせた方がデータの加工やグラフ化なんかを使い回せて便利ってなっちゃう。
2018/05/23(水) 17:34:28.36ID:xLXjXRd/
わかりみが深い
2018/05/23(水) 19:47:24.32ID:1qopdzmM
でも例えばtensorflow.jsはpythonのtensorflowやkerasのモデルインポート出来るぞ。
こんな風に移行手段提供されるんだったら言語は何でもいいんじゃない?
2018/05/23(水) 19:57:50.83ID:eQfPSYhe
rustに信頼性?
あの言語で信頼できる書き方できるならc++でもできるほどのプログラマだわ。
機能追加しまくって聳え立つクソになりつつあるって意味で全く同一方向だと思うがね。
2018/05/23(水) 20:04:05.38ID:0agB57Q/
>>631
お前がそう思うならそうなんだろう
お前ん中ではな
2018/05/23(水) 20:08:16.04ID:Vc3iwML4
>>637
まあライブラリ提供側の気分次第やね
提供してくれたら喜んで移行できる
2018/05/23(水) 20:08:23.39ID:0agB57Q/
Rustでまともなプログラム書けるならC++でまともにプログラミングできるって点が一番のRustの致命的にゴミな部分な
Rustを使う意味はただのひとつもない
2018/05/23(水) 20:42:05.12ID:Vc3iwML4
Juliaはendがなあ……
643デフォルトの名無しさん
垢版 |
2018/05/23(水) 21:14:13.23ID:Ex+BBdgR
>>641
大きな違いがあるぞ。
C++はまともでないプログラムでもエラーや警告を吐かずにコンパイルできてしまうが、Rustは、少なくともメモリ周りがまともでないかどうかはチェックしてくれる。デバッグや保守を考えたらRustの方がありがたい。
644デフォルトの名無しさん
垢版 |
2018/05/23(水) 21:30:42.02ID:V0Z2NuNB
>>643
Sync, Sendのマーカートレイトのおかげでマルチスレッド下のデータ競合もチェックしてくれるぞ
もちろんNull安全も保証してくれる
むしろRustを使わずC++を使う理由の方が「既存資産」以外にはひとつもない
2018/05/23(水) 21:53:37.23ID:cEWT5Ura
前から気になってたんだけどWindowsのDLLみたいな動的リンク方式のライブラリを作ったり使ったりするのに適した言語って最近のである?
言い方を変えるとバイナリ形式のプラグインやアドオンを作ったり使ったりする言語を探してるんだけど
最近のプラグインやアドオンってスクリプトが主流なんだよね
2018/05/23(水) 21:57:13.88ID:H7n6Wk6+
>>637
それ、Pythonで書いておけば何処でも動くから
Pythonで書こうってのが加速するだけじゃん
js では学習済みのモデルが動くだけなんだから
2018/05/23(水) 22:05:53.52ID:1qopdzmM
>>646
ちがうよ。学習も出来るフルセットだよtensorflow.jsは。
たしかに学習済みモデルを動かすだけのライブラリもあったけどね。
そうではないから盛り上がってるんじゃん。
2018/05/23(水) 22:10:00.62ID:H7n6Wk6+
あ、ホントだ。教えてくれてありがとう。
2018/05/23(水) 22:14:28.24ID:NeMRQIGN
数値計算の次世代言語雑魚すぎィ!
Fortress 復活させろよぉ!
2018/05/23(水) 22:32:26.36ID:X0L2uE50
>>645
ネイティブならC++
ネイティブでなくてよければC#がベスト
2018/05/23(水) 23:52:54.57ID:cEWT5Ura
>>650
やっぱそうなるか
次世代言語への移行はまだまだ先になりそうだ
ありがとう
2018/05/24(木) 00:56:23.12ID:OfFTJh37
>>643
そもそもRustでコンパイル通せるならC++で十分ってことへの答えになってないな

そもそもチェック自体も胡散臭い。当てにならん
https://github.com/rust-lang/rust/pull/50966
2018/05/24(木) 01:01:49.92ID:OfFTJh37
>>644
Rustみたいな鬼のように複雑な言語使ってコンパイル通せるなら、
C++でバグ出さずに書けるっつってんだろ
コンパイル通せる前提で話すんなや

あんな数年の歴史しかないのにC++に匹敵する
サクラダファミリアに成長できた複雑怪奇な言語コンパイル通すのと
C++でバグなくプログラミングする難易度ほぼ同じなんだから
既存資産の分でC++に軍配あがるだろって単純な話よ
2018/05/24(木) 01:06:34.50ID:/hP4MdXz
>>653
桜田じゃない。サ「グ」ラダだ、タコ助。
2018/05/24(木) 01:48:40.06ID:wnD2d+8L
>>653
ああもう煩いな
おれの経験にのみ基づく話なので「それはおまえだけだろ?」
と言われた場合はぐうの音も出ないのであまり書きたくなかったが…

俺はRustを趣味で使い始めて1年半くらいで自分でもRust使いだと名乗れる
くらいには詳しくなったが、それでも未だにコンパイラには時々怒られてる
ただし、コンパイラのエラー情報を見れば何がダメなのか
すぐ理解できるようになったので少し考えれば修正できるようにもなったし
未だに怒られること自体はさほど大きな問題にはなっていない
ただ、始めた頃と比べれば、だいぶ怒られる回数は減ったが完全に無くなりはしなかったし、
今後もずっと俺はRustのコンパイラには時々怒られるような状態のままだと思う
そしてその状態の俺がC++で同じようにコードを書いた場合、
Rustだと時々コンパイラが怒ってくれてた部分をC++は全て無視してバグになってしまう
俺にはRustのコンパイルを(時々怒られつつ)通すことは出来るが
C++でバグを出さないことはできない。だから俺はRustを使う

他のRust使いはどうなんなんだろうな?俺と同じヤツはいないのか?
2018/05/24(木) 08:03:37.58ID:haXyd0aV
サクラダファミリアwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
チェリーブロッサムボーイかよwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
2018/05/24(木) 08:09:10.38ID:fO25J7ke
だいたいそんなもんじゃない?
今まで静的解析かけてたようなものが、コンパイラに標準実装されたようなもんかと。
無自覚にガバガバのCpp書くよりはよっぽど良いかと。
658デフォルトの名無しさん
垢版 |
2018/05/24(木) 08:14:37.42ID:hcSrmWsG
どっちに対しても言えるけど
そいつ本人の説得力ってのは
そいつのコードを見るまでわかんねえ

口では色々言ってるやつのコードが結局「えw」みたいなこともあるし
「えw」みたいなコード書いてるやつがそれを恥じて黙るどころか
むしろ誇ってるみたいな態度でどんどん発言をさらにするケースまであり

>>655
どっちかってーとコンパイラやボローチェッカが怒ってくれることは重視してない
言語の仕様とか、クロージャがすっきりかけたりするとことかすこ
C++のクロージャとか哀れで涙出てくるわ
2018/05/24(木) 08:15:09.80ID:hcSrmWsG
ageちゃったぃ
すんまそ
2018/05/24(木) 08:35:15.47ID:ythCS9Ag
自分のコードを見せなければ正体がバレないというのは楽観的すぎる
他人が書いたものをを正しく読めなかったらすぐバレる
2018/05/24(木) 08:39:58.30ID:Ikv8gz3W
誰がそんなこと言ったんですかね……
2018/05/24(木) 09:12:00.44ID:YtgWYLdm
やっぱりお題必要だな
2018/05/24(木) 09:22:43.01ID:ythCS9Ag
お題ならPythonで十分
Pythonのコードを見せても、型がないとかなんとかケチつけられた場合の保険がRustだろ
2018/05/24(木) 10:16:37.36ID:uCHPd8NS
お題なしで雑談というか口(くち)プロレスでいいよ
で実際速いの?どんなコード出てるの?とか実践始めるとみんな黙りこんじゃうからw
授業中先生に当てられたくない子供みたいに
2018/05/24(木) 10:38:36.76ID:wnD2d+8L
>>655
結局、「Rust書けるんならC++も書けるだろ?」って言い分は
俺には全く適用されてないってことが言いたかったんだ

>>658
確かにC++のクロージャは酷いな
そこら辺もRustだと比較的すっきり書けて良いよね
2018/05/24(木) 10:46:26.14ID:Ikv8gz3W
>>664
みんな黙り込むのは質問が意味不明だったり、場にそぐわない質問だったり、質問者に触れたくないというパターンもあるのでそのパターンだけではない
2018/05/24(木) 11:36:01.54ID:ythCS9Ag
無料で教えてもいいと思える範囲でみんなやってるだろ
課金しないともったいないレベルになったら大抵は黙り込む
2018/05/24(木) 19:30:37.89ID:vRvusgVp
ネイティブDLLでプラグインっつったら旧BorlandのBPLはすごく便利だったんだが
DelphiとC++Builderでしか作れないし、今となってはとてもおすすめできない
2018/05/24(木) 20:11:25.74ID:8MplY56S
>>667
それな。少しばかりの優越感に浸るためにノウハウの公開はしないわな。
2018/05/24(木) 21:04:40.93ID:DVWxp3L/
>>665
Rustのクロージャもどっこいレベルでひどいだろ

FnOnceとFnMutとFnの区別つかねえし、、moveのつくつかないで挙動まったく変わるし
Rustの代表的クソ仕様じゃねえか

少なくとも「C++のクロージャより出来が良い」なんて言えない
2018/05/24(木) 21:14:58.76ID:/hP4MdXz
少なくとも「C++のクロージャの出来よりはマシ」
2018/05/24(木) 21:30:50.88ID:VphYtM0Y
そのクソ仕様の後追いみたいなことばっかやってる印象なんだよ。
2018/05/24(木) 21:49:45.67ID:xIKDzvCc
後追いなのに「マシ」でしかないなら良くないな
2018/05/24(木) 21:55:08.28ID:VphYtM0Y
だいたい静的言語が無理やりクロージャーなんて入れる必要ないのに、
「俺もそれくらいできるから!」みたいなノリで無理くり入れるのが間違ってんだよ。
大人しく継承でオーバーライドしときゃいいんだよ。
カスのワガママに従うからクソが聳え立つ。
2018/05/24(木) 21:55:59.77ID:hcSrmWsG
>>670
そーなん?
偉そうなこと言っといて実は俺C++あんま知らんのよごめんね
FnOnceとFnMutとFnの使い分けはまぁ毎回俺もぐぐってる
fn main() {
let seq = |mut a| {move || {a += 1; a}};
let mut f = seq(0);
let mut g = seq(100);
println!("{} {} {} {}", f(), f(), g(), g());
}
↑スッキリじゃん?
|| {a += 1; a}
↑この部分は↓こう書けたらなぁと思ったりするけど
|| ++a
2018/05/24(木) 21:56:31.96ID:/hP4MdXz
一般にAがBよりマシとは、AがBより僅かなりとも優良であることを意味する。
後か先かは関係ない。
2018/05/24(木) 21:59:14.23ID:xIKDzvCc
先であること自体に莫大なメリットがあることを考慮に入れた上でのなおかつ「マシ」ならその通りだがな
2018/05/24(木) 22:03:14.32ID:CdSxt682
Rustは第二のC++でも作ろうとしてるのか?
679675
垢版 |
2018/05/24(木) 22:07:12.31ID:hcSrmWsG
おっとID変わってるけど俺>>658
2018/05/24(木) 22:48:36.88ID:A2obqUPd
>>674
Goもだけど「継承自体がクソだからやめようぜ」って流れなんだよな
無理矢理クロージャ入れる必要がないには同意
無名関数が使えりゃ足りる
2018/05/25(金) 01:34:45.66ID:PKA0x+Yj
>>670
自分でC++の重大な欠点を言ってる気がするんですが…
自ら「区別がつかない」って言っちゃってるじゃん…
Rustならその3つをコンパイラがきちんと区別を付けて
間違ってたらコンパイルエラーとして教えてくれる
C++だと自分の脳内で区別しないとバグになる

他にもC++はキャプチャリストは自由度が高い分書くのがめんどくさいし
キャプチャしない場合でも[]は省略できない
戻り値の型は推論するくせに引数の型は推論してくれない
一行だろうと{}必須。よって戻り値ある場合はreturnも必須
mutableキーワードも必要に応じて推論してくれない
C++だとあまり使うことはないかもしれないが
例外がスローされる場合はそれも書かないといけない

RustならFnOnceとFnMutとFnの違いは推論されるから書き分ける必要はない
キャプチャする環境の所有権を移動したい場合にのみmoveをつけるだけ
move以外は他言語のクロージャと書き方は全く変わらない
確かに他言語のクロージャより仕様は複雑だが
推論がしっかりと効くから書く側はすっきりと書ける

まあクロージャを書く側ではなくて受けとる側(定義側)は
上記の3つをしっかり区別する必要があるので難しいのは認める
これはGCがない言語である限りは仕方のないこと…
とはいえ、ライブラリ作ろうとしない限りは定義側を書くことはないでしょ
2018/05/25(金) 01:49:54.39ID:HnuamdJg
敬称が糞って
ヒューマンクラスを継承したちんさんクラスとまんさんクラスは糞なのか?
2018/05/25(金) 02:31:46.48ID:hLxVSrBi
>>682
その例えを借りるなら
ちんさんクラスとまんさんクラスを両方継承したふたなりさんクラスを作るときに
戦争が起こる
2018/05/25(金) 03:03:41.33ID:xEzst0Sw
そこはis-a関係でなくhas-a関係を使うべき
2018/05/25(金) 06:59:36.86ID:N3c6aWbU
ちんもまんもクラス外に公開しなければならないインターフェイスだからhas-aだと実装を晒しすぎる
2018/05/25(金) 07:53:32.29ID:HnuamdJg
インポリメンツちんぽか
687デフォルトの名無しさん
垢版 |
2018/05/25(金) 13:18:54.68ID:hlSUANfD
rustがいかに注目されているかよく分かるやりとりだな
2018/05/25(金) 14:15:14.14ID:4TBK/UtB
is-aは寿命が同じ
has-aは寿命とメモリが断片化する
でもこれは全ての実装において正しいとは言えない
実装非依存のおまじないの方が正しいからis-aとかhas-aとかいうおまじないを使う
689デフォルトの名無しさん
垢版 |
2018/05/25(金) 14:50:00.53ID:B3ITbo/r
はああん?C++が一番有能に決まってるだろが。
2018/05/25(金) 14:58:09.55ID:AvKDu7Ii
C++が一番有能なら何を求めてこのスレに来たんだ
691デフォルトの名無しさん
垢版 |
2018/05/25(金) 15:08:44.57ID:1dRV9c5u
なにこれHaskellってコンパイラを入れるためのツール必要なのか
開発環境を管理するツールってことでええんか
692デフォルトの名無しさん
垢版 |
2018/05/25(金) 15:15:51.49ID:B3ITbo/r
>>690
最強の次世代言語C++について話すためだろうが。
2018/05/25(金) 15:21:56.55ID:AvKDu7Ii
>>692
C++が最強なのって、先行であることの諸々のメリットを含めての話?含めずの話?
2018/05/25(金) 17:35:23.86ID:8DzJcbZi
>>691
Cとかと一緒で複数種類コンパイラがあるからな
2018/05/25(金) 17:36:36.20ID:8DzJcbZi
>>692
C++2aから次世代?
それともC++2aまで今世代でその次から次世代?
2018/05/25(金) 19:02:17.99ID:xyc9D3Rc
開発環境を管理するツールを管理するツールが無いだけマシ。
697デフォルトの名無しさん
垢版 |
2018/05/25(金) 22:32:01.50ID:R7850AfQ
>>695
visual studioも c++17完全対応したらしいから17までは現世代でいいかなと。
2018/05/25(金) 22:56:51.43ID:dKyw+i0Y
>>696
nodeやpythonやrubyの悪口はやめるんだ。
2018/05/25(金) 23:27:50.48ID:4TBK/UtB
CPythonはC言語の環境さえあればなんでもできるしライブラリだけはC言語並みに速い

JavaもHaskellもただコンパイラを作るだけでなく
C言語のライブラリの使用を禁止する大義名分を作れるかどうかが重要になる
制御の反転とか
ドメインモデル貧血症とか
2018/05/25(金) 23:41:53.32ID:AvKDu7Ii
なんでCのライブラリを使っちゃいけないの?
2018/05/25(金) 23:52:56.77ID:xxaSk9pj
>>697
どうせuniversal initializer周りはバクだらけだろうよ。
>>698
nodeはもはやnpmのが価値がある。
>>700
ハサミで怪我した人はハサミを根絶すれば怪我しなくなると信じてるんだよ。
2018/05/25(金) 23:55:48.17ID:4TBK/UtB
>>700
インタプリタ+Cのライブラリ
を使っていい現状でPythonが勝ってるから
使っちゃいけないことにすればコンパイラ言語が勝てる確率が上がる
2018/05/26(土) 00:01:52.26ID:i86nCRmL
C+スクリプトが最強ってことね
Haskellもコンパイル出来るスクリプトみたいなもんだし
2018/05/26(土) 07:12:23.43ID:JffIKOaJ
そういえばc言語にはパッケージ管理ツールってあるの?
2018/05/26(土) 07:23:38.94ID:E+a4SYdv
>>704
C++ならMSのVcpkgとか?
使ったことないけどマルチプラットフォームらしい
2018/05/26(土) 08:07:14.44ID:lww/3Yi3
>>704
結構OSと結びついてること多いし、普通はOS全体のパッケージ管理ソフトの
aptとかyumで入れる。
2018/05/26(土) 08:11:41.09ID:sQSfUS3A
結構OSと結びついてる??
多い?
普通は?

???

>>705
こっちの発言は普通に>>704へのレスとして正常
2018/05/26(土) 08:15:37.17ID:lww/3Yi3
>>707
はいはい、じゃあお前はMSのVcpkgってのを使ってろよ。
2018/05/26(土) 11:01:18.92ID:yLdCoEV+
/usr/libとか.local/libとかにでもほりこんどきゃいいっていう単純なルールだからむしろパッケージマネージャ使うより分かりやすい
2018/05/26(土) 11:44:24.93ID:Alqb/ffm
ファイルシステムと結びついてる
そのファイルシステムよりも優れたパッケージのデータベースを作れないだろうかと
711デフォルトの名無しさん
垢版 |
2018/05/26(土) 12:07:11.19ID:+v/aNAKk
>>710
すでに広く使われてるけどな。
2018/05/26(土) 14:24:01.93ID:lww/3Yi3
自分は使わず他人を実験台にする気しか感じられん。
2018/05/26(土) 15:25:11.42ID:Alqb/ffm
口先だけの理論を極めたら実験台は最小限で済むのに、口先だけの人をなぜ笑うんだい
2018/05/26(土) 15:28:25.91ID:/ACViDE8
その実験を他人任せにしてるからやで
2018/05/26(土) 15:40:35.41ID:yLdCoEV+
自分の成果として世に出すものならともかく、しょうもないことは人に投げれたから投げたほうがいいでしょ
2018/05/26(土) 15:56:16.96ID:Alqb/ffm
そもそも実験の量を減らせないのかなと思うんだが

必要な実験の量は決まっていてそれ以上減らすのは不可能
という根拠がどこにあるのかなと
717デフォルトの名無しさん
垢版 |
2018/05/26(土) 18:23:53.82ID:+v/aNAKk
つまり、C++が最強なわけです。
2018/05/26(土) 18:27:00.30ID:LE8Quobi
あの、どうしようもない仕様のC++が最強なわけがない…
2018/05/26(土) 19:21:26.10ID:Gw/MbzDj
そう言うアンチが使ってるウェブブラウザも99%C++製という
720デフォルトの名無しさん
垢版 |
2018/05/26(土) 19:26:18.19ID:+v/aNAKk
Menlo Park Projectで挫折したビル・ジョイはゴスリンにJavaを作らせたわけですが、結局これも挫折してしまいます。
721デフォルトの名無しさん
垢版 |
2018/05/26(土) 19:27:25.33ID:+v/aNAKk
>>719
C++が向いてる非常に限られた応用分野がアプリケーション・ソフトウェアだという話もある。
(俺の中で)
2018/05/26(土) 19:27:33.89ID:LE8Quobi
>>720
Java は復活するよ、OpenJDK 化したのが巧手になるという
723デフォルトの名無しさん
垢版 |
2018/05/26(土) 19:29:42.28ID:+v/aNAKk
Javaはもう無理じゃないのかな。
当初の野心的な設計が何の意味も持たないほど汚されてしまっている。
724デフォルトの名無しさん
垢版 |
2018/05/26(土) 19:31:33.41ID:+v/aNAKk
VPSで計算主体のちょっとしたサービスを作ろうと思うと、Javaじゃ重すぎるので、C++で書き直そうかと思ってる。
Boost.Beastが出たことだしね。
725デフォルトの名無しさん
垢版 |
2018/05/26(土) 19:33:00.94ID:+v/aNAKk
Javaで書くと月3万くらいかかるけど、C++で書き直すだけで1000円で済む。
2018/05/26(土) 19:38:23.21ID:CFSKq76+
AWS Lambdaとかうまく使えばJavaのままでもほぼタダで運用できる可能性もあるぞ
727デフォルトの名無しさん
垢版 |
2018/05/26(土) 20:07:16.64ID:+v/aNAKk
でもお高いんでしょう?
2018/05/26(土) 20:22:14.49ID:Gw/MbzDj
アプリケーション・ソフトウェアという言葉に
GUI処理担当という含みがあるなら、
その部分は Android なら Java だし iPhone なら Objective-C という風に
主要なモバイルプラットフォームで C++ は使われていないことを指摘しておく。
もちろんどちらもコア部分は c++ だけど。

アプリケーションを離れてみると
ffmepg などの動画関連のコーデックやフォーマットのライブラリはほぼ全てが c++

ソフトウェアの分野ごとの各種言語のシェアってどんなんなんだろうね
人工知能だと Python なのか
729デフォルトの名無しさん
垢版 |
2018/05/26(土) 21:05:39.67ID:+v/aNAKk
>>728
向いていない言語を使ってるからモバイルはもっさりなのでは。
2018/05/27(日) 06:45:23.52ID:iAW8TpSo
>>715
つまり面倒なことは自分はやらんと。
「怠惰はエンジニアの美徳」を間違った解釈しとる典型例やな。
2018/05/27(日) 10:10:48.49ID:BN8VpKje
モラルハザードは美徳の欠如ではなく合理的行動、の典型例じゃん

スポーツの試合中に起きたことを美徳云々で説明するのはバカ
ただし試合やってないのに24時間戦ってる奴は本物のサイコパス
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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