スレタイ以外の言語もok
前スレ
次世代言語23 Go Nim Rust Swift Kotlin TypeScript
https://mevius.5ch.net/test/read.cgi/tech/1638086359/
探検
次世代言語24 Go Nim Rust Swift Kotlin TypeScript
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2022/03/22(火) 03:23:41.60ID:ZDHdo9X7468デフォルトの名無しさん
2022/04/05(火) 16:03:31.17ID:Zafpq7jd pythonはmayaのプラグイン組み込み言語でもあったから
行列やベクトルや虚数を使った回転などを多用する層が
そこで増えていったってながれもあるやろな。
行列やベクトルや虚数を使った回転などを多用する層が
そこで増えていったってながれもあるやろな。
469デフォルトの名無しさん
2022/04/05(火) 16:19:20.26ID:I+HzSIOd カーニハン、ロブ・パイクが1999年に出したプログラミング作法(The Practice of Programming)では Perl, awk, C++, Java, C で処理速度とソースコードの行数表にしてた。
470デフォルトの名無しさん
2022/04/05(火) 17:31:17.76ID:kTsaT80P ポストPythonってJuliaなの?
471デフォルトの名無しさん
2022/04/05(火) 17:35:57.79ID:82POVtug472デフォルトの名無しさん
2022/04/05(火) 17:36:28.83ID:X/Z+fkc6 ベターPythonかもしれないがポストPythonではないだろう
473デフォルトの名無しさん
2022/04/05(火) 18:09:13.50ID:Zafpq7jd rustは広くは使われないだろうねぇ。
システム部分以外は
ルーズで簡単で気にかけることや
独特な概念が少ない言語でないと広く使われない
プログラミング未経験者が数日である程度書ける程度のでないと
システム部分以外は
ルーズで簡単で気にかけることや
独特な概念が少ない言語でないと広く使われない
プログラミング未経験者が数日である程度書ける程度のでないと
474デフォルトの名無しさん
2022/04/05(火) 18:21:07.39ID:RXEj+ZGQ そこでKotlinですよ
ベターJavaの位置付けで学習コストも低い
Scalaほど複雑でもなく、初心者にも手を出しやすいからRustよりはWebでは使われるんじゃないかね
Goは学習コストが低いとかで誤魔化してるだけで、一昔前の使いづらい言語みたいな感じ
ベターJavaの位置付けで学習コストも低い
Scalaほど複雑でもなく、初心者にも手を出しやすいからRustよりはWebでは使われるんじゃないかね
Goは学習コストが低いとかで誤魔化してるだけで、一昔前の使いづらい言語みたいな感じ
475デフォルトの名無しさん
2022/04/05(火) 18:54:22.88ID:iyhQru73476デフォルトの名無しさん
2022/04/05(火) 19:19:35.56ID:4JjDvpWU >>475
理解する気がないから勘違いしてるのだろうけど
所有権なんて難しい話ではなく非常に簡単なことだぞ
このスレにもRustのコードが多数書かれてきてるようだが何か難しいことや特殊なことあったか?
理解する気がないから勘違いしてるのだろうけど
所有権なんて難しい話ではなく非常に簡単なことだぞ
このスレにもRustのコードが多数書かれてきてるようだが何か難しいことや特殊なことあったか?
477デフォルトの名無しさん
2022/04/05(火) 19:48:47.33ID:3noiRnfQ Kotlinなんてぱっとせんもん一生泥から出てこんやろw
webでは絶対流行らない
Javaで既に作られてるもんはわざわざKotlinにしようなんてならんし
Javaに慣れ親しんでる層はJava17を導入するやろな
Javaみたいなのを毛嫌いする層はそもそもKotlinに見向きもしてないし
webでは絶対流行らない
Javaで既に作られてるもんはわざわざKotlinにしようなんてならんし
Javaに慣れ親しんでる層はJava17を導入するやろな
Javaみたいなのを毛嫌いする層はそもそもKotlinに見向きもしてないし
478デフォルトの名無しさん
2022/04/05(火) 20:20:35.48ID:fN/L9gSF まあKotlinはswiftと同じ位置づけで表には出てこない気がする
479デフォルトの名無しさん
2022/04/05(火) 20:25:45.56ID:8mvJZb/O kotlinとjavaは相互運用可能なのに、わざわざjavaを選択する発想なんて出てこないだろ
goは学習コスト低い分、この先流行りに乗って採用する企業は増えるかも知れんが、機能不足故にいずれ見離されるんじゃない?
rustは初心者には複雑すぎるし、それこそweb開発でメリットがあまりない
kotlinはともかく、rustやgoが10年先も使われるイメージが想像できない
goは学習コスト低い分、この先流行りに乗って採用する企業は増えるかも知れんが、機能不足故にいずれ見離されるんじゃない?
rustは初心者には複雑すぎるし、それこそweb開発でメリットがあまりない
kotlinはともかく、rustやgoが10年先も使われるイメージが想像できない
480デフォルトの名無しさん
2022/04/05(火) 20:27:09.43ID:fN/L9gSF これからは同じ内容をどれだけ短くてわかりやすく書けるかと言うことに
各言語は対応せざるを得ない状況になる
各言語は対応せざるを得ない状況になる
481デフォルトの名無しさん
2022/04/05(火) 20:28:17.56ID:3noiRnfQ いや逆や
わざわざKotlinをwebで採用する意味ないし
今もそんなことしてる会社は物好きな少数のみ
わざわざKotlinをwebで採用する意味ないし
今もそんなことしてる会社は物好きな少数のみ
482デフォルトの名無しさん
2022/04/05(火) 20:28:18.67ID:82POVtug483デフォルトの名無しさん
2022/04/05(火) 20:33:11.57ID:3noiRnfQ goは流行ってるし機能拡張していってるんやから機能不足やから廃れるってことはないやろ
つい最近genericsが導入されたやん
フレームワークにしろ何にしろ使う人が増えればより充実して行くもんよ
こういうのは流れが大事
流れがないswift、Kotlinが今更伸びることはないやろ
つい最近genericsが導入されたやん
フレームワークにしろ何にしろ使う人が増えればより充実して行くもんよ
こういうのは流れが大事
流れがないswift、Kotlinが今更伸びることはないやろ
484デフォルトの名無しさん
2022/04/05(火) 20:40:11.88ID:fN/L9gSF 最初の言語としてKotlinやSwiftは選びたくない
485デフォルトの名無しさん
2022/04/05(火) 20:51:09.86ID:RriiMuS9 >>479
むしろRustだけは生き残ることが確実
Rustの以下のメリットを持つ代替言語が存在しないため
・ガベージコレクションを必要とせずC言語と同等の速さと省メモリを実現
・各種データ競合やメモリ使用の安全性を保証
・現代的な各種プログラミングパラダイムを洗練して採り入れており非常にプログラミングしやすい
むしろRustだけは生き残ることが確実
Rustの以下のメリットを持つ代替言語が存在しないため
・ガベージコレクションを必要とせずC言語と同等の速さと省メモリを実現
・各種データ競合やメモリ使用の安全性を保証
・現代的な各種プログラミングパラダイムを洗練して採り入れており非常にプログラミングしやすい
486デフォルトの名無しさん
2022/04/05(火) 20:52:42.92ID:fN/L9gSF 一番最初の言語に選びたくないNo1は今のところRustかな?
まあそんなことにはならないでしょうが
自分は最初はBASICだった
もう使うことはないと思ってたらAppleiiのエミュにBASICが入ってて
使ったことはないのに適当にやっても結構動くものが作れた
まあそんなことにはならないでしょうが
自分は最初はBASICだった
もう使うことはないと思ってたらAppleiiのエミュにBASICが入ってて
使ったことはないのに適当にやっても結構動くものが作れた
487デフォルトの名無しさん
2022/04/05(火) 21:04:57.35ID:jsmatYo9 CからC++に行かずにRUSTに行く
488デフォルトの名無しさん
2022/04/05(火) 21:11:03.50ID:ks20fz6N489デフォルトの名無しさん
2022/04/05(火) 21:14:31.44ID:jsmatYo9 Cからちょっとだけアセンブラ(オプションで出力させたものを解読できる程度)もありかも知れない
490デフォルトの名無しさん
2022/04/05(火) 21:17:03.29ID:fN/L9gSF C → Rust
その人たちは何がやりたくてプログラミングするのか疑問だなあ
その人たちは何がやりたくてプログラミングするのか疑問だなあ
491デフォルトの名無しさん
2022/04/05(火) 21:18:27.03ID:/ryaTu8Q492デフォルトの名無しさん
2022/04/05(火) 21:18:44.27ID:hteyj+L8 システムプログラミングでしょ
493デフォルトの名無しさん
2022/04/05(火) 21:28:32.93ID:8mvJZb/O rustはシステムプログラミングとか、低レベルプログラミングの分野で生き残ると思いますよ
あくまで俺が話してるのはweb系の話
ちょっと主張を代えてしまうようで申し訳ないけど、俺が主張したいのは、kotlinが来るというよりも、goやrustがこの先web開発で盛り上がりを見せるとは思えないということです
あくまで俺が話してるのはweb系の話
ちょっと主張を代えてしまうようで申し訳ないけど、俺が主張したいのは、kotlinが来るというよりも、goやrustがこの先web開発で盛り上がりを見せるとは思えないということです
494デフォルトの名無しさん
2022/04/05(火) 21:28:36.30ID:jsmatYo9 Javaやってた人が楽したくてkotlin触るのがほとんどだと思うわ
495デフォルトの名無しさん
2022/04/05(火) 21:32:44.23ID:u+FS9OX1 >>493
サーバーサイドに関してはpython一択になると思うよ
今の若手がpython推しなんだからそいつらが偉くなったらみんなpythonになる
現に俺が管理して利権として享受してるサービスをpythonでリプレースしようという案が出てきてる
全力で防いでるが
サーバーサイドに関してはpython一択になると思うよ
今の若手がpython推しなんだからそいつらが偉くなったらみんなpythonになる
現に俺が管理して利権として享受してるサービスをpythonでリプレースしようという案が出てきてる
全力で防いでるが
496デフォルトの名無しさん
2022/04/05(火) 21:33:48.12ID:m6fZyHop >>493
大規模ウェブサイトのバックエンドにgoやらrustやら使う事例は多いからweb系とひとくくりにするのもちょっと不正確では
大規模ウェブサイトのバックエンドにgoやらrustやら使う事例は多いからweb系とひとくくりにするのもちょっと不正確では
497デフォルトの名無しさん
2022/04/05(火) 21:33:58.15ID:MlP9V3nG498デフォルトの名無しさん
2022/04/05(火) 21:34:05.83ID:ZGNch3sg FlutterとセットでDartは?
499デフォルトの名無しさん
2022/04/05(火) 21:38:03.57ID:DitKiC+e railsやってた人が動的型付言語で大規模開発は
もう嫌じゃーとなったときにどこに行くかねえ
JVMがgoかrustか
個人的にはgoは無いな…
もう嫌じゃーとなったときにどこに行くかねえ
JVMがgoかrustか
個人的にはgoは無いな…
500デフォルトの名無しさん
2022/04/05(火) 21:43:41.67ID:fN/L9gSF >>499
TSかな?
TSかな?
501デフォルトの名無しさん
2022/04/05(火) 21:44:13.55ID:8mvJZb/O >>496
そこなんですけど、今goが流行ってるのってコンテナ構成にマッチしていたり、並行処理が得意だったりメリットがあるからだと認識しています。
とは言え、goはパターンマッチングがやりにくかったり、関数の戻り値が複数あったりで、お世辞にもコーディングが快適とは言えない。
なので、goに代わるkotlinや swiftくらいのちょうどいいレベルの言語仕様の言語が出てきて、使われるようになるんじゃない、みたいな見解を持ってます。
この意見がスレタイとマッチしてなくて、申し訳なかった
そこなんですけど、今goが流行ってるのってコンテナ構成にマッチしていたり、並行処理が得意だったりメリットがあるからだと認識しています。
とは言え、goはパターンマッチングがやりにくかったり、関数の戻り値が複数あったりで、お世辞にもコーディングが快適とは言えない。
なので、goに代わるkotlinや swiftくらいのちょうどいいレベルの言語仕様の言語が出てきて、使われるようになるんじゃない、みたいな見解を持ってます。
この意見がスレタイとマッチしてなくて、申し訳なかった
502デフォルトの名無しさん
2022/04/05(火) 21:44:21.70ID:u7gEIfJv503デフォルトの名無しさん
2022/04/05(火) 21:47:59.27ID:cdGLCT5H 実際の流行りと5chプログラマーのrustへのお熱っぷりには乖離があると思うが
プログラマーがそれだけ好くんだから大した言語よな
go嫌いはif err != nilがキモく感じて嫌がってるのかもしれない
プログラマーがそれだけ好くんだから大した言語よな
go嫌いはif err != nilがキモく感じて嫌がってるのかもしれない
504デフォルトの名無しさん
2022/04/05(火) 21:48:34.22ID:ZJzYuLv9505デフォルトの名無しさん
2022/04/05(火) 21:54:38.07ID:ZwTPjiXX rust信者はただサンクコスト回収のために必死になってるだけだわ。
そういう活動が逆効果ってことを全く理解していない。
そういう活動が逆効果ってことを全く理解していない。
506デフォルトの名無しさん
2022/04/05(火) 22:03:45.09ID:oCmbM95T 現実問題としてRustに勝てる言語が出現してくる気配すらないのはマズいよな
当面はRustが最終解なのかもしれないが
> Rustの以下のメリットを持つ代替言語が存在しないため
> ・ガベージコレクションを必要とせずC言語と同等の速さと省メモリを実現
> ・各種データ競合やメモリ使用の安全性を保証
> ・現代的な各種プログラミングパラダイムを洗練して採り入れており非常にプログラミングしやすい
当面はRustが最終解なのかもしれないが
> Rustの以下のメリットを持つ代替言語が存在しないため
> ・ガベージコレクションを必要とせずC言語と同等の速さと省メモリを実現
> ・各種データ競合やメモリ使用の安全性を保証
> ・現代的な各種プログラミングパラダイムを洗練して採り入れており非常にプログラミングしやすい
507デフォルトの名無しさん
2022/04/05(火) 22:26:51.26ID:vLZKRt0y どういう理屈でコスト回収するんだろ
508デフォルトの名無しさん
2022/04/05(火) 22:49:42.89ID:CALU2HjK 信者というかワナビーじゃないの
サンクコストに感じるのは
サンクコストに感じるのは
509デフォルトの名無しさん
2022/04/05(火) 22:56:37.28ID:A4DfkOI9 食わず嫌いのアンチがコストがかかると思い込んでいるだけではないか
むしろRustは様々なコスト削減になる
プログラミング&デバッグ開発効率が良くなるだけでなく
高速化と省メモリ化によりサーバーやクラウド類の支出コスト削減も大きい
むしろRustは様々なコスト削減になる
プログラミング&デバッグ開発効率が良くなるだけでなく
高速化と省メモリ化によりサーバーやクラウド類の支出コスト削減も大きい
510デフォルトの名無しさん
2022/04/05(火) 23:13:12.17ID:jhOIIm2D >>502
rubyしか使ってなかったときは気づかなかったが
rustも使うようになってrubyのブロックがくっつく形がキモく感じるようになった
ruby.foo {|x| x}.bar {|x| x} # ←キモい &blockが一個しか渡せない問題もある
rust.foo(|x| x).bar(|x| x, |y| y) // ←スッキリ
rubyしか使ってなかったときは気づかなかったが
rustも使うようになってrubyのブロックがくっつく形がキモく感じるようになった
ruby.foo {|x| x}.bar {|x| x} # ←キモい &blockが一個しか渡せない問題もある
rust.foo(|x| x).bar(|x| x, |y| y) // ←スッキリ
511デフォルトの名無しさん
2022/04/05(火) 23:21:49.33ID:1v6++hVm すでにC++, C#, Haskell, Scala, Rustといろいろ渡り歩いてるから
サンクコストなんて感じてないんだよなぁ
Rustの次に移行したい面白い言語が見当たらないからRustに留まってるだけで
サンクコストなんて感じてないんだよなぁ
Rustの次に移行したい面白い言語が見当たらないからRustに留まってるだけで
512デフォルトの名無しさん
2022/04/05(火) 23:22:32.66ID:fN/L9gSF どちらにしても|x|と言う表現は個人的にはキモいと思う
洗練されていない
rubyを毛嫌いしていたのもそれと冒頭の大文字小文字でpublicかどうか決めてる部分
洗練されていない
rubyを毛嫌いしていたのもそれと冒頭の大文字小文字でpublicかどうか決めてる部分
513デフォルトの名無しさん
2022/04/05(火) 23:25:05.56ID:EpygGO7e rubyはブロックを1つ渡すときのやり方に特化されてるくせにメソッドチェーンで
ブロック渡し使うとなんかキモいよな
Rubyのクロージャでも{}を省略できたら見た目が良かったかもな
ブロック渡し使うとなんかキモいよな
Rubyのクロージャでも{}を省略できたら見た目が良かったかもな
514デフォルトの名無しさん
2022/04/05(火) 23:26:31.88ID:/ryaTu8Q 実際問題、GoのerrorはEitherだから、実は最新の設計なんだよね
515デフォルトの名無しさん
2022/04/05(火) 23:28:52.60ID:shnfpWMI516デフォルトの名無しさん
2022/04/06(水) 01:16:54.79ID:5q0U6A70 GoのマルチリターンはEitherのつもりなのにTupleだし、沼設計としては最先端なんだよな…
理想: e+v
現実: (e+1)*(v+1)=(e+v)+ev+1
結果が完全な失敗と完全な成功だけじゃないところもまた、現実のそのものである。
理想: e+v
現実: (e+1)*(v+1)=(e+v)+ev+1
結果が完全な失敗と完全な成功だけじゃないところもまた、現実のそのものである。
517デフォルトの名無しさん
2022/04/06(水) 03:20:12.66ID:wPZ6Wy+h518デフォルトの名無しさん
2022/04/06(水) 06:13:11.45ID:X7GvwD6X >>510
これなあ
これなあ
519デフォルトの名無しさん
2022/04/06(水) 07:11:19.53ID:XNY/VGtp GUI のアプリ開発に向いてるのはどれなの?
C++やC#の次のイメージだけど。
C++やC#の次のイメージだけど。
520デフォルトの名無しさん
2022/04/06(水) 08:28:24.14ID:FubAROXf >>476
そういうことを言っているからRustユーザーは駄目なんだ。
ヒープもスタックもメモリ管理も知らないGC前提の高級言語のユーザーが所有権とかmoveとかを理解するまで、一体いくつ新概念を理解しなきゃいけないか。
理解を助けるメタファーもろくに無いし、「非常に簡単」はありえない。
まぁ、
>c++とhaskellあたりを学んでおけば大したことないし
とかいう発想だから、Rustユーザーは自分達がどれだけ他言語ユーザーから乖離しているか気づいていないか。
そういうことを言っているからRustユーザーは駄目なんだ。
ヒープもスタックもメモリ管理も知らないGC前提の高級言語のユーザーが所有権とかmoveとかを理解するまで、一体いくつ新概念を理解しなきゃいけないか。
理解を助けるメタファーもろくに無いし、「非常に簡単」はありえない。
まぁ、
>c++とhaskellあたりを学んでおけば大したことないし
とかいう発想だから、Rustユーザーは自分達がどれだけ他言語ユーザーから乖離しているか気づいていないか。
521デフォルトの名無しさん
2022/04/06(水) 08:38:33.64ID:ByE3BIzU Rust使い人は使えばいい
メモリ管理などの低レベルなことに専心したくないから大多数の人はGC言語を使ってるのであって
Rust必須になればみなプログラムやめるよ
メモリ管理は関心の集中先ではないからなあ
メモリ管理などの低レベルなことに専心したくないから大多数の人はGC言語を使ってるのであって
Rust必須になればみなプログラムやめるよ
メモリ管理は関心の集中先ではないからなあ
522デフォルトの名無しさん
2022/04/06(水) 08:42:49.90ID:ByE3BIzU 使い人→使いたい人
523デフォルトの名無しさん
2022/04/06(水) 08:59:55.51ID:ERAAutfZ524デフォルトの名無しさん
2022/04/06(水) 09:01:33.33ID:ByE3BIzU GCだったらそれすら意識しなくていい
525デフォルトの名無しさん
2022/04/06(水) 09:03:47.07ID:ByE3BIzU move |bits|
&
&
526デフォルトの名無しさん
2022/04/06(水) 09:10:21.22ID:aOWfxLhU527デフォルトの名無しさん
2022/04/06(水) 10:56:17.94ID:X7GvwD6X >>524
それなぁ
それなぁ
528デフォルトの名無しさん
2022/04/06(水) 11:00:12.47ID:X7GvwD6X >>521
2種類の人種がいるんだよ
自動車産業に例えたら、(1)地方の工場勤務の期間工と(2)研究開発センターのエンジニア
(1)はRustは使用しなくていい。というか理解できなくて使えない。Pythonとかで頭を使わないコード書くだけだから。例えるなら、ラインで組み立て作業を1日延々しているだけのルーチンワーク要員。
(2)はRustなどを使用してシステムプロラミングWebassemblyなどでローレイヤーや基盤を作っていく。例えるなら自動車のエンジンやデザインの設計者。
2種類の人種がいるんだよ
自動車産業に例えたら、(1)地方の工場勤務の期間工と(2)研究開発センターのエンジニア
(1)はRustは使用しなくていい。というか理解できなくて使えない。Pythonとかで頭を使わないコード書くだけだから。例えるなら、ラインで組み立て作業を1日延々しているだけのルーチンワーク要員。
(2)はRustなどを使用してシステムプロラミングWebassemblyなどでローレイヤーや基盤を作っていく。例えるなら自動車のエンジンやデザインの設計者。
529デフォルトの名無しさん
2022/04/06(水) 11:12:27.97ID:P2epzghE 普通のプログラマー
PythonでもJavaScriptでもRustでも用途毎に使い分ける
似非プログラマー
特定のスクリプト言語しか使えない
PythonでもJavaScriptでもRustでも用途毎に使い分ける
似非プログラマー
特定のスクリプト言語しか使えない
530デフォルトの名無しさん
2022/04/06(水) 11:18:53.29ID:UtHY9/K6 このスレは期間工限定です
531デフォルトの名無しさん
2022/04/06(水) 11:27:29.43ID:XB6J8/aS Rustでメモリ管理はしなきゃいけないでしょw
双方向リストを普通に書くと循環参照でるよね
WeakとRcをプログラマが手動で必死に使い分けてなんとかするのがrust
一方で循環参照もなんとかケアしてくれる(かもしれない)のがGC言語
これはRustを批判するんじゃなくて
GC言語の価値を改めて評価できるという例
双方向リストを普通に書くと循環参照でるよね
WeakとRcをプログラマが手動で必死に使い分けてなんとかするのがrust
一方で循環参照もなんとかケアしてくれる(かもしれない)のがGC言語
これはRustを批判するんじゃなくて
GC言語の価値を改めて評価できるという例
532デフォルトの名無しさん
2022/04/06(水) 11:27:36.38ID:XNY/VGtp >>530
呼ばれた気がした
呼ばれた気がした
533デフォルトの名無しさん
2022/04/06(水) 11:29:06.13ID:PUvuY8jT >>505
Rustを難しいと勝手に思い込んでいるようだけどそれは勘違い
C言語とあともう一つ今どきのプログラミングパラダイムを備えた言語を使いこなせる人ならばRustは容易に楽に習得できる
つまり普通にまともなプログラマーにとっては難しいことは何もない
Rustを難しいと勝手に思い込んでいるようだけどそれは勘違い
C言語とあともう一つ今どきのプログラミングパラダイムを備えた言語を使いこなせる人ならばRustは容易に楽に習得できる
つまり普通にまともなプログラマーにとっては難しいことは何もない
534デフォルトの名無しさん
2022/04/06(水) 11:32:57.60ID:SQHVCoBe535デフォルトの名無しさん
2022/04/06(水) 11:38:59.86ID:XB6J8/aS RustにGCが無いのは特徴であり
この言語の方向性においては利点でしかない思ってるよ
GC無しでRAIIでなんとかしていこうず!という潔い言語
中途半端にならなくて清々しいよ
この言語の方向性においては利点でしかない思ってるよ
GC無しでRAIIでなんとかしていこうず!という潔い言語
中途半端にならなくて清々しいよ
536デフォルトの名無しさん
2022/04/06(水) 11:41:06.57ID:j3mCjXSb >>531
GC言語とはガベージコレクションが必須な言語
一方でC/C++/RustはGCが必須ではなくGCが必要な用途の時だけGCすればよい言語
だからどうしても循環参照などでGCが必要ならばC/C++/RustでもGCをするモジュールなどが用いられている
GC言語とはガベージコレクションが必須な言語
一方でC/C++/RustはGCが必須ではなくGCが必要な用途の時だけGCすればよい言語
だからどうしても循環参照などでGCが必要ならばC/C++/RustでもGCをするモジュールなどが用いられている
537デフォルトの名無しさん
2022/04/06(水) 11:42:07.19ID:azRXBWjT538デフォルトの名無しさん
2022/04/06(水) 11:46:18.46ID:iij/35sY539デフォルトの名無しさん
2022/04/06(水) 11:46:52.40ID:azRXBWjT >>533
C言語とあともう一つ今どきのプログラミングパラダイムを備えた言語を使いこなせる人……つまり普通にまともなプログラマー
なるほど、PythoneやJavaだけを使っているプログラマーは普通でもまともでも無いということを主張したいんだな。
C言語とあともう一つ今どきのプログラミングパラダイムを備えた言語を使いこなせる人……つまり普通にまともなプログラマー
なるほど、PythoneやJavaだけを使っているプログラマーは普通でもまともでも無いということを主張したいんだな。
540デフォルトの名無しさん
2022/04/06(水) 11:50:43.24ID:yFuiayyW541デフォルトの名無しさん
2022/04/06(水) 11:54:58.50ID:YS4iOCfL542デフォルトの名無しさん
2022/04/06(水) 12:32:21.96ID:rwS/Q696543デフォルトの名無しさん
2022/04/06(水) 12:44:42.90ID:4NhGLksY544デフォルトの名無しさん
2022/04/06(水) 12:58:29.92ID:6roFDaHL545デフォルトの名無しさん
2022/04/06(水) 13:56:24.32ID:2Yw46+Tv >>544
RustやC++は非GC言語やで
RustやC++は非GC言語やで
546デフォルトの名無しさん
2022/04/06(水) 14:20:43.99ID:1nRPgXLc また意味不明の非GC言語なんて言い出してんのかw、リファレンスカウント使ってんだからそんな意味のない宣伝もうやめろよ?
547デフォルトの名無しさん
2022/04/06(水) 14:36:07.84ID:6roFDaHL は?今の時代にリファカンとかw
548デフォルトの名無しさん
2022/04/06(水) 14:41:06.01ID:6A9Aeuem ここはおじさんスレだからそれを楽しめ
549デフォルトの名無しさん
2022/04/06(水) 14:46:08.13ID:Fm2KF3vu 参照カウントのガベージコレクション
https://developer.mozilla.org/ja/docs/Web/JavaScript/Memory_Management#reference-counting_garbage_collection
これは、最も素朴なガベージコレクションアルゴリズムです。このアルゴリズムは、"あるオブジェクトがもはや必要ない"ことを、"あるオブジェクトがその他のオブジェクトから参照されていない"ことと定義します。あるオブジェクトは、それに対する参照がゼロの時にガベージコレクト可能であると見なされます。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Memory_Management#reference-counting_garbage_collection
これは、最も素朴なガベージコレクションアルゴリズムです。このアルゴリズムは、"あるオブジェクトがもはや必要ない"ことを、"あるオブジェクトがその他のオブジェクトから参照されていない"ことと定義します。あるオブジェクトは、それに対する参照がゼロの時にガベージコレクト可能であると見なされます。
550デフォルトの名無しさん
2022/04/06(水) 14:48:22.40ID:7ui2nPA0 >>517
引数の最後のブロックを特別扱いで記述できる文法はrubyからgroovyを経由してkotlinにも引き継がれていて、わりと欠かせない記述方法になってる
ここの https://dogwood008.github.io/kotlin-web-site-ja/docs/reference/lambdas.html
これみたいな記法を頻繁に使うからいまさら無くなっても困る
lock (lock) {
sharedResource.operation()
}
引数の最後のブロックを特別扱いで記述できる文法はrubyからgroovyを経由してkotlinにも引き継がれていて、わりと欠かせない記述方法になってる
ここの https://dogwood008.github.io/kotlin-web-site-ja/docs/reference/lambdas.html
これみたいな記法を頻繁に使うからいまさら無くなっても困る
lock (lock) {
sharedResource.operation()
}
551デフォルトの名無しさん
2022/04/06(水) 14:57:27.14ID:rwS/Q696552デフォルトの名無しさん
2022/04/06(水) 23:24:49.88ID:DtmD4s0L >>551
その所有権がどうしたんだい?
所有権が理解できないなら参照も理解できないから
参照渡しと値渡しの区別もつかないことになる
どの言語でもそういう話は理解しないと使えないから
所有権の概念があるかどうかで困るプログラマーは存在しない
その所有権がどうしたんだい?
所有権が理解できないなら参照も理解できないから
参照渡しと値渡しの区別もつかないことになる
どの言語でもそういう話は理解しないと使えないから
所有権の概念があるかどうかで困るプログラマーは存在しない
553デフォルトの名無しさん
2022/04/06(水) 23:41:02.75ID:6roFDaHL コードの所有権もない派遣さんが何か言ってらw
554デフォルトの名無しさん
2022/04/07(木) 01:43:23.21ID:tEZE72Zs #[derive(Clone, Copy)]
struct Code(String);
struct Code(String);
555デフォルトの名無しさん
2022/04/07(木) 07:31:09.34ID:zb08jYei556デフォルトの名無しさん
2022/04/07(木) 07:42:19.84ID:wRPEswS2 Rustは当面プログラミング言語の王者として君臨し続けるのではないか
高速かつ省メモリかつ安全という他の言語が満たせないRustのアドバンテージを崩せる新言語が登場しない限り
> Rustの以下のメリットを持つ代替言語が存在しないため
> ・ガベージコレクションを必要とせずC言語と同等の速さと省メモリを実現
> ・各種データ競合やメモリ使用の安全性を保証
> ・現代的な各種プログラミングパラダイムを洗練して採り入れており非常にプログラミングしやすい
高速かつ省メモリかつ安全という他の言語が満たせないRustのアドバンテージを崩せる新言語が登場しない限り
> Rustの以下のメリットを持つ代替言語が存在しないため
> ・ガベージコレクションを必要とせずC言語と同等の速さと省メモリを実現
> ・各種データ競合やメモリ使用の安全性を保証
> ・現代的な各種プログラミングパラダイムを洗練して採り入れており非常にプログラミングしやすい
557デフォルトの名無しさん
2022/04/07(木) 08:03:31.90ID:/n3eSctb 俺はRustは廃れるに一票
このスレ見てる限り信者がカルトすぎる
Go信者が可愛く見えるレベル
そもそも設計で差を付けられるレベルなら、言語に拘る意味もそこまでない
このスレがそういう趣旨だというのもあるとは思うが、言語への執着が酷すぎ
このスレ見てる限り信者がカルトすぎる
Go信者が可愛く見えるレベル
そもそも設計で差を付けられるレベルなら、言語に拘る意味もそこまでない
このスレがそういう趣旨だというのもあるとは思うが、言語への執着が酷すぎ
558デフォルトの名無しさん
2022/04/07(木) 08:10:05.04ID:zl/syFdq はっきり言って近代的な言語なら仕様も習得もそのコーディングもどの言語でも大差ないんよ
そうなると言語自体として本質的な有利な面を持つRustがじわじわと広まる結果となるかな
そうなると言語自体として本質的な有利な面を持つRustがじわじわと広まる結果となるかな
559デフォルトの名無しさん
2022/04/07(木) 08:56:02.87ID:/n3eSctb >>558
> どの言語でも大差ない
だから敢えて独自路線を、というのがGoの当初の目的でもあったろ
(上手く行ってるかは別)
> 本質的な有利な面を持つRust
俺はあれは筋が悪いと見てる
寿命管理はmoveではなくupが多分正解で、これを綺麗に書ける言語が出てきたらその瞬間終わる
(それ以前にGCの方がいいが)
あとRustの問題は、多分プログラマが上達しない事
これは長期的には絶望的に不味い
「C++はプログラマを育てる言語だ」というのはC++始祖の持論だが、これは考える事を強いるからだ
Rustの場合は(このスレ見る限り)「コンパイラが全てやってくれる!考えなくて済む!」のノリのようで、これは絶望的
Rustは「C++の特定の使い方」に近似出来、コンパイラがその形式を強制する
だからC++をこの形式で使っている連中は確実に移行する
そうではないC++使いが移行する事はない
Rustを使えばデバッグしなくて済むから楽!とか言ってる初心者連中は戦力にならない
というかね、根本的なところで、寿命管理や所有権とかは「面倒」であって「苦労」はしない
だからやらなくて済むのならそれが一番いいが、
やれと言われればやるだけであり、手間が増えるだけで、出来ないものでもなく、それ自体には苦労もしない
だから根本的な立ち位置がイマイチなんだよRustは
そしてこれに苦労するような連中は、そもそもプログラミング能力が低いだけなのだから、
そこで苦労する事は糧となるから頑張れ、でもある
これが無理だからGCを使うのだ、という事に対しても俺は肯定的で、それでいいと思うが、
Rustが目指しているのは「GCが無いと困る馬鹿でも補助輪を付けてチェックするからなんとかなり、
GC無し並の速度が出ます」であって、結局は馬鹿向けの補助輪でしかない
そこで苦労する程度ならガチでC++で苦労した方が上達するからそうしろ、でしかない
(まあ馬鹿でも何とかなるように、というのが言語の進歩でもあるのだが)
> どの言語でも大差ない
だから敢えて独自路線を、というのがGoの当初の目的でもあったろ
(上手く行ってるかは別)
> 本質的な有利な面を持つRust
俺はあれは筋が悪いと見てる
寿命管理はmoveではなくupが多分正解で、これを綺麗に書ける言語が出てきたらその瞬間終わる
(それ以前にGCの方がいいが)
あとRustの問題は、多分プログラマが上達しない事
これは長期的には絶望的に不味い
「C++はプログラマを育てる言語だ」というのはC++始祖の持論だが、これは考える事を強いるからだ
Rustの場合は(このスレ見る限り)「コンパイラが全てやってくれる!考えなくて済む!」のノリのようで、これは絶望的
Rustは「C++の特定の使い方」に近似出来、コンパイラがその形式を強制する
だからC++をこの形式で使っている連中は確実に移行する
そうではないC++使いが移行する事はない
Rustを使えばデバッグしなくて済むから楽!とか言ってる初心者連中は戦力にならない
というかね、根本的なところで、寿命管理や所有権とかは「面倒」であって「苦労」はしない
だからやらなくて済むのならそれが一番いいが、
やれと言われればやるだけであり、手間が増えるだけで、出来ないものでもなく、それ自体には苦労もしない
だから根本的な立ち位置がイマイチなんだよRustは
そしてこれに苦労するような連中は、そもそもプログラミング能力が低いだけなのだから、
そこで苦労する事は糧となるから頑張れ、でもある
これが無理だからGCを使うのだ、という事に対しても俺は肯定的で、それでいいと思うが、
Rustが目指しているのは「GCが無いと困る馬鹿でも補助輪を付けてチェックするからなんとかなり、
GC無し並の速度が出ます」であって、結局は馬鹿向けの補助輪でしかない
そこで苦労する程度ならガチでC++で苦労した方が上達するからそうしろ、でしかない
(まあ馬鹿でも何とかなるように、というのが言語の進歩でもあるのだが)
560デフォルトの名無しさん
2022/04/07(木) 08:56:07.07ID:hOTZf/Ps 言語の普及について語るときにキラーアプリを語ればいいと思う
Rubyが普及したのはRuby on Railsがあったから。
Pythonが普及したのはAIライブラリ(tensorflowなど)があったか。
RustにはRubyのRoRやpythonのAIに相当するものがあるか?もしくはこれからでてくるか?
そのヒントとしてはWebAssemblyにあるように思う。
Rubyが普及したのはRuby on Railsがあったから。
Pythonが普及したのはAIライブラリ(tensorflowなど)があったか。
RustにはRubyのRoRやpythonのAIに相当するものがあるか?もしくはこれからでてくるか?
そのヒントとしてはWebAssemblyにあるように思う。
561デフォルトの名無しさん
2022/04/07(木) 09:01:27.48ID:5wMGrsUW :::.... /|\||
//|'\\.... ...:::.. .......
|/ ,'|-、 \\
|/ ,'|-、 \\\
|/ ,'|-、 \\\|.... ...:::.. .......
|/ ,'|-、 \\\|:..。..... ...:::.. .......
|/ ,'|-、 \\\|__|
|/ ,'|-、 \\\|:...|ヽ .... ...:::.. .......
|/ ,'|-、 \\\|::::| |::.....
| ̄ ̄ ̄ ̄ ̄\、'\\|;;:.|_,,|___
| □□ □□ | |\, \|;;::.... |\
| □□ □□ | | | ̄ ̄ ̄ ̄|\;: . | |
| □□ □□ | | |□□□□| |::...| |;;:
| □□ □□ | | |□□□□| |::...| |:;:./
| □□ □□ | | |□□□□| |::...| /
| □□ □□ |.._|__,,|□□□□| |::...|/
,,| ̄ ̄ ̄|| ̄ ̄\≡\,□□□|/ ,/
今北産業 [IMAKITA INDUSTRIAL CO.,LTD]
(1978〜 日本)
//|'\\.... ...:::.. .......
|/ ,'|-、 \\
|/ ,'|-、 \\\
|/ ,'|-、 \\\|.... ...:::.. .......
|/ ,'|-、 \\\|:..。..... ...:::.. .......
|/ ,'|-、 \\\|__|
|/ ,'|-、 \\\|:...|ヽ .... ...:::.. .......
|/ ,'|-、 \\\|::::| |::.....
| ̄ ̄ ̄ ̄ ̄\、'\\|;;:.|_,,|___
| □□ □□ | |\, \|;;::.... |\
| □□ □□ | | | ̄ ̄ ̄ ̄|\;: . | |
| □□ □□ | | |□□□□| |::...| |;;:
| □□ □□ | | |□□□□| |::...| |:;:./
| □□ □□ | | |□□□□| |::...| /
| □□ □□ |.._|__,,|□□□□| |::...|/
,,| ̄ ̄ ̄|| ̄ ̄\≡\,□□□|/ ,/
今北産業 [IMAKITA INDUSTRIAL CO.,LTD]
(1978〜 日本)
562デフォルトの名無しさん
2022/04/07(木) 09:02:23.11ID:qcT6PBEO RustのようにCと同等の速さと省メモリの言語が出てくればRustが敗れる可能性が出てくる
現時点では存在しないためRustの天下が続きそう
現時点では存在しないためRustの天下が続きそう
563デフォルトの名無しさん
2022/04/07(木) 09:26:02.84ID:/n3eSctb >>560
> WebAssembly
ねえよ馬鹿タレ
というかこのWebAssembly推しは一体何なん?
シェア的にもあり得ないし、ググラビリティもJSに比してゴミ以下だろ
Webの場合はそもそもクライアントサイドで何が出来て何をやるべきかが分かってない事が多く、
つまり、他言語で既に十分出来てる連中でもクライアントサイドを書く時には、まずこれを理解せねばならず、
一番手っ取り早いのはJSであり、これを避けては通れない
JS/TSである程度クライアントサイドをこなしてからなら他言語でWebAssemblyでもいいが、
JSに比してググラビリティも0に近いWebAssemblyでクライアントサイド入門とか、ただの自殺
俺はWebAssembly推しは完全にミスリードで、糾弾されるべきだと思ってるよ
この状況で、JSに比してWebAssemblyが主流になる状況は、現在のところあり得ない
だいたい、Rustをわざわざ学んでWebAssemblyするくらいなら、上記のようにそれ以前にJSを通るし、
ほぼ全部のサイトでJSで十分だからこそ圧倒的シェアになってる
元々JSだったのは「ソースじゃないと信頼出来ない」という事であり、
それが「最早そういう状況ではないのでバイナリでもいい。速さ重要」となってきているからこそのWebAssemblyではあるが、
ならばそのうち「もうネイティブバイナリでよくね?サンドボックスを仮想的に作ろう。これが最速」となって、
ネイティブバイナリをブラウザ内で実行する状況になって終わると思うけど
仮想周りは本当に進歩したし、何故か知らんがアメリカ人はエミュには執着するしで、これも時間の問題
> WebAssembly
ねえよ馬鹿タレ
というかこのWebAssembly推しは一体何なん?
シェア的にもあり得ないし、ググラビリティもJSに比してゴミ以下だろ
Webの場合はそもそもクライアントサイドで何が出来て何をやるべきかが分かってない事が多く、
つまり、他言語で既に十分出来てる連中でもクライアントサイドを書く時には、まずこれを理解せねばならず、
一番手っ取り早いのはJSであり、これを避けては通れない
JS/TSである程度クライアントサイドをこなしてからなら他言語でWebAssemblyでもいいが、
JSに比してググラビリティも0に近いWebAssemblyでクライアントサイド入門とか、ただの自殺
俺はWebAssembly推しは完全にミスリードで、糾弾されるべきだと思ってるよ
この状況で、JSに比してWebAssemblyが主流になる状況は、現在のところあり得ない
だいたい、Rustをわざわざ学んでWebAssemblyするくらいなら、上記のようにそれ以前にJSを通るし、
ほぼ全部のサイトでJSで十分だからこそ圧倒的シェアになってる
元々JSだったのは「ソースじゃないと信頼出来ない」という事であり、
それが「最早そういう状況ではないのでバイナリでもいい。速さ重要」となってきているからこそのWebAssemblyではあるが、
ならばそのうち「もうネイティブバイナリでよくね?サンドボックスを仮想的に作ろう。これが最速」となって、
ネイティブバイナリをブラウザ内で実行する状況になって終わると思うけど
仮想周りは本当に進歩したし、何故か知らんがアメリカ人はエミュには執着するしで、これも時間の問題
564デフォルトの名無しさん
2022/04/07(木) 09:37:09.90ID:Nyl3OsEM 確かにWebAssemblyではガベージコレクションのないRustが一強になってるな
WebAssemblyにおいてreference typeがサポートされたためDOM操作の壁が大きく低くなり実用的となったことも大きい
今後Rustによるフロントエンドが更に進むことが確実となった
WebAssemblyにおいてreference typeがサポートされたためDOM操作の壁が大きく低くなり実用的となったことも大きい
今後Rustによるフロントエンドが更に進むことが確実となった
565デフォルトの名無しさん
2022/04/07(木) 10:03:19.72ID:6mRJTF59 >>559
世にあるc/c++メモリ周りの扱いによるバグやセキュリティホールの殆どは、「GCがないと困るバカ」以外の人間が書いているわけだが。
世にあるc/c++メモリ周りの扱いによるバグやセキュリティホールの殆どは、「GCがないと困るバカ」以外の人間が書いているわけだが。
566デフォルトの名無しさん
2022/04/07(木) 10:10:10.15ID:hOTZf/Ps >>563
おまえが(1)のタイプだということはわかったから黙ってくれw
(1)はRustは使用しなくていい。というか理解できなくて使えない。Pythonとかで頭を使わないコード書くだけだから。例えるなら、ラインで組み立て作業を1日延々しているだけのルーチンワーク要員。
(2)はRustなどを使用してシステムプロラミングWebassemblyなどでローレイヤーや基盤を作っていく。例えるなら自動車のエンジンやデザインの設計者。
おまえが(1)のタイプだということはわかったから黙ってくれw
(1)はRustは使用しなくていい。というか理解できなくて使えない。Pythonとかで頭を使わないコード書くだけだから。例えるなら、ラインで組み立て作業を1日延々しているだけのルーチンワーク要員。
(2)はRustなどを使用してシステムプロラミングWebassemblyなどでローレイヤーや基盤を作っていく。例えるなら自動車のエンジンやデザインの設計者。
567デフォルトの名無しさん
2022/04/07(木) 10:18:58.15ID:/n3eSctb >>564
> 確かにWebAssemblyではガベージコレクションのないRustが一強になってるな
今は、だろ
> (WebAssembly は将来的にガベージコレクションによるメモリー管理を行う言語をサポートする 高レベルの目標 を持っている事に注意してください)。
> https://developer.mozilla.org/ja/docs/WebAssembly/Concepts
要するに今はGCの直接サポートがないから
GC言語だと436のようにGC部分も自前で用意してやる必要があるが、
直接サポートされれば丸々この部分は落とせ、436も完全に
「Rubyでもクライアントサイドが書ける」と言ってもいいくらいの物になるのだろうよ
この意味では、Ruby(436)のアプローチは正しい
とはいえ、肝心の(上記リンクの先)
> https://webassembly.org/docs/high-level-goals/
に「GCをこれからサポートする予定です!」という記述がないのだが、これは落とされたのか?
落とされてないのなら、サポート後はJS嫌いな奴はRyby/Python等でクライアントサイドを書くのも既定路線
ガチ最速目指すのならC++で書くのも既定路線
Rustは「『C++では無理な馬鹿にとっては』最速」というだけであり、この冠詞が取れない限り厳しいよ
C++はWebをやろうとしてないだけであって、出来ないわけではないので
RoRの状況知らんが、もしかして一番喜んでるのはRoRの連中かもよ?
これまで全部サーバーサイドレンダリングするか、諦めてJS書くかしかなかったのが、
Rubyで全て完結するようになるから。
(既にasm.js使ってJSは書いてないかもしれんが)
> 確かにWebAssemblyではガベージコレクションのないRustが一強になってるな
今は、だろ
> (WebAssembly は将来的にガベージコレクションによるメモリー管理を行う言語をサポートする 高レベルの目標 を持っている事に注意してください)。
> https://developer.mozilla.org/ja/docs/WebAssembly/Concepts
要するに今はGCの直接サポートがないから
GC言語だと436のようにGC部分も自前で用意してやる必要があるが、
直接サポートされれば丸々この部分は落とせ、436も完全に
「Rubyでもクライアントサイドが書ける」と言ってもいいくらいの物になるのだろうよ
この意味では、Ruby(436)のアプローチは正しい
とはいえ、肝心の(上記リンクの先)
> https://webassembly.org/docs/high-level-goals/
に「GCをこれからサポートする予定です!」という記述がないのだが、これは落とされたのか?
落とされてないのなら、サポート後はJS嫌いな奴はRyby/Python等でクライアントサイドを書くのも既定路線
ガチ最速目指すのならC++で書くのも既定路線
Rustは「『C++では無理な馬鹿にとっては』最速」というだけであり、この冠詞が取れない限り厳しいよ
C++はWebをやろうとしてないだけであって、出来ないわけではないので
RoRの状況知らんが、もしかして一番喜んでるのはRoRの連中かもよ?
これまで全部サーバーサイドレンダリングするか、諦めてJS書くかしかなかったのが、
Rubyで全て完結するようになるから。
(既にasm.js使ってJSは書いてないかもしれんが)
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 今年の漢字 [ぐれ★]
- 【おこめ券】物価高対策の“おこめ券”全米販は1枚477円で販売へ 鈴木農水大臣「国民の皆様に活用いただきやすいよう工夫いただいた」★2 [ぐれ★]
- 【麻雀】プロ雀士の岡田紗佳さんが勝訴、点数計算めぐる発言は「違法とは言えず」 大宮簡裁 [征夷大将軍★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ★3 [冬月記者★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★5 [蚤の市★]
- 今年の漢字は「熊」に決定! 相次ぐクマ被害 去年は「金」 [冬月記者★]
- 虫歯の味ってわかるよね
- 参政党議員「クジラの肉を食べないのは流通や販路に問題があるからだよね?」 [592058334]
- (´;ω;`)血尿が出た
- __トランプ、G7に代わる「Core 5」構想、米 中 露 印 日をまとめる巨大枠組み、世界秩序の再編につながる可能性 [827565401]
- お絵描きAIくん、風が強い!! 可愛い女の子も作れる
- VTuber叩きが大流行してる理由、1枚の画像で解説される…!! [858219337]
