1 名前:デフォルトの名無しさん [2022/03/22(火) 03:23:41.60 ID:ZDHdo9X7.net] スレタイ以外の言語もok 前スレ 次世代言語23 Go Nim Rust Swift Kotlin TypeScript https://mevius.5ch.net/test/read.cgi/tech/1638086359/
104 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 05:51:15.02 ID:1Vr2GJ3G.net] >>102 同じというのが嘘なんだよ。例えばこういうのw Rustにはないでしょ? https://www.npmtrends.com/grunt-vs-gulp-vs-webpack そしてそもそも定番というのがないw 基準がないと分からんのだよねw
105 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 05:54:59.24 ID:1Vr2GJ3G.net] ちなみにどこかの日本人が自分で作ってたのがあるのは知ってるけど、そういうことじゃないから先に言っておくねw
106 名前:デフォルトの名無しさん [2022/03/24(木) 07:00:09.81 ID:FIGV+eJh.net] 同じなんて言ってないだろ 人気だから安心理論は笑うが
107 名前:デフォルトの名無しさん [2022/03/24(木) 07:08:59.34 ID:FIGV+eJh.net] あ、同じって言ってた 同じじゃねえょ
108 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 09:02:13.23 ID:uXrCWmC0.net] 2021年のRust利用に関する調査結果が発表 https://codezine.jp/article/detail/15590 WebAssemblyアプリ開発で最も使われている言語はRust https://www.publickey1.jp/blog/21/webassemblyrustthe_state_of_webassembly_2021.html グーグルやMSが「Rust」言語でOS開発、背景に国家による諜報活動の影 https://xtech.nikkei.com/atcl/nxt/column/18/00692/042700054/ 「Atom」の開発者が究極のコードエディターを目指す 〜「Zed」の開発が始動 「Electron」を捨て、Rust言語を採用。GPUI、tree-sitterなどで武装し、超高速なコードエディターに https://forest.watch.impress.co.jp/docs/serial/yajiuma/1374986.html プログラミング言語「Rust」の普及に立ちはだかる壁 https://japan.zdnet.com/article/35153014/ なぜ「Rustは難しい言語」とされるのか――習得の難しさとその対策をWebエンジニアが考察 https://atmarkit.itmedia.co.jp/ait/articles/2201/26/news00
109 名前:4.html [] [ここ壊れてます]
110 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 10:45:51.40 ID:+3oKH6IH.net] 人気だから云々というのはデータサイエンティストの商売道具なんだな それに、変数の型など書かない方が、実行時のデータを分析する仕事は増える
111 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 10:56:08.60 ID:Ae+CEOFA.net] >>104 おまえnpm trendsの内容を見てないだろ 単にダウンロード数などの数値がわかるだけだぞ >>105 npm trendsも個人がやっているだけだぞ
112 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 11:40:40.62 ID:v7pSPIP9.net] ダウンロードのグラフを見て採用を決めるアホはいないからそこはどうでもええよ どうせnpm公式を見ることになるし Rustなら同じ情報は https://crates.io/ にあるし その詳細ドキュメント https://docs.rs/ を見て決めるよ
113 名前:デフォルトの名無しさん [2022/03/24(木) 12:21:02.66 ID:Hvf7BfqR.net] cratesはいい名前のライブラリ程放置ライブラリで、いいライブラリはわけわからん名前だから口コミ以外でライブラリ見つけられんのよな でも口コミが有効な程ユーザーがいないので結論としてライブラリ見つけられん
114 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 12:28:49.48 ID:cpMYWIcY.net] >>112 そんなの要らん 検索でダウンロード順などにも出来るぜ 人気だけで決めるようなレベルの人ならそれで十分 どの世界でも同じだが普通は内容を見て検討
115 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 12:34:42.64 ID:Dh9iIqia.net] Rustの話は専用スレ立ててそっちでやってくれよ さすがにウザイ
116 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 12:53:05.46 ID:tho1Y8H6.net] いつも同じパターン RustとC#のアンチなガイガー君がたくさん書き込みをしてそれらを叩く ↓ RustとC#の話ばかりになる ↓ Rustは人も多いので色んな情報や質問が出てきてガイガー君が寝てる時間も盛り上がってる現状
117 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 13:14:59.00 ID:Fp4rCRr5.net] 例の人はすでにRust系のスレでもずーとあばれてるんだな >>114
118 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 13:28:40.21 ID:PqQGlENL.net] rust普及させたんだろ
119 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 13:30:34.37 ID:hpnd5vIU.net] 結局rust厨ってのは他の言語に対してマウント取りたいだけだから自分のスレに行かんのだろう
120 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 13:38:11.84 ID:C/wmaJvp.net] >>116 そうなのよ C++Rustスレで暴れているだけならいいのだけど Rust本スレでもRust叩きをして荒らしていて困ってるの
121 名前:デフォルトの名無しさん [2022/03/24(木) 14:03:00.30 ID:cnbeCFj/.net] >>113 内容を見るにはまず見つける必要があるんだが…… ダウンロード順は人気の分野のものしか見つからん
122 名前:デフォルトの名無しさん [2022/03/24(木) 14:10:28.86 ID:cnbeCFj/.net] 例えばダウンロード順だとwebとかで検索してもactix-webは二ページ目になるんだよな 我々はarctic-webが人気と知っているからこれを見つけることが出来るが、知らなかったら見つけられんだろこれ
123 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 14:16:19.41 ID:JB9oIWQh.net] 人気バカにしてるやついるけどかなり重要な要素だろ 今後継続してメンテナンスされやすいかどうかの違いは大きい
124 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 14:46:16.02 ID:RmgcY/8b.net] >>121 ダウンロード数が多いのが並ぶ分野ならば2ページ目も当然見る 1ページ目の各々の内容を確認すればweb関連のうち自分が目的とするものか否かはすぐわかる そして今actix-webより上に並ぶものを見てみたがいずれも重要な存在ばかり 中身を見て自分が今必要なものではなくとも把握しておく価値あるものがズラリ
125 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 14:50:46.28 ID:RmgcY/8b.net] >>122 Rustに限らずどこでも同じだが ダウンロード数が多いものと人気は食い違うこともある 例えば複数の領域にまたがるものはダウンロードが多くなる しかし自分が求めている特定の領域に限れば1番人気とは限らない
126 名前:デフォルトの名無しさん [2022/03/24(木) 18:22:21.38 ID:sVFN7N70.net] >>123 うーん。これは流行らない言語大好き言語マニアの考え方 成果が出る人間の大多数は他分野のものを把握するより自分が作りたいものに集中するので、こういうオタクに占有された言語はキツい ゆるふわのpythonとかjsなんかが流行るのが現実だからな
127 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 19:07:56.38 ID:d1t9w96u.net] >>125 それは明らかにあなたの勘違い 今回の質問者は"web"なんていう非常に幅広い曖昧な単語で検索している これでは多くのライブラリ検索システムにおいてもwebに関係した様々なものが大量に出るであろう 各人で目的のものが異なるのだから質問者の目的のものが2ページ目に出たのは何ら不思議ではない結果
128 名前:デフォルトの名無しさん [2022/03/24(木) 19:14:33.26 ID:sVFN7N70.net] >>126 よく知らんけどactix-webが一ページに出るようなキーワードって何かある? もちろんactix以外で
129 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 19:18:08.10 ID:bcPLTUMY.net] rust web frameworkでググる
130 名前:デフォルトの名無しさん [2022/03/24(木) 19:19:33.96 ID:sVFN7N70.net] >>128 それは人気の分野でしか出来ない方法だな actixはフレームワークという人気分野だからググったらヒットするけど、ユーザーの少ない分野ではそれは無理
131 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 19:28:38.65 ID:/Tjfy9fL.net] ちんちんシュッ!シュッ!シュッ!
132 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 19:32:23.67 ID:Fp4rCRr5.net] rubygemsでwebと検索してもrailsはトップに 来ないけどモーダメダメってこと?
133 名前:デフォルトの名無しさん [2022/03/24(木) 19:32:38.88 ID:Qyn6vTpY.net] googleで検索するよな
134 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 19:36:43.94 ID:M5U7EZzR.net] https://crates.io/ で『web framework』検索してsort by「Recent Downloads」したら actix-webも5位に出るな >>121 は『web』とだけ検索したのが敗因では?
135 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 19:44:58.04 ID:geCTUqVE.net] https://crates.io/keywords/framework フレームワークタグで見ればactixだらけだしまあいいんじゃね
136 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 19:45:35.24 ID:1Vr2GJ3G.net] 必死なRust信者が単発IDで頑張ってるねw crate.ioでは良い関連が導出できないのか、そもそも関連の深いものがないのか、効果皆無だったから出さなかったw ようは全然alternativeが提示されないってことねw 人気=ダウンロード数とできないかどうかなんて些細な点だから、そんな例外を考慮する前に基礎的な仕組みがないことを嘆く必要があるよw RustスレでRustの話をするのは何の問題もないと思うw ただvsスレでもない他の言語スレでスレ違いを指摘されても延々とRustの話をしてたRust信者はどうかと思うw このスレでも嫌われてるよねw Rust w Rustの教材そんなに売りたいの?w 炎上商法?w 多分こう書くと勉強しはじめる人が増えてゴミ記事が大量に湧くんだろうねw
137 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 20:16:44.07 ID:/HBDruak.net] >>135 そりゃcrate.ioでは出てこなくて当然 あとここはスレタイにRustもあるし次世代言語の一つなのでスレ違いではない そもそも貴方がRust叩きをしている筆頭
138 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 20:22:21.45 ID:1Vr2GJ3G.net] >>136 スレ違いなところに出張して無関係なRustの話を延々放置してても続けるし、指摘してこちらに誘導しても居残り続けるRust信者が嫌われてるという話だよw ここでRustが叩かれてるのはそういう理由だという話をしているw Rust自体の魅力は放っておいても世間に滲んでいっていたというのに、お前ら信者が嘘と誇張とルール無視し放題でヘイトを稼いでいるせいで全く浸透してないんだよw
139 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 20:23:24.39 ID:vuY47/Di.net] そだね〜
140 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 20:40:30.55 ID:fuI32trL.net] アンチには大人気だよな アンチも湧かない言語は息してない
141 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 21:22:05.35 ID:1Vr2GJ3G.net] こんなところ読んでる奴は大抵の言語はすでに知っててROMってるのが大半w 他の言語をディスるRust信者は単純に嫌われて(恐らく相当強力な)ユーザーを減らし続けてるだけと分かってくれw
142 名前:デフォルトの名無しさん [2022/03/24(木) 22:00:47.79 ID:K94Y9ZL5.net] ユーザーってGAFAMのこと?
143 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 22:25:26.45 ID:iUQBARfO.net] 世の中に影響与えられるほどこの板に人口居るとも思えないが...
144 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 23:03:48.67 ID:9cbRkQeA.net] 対象が有名人などでも何でも同じだが 好きか嫌いかではなく 実は興味があるか無いかの二択 嫌いとかアンチは興味がある側の人 それら含めて興味がある人が多いと話題性があり盛り上がる そして知らなかった人やそれまで興味を持たなかった人々が興味を持つ機会となる さらにそこから一定数はファンが生じる
145 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 23:18:11.18 ID:1Vr2GJ3G.net] 炎上商法で成功したソフトなんて1つもないよw 残念だったねw 悲惨な末路しかないw
146 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 23:18:59.49 ID:DqvTJnEp.net] >>100 やっぱりpythonがブレークした一つのきっかけはnumpyとか機械学習系とかだと思うんですけどその手のライブラリはもう揃ってきてるんですか?
147 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 23:20:45.72 ID:1Vr2GJ3G.net] このスレで叩かれたり見た人がツイッターで呟く →違和感を感じた誰かが引用RT →影響力のある人の目に止まり原因を追い始める →辿り着いて絶句 →Rust今後やばそうだって思って一歩引いて静観を決める(←イマココ)
148 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 23:22:34.32 ID:rSdCMchJ.net] >>146 妄想ストーリーにしても上手く作れや
149 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 23:32:01.53 ID:1Vr2GJ3G.net] 肌で感じるTLなんだがw 俺は呟いてないけどw
150 名前:デフォルトの名無しさん [2022/03/24(木) 23:51:19.57 ID:rNy1eSrz.net] タブレットモードで使ってるのが悪いのか、Rust謹製のFirefoxはしょっちゅう固まる。 閉じることが出来なくなるのが辛い。
151 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 00:05:26.84 ID:1tDoEuXw.net] >>149 Linuxで使っているがFirefoxが固まったことはないな そのOS側の問題ではないか?
152 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 00:47:48.87 ID:4OElhmyv.net] >>140 このスレをざっと読んだけれど 叩かれている言語はC#とRustで 叩いているのは連投しているキミだと感じた キミの主張ではどの言語が誰に叩かれているんだい?
153 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 00:50:09.82 ID:Sf6AbPmi.net] Rustが俺含むRust信者以外にw
154 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 01:28:59.11 ID:4czHOVAh.net] >>151 そいつ、ここしばらくいろんなスレで荒らしまわってる通称ガイガー君で、何かを聞いてもまともに議論にならないよ
155 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 02:44:54.38 ID:Sf6AbPmi.net] 自演楽しそうだねw 単発ID君w
156 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 08:17:20.71 ID:yQTGjdBz.net] このスレrustしか話題ないなか?w いい悪いは別として圧倒的にrustは注目されてて他の言語(Nimとか)は空気だなwwww
157 名前:デフォルトの名無しさん [2022/03/25(金) 08:21:15.09 ID:6IycpRpt.net] Nimはオワコン 人気が出なかったからな
158 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 08:29:35.16 ID:XAr12dgF.net] nimのドット演算子は合理的だと思うけどなぁ。 Pythonあたりに取り込まれんかね。 嫌われている関数呼び出し構文がずいぶん改善すると思う。
159 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 08:34:02.92 ID:Sf6AbPmi.net] 表現方法など1種類であればどうでもいい
160 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 08:35:38.62 ID:Sf6AbPmi.net] 2種類以上あったり、設定により変更できたりしたらオワコンw
161 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 08:37:33.51 ID:XAr12dgF.net] >>158 Pythonは関数とインスタンスメソッドで呼び出しが2種類あるから駄目なんだよ。
162 名前:デフォルトの名無しさん [2022/03/25(金) 08:37:51.44 ID:6IycpRpt.net] 今時大企業の莫大な資金力なしに流行る言語を生み出して勝たせることが出来るわけもなし
163 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 08:43:11.44 ID:Sf6AbPmi.net] 表現するものが違ってんじゃん
164 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 09:08:32.18 ID:u1kd+8tP.net] スレタイにある言語だとNimとRust以外はもう採用領域もある程度固まってて良くも悪くも話題がない Rustはまだそのレベルに到達するかどうかってラインだから、人によって見方が違って話題になるんだろうね Nimとかはそもそも知ってる人がほとんどいないレベルだろうからなぁ
165 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 09:51:57.04 ID:Wd4k06Lv.net] >>163 これだけ幅広く使われているRustに対してそんなに見方変わる?
166 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 10:35:10.27 ID:yQTGjdBz.net] じゃあ次すれのタイトルはこれでいいなw 次世代言語25 Go Rust
167 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 10:42:45.45 ID:ON48JF13.net] 採用領域とはなんだ? 要するに採用された物以外を規制してるんだろ Rustが参照を規制しているのと同じようなことを 機械ではなく人間が手動でやってる
168 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 10:51:27.96 ID:9ogzvJw1.net] >>166 参照を規制してプログラミングするのはどの言語でも同じ そうしなければ一番広い意味でのデータ競合がどの言語でも起きうる Rustはそれをどんなに複雑なパターンでもコンパイラがチェックしてくれるという違い
169 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 11:08:02.15 ID:4czHOVAh.net] Rustが有力になる領域はOSみたいなミドルウェアやベアメタルとかの低レベルなシステムプログラミングよ その辺だとそもそもC/C++/Rustしか選択肢にないけど
170 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 11:10:17.42 ID:k+N4+RC0.net] >>168 NimってCにトランスパイルされるらしいけど低レベル領域で使えたりしないの?
171 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 11:14:36.50 ID:eoZx8ezX.net] Rustを試したことなくてイメージだけで語ってるやつは ボローチェッカさんの存在を身に染みてないんやろなw 他の言語だとコンパイラさんに叩かれるだけだけど Rustの場合はボローチェッカさんにも詰められるんやぞ
172 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 11:21:56.33 ID:QvA9KxTG.net] >>170 あれは本当にありがたいよね プログラミングの効率が一気に上がった 実行時に無駄にデバッグしていた時間がほとんど無くなったのが大きい
173 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 11:52:02.01 ID:mOGsJD9H.net] >>169 低レベルを扱いやすくする概念の有無だろ?
174 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 11:55:17.22 ID:mOGsJD9H.net] >>168 実行速度が求められたり、複雑さなのに安定性が求められるものに向いている気がする 口では何と言っていても実態では安定性にそれほど価値を置いてないケースも多々あるから
175 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 11:58:21.38 ID:k+N4+RC0.net] >>170 NLL入ってからborrow checkerに怒られることはほとんどなくなったよ >>172 単によく知らないから質問しただけなんだけど、 Nimは低レベルを扱いやすくする機能は特にないってことか Cへとトランスパイルされるのは低レベルへの対応というよりも、対応プラットフォーム増やすことや性能稼ぐことが目的という理解で正しい?
176 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 12:12:09.59 ID:whQHGuOj.net] NimはDと同じようなイメージだな C++からいろいろ便利にしましたって感じなんだけど、それを言うならC++20だって良くなってるし、わざわざ乗り換えるほどでもないよね、ってなりがち Rustくらいの特徴が何があれば、多少面倒でも乗り換える人は出てくるんだろうけど
177 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 12:12:46.01 ID:vqaIaLyp.net] >>174 以前のRustコンパイラはたしかに厳しすぎて吐くエラーも見にくかったけど non lexical lifetime対応した今のRustコンパイラは普通に書いていれば困ることはなく コンパイラの出すエラーも非常に見やすくて何が問題なのかすぐわかる上に 何を直すと良いかのアドバイスもあったりしてコンパイラ親切さトップ言語になったね
178 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 12:28:24.72 ID:XAr12dgF.net] >>175 Rustはbetter c じゃなくてsmart/simplified c++あたりだわな。 Rustよりマイルドなc++標準サブセット出ないかな。
179 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 12:29:22.46 ID:Sf6AbPmi.net] Rustとかどうでもいいよねw 興味もないしそのうち消えてなくなるよw
180 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 12:33:45.17 ID:XkeiXeqJ.net] >>178 もちろんRustより良い言語が出てくればそうなるし良い言語が出てくるのは良いこと しかし現状ではRustより良い言語がないし他に登場する気配もない
181 名前:デフォルトの名無しさん [2022/03/25(金) 13:20:25.76 ID:yp7Tyx5s.net] Rustより良い言語が出て自然と消えるのは良いことだろ ただ、今のところはRustは良い言語だし使いたいと思う
182 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 14:31:56.50 ID:+bBvNTMI.net] Rust は、Linux カーネルの開発の一部で取り入れるよ、っていう話で初めて注目した。
183 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 14:32:33.84 ID:2aIwxdP0.net] >>176 おかげでよりブラックボックス化したけどな。まともな文法定義がもうできなくなってる。
184 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 15:05:30.24 ID:vFivvmZ5.net] >>182 例えばどういう問題が発生してるの?
185 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 15:22:50.24 ID:k+N4+RC0.net] >>182 NLL導入で文法には影響ないと思うけど何のことが言いたいの?
186 名前:デフォルトの名無しさん [2022/03/25(金) 16:28:19.83 ID:yp7Tyx5s.net] >>184 セマンティクスのことを言いたいんじゃないか?
187 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 16:42:28.63 ID:xgDHHux/.net] 具体例を上げてないしレス乞食じゃないの?
188 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 16:50:09.59 ID:k+N4+RC0.net] >>185 文法定義を気にする人がそんな変な用語の使い方するはずないと思う
189 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 18:08:36.16 ID:/LCeqdiL.net] >>182 何もブラックボックス化していないし文法定義に変化はない Rustを叩く人はなぜデタラメばかり言うのだろうか
190 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 19:28:43.78 ID:szsym4Ce.net] >>184 >>188 え? より厳密になってんじゃないの? 機能の安定化とNLLのバックポートを備えたRust 1.36 Rust 2015でNLLがサポートされたため、古いボローチェッカは間もなく言語から削除されることになる。この移行を安全に行なうために、新たなボローチェッカでは、古いボローチェッカでは受け入れられていたが、新たなボローチェッカでは違反になるコードに対して、警告を発するようになる予定だ。
191 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 19:46:16.71 ID:xP1gtcBq.net] そろそろ次の次世代出てきませんか
192 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 19:52:52.64 ID:k+N4+RC0.net] >>189 それは古いborrow checkerのバグでコンパイル通ってなかったコードがエラーなるということだと思う 基本的には新しいborrow checkerの方が制約は緩いはず
193 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 19:53:32.69 ID:k+N4+RC0.net] >>191 バグでコンパイル通ってなかった、ではなく、バグでコンパイル通ってしまっていた、が正しい
194 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 20:22:05.99 ID:RUUx2+G1.net] でもバクだろうと通らなくなるんだから文法変わってるという意見が正しいな、ごちゃごちゃ並べ立て言い訳してるみたいだけど
195 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 20:27:31.26 ID:k+N4+RC0.net] >>193 文法じゃないでしょ
196 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 20:29:27.44 ID:Mjr9Vw0y.net] 文法ってのが構文+意味論みたいなのを指してるなら NLL導入前後で構文は変わらず意味論は変わったから、まぁ全体としては変わってるでいいんじゃない? それはそれとして文法定義ができないってのは意味不明だけど
197 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 20:34:34.89 ID:k9SUNOiI.net] >>193 文法は一切変わっていない 大雑把に言うと 以前はコードの文字通りに追うだけで借用ライフタイムを無駄に広く取ってチェックしていた だから厳しすぎて今では通る普通のコードが通らなかったりした 変更以降は実際に使われている状況を追うことで借用ライフタイムを実用の意味あるものとした だからほとんどのケースで緩くなってプログラミングする上で困ることがなくなった
198 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 20:56:18.04 ID:k+N4+RC0.net] >>189 で言われてるNLL導入でコンパイル通らなくなるcrateって https://github.com/rust-lang/rust/issues/60680 で挙げられてるやつのことかな 壊れる是非はともかくcraterみたいな取り組みは他の言語もパクって欲しい
199 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 20:58:59.81 ID:tb8uqVBL.net] >>196 フロー解析に頼るって信者的にどうなの? あくまで型でチェックしてるのが美しいんじゃなかったのか
200 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 21:02:27.36 ID:I37gdFG5.net] >>196 ある2つの形式言語ABで、同じ文章がAで受理してBで拒否するんだったら、そりゃ「ABは文法が違う」としか言えんな。 まぁ、だからと言って言語自体を否定する類の話じゃないけど、Rustを神聖視するあまり横車を押そうとするのはアホに見えるからやめたほうがいいよ。
201 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 21:14:19.83 ID:I37gdFG5.net] >>197 crate.ioのこと? ruby gemとかpython pip とかけっこう一般的な話だと思うけど、何か違うの?
202 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 21:17:24.39 ID:LQTFL9vM.net] >>199 その程度で文法が変わったとは言わないと思う その解釈だと今後もRustは文法がどんどん変わる計画となっている 例えばライフタイムについても現在stableでは通らないものがnightlyでは通るように更に緩くなっていくことが確定している 一方でeditionが変われば今まで通っていた記述がエラーとなるなど通らなくなることもある Rustは今後もどんどん使いやすく向上していくよ
203 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 21:18:41.95 ID:Sf6AbPmi.net] バカだから他の言語より劣ること分かってないんだよw
204 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 21:19:38.13 ID:Sf6AbPmi.net] Rustっていうゴミ言語なんてどうでもいいよねw
205 名前:デフォルトの名無しさん [2022/03/25(金) 21:23:34.44 ID:0Q30DE2u.net] Rustプログラマーは給料上がっていくだろうね そうすると人口も増えていく パイソンもそうだったし
206 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 21:23:43.31 ID:YQJ39BAy.net] >>201 最終的にライフタイムや借用を人間が一切明示しなくなってGCなしC#みたいになるのがゴールなの? それでいいのか信者は
207 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 21:24:25.90 ID:VGJQOYmV.net] >>201 通らなかったものが使えるようになるのはただの拡張だがその逆は破壊的変更。 後者がそう頻繁にあるとは思わんがな。
208 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 21:25:38.70 ID:I37gdFG5.net] >>201 >その解釈だと今後もRustは文法がどんどん変わる計画となっている 当たり前だろ。 お前は何を言っているんだ? 形式言語の文法を何だと考えているんだか。 そういうアホな主張をするからRust信者は狂信者扱いされるんだよ。
209 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 21:28:33.82 ID:1BFpe92B.net] >>205 まずは基礎知識を学習すべし 知識なく語るのは愚か
210 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 21:34:20.09 ID:UcduMPNV.net] >>198 せめてライフタイムとは何かを学ぼうよ 型チェックとは全く関係ない話だよ
211 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 21:40:29.03 ID:AozLNx79.net] >>200 craterはcrates.ioの全クレートをコンパイルしてみてコンパイラのバージョンアップで壊れるやつがいないかどうかチェックする仕組みのこと スクリプト言語だとチェックできるのが構文エラーくらいしかないからあまり意味はないかも
212 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 22:03:36.42 ID:cG5UiOtS.net] >>207 確かに言語の拡張も文法が変わったと言える どのプログラミング言語も常に文法を変えながら拡張されていくのだろう
213 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 22:14:57.99 ID:hMpMFfsx.net] >>205 意味が分からないな コンパイラが正確に正誤を判定してくれるならそれが最善だろ
214 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 22:16:06.05 ID:4czHOVAh.net] >>182 >まともな文法定義がもうできなくなってる。 意味不明
215 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 22:30:28.83 ID:6wzTiGXz.net] >>201 同じコードで通る/通らないが変わるのなら、それは普通は「文法の変更」という。 なぜなら、 Error: コード生成が出来ない Warinig: コードは生成可能だが、普通はこんな事をする必要もないからバグだよね? だから。ここをRustはおそらく(haskell信者が一時期言ってた) ・Rustのアプリにはバグがない。なぜなら、バグのあるコードは全てコンパイラが落とすから をやりたいのだろう、通常は警告のところをエラーにしてる。 ただこれは一部馬鹿にとっては逆効果で、 ・エラーがなければ全て良し だと勘違いしてしまってるように見える。 (別人だが)フレームワークにドキュメントで禁止されてるコード食わせてドヤってる馬鹿とか、 >>98 もそう。今時のエディタだと文字列/正規表現リテラルは色が付くが、 エスケープを失敗するとコード全体がリテラルの色になる。いくら馬鹿でもこれを無視はしないだろ。 従う気があればエディタで『予定と違う場所に』色が付くだけで十分なんだよ。 本来は警告も無視せず、一つ一つ問題がないか確認するものだし。 その辺面倒くさがってエラーに一本化した結果、悪癖が付いてしまってる。 ただまあこれはいいとして、 Go(2009)/Docker(2013)だから、これはタイミング的にも「これで勝つる!」だったのだろう。 とはいえDockerは普通の人が組むアプリではないので他案件/構造も引き続き募集中だが、 結局Rust(2010)にはないのか?本当にメモリ安全な言語がなくて困ってる奴がいれば飛びついているはずで、 時期的には2014頃に何か出現しててもおかしくないのだが。 未だに何もないのなら、所詮は馬鹿向けC++で、ポシャる見通しの方が高いだろうよ。
216 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 22:38:33.17 ID:eYNPgwi0.net] >>214 はまたいつもの意味不明なことしか言えないキチガイだな
217 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 22:39:20.33 ID:SCzIX8G9.net] Dockerのくだり分からん
218 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 22:43:28.74 ID:4czHOVAh.net] Ruby on Railsのようなキラーアプリ(ライブラリ)はRustにないのか、っていう話でしょ そもそもRustはシステムプログラミング言語だし、そういう低レイヤーに縁がないエンジニアはこれからも使う可能性低いっしょ
219 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 22:49:09.03 ID:k+N4+RC0.net] >>199 文法って言ったらシンタックスであってコンパイラはシンタックスだけをチェックしてるわけじゃないんだから コンパイラが受理しないからと言って文法が違うとはならないでしょ >>214 文法の変更って言ったら普通は例えばBNFが変わるとかそういう話でしょ
220 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 22:49:43.62 ID:883KHxPC.net] >>214 君は書き込みをする前に二つの点を改善しなさい 一つ目は意味の分かる文章を書くこと 頭をゼロにして読み返してみればおかしなところに気付くはず 二つ目は批判したい対象についてもっと学習すること 妄想で話を進めるから意味不明と間違いが多い
221 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 22:55:01.03 ID:6wzTiGXz.net] >>216 (スレ的に昔の話を混ぜ込んでわかりにくくなってたのならすまん) 90で言ったとおり、Dockerを組みたいのならGoは多分最適で、結果、 Go(2009)/Docker(2013)と順当な期間でデビューし、その界隈では広く使われるに至ってる。 Dockerのアイデアが先にあって偶々出てきたGoに飛びついたのか、 GoにインスパイアされてDockerの構造を思いついたのかは分からんが。 Rustが「他の言語では現実的に不可能な」レベルの得意分野があるのなら、 同様に、Rustが最適だ、と思えるアプリが既にあるか、開発中のはず。 俺は何度も言ってるが(C)を目指すべきだと思ってるので、(89参照) その言語が得意とする構造等があれば、 俺が作りたいアプリにそれが含まれてたらその言語を使う、というだけ。 (言語の習得が目的ではない)
222 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 23:09:22.77 ID:f8iKGyO6.net] >>220 前にもデタラメと意味不明なことを書いていた人だったのか 浅はかな知識ならびに自分勝手にこうでなければならないと決めつけた話を元に暴走しているためにデタラメと意味不明になっている
223 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 23:13:11.92 ID:v9JvqvSg.net] >>194 顔真っ赤で内容ゼロの反論してきて不覚にもワロタw
224 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 23:17:57.63 ID:sK8SIzoZ.net] >>218 文法=構文って思ってるのは分かるけど皆がそうとは限らないよ 自分だったら構文と意味論の区別が問題になるようなこのケースで 文法なんてあいまいな用語は使わないけど 強いて言うなら構文と意味論は両方文法に含まれると思っている
225 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 23:20:42.33 ID:Sf6AbPmi.net] ほとんどが単発IDの自演だぞw
226 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 23:20:59.36 ID:UErfWwQw.net] >>193 いわゆる普通に文法を意味するところのsyntaxは変わっていない
227 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 23:25:23.45 ID:k+N4+RC0.net] >>223 カジュアルに文法って言葉使ってるなら自分も気にしないんだけど >>182 が文法定義って言ってたり >>199 で形式言語って言ってたりして それどういう意味で言ってるの?ってのが気になってつっかかってしまった
228 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 23:26:20.50 ID:4czHOVAh.net] >>220 実際、Rustの最高のターゲットはシステムプログラミングだから、そういう意味ではCと似ている だからLinuxカーネル、Android OSみたいな巨大プロジェクトでも採用されるまでに至った その他の有名事例はFirefoxは常識として、Dropboxのファイルストレージ、DiscordのStateサーバ、Figmaのmultiplayerサーバ、AWSのS3/CloudFront/Bottlerocketとかかな https://www.rust-lang.org/production/users 細かく挙げればここにあるようにいくらでもあるけど、眺めてみると件数としてはhigh performanceを求めて採用する事例が多いかな
229 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 23:32:52.17 ID:6wzTiGXz.net] >>218 > コンパイラが受理しないからと言って文法が違うとはならないでしょ 少なくともCではほぼ同義だし、他言語でもそんなもんだと思うけど。 Cの場合は「自分の足を撃て」で躊躇なく撃つ言語なので、エラーは、 ・シンタックスエラー ・記憶領域(変数のサイズ)等が確定的でなく、オブジェクトコードに出来ない (これはC特有で、要はソースを食わせる順が間違ってたりしててサイズを知らない物が存在した場合。 2パスコンパイルをしてる他言語では発生しない) だから、他言語でもコンパイルが通らない=文法エラー、という認識が普通だと思うよ。 Rustの場合は他言語だと警告のところをエラーにしてるから話がおかしくなる。 元々全部警告にしてたら、誰も文法が変わったとは認識しないだろうよ。 だけどそういうコードの存在自体を許さないのだから、エラーにしているわけで。 元々コンパイラは色々情報持ってるんだから、気づいたおかしなところも吐いてくれ=警告で、 なら警告チェックを厳しくしてバグ検出出来るんじゃね?=リンターなわけ。 だから簡易リント機能は元々コンパイラにあって、さらにそれを強化して専用にした物がリンターと呼ばれる。 で、ここで「文法が変わった」かどうかを争ってても意味ないと思うが。 他言語出身者なら、同じコードで通る/通らないが変わるのなら、「文法が変わった」と認識するし、 コンパイラ屋なら、構文解釈に変更なくリント機能だけが強化/緩和されたのなら、「文法は変わってない」と言い張るだろうさ。 (実際にリント機能部分だけの変更なのかは知らんが)
230 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 23:36:20.64 ID:8M8bRdYX.net] 例えば自分はWebでReact/Next.jsを使っているんだけど そこで使われているトランスパイラがRust製のswcへ変わったよ 色んな分野で代替する新たな良いものが出てくるとRust製が多いね
231 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 23:41:25.24 ID:k+N4+RC0.net] >>228 Cみたいなシンタックスにセマンティクスが浸食してる言語例に出すあたりマジで何も分かってないんですね それにCのエラーだってシンタックスエラー以外に型エラーとかいろいろあるでしょ とにかく文法という言葉の使い方が独特すぎるからあなたの言うところの文法とは何かをちゃんと定義して欲しい コンパイル時にエラーと判断されうるものは全て文法という理解で良い? リンク時エラーも文法エラー?
232 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 23:57:36.32 ID:6wzTiGXz.net] >>227 > Linuxカーネル それ前も言ったけど、forkしただけで、採用されてないよ。 > Firefox 結果シェアはズタボロに落ちて最早ゴミ。対応面倒で切られてる始末だろ。 > Discord ブログにあった件なら、生存オブジェクトが大量にあるのにGC言語(Go)を使った点が間違ってる。 ただ、Go側で「GC非対象ヒープ」を(自前ででも)用意すれば済んだ話。 あれで言語移行したのはただの趣味だと思うよ。 他は知らんが、Goでも採用実績なんていくらでもあるし、Rustよりは多いと思うよ。 それを全部見るのは無理なので、折角詳しくて布教したがってる連中が居るのだから聞いてみるか、というわけ。 Goの連中はピンポイントでDockerを出してきたし、納得するものでもある。 Rustにはねえのか?という話。 (ただしDockerと同様の物を俺が組む事は多分無いので、他案件/構造も募集) >>229 本当に「この言語じゃないと現実的に無理」なら、「書き換え」ではなく「新分野を開拓」出来るはずだ。 Dockerの構造は「新規」だよ。
233 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 00:05:21.48 ID:xT2VrKPz.net] >>231 そんな言いがかりみたいなでたらめ並べてうれしいのかね それともそれら次々とRustで置き換わっていく恐怖に怯えての言動かね
234 名前:デフォルトの名無しさん [2022/03/26(土) 00:18:45.11 ID:JI2pA1P6.net] ドッカーは確かにgoで書かれているが、作ったイメージをコンテナとして動かすランタイムはRustで書かれてたりするのだよね 抽象化されてることすら知らなそうけど
235 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 00:19:28.54 ID:W/ip1wOX.net] >>231 そんなにGo使いたいならRustのことを気にせずGo使ってどうぞ Goも良い言語だから安心してね
236 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 00:22:51.04 ID:W/ip1wOX.net] 実際、Dockerほどの人気があるプロダクトはめったに生まれないからね
237 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 00:27:20.02 ID:Z1/vdmI3.net] ランタイムあるからGoだけではコンテナランタイム作れないって聞いたんだけど本当?
238 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 00:30:14.44 ID:9D+dR2jG.net] >>232 > 次々とRustで置き換わっていく恐怖に怯えての言動かね 自意識過剰すぎ。 というか、俺はお前らがそこまで言語に拘る意味が分からない。 それが適してたらそれを使うだけ、だろ。 俺がその言語作ったわけでもないし、その言語を使えば俺が偉くなるわけでもないし。 お前が修得出来たのなら、俺も修得出来るし、他の人も同様に修得出来るだけ。 修得で無理に差別化しようとするからおかしな事になるのだと思うが。 >>234 Goは味見して糞言語だったからもう使う気はないがな。 同じ事を何度も書かせて、しかも、それを悪いとしてない事が無理だ。 俺が切れたのはJSONのタグ記述だが。 (ああGo的には自動生成出来るような仕組みがあるから問題ないんだ!としている事は知ってる)
239 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 00:33:29.42 ID:3brWv6vK.net] Dockerコンテナランタイムは色々あってもちろんRust製もある
240 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 00:35:20.61 ID:W/ip1wOX.net] >>237 じゃあ自分の使いたい言語を使っていいよ こんなスレに文句を書きに来てるぐらいだから、本当はRustのことが気になって気になってしょうがないんだろうけど
241 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 00:43:54.51 ID:9q2PYIcF.net] dockerのどの辺がRustで書かれてんの???wwwww
242 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 00:44:14.12 ID:d6z2UOgm.net] >>237 の人は前スレから一貫していて Goに対してもクソ言動と批判しつつ Rustを叩くための棍棒としてGoを使っている C#については絶賛
243 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 00:44:35.30 ID:9D+dR2jG.net] >>239 リスカブス乙 俺は定期的に他言語情報をクロールしてるだけだよ。 ただNimがCソースを吐くとは知らなかったのでちょっと気になってるが。(使うとは言ってない)
244 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 00:51:02.81 ID:9D+dR2jG.net] >>241 > C#については絶賛 してねえだろ。 実際GUIは糞で、JSの方が数段マシ。そりゃ世の中のGUIがHTMLになるのも納得だよ。 GUIのメインスレッド+サブスレッドの構造もよろしくないと思ってる。 (ここら辺も既に書いたが) ただな、どの言語にも一長一短はあるんだよ。みんな色々考えて、改善してきてるわけだから。 だから、○○言語最強!ではなくて、言語特性を理解した上で選択、としたいわけ。
245 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 00:54:11.51 ID:AS0dCv5n.net] >>241 それに対してガイガー君がC#を叩く構図だね もちろんそれ以外の時はガイガー君はRust叩き 二人ともロクでなし
246 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 00:54:44.30 ID:47RFB1/G.net] Firefoxが墜ちたのは旧エクステンションを切ったからで…(またこの話?)
247 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 00:58:24.45 ID:W/ip1wOX.net] >>242 そういうのが気になるなら vlang もいいかもね
248 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 01:01:58.12 ID:LzDSDoUW.net] >>243 JavaScriptも良い言語だけど 型が弱いしTypeScriptは中途半端だから 最近Rustに移ったよ もちろんサーバーサイドだけでなくブラウザサイドもRustでWASM WASM⇔JavaScriptのオーバヘッドは誤差範囲とわかり実用的
249 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 01:25:19.73 ID:9q2PYIcF.net] 俺はC#を叩いたことは一度もないw 間違いを指摘し続けてただけだぞw Rustは変なビジネスチャンスばかり狙った信者が嘘八百並べ立ててるから、すごい怪しげな新興宗教になってるw
250 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 01:29:08.29 ID:9q2PYIcF.net] 半年くらい前までは俺も静かにRustの普及を望んでたんだけどねw 今はもう・・・やばい印象しか受けない
251 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 01:57:44.71 ID:Y9M7cL9r.net] >>249 ガイガー君は嘘つきだな Rustの配列とスライスの違いすら知らないことがこのまえ発覚したことで全てバレた Rust初心者でも知っていることなのにな
252 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 02:31:08.59 ID:9q2PYIcF.net] [T]がarrayで&[T]がスライスだと間違って覚えてただけだろw 原因はarrayを初期化以外で使ってなかったからってちゃんと書いたw 多分Rustをやってる期間は多分お前よりはるかに長いよw
253 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 03:04:03.73 ID:R0l+7kK3.net] >>251 そんな間違いする人を初めて見た 正解は[T]がスライスで&はその参照 &が参照を意味するだけにすぎないことも知らない時点でRustを知らないと確定
254 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 03:36:58.66 ID:9q2PYIcF.net] ないないw きっといっぱいいるw こんな説明だからw https://doc.rust-lang.org/book/ch04-03-slices.html
255 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 04:31:22.21 ID:NboHt8Df.net] >>251 > [T]がarrayで&[T]がスライスだと間違って覚えてただけだろw 酷くおバカな間違いだな Rustを使ったことがないからそういう勘違いをしてしまう ちゃんと公式ドキュメントの各1行目を読もうぜ 配列 https://doc.rust-lang.org/std/primitive.array.html A fixed-size array, denoted [T; N], for the element type, T, and the non-negative compile-time constant size, N. スライス https://doc.rust-lang.org/std/primitive.slice.html A dynamically-sized view into a contiguous sequence, [T].
256 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 06:43:20.01 ID:9q2PYIcF.net] それはAPIリファレンスだろw
257 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 07:50:27.56 ID:ZP/Jhtaq.net] >>62 それ、C/C++が全く出来ないレベルじゃん。メモリやポインターの理解が出来てないから実行時デバッグに時間が掛かる。普通は処理を書いたら動くことを確認するだけで済む。
258 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 07:54:07.76 ID:Vvd4qIhx.net] >>251 > 多分Rustをやってる期間は多分お前よりはるかに長いよw はるかに長い期間やっててそれでは知能が低いです
259 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 08:12:28.41 ID:3FEKWr2M.net] >>256 それはそういう話じゃないと思うぜ C++とRustの両方使いこなせると分かるが 低レベルであるポインタアクセスがRustでは無くなり抽象化された参照アクセスとなり 安全でないアクセスがコンパイル時点で排除されるためその種の実行時デバッグが無くなる その件だと思われる
260 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 08:24:24.55 ID:9q2PYIcF.net] >>257 ただの記憶違いに知能は関係ないw 実際それで困ったことがないからなw
261 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 08:47:16.92 ID:9LDujC2l.net] >>259 その件は君が嘘をついていると明確になっている その件の書き込みを見ると君はarrayとsliceを勘違いしただけでなく関数からarrayで返すと明言している 一方でその関数は返り型宣言で必ず[T; N]が現れる このNは定数であるからさらに宣言することになりarrayでNの存在を忘れる人はいない しかし君はarrayを[T]だと間違えて覚えていたわけだから矛盾する 君はRustのコードを書いたことがないという結論となる
262 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 09:14:29.48 ID:9q2PYIcF.net] 何を勘違いしちゃったのか知らないけど、こう書いてあるんだけどw 「arrayは定義はあるんだけど、今まで初期化にしか使わなかったから、使わなすぎて間違って覚えてたw」
263 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 09:23:18.54 ID:6PoAfdDe.net] >>260 正確にはガイガー君はsliceで受けてArrayで返すと言っている この発言の時点でガイガー君はRustを知らないと証拠 動的サイズのスライスで受けて固定サイズの配列を返すのは不可能だからだ Nが判明しないと配列で返せないが実行時になるまでスライスの長さは不明 この点からもガイガー君はRustを知らない
264 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 09:51:30.12 ID:9q2PYIcF.net] ニュアンスが違うんだよw 「それは俺のポリシーとして、可能ならVecを返すならVecを受けたいだけw 今回のケースではメリットとかないよw 同様にsliceで受けたらArrayで返したいし、iteratorを受けたらiteratorを返したいw」 slice->&[T] array->[T]
265 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 09:55:08.60 ID:Vvd4qIhx.net] はるかに長い期間やってるのにこの有様 子供の遊びかな?
266 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 09:56:51.30 ID:9q2PYIcF.net] 実際のロジック書くのに使ってたのVecだもんw
267 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 10:02:36.56 ID:+G9UHc/m.net] 結局TypeScriptがどの場においても最強って言いたいの?
268 名前:デフォルトの名無しさん [2022/03/26(土) 10:18:06.61 ID:Iuuv9oj0.net] 間違ってても普通に説明すりゃいいのにお互いに煽りながら主張しあってるから、くだらない議論が余計に長引く
269 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 10:39:18.75 ID:9q2PYIcF.net] TypeScriptさいきょー
270 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 10:44:45.97 ID:Z1/vdmI3.net] >>263 Vecを返す関数は原則引数の型はVecにしたいということ? 敢えてそうする理由ってなにかあるの?
271 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 11:44:23.82 ID:3zXxZFyx.net] goとtypescriptどっちかを捨てればいいのに tcshやrubyを捨てるみたいに
272 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 12:29:34.61 ID:5mCX3GGP.net] 新しい言語はどれも配列の宣言があまりきれいじゃない気がする Cなどの型名 変数名[要素数]だと何か都合が悪いのだろうか それともやってる感を出すために変えてるの?
273 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 12:37:22.57 ID:9D+dR2jG.net] >>271 固定長で問題ないならそれが一番いいが、 大体において固定長である事自体がものすごく不便だから。
274 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 12:41:53.15 ID:sDWgty5N.net] >>271 自身がモダンな言語における配列を正しく理解できてないから変なように感じるんじゃないかな 最近の言語ではCスタイルの配列、いわゆる配列変数(複数個の変数が連続して並んでいるもの)はあまり積極的に使用されないんだよ 最近の言語では配列は配列型のオブジェクトであって、変数が並んでるわけじゃないの
275 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 12:49:13.92 ID:N9qlOq0y.net] >>263 Vecを返すならVecを受けたい、って 例えばこういうこと? fn foo(input: Vec<i32>) -> Vec<i32> {…}
276 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 17:16:05.98 ID:+G9UHc/m.net] >>271 Cの形だとパーサーをLRにしないといかんのでは? GoとかPascalの形だとLLでパースしきってしまえるから早い。
277 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 18:34:45.11 ID:9q2PYIcF.net] 別スレの引用なので、興味があればそれを見てこいw LL/LRとか懐かしいなw S式とかに回帰するかw
278 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 18:46:07.16 ID:MJID/KD0.net] ちんちんシュッ!シュッ!シュッ!
279 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 20:52:37.86 ID:Vz8Iz6e1.net] >>263 Vecを受けてVecを返すインタフェースに通常することはない 普通は以下のようにする (1) 同じVecを返す場合 (=書き換えたい場合) まずこの場合はVec<T>自体を渡さなくても参照を渡せば済む 書き換えるから&mut Vec<T>を渡せばいいように思うが 普通はスライス&mut [T]を渡すインタフェースにする なぜならVecの書き換え参照を渡すとVecの書き換えしかできないが スライスの書き換え参照を渡せばVecの途中一部の書き換えもできるし 配列や配列の途中一部の書き換えもできるからである (2) 別のVecを返す場合 (=引数側のVecのデータから作り出したい場合) この場合も同様となる 引数としてVec<T>を渡すのではなくスライス共有参照&[T]を引数にする これで入力データがVecだけでなく配列やそれらの一部でも受け付けることが可能 (2)' (2)のケースで入力を順次アクセスのみする場合 この場合は入力としてイテレータを受け付けられると良い場合がある なぜならイテレータはVecのようなメモリ領域を必要としないため有利 イテレータを入力とする場合のインタフェースは更に2通りに分かれる [a] イテレータのメソッドとしてしまう イテレータチェーンに組み込むことができて便利 ただしVecや配列やスライスに適用する時はinput.iter().method()の形になる [b] 引数として IntoIterator<Item=T> を受け付ける これだと引数に直接スライス、配列、Vec、イテレータのどれも渡せて便利 ただしイテレータチェーンに組み込むことはできない イテレータメソッドの2つ目の入力インタフェースとしても使われる どちらの場合でも順次出力でない場合ならばVecを返すのもありだが 順次出力ならばイテレータを返したほうがイテレータチェーンに組み込めて有利 なぜなら中間生成Vecを無駄に返さずに済むからである この場合にVecが欲しければcollect()すればよい
280 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 21:26:11.73 ID:9q2PYIcF.net] >>278 間違ってるよw それは俺のポリシーだからw 普通こうするという話じゃないw
281 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 22:23:14.39 ID:27vH2xuj.net] ガイガー君はRustに関しても素人だから そういう常識を知らなくても仕方ない
282 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 22:42:20.46 ID:Z1/vdmI3.net] >>279 なんでそういうポリシーなの?
283 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 23:07:56.60 ID:Z1/vdmI3.net] >>279 &strじゃなくてString使ったり、&TじゃなくてBox<T>やRc<T>使ったりするのかな 初めて聞くポリシーだからどういう考え方なのかが気になる
284 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 23:13:02.38 ID:Z1/vdmI3.net] >>279 あっ、もしかしてborrow checker通すために借用使わないようにしてる?
285 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 23:29:11.35 ID:fQbyL396.net] 鋭い指摘だな 確かにガイガー君は参照を使いこなせなくて借用を批判してた
286 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 23:34:15.32 ID:Vvd4qIhx.net] なんか哀れだよね彼は
287 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 23:41:42.26 ID:9q2PYIcF.net] 同じ型の方が設計意図が明白になるし、繋げやすいからw それだけだよw 他のにする理由がないよねw まあもとのスレにも理由は書いたけどw
288 名前:デフォルトの名無しさん mailto:sage [2022/03/26(土) 23:58:50.18 ID:+vg1NaC4.net] >>286 繋げやすい?? 全く意味不明だ 繋げるならばメソッドチェーンにすべき そしてVecが中間生成物となるのは無駄となるバッドパターン イテレータメソッドチェーンにすべき イテレータを使わないならばスライスを引数で渡すべき
289 名前:デフォルトの名無しさん mailto:sage [2022/03/27(日) 00:23:39.64 ID:PoGWmBV8.net] >>287 君にとって意味不明なら意味不明でいいよw そう思っていればいいw ポリシーとはそういうものw 菜食主義者に肉を食わないとはケシカランって言ってるようなものだからw
290 名前:デフォルトの名無しさん mailto:sage [2022/03/27(日) 00:25:07.45 ID:v5PJ1K00.net] >>286 借用で済ませて良い場所で所有権要求するのは普通じゃないからドキュメントコメントにちゃんと書いた方が良いよ
291 名前:デフォルトの名無しさん mailto:sage [2022/03/27(日) 00:30:12.96 ID:wv2YT7DD.net] >>288 技術分野でのポリシーとはまず意味のある目的がありそのために設定される それを説明せずにポリシーとだけ唱えて普通ではない非合理なインタフェースにしているから叩かれる
292 名前:デフォルトの名無しさん mailto:sage [2022/03/27(日) 01:18:29.05 ID:PoGWmBV8.net] wwwww 知ってて書いてるんだと思うが、もとを読めば分かるけど、参照で受けてるよw
293 名前:デフォルトの名無しさん mailto:sage [2022/03/27(日) 01:35:46.26 ID:BChElFEF.net] >>291 見てみた 確かに引数の型をVecの参照にしてることがわかった そして元のお題では一貫してずっとlet input = ["a", "b", "c"];となっているのに 引数の型をVecの参照にしてしまったためそこだけlet input = vec!["a", "b", "c"];としている つまりに引数の型をVecの参照したのは明白な失敗となっている もちろん正解は引数の型をスライスにすること これで配列もVecも受け取れる
294 名前:デフォルトの名無しさん mailto:sage [2022/03/27(日) 03:52:33.29 ID:PoGWmBV8.net] >>292 だから失敗したからではなくて、何度も言ってるようにポリシーとして合わせたんだよw 正解は動くことw 2つの方法からsliceとしない方を選択したのw
295 名前:デフォルトの名無しさん mailto:sage [2022/03/27(日) 04:12:54.52 ID:keWGy6tX.net] >>293 それまでに他の人たちが書いたコードは入力元データが全てlet input = ["a", "b", "c"];と配列になっているね そして関数の引数の型は全てスライス&[T]となっているね ところが唐突にその引数の型を&Vec<T>へと変更したコードが登場 それまでの入力元の配列をスライスで渡すことが出来なくなる破綻 破綻の辻褄を合わせるため入力元データを配列から無駄で無意味なlet input = vec!["a", "b", "c"];へと変更 それまで入力元が配列でもスライスでもVecでも大丈夫だったのに入力元がVecしか受け付けなくなっているね
296 名前:デフォルトの名無しさん mailto:sage [2022/03/27(日) 07:57:46.18 ID:DQbwsS9F.net] > 2つの方法からsliceとしない方を選択したのw キミはスライスが何なのかも知らなかったでしょ 自分の知能が低いのを弁えないと恥かくよ
297 名前:デフォルトの名無しさん mailto:sage [2022/03/27(日) 08:56:07.10 ID:PoGWmBV8.net] >>294-295 何を言いたいのか知らんが、I/F部分は自由にいじってるので、渡す型が変わるのなんて何の問題もないよw
298 名前:デフォルトの名無しさん mailto:sage [2022/03/27(日) 09:20:19.51 ID:aDr0zmJe.net] >>296 元々は利便性の良いスライスや効率で優る配列も受け付けていたのに 貴方の変更では効率の劣るVecのみを受け付けとなってコードが退化している
299 名前:デフォルトの名無しさん mailto:sage [2022/03/27(日) 10:51:24.60 ID:PoGWmBV8.net] >>297 何度も言ってるようにポリシーw
300 名前:デフォルトの名無しさん mailto:sage [2022/03/27(日) 10:56:32.38 ID:hQNNJiB+.net] >>298 劣ったコードにするポリシーかよ…
301 名前:デフォルトの名無しさん mailto:sage [2022/03/27(日) 11:10:30.04 ID:DQbwsS9F.net] さすがに可哀想やからもうやめたれ
302 名前:デフォルトの名無しさん mailto:sage [2022/03/27(日) 11:41:31.93 ID:PoGWmBV8.net] >>299-300 別に劣っても可哀想でもないよw 意図が明白なコードになってるw
303 名前:デフォルトの名無しさん mailto:sage [2022/03/27(日) 12:11:24.82 ID:mrHY19JA.net] 面白い課題なんだね input = ['a', 'b', 'c']; と集合が与えられた時に そのべき集合(=全ての部分集合)を返す関数subsets()を作成せよ、ってことか []とか['a']とか['a', 'b']とか['a', 'b', 'c']とか全てを漏れなく返せと
304 名前:デフォルトの名無しさん mailto:sage [2022/03/27(日) 12:27:49.24 ID:PoGWmBV8.net] 初学の人でもすぐ書ける簡単なロジックだよw
305 名前:デフォルトの名無しさん mailto:sage [2022/03/27(日) 12:39:06.02 ID:w1ZdsVcb.net] >>303 じゃあプログラム書いてみて
306 名前:デフォルトの名無しさん mailto:sage [2022/03/27(日) 14:06:20.96 ID:v5PJ1K00.net] >>301 Vec<T>を引数で受けることは配列全体の所有権を関数に委譲するという意図を表明してるんだけど そういう意図ということで認識合ってる?
307 名前:デフォルトの名無しさん mailto:sage [2022/03/27(日) 15:46:34.95 ID:PoGWmBV8.net] このスレでも参照って何度も書いてんだけどw アホなのw?
308 名前:デフォルトの名無しさん mailto:sage [2022/03/27(日) 20:05:48.71 ID:beT1hCdX.net] たかだか数年で身につけたスキル、しかも数年後には使ってないかもしれないスキルでイキってんじゃねーよ
309 名前:デフォルトの名無しさん mailto:sage [2022/03/27(日) 21:23:46.37 ID:PoGWmBV8.net] Rustは数年後にはなくなってるかもねw
310 名前:デフォルトの名無しさん mailto:sage [2022/03/27(日) 23:33:02.98 ID:Pk6DsGJR.net] 人間よりは長生きしてもらわないと AIが人間に勝てそうな所がどんどん減っていく
311 名前:デフォルトの名無しさん mailto:sage [2022/03/27(日) 23:40:27.92 ID:PoGWmBV8.net] Rustなんて人間に負けっぱなしな印象しかないけど・・・w
312 名前:デフォルトの名無しさん mailto:sage [2022/03/28(月) 05:38:25.18 ID:1zvMDK8z.net] 恥ずかしながら質問なんだがNimって何?
313 名前:デフォルトの名無しさん mailto:sage [2022/03/28(月) 06:43:08.84 ID:dhMFtSYI.net] 中間生成となるVecを使わずにイテレータを返すイテレータにするという点と 2進数でべき集合を表現するという点が面白いね fn subsets<T>(input: &[T]) -> impl Iterator<Item=impl Iterator<Item=&T>> { let len = input.len(); (0..(1 << len)) .map(move |bits| (0..len) .filter(move |index| bits & (1 << index) != 0) .map(|index| &input[index])) } fn main() { let input = ["a", "b", "c"]; use itertools::Itertools; for (i, iter) in subsets(&input).enumerate() { println!("{}: {:03b}: [{:?}]", i, i, iter.format(", ")); } } 出力 0: 000: [] 1: 001: ["a"] 2: 010: ["b"] 3: 011: ["a", "b"] 4: 100: ["c"] 5: 101: ["a", "c"] 6: 110: ["b", "c"] 7: 111: ["a", "b", "c"]
314 名前:デフォルトの名無しさん mailto:sage [2022/03/28(月) 08:08:20.92 ID:hQA9uA7d.net] >>311 目の前にある箱で検索しろ https://ja.wikipedia.org/wiki/Nim
315 名前:デフォルトの名無しさん mailto:sage [2022/03/28(月) 11:24:54.13 ID:cDjwoBcZ.net] >>297 横からみてた感想だけど、コードの目的(全てのサブセットを列挙する)達成できているのに退化とは? その論説は本来の設問からすると別のゴールが生えてる
316 名前:デフォルトの名無しさん mailto:sage [2022/03/28(月) 12:05:00.42 ID:6B08HyS+.net] ツッコミついでにスライスの参照ではなくVecでインターフェース書くメリットについて考えてみたが これ考え方がモロにPythonのそれだわ こういう設計はRustだとあんまりやらないが、これをVecから派生した型へのimplとして書くとそこまで違和感ない 「Rustっぽくない」のは指摘されてる通りだが、思想としてはたぶんそこから来てる
317 名前:デフォルトの名無しさん mailto:sage [2022/03/28(月) 12:12:56.02 ID:6B08HyS+.net] Pythonはそのまま例えばこんな感じで書かれた関数をオブジェクトに代入してメソッドに使えるからPythonって言ったけど とにかくオブジェクト指向にどっぷり頭まで漬かった設計だな 元の「どちらのやり方もある」発言も、「関数型の書き方に寄せるかオブジェクト指向的な書き方に寄せるか」という意味なら納得 (まあオブジェクト指向に寄せるならimplで書けよなんだが)
318 名前:デフォルトの名無しさん mailto:sage [2022/03/28(月) 14:02:45.07 ID:aDLT1T3I.net] >>314 元々に挙げられていた例は入力が配列 そして彼のコードは配列を入力として受け付けなくなっているから退化であっている
319 名前:デフォルトの名無しさん mailto:sage [2022/03/28(月) 14:31:13.30 ID:tMGTgyj2.net] >>316 そのimplを使ったオブジェクト指向的な書き方でもその理由はおかしい 例えばRustには以下のようなrepeatというメソッドが標準ライブラリにある assert_eq!(vec![1, 2].repeat(3), vec![1, 2, 1, 2, 1, 2]); もちろんご指摘のようにimplで書かれているのでメソッドとして使えている しかしソースコードを見てみると次のようになっている impl<T> [T] { fn repeat(&self, n: usize) -> Vec<T> (以下略) つまりVec<T>に対してではなくスライス[T]に対してimplされている したがって配列に対しても適用できる assert_eq!([1, 2].repeat(3), vec![1, 2, 1, 2, 1, 2]); もちろんスライスに対しても適用できる let v = [0, 1, 2, 3, 4]; assert_eq!(v[1..=2].repeat(3), vec![1, 2, 1, 2, 1, 2]); >>315 上述の状況なのでその指摘では皆が納得できる理由や説明になっていない メリットについて考えてみたとのことだがVecにimplするメリットもない
320 名前:デフォルトの名無しさん mailto:sage [2022/03/28(月) 22:32:51.22 ID:O2ikFAVr.net] ガイガー君完敗か
321 名前:デフォルトの名無しさん mailto:sage [2022/03/28(月) 23:11:23.81 ID:51Y1Thh9.net] 1+1=の結果とか誰も興味ない上、俺がindex版、iterator版、vector版3つ正解を書いてやった後も、誰も興味のないその話題をひたすら続けて無視された挙げ句、このスレにまで持ってき
322 名前:て見当違いな自画自賛と自作自演の嵐w どれだけバカなんだよw [] [ここ壊れてます]
323 名前:デフォルトの名無しさん mailto:sage [2022/03/28(月) 23:19:40.94 ID:ie9Ayk2m.net] >>318 ガイガー君とやらは配列とスライスの違いすら知らなかった超初心者だから仕方ないんじゃないか もちろんスライスに対して実装すればVecにも配列にも適用できるからそれがベストチョイス
324 名前:デフォルトの名無しさん mailto:sage [2022/03/29(火) 01:19:51.25 ID:lkDcLhrw.net] >>312 Rustってスクリプト言語みたいに簡単に書けるんやな
325 名前:デフォルトの名無しさん mailto:sage [2022/03/29(火) 17:06:45.34 ID:7Qo2cIhC.net] このスレなんでJuliaは扱わないの?
326 名前:デフォルトの名無しさん mailto:sage [2022/03/29(火) 18:10:38.94 ID:wvo3NcdM.net] Juliaって数値計算に特化してるイメージなんだけどそれ以外の用途でも良い感じに使えるの?
327 名前:デフォルトの名無しさん mailto:sage [2022/03/29(火) 19:43:35.70 ID:4eDRgxgo.net] 数値計算というのはひたすら配列に対してループをぶん回すもんで、FortranやJuliaはそういう処理の記述に特化している そういう意味だと、数値計算以外だと昔のCOBOLみたいに愚直に一行ずつレコードを処理していくような古典的なバッチ処理には向いてるんじゃないかな
328 名前:デフォルトの名無しさん mailto:sage [2022/03/29(火) 22:44:22.64 ID:zunmlMTL.net] >>321 本人乙w 配列とスライスの違いは分かってたけど、配列の定義を誤って覚えてただけだよw Juliaは入れていいと思うw
329 名前:デフォルトの名無しさん mailto:sage [2022/03/29(火) 22:53:46.10 ID:Wg3aSHjk.net] >>326 あんたは [T] を配列だと思っていた もちろん [T] はスライスが正解 これはあんたが配列とスライスの違いをわかっていなかったことを意味する
330 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 08:18:40.34 ID:LPYfd5on.net] 型無し糞言語勧めてくる屑どもを全員●したい
331 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 08:41:28.55 ID:wafreB6+.net] 今時型無し言語を使うやつはそんなにいないだろ 動的型付け言語は使うが
332 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 09:47:02.31 ID:/0rPh2g4.net] 代表的な型なし言語:Smalltalk、BCPL、B言語、アセンブリ言語
333 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 16:32:49.22 ID:uX6cnVWL.net] 動的型付け言語は型無し糞言語じゃないんだ 僕はまだ大丈夫なんだ こういうやつよな ●したくなるのは 注連縄を首に巻いて通勤快速に連結してやりたくなるよな
334 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 21:28:09.18 ID:MqQwCbKz.net] 型無しと動的型付けを間違えていたことを糊塗しようと必死
335 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 21:47:02.85 ID:sZZS0bBr.net] >>331 動的型付け言語には型はちゃんとあるぞ 型を忘れる静的言語、型を覚えてる動的言語 https://dankogai.livedoor.blog/archives/51856318.html
336 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 21:52:53.10 ID:9xKIjqbP.net] もちろん強い静的型付け言語の方が圧倒的に優れている ほとんどのバグはコンパイル時点で検出できる 言語によっては実行時のエラーや善きせぬ例外を無くすこともできる そのため強い静的型付け言語が最もプログラミング生産性も高い
337 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 21:58:42.01 ID:txMnCN3x.net] >>333 バカなことばかり書いてあるダメなページだな > 動的言語の値は、実行時においても自分の型を覚えている。 > このことは何を意味するか? > 実行時に値の型を調べ、それに対応したコードを実行するプログラムが書けるということだ。 これはまともな静的型付け言語でも出来る しかもコンパイル時に安全に型をチェックして実行時にエラーをなくすことさえ可能 動的型付け言語ではそのような安全性は無く実行時エラーの山
338 名前:デフォルトの名無しさん [2022/03/30(水) 22:01:00.78 ID:kwE0Wrnf.net] 正直動的型付けのメリットをあまり感じない
339 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 22:02:22.01 ID:usrXoLFt.net] いまさら型の動的静的言い出してもウンザリだから それは君たちが各自自分で勉強して自分で満足してくれ どっちが優れてるだのどうだの素人の見解1ミリもいらんから
340 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 22:06:41.15 ID:ibIM88PL.net] このスレ雰囲気からして学生が多い気がするが、一般的には 型あり:ソースコードに型を明記する=静的型 型無し:そうじゃない=動的型 だぞ。ただし「型無し」と全くの初心者に言うと「本当に型がない」と勘違いしてしまう為、 「動的型付け言語」と『教育上』言われる事があってもおかしくないが、それは学校での話。 プログラミング界での用語は上記の通り。 330内はアセンブラしか知らんが、アセンブラにも型(サイズ)はあって、 floatとdoubleは命令が違うし、byte/word/doublewordも命令が違う。 (だから本当の意味で型がない言語なんて実装しようがない) ただまあ、この辺のごくごく初歩的なところをまずは抑えるべきだよ。 生産性なんてその後の話、一通り書けるようになってからでいい。 心配しなくても初心者の時に書いたコードなんて後から見たらゴミ同然でしかない物ばかりだよ。
341 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 22:09:14.11 ID:MqQwCbKz.net] >型あり:ソースコードに型を明記する=静的型 >型無し:そうじゃない=動的型 どこの一般だよ
342 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 22:10:48.06 ID:1lFVb3RX.net] いずれにしても動的型付け言語はバグがあっても実行時になるまで検出できないクソ言語 強き静的型付け言語がベストと結論が出ている
343 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 22:15:34.40 ID:usrXoLFt.net] よかったですね ハイ終了
344 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 22:33:44.92 ID:YEeL7eMZ.net] ちょっとした短いスクリプトを書く程度ならば動的型付け言語でも大丈夫 そうでなくプログラミングをするならば静的型付けのメリットが非常に大きいね
345 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 22:47:29.54 ID:Xsfwo5z4.net] 個人的にどちらが好みかと言われると静的型付け言語なんだけど、自分全然Pythonとか使うので、そういう言語を唾棄してる人的に雑な書き捨てをするときは何の言語使うのか正直気になる
346 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 22:52:27.20 ID:Cwc9b4uh.net] >>343 ものに依る 例えば簡単なものならシェルスクリプト よくいる何でもかんでもPython屋さんたちはシェルスクリプトも静的型付け言語も使えないがために陥ってる
347 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 23:01:10.09 ID:liAwZQUf.net] PHP Ruby Perl この辺は人として見下してるな 死んでもいいゴミだと思ってる
348 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 23:09:42.25 ID:UJJsLtPb.net] PHPないと個人サイト作成不便だよ。 pythonで書いてた時期もあったがやはりPHPのが楽だしCPU負荷も少ない。
349 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 23:13:37.76 ID:BGd1I7D3.net] 個人サイトなら静的サイトジェネレータで十分な場合も多い
350 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 23:23:35.91 ID:7iBx/H5p.net] >>346 おもちゃ程度ならPHPで十分だね しかしアクセスされるたびに動的サーバーサイドレンダリングをしているわけで無駄すぎ 例えばアクセス数のある企業がそれをしたら負荷のせいで複数のサーバーが必要になりやすい >>347 の言うように出来る限り静的サイトジェネレーションがベスト
351 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 23:26:27.50 ID:liAwZQUf.net] PHPerは性根が腐ってる 人間のくず
352 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 23:30:47.36 ID:RO3HBLZh.net] サーバーサイドレンダリング…?
353 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 23:35:38.07 ID:UJJsLtPb.net] 静的サイト生成系は結局すぐやめたなぁ。 JSで無理くりなことやりはじめたりして個人サイトレベルだと逆に作りが歪む傾向がある。
354 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 23:46:31.10 ID:liAwZQUf.net] 歪んでるのはPHPerの脳みそだろ ビルから飛び降りて矯正しろ
355 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 23:49:24.01 ID:UJJsLtPb.net] 自分は普段はc++とc#ばかりだけど... だけどphpの方が楽、blazorとか逆にしんどかったし。
356 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 23:58:31.85 ID:BjMRLjMo.net] >>353 選び方が極端すぎ BlazorはJavaScriptの代わりにC#で書いてブラウザ上をWebAssemblyで動かす究極のアホ C#はランタイムがデカい上にGCランタイムも必要なわけでそれらを全てブラウザ上のWebAssemblyで動かす 巨大で重くて遅い
357 名前:デフォルトの名無しさん mailto:sage [2022/03/31(木) 00:17:05.37 ID:nlcs9ENP.net] 負荷が高いからCGIは使わない、PHPは使わない、 共用格安24時間稼働サーバーでnodeやjavaは基本動いてないからそれらは使わない、 VPSで個人サイト運営とか手間なだけだからやらない。 そうなると何でサーバー側で判定必要な処理書いてるのさ。 3大クラウド使って普通の個人サイトにGoでサーバー処理でも書いてんの?
358 名前:デフォルトの名無しさん mailto:sage [2022/03/31(木) 00:28:30.60 ID:LBSBAbTE.net] >>354 WebAssembly使うならGCの無いRust一択だな C++でもよいがRustに対してC++使うメリットがないため この新たな分野ではC++よりもRustの方がシェア高い
359 名前:デフォルトの名無しさん mailto:sage [2022/04/01(金) 21:23:07.86 ID:KJ3cEQ7q.net] >>344 なるほど、返答ありがとう ということはシェルスクリプトレベルなら許容するけど、シェルスクリプトで扱えないデータ構造が出てくるような場合は、もう静的型付き言語じゃないとありえないって感じなんだね
360 名前:デフォルトの名無しさん mailto:sage [2022/04/01(金) 22:34:27.42 ID:06FQxcF3.net] おシェル芸とか勘弁してくれや 書いた本人すら読めない
361 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 08:35:29.97 ID:4T2g1HGg.net] どの言語も読めないのはそいつの能力が低いだけ その一方でプログラミング開発デバッグ効率は言語により大きく異なる 強い静的型付けでコンパイル時に可能な限りエラーを出し尽くしてくれるほど効率がいい
362 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 10:10:09.80 ID:qwJ1jUe9.net] コマンドラインツールでもweb使うとかになるとpythonで書くかな 他は可能な限りシェル
363 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 10:43:36.91 ID:ofyuLHc/.net] pythonが十分に普及してくれたんで最近はsh/batのかわりにpy一本で済ませることが多くなってきた。
364 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 11:11:35.19 ID:GmlBdpVN.net] ちんちんシュッ!シュッ!シュッ!
365 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 12:13:37.37 ID:qwJ1jUe9.net] めちゃくちゃ楽したいときはipynbもありかなーと最近思っている 手作業混ぜなきゃいけないけど表を加工するタスクとか、pandasのto_clipboardで時短できる
366 名前:デフォルトの名無しさん [2022/04/02(土) 14:47:38.25 ID:pHmc1XXg.net] >>361 わかる。 sed, awk, curlにbashの配列使ってとかやってたのを一時期perl5に移そうかと思ったけど、これだけpythonが一般化したらもう全部pythonでいいやって思った。
367 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 14:53:32.80 ID:huJOhBgh.net] pythonのクソみたいなエラーメッセージは二年ほど前に解消された
368 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 15:17:59.11 ID:aIdGEsvv.net] pythonのインデントによるフォワードルールに慣れてくるとC風の{};が体が拒否反応起こす。begin/end系も論外
369 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 15:42:43.12 ID:Yphv2UuC.net] インデント系言語はコードフォーマット自分で整えるのが前提なのがなぁ 適当に {} を書いて保存するとフォーマッタが良い感じに整形してくれるのに慣れるともう離れられなくなる
370 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 15:43:08.95 ID:Yphv2UuC.net] フォーマットというかインデントか
371 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 15:55:36.79 ID:6GewdDTG.net] 生産とデバッグ効率は言語というより開発環境とライブラリがものをいうからなぁ。 少々言語自体にアドバンテージがあっても環境しょぼきゃデバッグも時間かかるだけだし ライブラリも数万数十万人といった十分な使用実績ないなら主要な機能さえバグがある可能性が高くなるし。
372 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 16:27:09.73 ID:AD4X0KNq.net] コンパイル時点で問題点をエラーにしてくれない言語こそ開発効率が非常に低い なぜなら実行時にエラーを引き起こすからだ その結果として実行時デバッグという無駄な時間のかかる行為が必要となる
373 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 17:19:49.44 ID:Eaxn3zCS.net] PoopHatePoorの悪口はやめろ
374 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 18:15:03.99 ID:t3Z/t1xC.net] 静的型付けでも実行時エラーを避けられないダメな言語は多い
375 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 18:23:24.14 ID:+a+ANJVh.net] >>367 コードジェネレーターとかで非常に面倒。 YAMLみたいに両対応してくれればな。
376 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 19:18:12.91 ID:huJOhBgh.net] pythonのインデントは20年前は馬鹿にしてたけどコードの行数が少なくて済むので一覧性が上がる効果がある 自分は主にC#使ってるけど行数が増えるのでもう何とかして{}減らないかと常に思ってる
377 名前:デフォルトの名無しさん [2022/04/02(土) 19:26:43.20 ID:pHmc1XXg.net] >>366 その部分は俺は今も波括弧ブロックの方がみやすいわ。
378 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 19:52:57.36 ID:Eaxn3zCS.net] 目Parseする時に {} は視認性が上がるからあった方がよい 実験結果が示している
379 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 19:59:17.80 ID:huJOhBgh.net] ()は目パース処理されてるらしいけどブラケットはそういう話は聞いたことはないけどな 実際は一行に一個{や}がある状態だから視認性には関係がないかと…
380 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 20:13:00.21 ID:Yphv2UuC.net] >>374 C#は { を独立した行にするから余計に縦幅が長くなるのかもね
381 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 20:56:57.66 ID:ezdDFz2p.net] >>370 Pythonなどの動的型付け言語はそのへん悲惨だもんな
382 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 21:08:24.40 ID:Yphv2UuC.net] >>379 type annotationつけたpythonなら良い?
383 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 21:51:17.40 ID:oz2OEgJO.net] >>380 強い静的型付け言語を使ったことないのかね 単なる型アノテーションなんておもちゃ
384 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 21:55:55.31 ID:/mZUsJdk.net] 人間が管理できる規模のうちは型アノテーションでも十分 コードの規模がデカくなってくるとコンパイル時チェックがないとやってられん
385 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 22:01:13.39 ID:ofyuLHc/.net] >>381 型付けの強弱とアノテーションかどうかって関係ないでしょ
386 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 22:15:52.11 ID:Q6e3gTSV.net] TypeScriptですらオモチャと言われているのにアノテーション程度ではな
387 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 23:13:17.46 ID:Eaxn3zCS.net] 例え型アノテがあったとしてもウンポコペチプーだけは絶対に許してはならない 導入しようとしてくるエタヒニンのガイジどもは全員アウシュビのガス室送りにすべき
388 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 23:47:53.77 ID:Yphv2UuC.net] >>381 強い静的型付け、かつ、型エラーがある場合は実行すらできない言語が良いということかな? それとも動的型部分を一切排除して型付けをグローバルに強制したいということ?
389 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 23:55:58.32 ID:AkfUdAt8.net] goはエラーハンドリングめんどい まだkotlinの方がいいよ
390 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 03:17:07.00 ID:Y2X5X0mD.net] >>382 コンパイル時チェックがないとやってられん、に同意 Rustのように型だけでなく書き換え競合などもコンパイルエラーとしてくれるのが理想的
391 名前:ワイドショーは見るな mailto:sage [2022/04/03(日) 05:25:31.65 ID:qYWEirZv.net] ソ連の核は綺麗な核 ポル・ポトはアジア的優しさ 北朝鮮は地上の楽園 珊瑚自作自演事件 南京・慰安婦捏造 教科書書き換え「誤報」事件 朝日・武富士裏献金事件 拉致問題切り捨て サイレント魔女リティ 風の息遣い 五味ボマー 変態新聞 村木局長犯人扱い その他人民裁判ならぬマスコミ裁判は数知れず そしてマスコミお得意の「報道しない自由」 これでも貴方は新聞を信用しますか これでも貴方は新聞を購読しますか よく考えて下さい
392 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 09:41:03.41 ID:DNCDVh6y.net] 以前の彼は紳士的でした ところが並列処理での変数の取り扱いにバグが紛れていて不正確な変更が行われこんなことにばかり言うようになってしまいました 手遅れになる前にRustを使いましょう
393 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 09:45:44.13 ID:N+64wXdQ.net] でもPHPの方が需要あるよね
394 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 09:54:03.47 ID:ajg4rWD0.net] >>391 RustとPHPの需要を比較しても意味ないですよね 例えるなら小麦粉をもっと食べましょう。と言ってるのに対してスパゲティのほうが人気店あるよね?っていってるようなものですよ。
395 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 10:25:30.38 ID:DNCDVh6y.net] PHPでまともに仕事してるならいいだろ Rust使えば何でも許されてニート生活しててもいいわけじゃない
396 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 10:52:41.24 ID:N+64wXdQ.net] なんかお勉強界隈でルースト?ってゆうの流行ってるみたいですけど、それで仕事できるんですか? それでワープレより顧客にバリュー提供できるってゆうんですか?
397 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 10:58:50.79 ID:DNCDVh6y.net] rust サビ 発音はラスト マジンガーZでルストハリケーンって相手がサビる兵器があったけどアレ
398 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 11:03:35.19 ID:DNCDVh6y.net] >>394 今の時点ではそのレベルのバリュー提供は無理だね 学校のサイトの管理を理系の先生がやってるけどワードプレス使ってる rustは多分10年後もその牙城は崩せない と言うか未来永劫に先生がrust使ってサイト管理をするようにはならない
399 名前:デフォルトの名無しさん [2022/04/03(日) 11:14:22.42 ID:1jVKF75a.net] >>377 俺は逆の話しか聞いたことない。 波括弧は目パースされてるが丸括弧はされてない。 例えばlispは丸括弧だらけだけど、あれの括弧の整合性はエディタ支援がでかい。
400 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 15:53:41.27 ID:kjO3l4sO.net] >>384 TypeScriptはJSの全ての値に型をつけるために無茶な仕様追加してるからな ゼロベースで設計すればマシな言語になるのにな
401 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 16:06:48.55 ID:YCOwGNk6.net] Typescriptには 完全なオーバーロードと 完全な形比較機能がほしいな
402 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 16:13:43.21 ID:enboo0xE.net] >>398 そういう発想のaltJSはみんな死んじゃったんじゃないかな…
403 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 16:15:00.29 ID:/giYNahv.net] goは詳しくないが。 関数で複数の値を返却できるが、エンジニアのスキル差がある時に、コードの整合性を保つのがめんどい。 Jsonのパースがめんどい。 とりあえず言語仕様として提供する機能が少なすぎて、Java、Rubyとかに慣れたエンジニアからしたら使いづらい。 メリットとデメリットは表裏一体の側面もあるが、こういう意見を持つエンジニアの方が多分多いんじゃね? 少なくともwebサービス開発においては、goは一時の流行りで終わると思うわ。複数人でのコードの管理がめんどいもん。 結局、言語仕様が複雑すぎず軽すぎずが好まれる傾向にあると思う。なので、スレタイに含まれる言語の中ではKotlinに一票
404 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 16:20:18.51 ID:kjO3l4sO.net] >>400 それで成功したから生JSと混ぜられるのは必要なんだろうな 俺はかっちりした言語を使いたいけど
405 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 16:22:15.40 ID:RzJGOQaY.net] TypeScriptが実現しようとしているのはVSCode上でのJSの完璧な型検査であって、別に最強の独自言語を作りたいわけでもコンパイル時チェックをしたいわけでもない MSが提案しているJSへの型アノテーションの導入が実現したらTypeScriptは.ts.dのみを残して役目を終える
406 名前:デフォルトの名無しさん [2022/04/03(日) 17:52:10.08 ID:rc6NcMYZ.net] ナデラのMSは良いMS
407 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 18:03:50.41 ID:PXdtBjdx.net] だ、Dart…
408 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 19:57:40.10 ID:DNCDVh6y.net] >>401 どういう認識なんだ? 普通はgoは低機能だから誰が書いてもほぼ同じコードになるのがメリットだと言われてるんだけどw
409 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 20:01:53.30 ID:k51Q+Vww.net] >>401 言語機能が少なくて文句言われてるが? ジェネリクスがようやく入ったレベルだぞ
410 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 20:38:24.09 ID:N+64wXdQ.net] >>406 それ言語機能が少なすぎてコピペしまくり=誰が書いても同じになる というのがオチなんだよね 控えめに言ってゲェージ
411 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 20:40:34.46 ID:k51Q+Vww.net] >>408 コピペと言語機能は無関係だろ
412 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 20:53:04.52 ID:En8qx50/.net] goのエラー処理は俺が2019年に業務でちょっと触った時は if err !=nil {} みたいなのをひたすら書くしかなくて愕然とした経験があるんだが、これって今は改善されてるの? 比較的新しい言語にしてはずいぶん泥臭いことやるんだなって思った
413 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 21:02:47.89 ID:N+64wXdQ.net] Go「ぜんぶ ひらがな に すれば かんじ や かたかな が なくて よみやすいね!」 言うほど読みやすいか?
414 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 21:03:41.40 ID:/giYNahv.net] >>410 されてない認識 これめちゃくちゃめんどいし、戻り値の管理が無駄に煩雑になるだけだと思うんだが パターンマッチングもめんどい
415 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 21:05:03.73 ID:N+64wXdQ.net] >>409 ジェネリクスがないからコピペ or interface{}でAny化して型安全を捨てる言語やぞ エアプは黙っとれ
416 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 21:32:49.77 ID:DNCDVh6y.net] >>408 違うよ 文法が厳格でしっかり書いてないと枝葉みたいなしょうもない理由でコンパイル通らない それでレベルが担保される
417 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 21:35:23.71 ID:DNCDVh6y.net] コーディングになんでエアプが出てくるんだろうか? 語彙が貧困すぎる 脳が死んでないか?
418 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 21:49:33.85 ID:gPxpOVle.net] 高度に抽象化され凝縮度の高い用語を使ってるだけだよ エアプガイジは黙っとれ
419 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 21:56:36.46 ID:DNCDVh6y.net] ガイジ ← 脳が委縮した差別主義者が使う言葉 エアプ ← いつまでもゲームでしか物事を例えられない人が使う言葉
420 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 21:59:40.61 ID:gPxpOVle.net] 脳が委縮した差別主義者いつまでもゲームでしか物事を例えられない人は黙っとれ Goみたいな文だな
421 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 22:02:18.79 ID:DNCDVh6y.net] いやいや使い方が違うだろ 見不明な置換するなよw 本物の馬鹿なんだな
422 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 22:03:00.73 ID:DNCDVh6y.net] 意味不明
423 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 22:18:16.65 ID:9lFqLTmO.net] go の if err 1= nil は貧者のEither/Result型って感じはするな rust の enum みたいなものを導入すると付随していろいろなものを導入する必要があり言語仕様が膨らむということならば シンプルな仕組みで代替するという go なりの割り切りなんだと思うけど 実際のところどうなんだろうね
424 名前:デフォルトの名無しさん mailto:sage [2022/04/03(日) 22:32:45.61 ID:F6bFXWLK.net] Goのエラーハンドリングの仕様については、長いこと議論され続けてるよ Go1はもう変わらんだろうけど、Go2は新しい仕組み入りそう https://go.googlesource.com/proposal/+/master/design/go2draft-error-handling-overview.md
425 名前:デフォルトの名無しさん mailto:sage [2022/04/04(月) 02:08:47.79 ID:pXIYfz5U.net] Rustなどのように『値付きenum=タグ付きunion』を導入している言語たちは 色々シンプルかつ効率と容易さと美しさを両立できているから プログラミング言語として常備すべき基本的な型なのだと思われる
426 名前:デフォルトの名無しさん mailto:sage [2022/04/04(月) 07:33:26.24 ID:fw6p8g0C.net] Goにいまさらenum導入しても標準ライブラリから全部変えないとあまり恩恵ないし if err !=nil {}のシンタックスシュガー導入くらいが妥当だろうね
427 名前:デフォルトの名無しさん mailto:sage [2022/04/04(月) 13:42:12.37 ID:lSnbwV1p.net] 関数が複数の値を返却できるのはメリットのように見えて、ソースコードの規模が大きくなるほど型の管理が難しくなるだけだと思うわ KENTAという人はgo推してるが、保守性の高いコード組みやすい代替言語にすぐ取って代えられると思うんだよな
428 名前:デフォルトの名無しさん mailto:sage [2022/04/04(月) 14:41:15.89 ID:mbicHYAd.net] >>374 20年前にPythonがこんなに普及するとは思わなかったよ。 Perl 便利って思ってたもの。
429 名前:デフォルトの名無しさん mailto:sage [2022/04/04(月) 19:55:04.23 ID:hAxNvJK9.net] PerlとRubyが自爆してPythonだけ生き残った感はあるが。
430 名前:デフォルトの名無しさん mailto:sage [2022/04/04(月) 19:58:12.66 ID:Mr7tYRvj.net] 三大Poop言語と言えば?
431 名前:デフォルトの名無しさん [2022/04/04(月) 20:08:25.60 ID:ZaQ2qXNU.net] 10年ぶりにプログラミング学習勧めてるけどpython面白いなー 5chではそんな流行ってない感じ?
432 名前:デフォルトの名無しさん mailto:sage [2022/04/04(月) 20:13:10.33 ID:w+f2Elco.net] >>429 5ch全体ではわからないけど少なくともこのスレではpythonは下火 今一番流行っているのはRustだね。 一番人気。それだけにアンチも多くて喧々諤々の議論が巻き起こっている状態。 というよりRustの勢いが羨ましくてファビョってるだけだけどなw
433 名前:デフォルトの名無しさん mailto:sage [2022/04/04(月) 20:48:23.61 ID:mbicHYAd.net] Perl 6 は Raku になったし、自滅かもしれんが、Ruby は「ペナンブラ氏の24時間書店」に登場する位にカリフォルニアの方では認知されてたと思ったんだけど。
434 名前:デフォルトの名無しさん mailto:sage [2022/04/04(月) 21:22:41.62 ID:yu8UGqfF.net] >>413 コード生成すりゃいいじゃん
435 名前:デフォルトの名無しさん mailto:sage [2022/04/04(月) 21:23:22.47 ID:yu8UGqfF.net] >>429 すれ違い
436 名前:デフォルトの名無しさん mailto:sage [2022/04/04(月) 21:24:09.92 ID:yu8UGqfF.net] >>427 PHPもだが言語機能に大差はないからあとはライブラリの質だけの差になった そこで圧倒的差がついた
437 名前:デフォルトの名無しさん mailto:sage [2022/04/04(月) 21:25:42.99 ID:yu8UGqfF.net] >>426 年齢はPerlと大して変わらんからな Pythonなんてモダンな要素全くないのにここまで流行ったのは凄い 特にRubyやRailsみたいな積極的なマーケティングとかもしてないのに
438 名前:デフォルトの名無しさん mailto:sage [2022/04/04(月) 21:32:16.24 ID:CuNEs20T.net] ついにRubyが反撃の狼煙を上げる RubyのWebAssembly/WASIへの移植が実現、プレリリース版のバイナリ公開。RubyGemsにも対応 https://www.publickey1.jp/blog/22/rubywebassemblywasirubygems.html
439 名前:デフォルトの名無しさん mailto:sage [2022/04/04(月) 21:48:11.28 ID:g5kOP8Pm.net] >>436 ぜひRailsに導入してほしい 総スカン食らって完全終了だろう
440 名前:デフォルトの名無しさん mailto:sage [2022/04/04(月) 23:20:01.52 ID:yu8UGqfF.net] >>436 これRubyインタプリタをwasmにコンパイルしてそれ上で動かすんだろ? ありえんでしょ
441 名前:デフォルトの名無しさん mailto:sage [2022/04/0
] [ここ壊れてます]
442 名前:4(月) 23:35:26.89 ID:AN+U/Dr9.net mailto: >>432 これホンマガイジ 言語機能が足りないから自動コピペ生成すりゃいいじゃんが罷り通ってるって 頭Goしてるんちゃうか? [] [ここ壊れてます]
443 名前:デフォルトの名無しさん mailto:sage [2022/04/04(月) 23:45:58.24 ID:TGLutmH3.net] >>435 たしかにまあRubyはRailsがキラーアプリとなって日の目を見ることが出来たけど、Pythonは人気を得るきっかけとかあったのかな GoogleはPythonをめちゃ使ってて、GuidoがGoogleに入社した2005年頃にはすでにPythonがスクリプト言語の中では勝ち組感があったんだろうけども、なんでやろ
444 名前:デフォルトの名無しさん mailto:sage [2022/04/04(月) 23:50:33.75 ID:6MqP0wMX.net] >>436 WebAssemblyでガベージコレクションのある言語を動かすのは無駄の極致
445 名前:デフォルトの名無しさん mailto:sage [2022/04/04(月) 23:56:53.89 ID:yu8UGqfF.net] >>439 Cもそうだけど
446 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 00:05:51.56 ID:2NHa52hR.net] Cを使うならRustにした方が機能豊富でプログラミングしやすいよ もちろんデータ競合もメモリ管理ミスも検出してくれる そしてほとんどの場合で速度差もない
447 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 00:48:48.74 ID:vdX4VYV5.net] The Rust Programming Language 日本語版 をちょこっと読んでみたけどC++作ったストラウストラップが変態だった気がしてしまう
448 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 01:05:33.37 ID:CALU2HjK.net] コード生成もコピペ扱いするならrustのderiveもコピペだよな
449 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 01:29:37.39 ID:/ryaTu8Q.net] >>442 ガイジの真似とてコピペを走らば即ちガイジなり CがガイジだからGoもガイジで〜ぇすでええんか?
450 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 01:35:13.81 ID:u+FS9OX1.net] >>446 だからコピペじゃないって 君のいうコピペより上の概念だよ 人が介在してない
451 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 01:37:22.57 ID:/ryaTu8Q.net] >>447 機械がするコピペはきれいなコピペか?違うだろ?バカか?
452 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 01:42:08.31 ID:u+FS9OX1.net] >>448 君のいうコードジェネージョンがコピペというなら ジェネリクスも中身は型が違う同じコード生成してるだけだよ? はい勝った 完膚なきまでに勝った ここを君を導きたかった 勝ち俺の勝ち ジェネリクス否定 矛盾 ジェネリクスはコンパイラによるコードジェネーション 勝ち俺の勝ち 勝ち完全 フルに勝ち 勝った
453 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 01:46:35.34 ID:raev6Sae.net] >>449 見事に勝っちゃったねえ レスバ見てたけどそこに導こうとしてるのはわかったよ そっちに行くな!って思ってた そもそもコンパイラがコードジェネレータだしね 本質的には同じことしてるわけで機会がコピペしてるからなあ そっちに行っても負けは確定する
454 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 01:50:00.91 ID:u+FS9OX1.net] >>450 いや危なかったジェネリクスがゴミっていう風に持っていくと絶対に勝てないからね 勝つにはなんとか相手を捻じ曲げさせるしかなかった うまく誘導できたよ 負けるかと思った
455 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 01:53:56.08 ID:QYmdMKfu.net] >>413 そんなにGoは酷い言語なのか なぜそんなことに?
456 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 02:13:39.62 ID:a+cPs4U5.net] >>448 そうだよ。
457 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 02:19:13.35 ID:fMFdzsU+.net] 元の話はこれか 型安全を捨てるのは暴挙だな >>413 > ジェネリクスがないからコピペ or interface{}でAny化して型安全を捨てる言語やぞ
458 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 07:05:37.18 ID:82POVtug.net] >>440 pythonはなんといってもAI(ディープラーニング)が起爆剤だろ あとは自動化・RPA関連(Excel連携、スクレイピング)でもライブラリが豊富で人気がでた
459 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 07:07:35.56 ID:82POVtug.net] たった3ヶ月でウェブエンジニアになれた きっかけはRailsを学んだこと とか言ってるの最高に気持ち悪い 今はRustとかやって難しいところに悩んでる人がエンジニアだと思う
460 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 07:20:44.40 ID:fQZQ0DHq.net] Rust自体は特に難しくはない もしRustを難しいと感じるようなレベルの人ならば一般的にプログラミングに向いていない
461 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 08:14:13.65 ID:/ryaTu8Q.net] なんかバカが勝手に盛り上がってて藁 どこのチンカス野郎がマス書いたコピペジェネレータと言語標準じゃ全く次元が違うだろ はい勝った 完膚なきまでに勝った ここを君を導きたかった 勝ち俺の勝ち ジェネリクス否定 矛盾 ジェネリクスはコンパイラによるコードジェネーション 勝ち俺の勝ち 勝ち完全 フルに勝ち 勝った 見事に勝っちゃったねえ レスバ見てたけどそこに導こうとしてるのはわかったよ そっちに行くな!って思ってた そもそもコンパイラがコードジェネレータとかワロス 本質的には同じでないわけでガイジがコピペしてるからなあ そっちに行っても負けは確定する
462 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 08:37:48.08 ID:VqqpMSri.net] >>456 でもそういう奴等はわかりやすい地雷で助かる IT業界は人手不足だって言われているのは「自走できる」人材の不足なのに、どっかのYoutuberやプログラミングスクールの言うことを鵜呑みにしてRailsで作成したポートフォリオをドヤ顔で出してくるような奴は俺が企業の採用担当だったら速攻で落とすわ
463 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 09:19:59.73 ID:pUAnaqqP.net] >>454 Goはおもちゃ言語だから
464 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 13:07:10.50 ID:dZMax2uf.net] ひろみGO
465 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 14:27:50.37 ID:ZwTPjiXX.net] >>455 AI関連の前に科学技術系のライブラリをpythonでって流れは結構あった。 そこらへんがperl、rubyにはなかった。 float回りをいじくると途端に言語や開発環境が汚くなるわけだが、その辺を躊躇しなかったってのが良くも悪くもある。
466 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 14:54:27.96 ID:hteyj+L8.net] >>455 せやな、現在の圧倒的なPython人気はAI関連が充実してるからやな でもGoogle社内の開発言語にもっと昔から採用されてたのにはAIは関係ないやろ >>462 NumPyやSciPyみたいなのがキラーアプリだと? もっとよく思い返すとRed Hat、Debian、GentooなどのOSでパッケージマネージャなど様々なツールがPythonで実装されてたし、 数値計算とか関係なく、スクリプト言語のデファクトスタンダードとしての地位を2000年ぐらいには確立してたね キラーアプリがあるからというよりは、単純に開発者コンセンサスを得やすい言語だったんだろうな、と思ってきた
467 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 15:30:06.85 ID:ZwTPjiXX.net] >>463 いやそのころのpythonのパッケージ管理ツールって相当ひどかったぞ。 まともに依存関係を解決できることなんてほとんど期待できなかったし。 まあ今もそういう傾向はあるが。
468 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 15:49:46.89 ID:Zafpq7jd.net] pythonは2007年ごろには将来デスクトップ系ではスクリプトの中核になるから小さな社内スクリプトやプラグインのスクリプトは可能な限りpythonにしましょうってずっと自分は運動してたわ。 幸い反対する人もほとんどいなかったな。 もちろんアプリはpythonでは書かないが。 AIなんかはあまり関係ないなぁ。
469 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 15:55:55.07 ID:VZWFnuGC.net] 40-300行ぐらいのpythonスクリプトは便利だわ Windowsだと特にshell(cmd)の扱いづらさが際立つし
470 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 16:01:09.15 ID:Om5krohy.net] googleはyoutubeや検索エンジンをpythonで実装してたもんな それでpythonが注目されだした 確か書き換えたらコード量が大幅に減ったのとメンテナンスコストが下がったんだ 当時はC++,java,PytohnがGoogle三大言語だった 今は知らんけど
471 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 16:03:31.17 ID:Zafpq7jd.net] pythonはmayaのプラグイン組み込み言語でもあったから 行列やベクトルや虚数を使った回転などを多用する層が そこで増えていったってながれもあるやろな。
472 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 16:19:20.26 ID:I+HzSIOd.net] カーニハン、ロブ・パイクが1999年に出したプログラミング作法(The Practice of Programming)では Perl, awk, C++, Java, C で処理速度とソースコードの行数表にしてた。
473 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 17:31:17.76 ID:kTsaT80P.net] ポストPythonってJuliaなの?
474 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 17:35:57.79 ID:82POVtug.net] >>470 Rustだろうな Web業界はRustに移行しはじめている
475 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 17:36:28.83 ID:X/Z+fkc6.net] ベターPythonかもしれないがポストPythonではないだろう
476 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 18:09:13.50 ID:Zafpq7jd.net] rustは広くは使われないだろうねぇ。 システム部分以外は ルーズで簡単で気にかけることや 独特な概念が少ない言語でないと広く使われない プログラミング未経験者が数日である程度書ける程度のでないと
477 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 18:21:07.39 ID:RXEj+ZGQ.net] そこでKotlinですよ ベターJavaの位置付けで学習コストも低い Scalaほど複雑でもなく、初心者にも手を出しやすいからRustよりはWebでは使われるんじゃないかね Goは学習コストが低いとかで誤魔化してるだけで、一昔前の使いづらい言語みたいな感じ
478 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 18:54:22.88 ID:iyhQru73.net] >>471 所有権気にしなきゃいけないのにPythonの後継は無いなぁ。 >>52 >c++とhaskellあたりを学んでおけば大したことないし とかいう世界だろ。
479 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 19:19:35.56 ID:4JjDvpWU.net] >>475 理解する気がないから勘違いしてるのだろうけど 所有権なんて難しい話ではなく非常に簡単なことだぞ このスレにもRustのコードが多数書かれてきてるようだが何か難しいことや特殊なことあったか?
480 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 19:48:47.33 ID:3noiRnfQ.net] Kotlinなんてぱっとせんもん一生泥から出てこんやろw webでは絶対流行らない Javaで既に作られてるもんはわざわざKotlinにしようなんてならんし Javaに慣れ親しんでる層はJava17を導入するやろな Javaみたいなのを毛嫌いする層はそもそもKotlinに見向きもしてないし
481 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 20:20:35.48 ID:fN/L9gSF.net] まあKotlinはswiftと同じ位置づけで表には出てこない気がする
482 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 20:25:45.56 ID:8mvJZb/O.net] kotlinとjavaは相互運用可能なのに、わざわざjavaを選択する発想なんて出てこないだろ goは学習コスト低い分、この先流行りに乗って採用する企業は増えるかも知れんが、機能不足故にいずれ見離されるんじゃない? rustは初心者には複雑すぎるし、それこそweb開発でメリットがあまりない kotlinはともかく、rustやgoが10年先も使われるイメージが想像できない
483 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 20:27:09.43 ID:fN/L9gSF.net] これからは同じ内容をどれだけ短くてわかりやすく書けるかと言うことに 各言語は対応せざるを得ない状況になる
484 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 20:28:17.56 ID:3noiRnfQ.net] いや逆や わざわざKotlinをwebで採用する意味ないし 今もそんなことしてる会社は物好きな少数のみ
485 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 20:28:18.67 ID:82POVtug.net] まあJavaやpythonに比べたらkotlin,swift,rustなんてまだまだでしょ https://i.imgur.com/1uhp9kc.png
486 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 20:33:11.57 ID:3noiRnfQ.net] goは流行ってるし機能拡張していってるんやから機能不足やから廃れるってことはないやろ つい最近genericsが導入されたやん フレームワークにしろ何にしろ使う人が増えればより充実して行くもんよ こういうのは流れが大事 流れがないswift、Kotlinが今更伸びることはないやろ
487 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 20:40:11.88 ID:fN/L9gSF.net] 最初の言語としてKotlinやSwiftは選びたくない
488 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 20:51:09.86 ID:RriiMuS9.net] >>479 むしろRustだけは生き残ることが確実 Rustの以下のメリットを持つ代替言語が存在しないため ・ガベージコレクションを必要とせずC言語と同等の速さと省メモリを実現 ・各種データ競合やメモリ使用の安全性を保証 ・現代的な各種プログラミングパラダイムを洗練して採り入れており非常にプログラミングしやすい
489 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 20:52:42.92 ID:fN/L9gSF.net] 一番最初の言語に選びたくないNo1は今のところRustかな? まあそんなことにはならないでしょうが 自分は最初はBASICだった もう使うことはないと思ってたらAppleiiのエミュにBASICが入ってて 使ったことはないのに適当にやっても結構動くものが作れた
490 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 21:04:57.35 ID:jsmatYo9.net] CからC++に行かずにRUSTに行く
491 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 21:11:03.50 ID:ks20fz6N.net] >>487 たぶんそれが正解 スクリプト言語程度で良い用途は別として 普通にちゃんとしたプログラミングをするならばC言語で基本をまず学んだ上でRustがベストかな
492 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 21:14:31.44 ID:jsmatYo9.net] Cからちょっとだけアセンブラ(オプションで出力させたものを解読できる程度)もありかも知れない
493 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 21:17:03.29 ID:fN/L9gSF.net] C → Rust その人たちは何がやりたくてプログラミングするのか疑問だなあ
494 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 21:18:27.03 ID:/ryaTu8Q.net] >>474 Kotlinやろうとしたら必然的にJVMとJavaも勉強しないとだよね 学習コスト3倍じゃん バカじゃん
495 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 21:18:44.27 ID:hteyj+L8.net] システムプログラミングでしょ
496 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 21:28:32.93 ID:8mvJZb/O.net] rustはシステムプログラミングとか、低レベルプログラミングの分野で生き残ると思いますよ あくまで俺が話してるのはweb系の話 ちょっと主張を代えてしまうようで申し訳ないけど、俺が主張したいのは、kotlinが来るというよりも、goやrustがこの先web開発で盛り上がりを見せるとは思えないということです
497 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 21:28:36.30 ID:jsmatYo9.net] Javaやってた人が楽したくてkotlin触るのがほとんどだと思うわ
498 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 21:32:44.23 ID:u+FS9OX1.net] >>493 サーバーサイドに関してはpython一択になると思うよ 今の若手がpython推しなんだからそいつらが偉くなったらみんなpythonになる 現に俺が管理して利権として享受してるサービスをpythonでリプレースしようという案が出てきてる 全力で防いでるが
499 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 21:33:48.12 ID:m6fZyHop.net] >>493 大規模ウェブサイトのバックエンドにgoやらrustやら使う事例は多いからweb系とひとくくりにするのもちょっと不正確では
500 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 21:33:58.15 ID:MlP9V3nG.net] >>493 うちはWeb系だけどRustを使っています WebAssemblyでRust以外に良い選択肢がないと思います 実際に一般的な調査でもWebAssemblyで使う言語の1位がRustですね
501 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 21:34:05.83 ID:ZGNch3sg.net] FlutterとセットでDartは?
502 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 21:38:03.57 ID:DitKiC+e.net] railsやってた人が動的型付言語で大規模開発は もう嫌じゃーとなったときにどこに行くかねえ JVMがgoかrustか 個人的にはgoは無いな…
503 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 21:43:41.67 ID:fN/L9gSF.net] >>499 TSかな?
504 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 21:44:13.55 ID:8mvJZb/O.net] >>496 そこなんですけど、今goが流行ってるのってコンテナ構成にマッチしていたり、並行処理が得意だったりメリットがあるからだと認識しています。 とは言え、goはパターンマッチングがやりにくかったり、関数の戻り値が複数あったりで、お世辞にもコーディングが快適とは言えない。 なので、goに代わるkotlinや swiftくらいのちょうどいいレベルの言語仕様の言語が出てきて、使われるようになるんじゃない、みたいな見解を持ってます。 この意見がスレタイとマッチしてなくて、申し訳なかった
505 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 21:44:21.70 ID:u7gEIfJv.net] >>499 RubyとRustはコード記述が似てる面多いね クロージャ(ラムダ)で |引数| になる点とか
506 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 21:47:59.27 ID:cdGLCT5H.net] 実際の流行りと5chプログラマーのrustへのお熱っぷりには乖離があると思うが プログラマーがそれだけ好くんだから大した言語よな go嫌いはif err != nilがキモく感じて嫌がってるのかもしれない
507 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 21:48:34.22 ID:ZJzYuLv9.net] >>501 RustならGoの戻り値の問題はいわゆる代数的データ型となる値包含enumでシンプルかつ扱いやすく解決しているし パターンマッチングについても同じくenum拡張されて非常に強力やな
508 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 21:54:38.07 ID:ZwTPjiXX.net] rust信者はただサンクコスト回収のために必死になってるだけだわ。 そういう活動が逆効果ってことを全く理解していない。
509 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 22:03:45.09 ID:oCmbM95T.net] 現実問題としてRustに勝てる言語が出現してくる気配すらないのはマズいよな 当面はRustが最終解なのかもしれないが > Rustの以下のメリットを持つ代替言語が存在しないため > ・ガベージコレクションを必要とせずC言語と同等の速さと省メモリを実現 > ・各種データ競合やメモリ使用の安全性を保証 > ・現代的な各種プログラミングパラダイムを洗練して採り入れており非常にプログラミングしやすい
510 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 22:26:51.26 ID:vLZKRt0y.net] どういう理屈でコスト回収するんだろ
511 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 22:49:42.89 ID:CALU2HjK.net] 信者というかワナビーじゃないの サンクコストに感じるのは
512 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 22:56:37.28 ID:A4DfkOI9.net] 食わず嫌いのアンチがコストがかかると思い込んでいるだけではないか むしろRustは様々なコスト削減になる プログラミング&デバッグ開発効率が良くなるだけでなく 高速化と省メモリ化によりサーバーやクラウド類の支出コスト削減も大きい
513 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 23:13:12.17 ID:jhOIIm2D.net] >>502 rubyしか使ってなかったときは気づかなかったが rustも使うようになってrubyのブロックがくっつく形がキモく感じるようになった ruby.foo {|x| x}.bar {|x| x} # ←キモい &blockが一個しか渡せない問題もある rust.foo(|x| x).bar(|x| x, |y| y) // ←スッキリ
514 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 23:21:49.33 ID:1v6++hVm.net] すでにC++, C#, Haskell, Scala, Rustといろいろ渡り歩いてるから サンクコストなんて感じてないんだよなぁ Rustの次に移行したい面白い言語が見当たらないからRustに留まってるだけで
515 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 23:22:32.66 ID:fN/L9gSF.net] どちらにしても|x|と言う表現は個人的にはキモいと思う 洗練されていない rubyを毛嫌いしていたのもそれと冒頭の大文字小文字でpublicかどうか決めてる部分
516 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 23:25:05.56 ID:EpygGO7e.net] rubyはブロックを1つ渡すときのやり方に特化されてるくせにメソッドチェーンで ブロック渡し使うとなんかキモいよな Rubyのクロージャでも{}を省略できたら見た目が良かったかもな
517 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 23:26:31.88 ID:/ryaTu8Q.net] 実際問題、GoのerrorはEitherだから、実は最新の設計なんだよね
518 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 23:28:52.60 ID:shnfpWMI.net] >>514 代数的データ型ならばそれを便利かつ容易に扱える様々な仕組みがないとメリットがない Goにはそれがない Rustにはそれがある
519 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 01:16:54.79 ID:5q0U6A70.net] GoのマルチリターンはEitherのつもりなのにTupleだし、沼設計としては最先端なんだよな… 理想: e+v 現実: (e+1)*(v+1)=(e+v)+ev+1 結果が完全な失敗と完全な成功だけじゃないところもまた、現実のそのものである。
520 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 03:20:12.66 ID:wPZ6Wy+h.net] >>510 ほんとここだけは直してほしい Ruby全盛時に設計しちゃったもんだから 余計な要素が入り込んだ
521 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 06:13:11.45 ID:X7GvwD6X.net] >>510 これなあ
522 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 07:11:19.53 ID:XNY/VGtp.net] GUI のアプリ開発に向いてるのはどれなの? C++やC#の次のイメージだけど。
523 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 08:28:24.14 ID:FubAROXf.net] >>476 そういうことを言っているからRustユーザーは駄目なんだ。 ヒープもスタックもメモリ管理も知らないGC前提の高級言語のユーザーが所有権とかmoveとかを理解するまで、一体いくつ新概念を理解しなきゃいけないか。 理解を助けるメタファーもろくに無いし、「非常に簡単」はありえない。 まぁ、 >c++とhaskellあたりを学んでおけば大したことないし とかいう発想だから、Rustユーザーは自分達がどれだけ他言語ユーザーから乖離しているか気づいていないか。
524 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 08:38:33.64 ID:ByE3BIzU.net] Rust使い人は使えばいい メモリ管理などの低レベルなことに専心したくないから大多数の人はGC言語を使ってるのであって Rust必須になればみなプログラムやめるよ メモリ管理は関心の集中先ではないからなあ
525 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 08:42:49.90 ID:ByE3BIzU.net] 使い人→使いたい人
526 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 08:59:55.51 ID:ERAAutfZ.net] >>521 食わず嫌いで勘違いしすぎていて痛すぎる メモリ管理するためのコードを書くのがRustだと勘違い? 例えばRustのプログラム例>>312 のどこでメモリ管理してる? メモリ管理なんて面倒なことするコードを書きたくないからRustを使うのだよ
527 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 09:01:33.33 ID:ByE3BIzU.net] GCだったらそれすら意識しなくていい
528 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 09:03:47.07 ID:ByE3BIzU.net] move |bits| &
529 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 09:10:21.22 ID:aOWfxLhU.net] >>525 それの何を問題視してるのかしら moveはクロージャに変数キャプチャするかどうかでGC言語にもある概念 &は単なる参照でこれもGC言語にもある概念
530 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 10:56:17.94 ID:X7GvwD6X.net] >>524 それなぁ
531 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 11:00:12.47 ID:X7GvwD6X.net] >>521 2種類の人種がいるんだよ 自動車産業に例えたら、(1)地方の工場勤務の期間工と(2)研究開発センターのエンジニア (1)はRustは使用しなくていい。というか理解できなくて使えない。Pythonとかで頭を使わないコード書くだけだから。例えるなら、ラインで組み立て作業を1日延々しているだけのルーチンワーク要員。 (2)はRustなどを使用してシステムプロラミングWebassemblyなどでローレイヤーや基盤を作っていく。例えるなら自動車のエンジンやデザインの設計者。
532 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 11:12:27.97 ID:P2epzghE.net] 普通のプログラマー PythonでもJavaScriptでもRustでも用途毎に使い分ける 似非プログラマー 特定のスクリプト言語しか使えない
533 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 11:18:53.29 ID:UtHY9/K6.net] このスレは期間工限定です
534 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 11:27:29.43 ID:XB6J8/aS.net] Rustでメモリ管理はしなきゃいけないでしょw 双方向リストを普通に書くと循環参照でるよね WeakとRcをプログラマが手動で必死に使い分けてなんとかするのがrust 一方で循環参照もなんとかケアしてくれる(かもしれない)のがGC言語 これはRustを批判するんじゃなくて GC言語の価値を改めて評価できるという例
535 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 11:27:36.38 ID:XNY/VGtp.net] >>530 呼ばれた気がした
536 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 11:29:06.13 ID:PUvuY8jT.net] >>505 Rustを難しいと勝手に思い込んでいるようだけどそれは勘違い C言語とあともう一つ今どきのプログラミングパラダイムを備えた言語を使いこなせる人ならばRustは容易に楽に習得できる つまり普通にまともなプログラマーにとっては難しいことは何もない
537 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 11:32:57.60 ID:SQHVCoBe.net] >>531 双方向リストなんてライブラリにあるのを使うだけだからそんなの関係ないだろ 同様にベクターコンテナもライブラリにあるのをそのまま使うだけ それとも君は毎回自作してるのかね?
538 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 11:38:59.86 ID:XB6J8/aS.net] RustにGCが無いのは特徴であり この言語の方向性においては利点でしかない思ってるよ GC無しでRAIIでなんとかしていこうず!という潔い言語 中途半端にならなくて清々しいよ
539 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 11:41:06.57 ID:j3mCjXSb.net] >>531 GC言語とはガベージコレクションが必須な言語 一方でC/C++/RustはGCが必須ではなくGCが必要な用途の時だけGCすればよい言語 だからどうしても循環参照などでGCが必要ならばC/C++/RustでもGCをするモジュールなどが用いられている
540 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 11:42:07.19 ID:azRXBWjT.net] >>528 >>529 >>471 が「RustがPythoneを置き換える」とかいう妄想を垂れ流しているから突っ込んだだけだよ。 バカはトンカチを持つと何でも釘に見えると言うけど、Rustユーザーはその典型だな。
541 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 11:46:18.46 ID:iij/35sY.net] >>531 またそんなデマカセを書いてるな ヤラセ記事ならともかく実際のプログラムでそんな変な実装をしている例を見たことがない 妄想で叩くのはやめとけ
542 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 11:46:52.40 ID:azRXBWjT.net] >>533 C言語とあともう一つ今どきのプログラミングパラダイムを備えた言語を使いこなせる人……つまり普通にまともなプログラマー なるほど、PythoneやJavaだけを使っているプログラマーは普通でもまともでも無いということを主張したいんだな。
543 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 11:50:43.24 ID:yFuiayyW.net] >>537 でもその人の書き込みを見たら Web分野と限定してるね Web分野でのPythonなんてPythonしか使えない人しか採用しない状況だから 話としては合ってるんじゃないかな
544 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 11:54:58.50 ID:YS4iOCfL.net] >>539 それはそうやろw Javaしか出来ないなら土方で間違いない
545 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 12:32:21.96 ID:rwS/Q696.net] >>540 webでもPython置き換えとしてRustが出てくることは無い。 web用途だからといって所有権だのスコープ・ライフタイムだのを回避できるわけじゃないしな。 >>541 Rustユーザーが初心者・初級者を馬鹿にするようじゃなぁ。Rustの失敗は約束されたな。
546 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 12:44:42.90 ID:4NhGLksY.net] >>542 意味不明だな 唐突に所有権とか言い出して何が言いたいんだ?
547 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 12:58:29.92 ID:6roFDaHL.net] >>536 えっ・・・?GCがないからRust最強他はクソじゃなかったんですか?(´∵`) どこぞのチンカスメンがマス書いた野良イブラリでGCとかRustユーザーのおじさんたちって・・・(´∵`)
548 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 13:56:24.32 ID:2Yw46+Tv.net] >>544 RustやC++は非GC言語やで
549 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 14:20:43.99 ID:1nRPgXLc.net] また意味不明の非GC言語なんて言い出してんのかw、リファレンスカウント使ってんだからそんな意味のない宣伝もうやめろよ?
550 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 14:36:07.84 ID:6roFDaHL.net] は?今の時代にリファカンとかw
551 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 14:41:06.01 ID:6A9Aeuem.net] ここはおじさんスレだからそれを楽しめ
552 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 14:46:08.13 ID:Fm2KF3vu.net] 参照カウントのガベージコレクション https://developer.mozilla.org/ja/docs/Web/JavaScript/Memory_Management#reference-counting_garbage_collection これは、最も素朴なガベージコレクションアルゴリズムです。このアルゴリズムは、"あるオブジェクトがもはや必要ない"ことを、"あるオブジェクトがその他のオブジェクトから参照されていない"ことと定義します。あるオブジェクトは、それに対する参照がゼロの時にガベージコレクト可能であると見なされます。
553 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 14:48:22.40 ID:7ui2nPA0.net] >>517 引数の最後のブロックを特別扱いで記述できる文法はrubyからgroovyを経由してkotlinにも引き継がれていて、わりと欠かせない記述方法になってる ここの https://dogwood008.github.io/kotlin-web-site-ja/docs/reference/lambdas.html これみたいな記法を頻繁に使うからいまさら無くなっても困る lock (lock) { sharedResource.operation() }
554 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 14:57:27.14 ID:rwS/Q696.net] >>543 スレの流れが追えていないのに口を出すなよ。最初の方の>470 >471 >475から所有権出てるわ。 ChMateとか導入したら?
555 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 23:24:49.88 ID:DtmD4s0L.net] >>551 その所有権がどうしたんだい? 所有権が理解できないなら参照も理解できないから 参照渡しと値渡しの区別もつかないことになる どの言語でもそういう話は理解しないと使えないから 所有権の概念があるかどうかで困るプログラマーは存在しない
556 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 23:41:02.75 ID:6roFDaHL.net] コードの所有権もない派遣さんが何か言ってらw
557 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 01:43:23.21 ID:tEZE72Zs.net] #[derive(Clone, Copy)] struct Code(String);
558 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 07:31:09.34 ID:zb08jYei.net] >>552 こういうRustユーザーが多いなら、RustのHaskell化は約束されたようなものだな。 Rustコミュニティー全体がその認識なら致命的かと。
559 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 07:42:19.84 ID:wRPEswS2.net] Rustは当面プログラミング言語の王者として君臨し続けるのではないか 高速かつ省メモリかつ安全という他の言語が満たせないRustのアドバンテージを崩せる新言語が登場しない限り > Rustの以下のメリットを持つ代替言語が存在しないため > ・ガベージコレクションを必要とせずC言語と同等の速さと省メモリを実現 > ・各種データ競合やメモリ使用の安全性を保証 > ・現代的な各種プログラミングパラダイムを洗練して採り入れており非常にプログラミングしやすい
560 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 08:03:31.90 ID:/n3eSctb.net] 俺はRustは廃れるに一票 このスレ見てる限り信者がカルトすぎる Go信者が可愛く見えるレベル そもそも設計で差を付けられるレベルなら、言語に拘る意味もそこまでない このスレがそういう趣旨だというのもあるとは思うが、言語への執着が酷すぎ
561 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 08:10:05.04 ID:zl/syFdq.net] はっきり言って近代的な言語なら仕様も習得もそのコーディングもどの言語でも大差ないんよ そうなると言語自体として本質的な有利な面を持つRustがじわじわと広まる結果となるかな
562 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 08:56:02.87 ID:/n3eSctb.net] >>558 > どの言語でも大差ない だから敢えて独自路線を、というのがGoの当初の目的でもあったろ (上手く行ってるかは別) > 本質的な有利な面を持つRust 俺はあれは筋が悪いと見てる 寿命管理はmoveではなくupが多分正解で、これを綺麗に書ける言語が出てきたらその瞬間終わる (それ以前にGCの方がいいが) あとRustの問題は、多分プログラマが上達しない事 これは長期的には絶望的に不味い 「C++はプログラマを育てる言語だ」というのはC++始祖の持論だが、これは考える事を強いるからだ Rustの場合は(このスレ見る限り)「コンパイラが全てやってくれる!考えなくて済む!」のノリのようで、これは絶望的 Rustは「C++の特定の使い方」に近似出来、コンパイラがその形式を強制する だからC++をこの形式で使っている連中は確実に移行する そうではないC++使いが移行する事はない Rustを使えばデバッグしなくて済むから楽!とか言ってる初心者連中は戦力にならない というかね、根本的なところで、寿命管理や所有権とかは「面倒」であって「苦労」はしない だからやらなくて済むのならそれが一番いいが、 やれと言われればやるだけであり、手間が増えるだけで、出来ないものでもなく、それ自体には苦労もしない だから根本的な立ち位置がイマイチなんだよRustは そしてこれに苦労するような連中は、そもそもプログラミング能力が低いだけなのだから、 そこで苦労する事は糧となるから頑張れ、でもある これが無理だからGCを使うのだ、という事に対しても俺は肯定的で、それでいいと思うが、 Rustが目指しているのは「GCが無いと困る馬鹿でも補助輪を付けてチェックするからなんとかなり、 GC無し並の速度が出ます」であって、結局は馬鹿向けの補助輪でしかない そこで苦労する程度ならガチでC++で苦労した方が上達するからそうしろ、でしかない (まあ馬鹿でも何とかなるように、というのが言語の進歩でもあるのだが)
563 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 08:56:07.07 ID:hOTZf/Ps.net] 言語の普及について語るときにキラーアプリを語ればいいと思う Rubyが普及したのはRuby on Railsがあったから。 Pythonが普及したのはAIライブラリ(tensorflowなど)があったか。 RustにはRubyのRoRやpythonのAIに相当するものがあるか?もしくはこれからでてくるか? そのヒントとしてはWebAssemblyにあるように思う。
564 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 09:01:27.48 ID:5wMGrsUW.net] :::.... /|\|| //|'\\.... ...:::.. ....... |/ ,'|-、 \\ |/ ,'|-、 \\\ |/ ,'|-、 \\\|.... ...:::.. ....... |/ ,'|-、 \\\|:..。..... ...:::.. ....... |/ ,'|-、 \\\|__| |/ ,'|-、 \\\|:...|ヽ .... ...:::.. ....... |/ ,'|-、 \\\|::::| |::..... | ̄ ̄ ̄ ̄ ̄\、'\\|;;:.|_,,|___ | □□ □□ | |\, \|;;::.... |\ | □□ □□ | | | ̄ ̄ ̄ ̄|\;: . | | | □□ □□ | | |□□□□| |::...| |;;: | □□ □□ | | |□□□□| |::...| |:;:./ | □□ □□ | | |□□□□| |::...| / | □□ □□ |.._|__,,|□□□□| |::...|/ ,,| ̄ ̄ ̄|| ̄ ̄\≡\,□□□|/ ,/ 今北産業 [IMAKITA INDUSTRIAL CO.,LTD] (1978〜 日本)
565 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 09:02:23.11 ID:qcT6PBEO.net] RustのようにCと同等の速さと省メモリの言語が出てくればRustが敗れる可能性が出てくる 現時点では存在しないためRustの天下が続きそう
566 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 09:26:02.84 ID:/n3eSctb.net] >>560 > WebAssembly ねえよ馬鹿タレ というかこのWebAssembly推しは一体何なん? シェア的にもあり得ないし、ググラビリティもJSに比してゴミ以下だろ Webの場合はそもそもクライアントサイドで何が出来て何をやるべきかが分かってない事が多く、 つまり、他言語で既に十分出来てる連中でもクライアントサイドを書く時には、まずこれを理解せねばならず、 一番手っ取り早いのはJSであり、これを避けては通れない JS/TSである程度クライアントサイドをこなしてからなら他言語でWebAssemblyでもいいが、 JSに比してググラビリティも0に近いWebAssemblyでクライアントサイド入門とか、ただの自殺 俺はWebAssembly推しは完全にミスリードで、糾弾されるべきだと思ってるよ この状況で、JSに比してWebAssemblyが主流になる状況は、現在のところあり得ない だいたい、Rustをわざわざ学んでWebAssemblyするくらいなら、上記のようにそれ以前にJSを通るし、 ほぼ全部のサイトでJSで十分だからこそ圧倒的シェアになってる 元々JSだったのは「ソースじゃないと信頼出来ない」という事であり、 それが「最早そういう状況ではないのでバイナリでもいい。速さ重要」となってきているからこそのWebAssemblyではあるが、 ならばそのうち「もうネイティブバイナリでよくね?サンドボックスを仮想的に作ろう。これが最速」となって、 ネイティブバイナリをブラウザ内で実行する状況になって終わると思うけど 仮想周りは本当に進歩したし、何故か知らんがアメリカ人はエミュには執着するしで、これも時間の問題
567 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 09:37:09.90 ID:Nyl3OsEM.net] 確かにWebAssemblyではガベージコレクションのないRustが一強になってるな WebAssemblyにおいてreference typeがサポートされたためDOM操作の壁が大きく低くなり実用的となったことも大きい 今後Rustによるフロントエンドが更に進むことが確実となった
568 名前:デフォルトの名無しさん [2022/04/07(木) 10:03:19.72 ID:6mRJTF59.net] >>559 世にあるc/c++メモリ周りの扱いによるバグやセキュリティホールの殆どは、「GCがないと困るバカ」以外の人間が書いているわけだが。
569 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 10:10:10.15 ID:hOTZf/Ps.net] >>563 おまえが(1)のタイプだということはわかったから黙ってくれw (1)はRustは使用しなくていい。というか理解できなくて使えない。Pythonとかで頭を使わないコード書くだけだから。例えるなら、ラインで組み立て作業を1日延々しているだけのルーチンワーク要員。 (2)はRustなどを使用してシステムプロラミングWebassemblyなどでローレイヤーや基盤を作っていく。例えるなら自動車のエンジンやデザインの設計者。
570 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 10:18:58.15 ID:/n3eSctb.net] >>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は書いてないかもしれんが)
571 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 10:23:06.36 ID:/n3eSctb.net] >>565 > メモリ周りの扱いによるバグやセキュリティホールの殆ど 具体的にはどんな奴よ? そしてそれがRustやJava等だと「自動的に」「どんな馬鹿が書いても」大丈夫だとでも?
572 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 10:29:46.01 ID:FJnsEJOV.net] WebAssemblyでなぜ利用トップがRustで2位がC++なのか? 理由は簡単でGC言語は圧倒的に不利であるため またWebAssembly自体でのGC導入が問題点多すぎで当面無くなったことも大きい 次になぜC++ではなくRustが1位なのか? 理由は簡単でRustの方が圧倒的にプログラミングしやすいため Rustが有利なこと自体はWebAssembly以外の分野でも全く同じだが歴史の積み重ねの差がまだある 歴史的に新しいWebAssemblyでは後発言語の不利な点がないためRust有利が顕著に現れた
573 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 10:33:32.72 ID:/n3eSctb.net] >>566 Rust信者は(1)のくせに(2)を気取ってる、勘違い意識高い系馬鹿だね (2)なら最初からC++を使うし、そのスタイルがRustで強制しているスタイルと合致してれば、 これまた迷うことなく最初からRustを使うし、移行にも躊躇ない だから正直、ここで信者がやってる布教なんて全く意味ないと思うんだけどな ウザイだけで
574 名前:デフォルトの名無しさん [2022/04/07(木) 11:27:45.58 ID:wigEobQO.net] ビックテックがこぞって使ってるんだからほっといてもある程度は流行るでしょ 俺は楽に稼ぎたいしみんなにもそうなってほしいからRust推してるわ
575 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 11:35:37.24 ID:gomi3ocO.net] >>570 決めつけは低能のあかし
576 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 11:37:41.07 ID:QfJTmIv3.net] >>557 > 俺はRustは廃れるに一票 キミの投票はキミのカーチャンにでも見てもらってください キミのカーチャン以外はそんな一票になんの興味も無いので
577 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 12:20:35.64 ID:pGmXk0tm.net] Rustは順調にhaskell化しているな。 いい傾向だ。
578 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 12:40:08.52 ID:OdIUq1Z2.net] Rustはプログラミング言語にとって根源的に重要な要素「データ競合やメモリ扱いで安全性が保証される」及び「C言語と同様に最高速&省メモリ」を両立する唯一の言語 新たな言語が出現しないとRust最優位は崩れないのではないか
579 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 13:09:09.76 ID:a0EStXea.net] Ruby on Rails 7 で、脱Node.js, Webpack, Babel。 IE の死滅により、ES5 へ変換しなくても、ブラウザはES6 のままで動く WebSocket を使う、Hotwire で、 近年、React に奪われたシェアを回復すべく、 SPA のgame changer を目指すのが、Railsの野望! Rubyだけで、SPA になったから、React, Vue.js は今後どうなるのか? Railsが、SPAのシェアを奪えるか
580 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 13:44:56.72 ID:tEZE72Zs.net] >>564 RustWasmでDOM操作まともにやれるならやってみたいなと思って最近調べてるんだけど、 https://zenn.dev/igrep/articles/2021-11-wasm-reference-types によるとReference Typesを使うとむしろパフォーマンスは下がるらしいし、JSにはまだ到底及ばないらしいんだよね 実際使ってみての感想とか、↑のベンチ取り方おかしいわヴォケとかあったら聞きたいんだけど、どう?
581 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 14:06:25.86 ID:WjxXuLmC.net] Rustの話は専用スレ立ててそっちでやれよ ウザイにもほどがある
582 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 14:34:20.48 ID:86kfLMWB.net] >>578 それはWebのDOM要素とWebAssemblyでのReference Typesの話だろ Rustなどの特定の言語の話じゃない それすら理解できないやつが的外れな文句を言うな
583 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 14:43:19.94 ID:hOTZf/Ps.net] >>578 そんな言論統制したら比較すれの意味がなるなるだろ Rustの話を禁止したらここはGoの話題だけになりGoがRustに比べてはやってるんの?って勘違いする人がでてくる
584 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 17:08:40.53 ID:6pGOygc2.net] >>580 実際そうだし何の問題もない。
585 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 17:13:11.30 ID:uI5WJg3m.net] >>580 Rustは習得が簡単とか大嘘つくやついるしなぁ。 話題にするのはいいけど嘘八百はいかんよ。
586 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 17:15:20.82 ID:pxHwe1Kf.net] >>582 Rustは簡単やろ どこが難しい?
587 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 17:23:30.39 ID:uI5WJg3m.net] >>583 所有権、ライフタイム、moveセマンティック、参照・借用、型システム、その他もろもろの概念を「ほとんど全部使わないと」まともなプログラムができないところ。 だから「C++とHaskellが使えればRustは簡単」とかいうアホなコメントが出てくる。
588 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 17:57:35.76 ID:+6isarPd.net] >>584 僭越ながら横から失礼しますが、概念の数は学習の難易度とは比例しません。 個別の概念を合わせた結果、目的の用途に合致するようになるかどうかのほうが重要かと思います。 機械語だったら概念の数がRustとGoよりもずっと少なくなると思いますが、機械語を使えばプログラミングしやすくなると思いますか?
589 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 17:58:57.87 ID:K7k5hu80.net] なるでしょ 文法が少ないからGoは誰でも簡単に使えるのだから
590 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 18:23:34.25 ID:6J24GmAj.net] >>568 全ての問題が解決すると思ってるのは馬鹿なので相手にしなくて良い ゼロイチの議論しかしない人もそう 人間誰しも馬鹿な間違いをする可能性があって、間違いを見逃す頻度を大きく下げられることに価値がある
591 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 18:37:02.12 ID:D5y31O0v.net] >>586 でも両方書ける人はGoよりRustの方がプログラミングしやすいと100%答える現実を見ると Goは言語機能不足という感じやね
592 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 18:50:26.86 ID:6pGOygc2.net] >>588 >でも両方書ける人はGoよりRustの方がプログラミングしやすいと100%答える現実を見ると そんな現実はお前の脳内にしかない。
593 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 18:56:45.12 ID:wax9VJjI.net] Rustも使いこなせる人でGoの方がプログラミング使いやすいと言う人を見たことないな こればっかりはGoの貧弱な言語仕様では仕方ないところかと
594 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 18:56:54.01 ID:pGmXk0tm.net] >>585 「概念の数が増えない段階なら」学習は簡単でしょうな。ADDとかの概念そのものは簡単に学習できる。 ただ、機械語の場合はメモリの位置にも機能&概念があるから、それらを含めると「概念の数が少ない」とは言えない。 あと、 >>584 目的の用途に合致するようになるかどうかのほうが重要かと思います。 というのは学習においては成り立たなくて、「すでに習得した概念 (日常生活なども含む) に沿っているか」の方が重要。 例えばオブジェクト指向はいろいろな概念の集まった複雑な考え方だけど、「対象物を操作する」という日常生活で慣れ親しんだ概念を下敷きにしているから比較的習得しやすい。
595 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 19:53:12.89 ID:+6isarPd.net] >>591 同意です。 が、私が強調したい部分は、言語仕様が簡略な分、必要最低限の複雑性が代わりに言語以外のところに現れることです。 CPUレジスタの固有機能や命令セットの違いとかもまさにその通りで、言語自体の概念ではないが、目的の用途に取り組む場合に必要なる知識だったします。 RustとGoを学習する場合も勿論、言語を構成する概念だけ、一通り目を通せば終わり、というわけではないですよね?
596 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 19:53:35.29 ID:48p+VEp6.net] 雑魚ウェブプログラマーの俺からするとRustはGoに比べて言語機能がリッチでいいんだが、まだライブラリ(Rustではクレート)が十分に揃ってないように感じるのと、クレートがすごい細かい単位で分割されてるからたくさんクレートを組み合わせて使わないといけないのが難点かな 個人的には早くまともなORMを出してほしい。1番使われてるであろうORMのDieselが非同期に対応してないのは辛いw
597 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 20:33:59.30 ID:hOTZf/Ps.net] >>593 そうあせるな。JavaだってまともなO/Rマッパーが追加されるまで10年くらいかかってる。 Java - 1996年 Java 1.0 - 1999年 JavaEE - 2006年 JavaEEにJPA(O/Rマッパー)追加 Rust - 2015年 Rust1.0
598 名前:デフォルトの名無しさん [2022/04/07(木) 20:39:59.88 ID:zb08jYei.net] >>592 そこは>>584 で述べた通り、Rustは 「もろもろの概念をほとんど全部使わないとまともなプログラムができない」 というのが学習する上で凶悪な障壁になっている。 例えばPythonなら基本的なメソッド呼び出しから段階的にプログラムを作りながら学習していけるけど、 Rustは関数ひとつ呼び出すにも所有権、スコープ、ライフタイム(RAII)、moveセマンティック、参照・借用あたりの概念を習得しないとそもそもプログラムが作れない。 自動車のマニュアルをいきなり習うようなもので、そりゃ挫折する人間も増えるかと。 まずはオートマで運転に慣れてから限定解除したほうが習得しやすいよね。
599 名前:デフォルトの名無しさん [2022/04/07(木) 20:43:09.58 ID:eYC8sBa3.net] 25年前からの10年と7年前からの10年を同じく扱いにするなよ。
600 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 21:06:58.62 ID:/n3eSctb.net] >>587 お前、ホームドアがなかった頃にホームから落ちたことあるか? 俺はないよ。 大都会では用水路に蓋がなく、偶に人が落ちて死んでる。 それらがほぼ暗渠になってるトン菌民とかからすると非難囂々だが、 住んでる連中は蓋がない事に慣れてるし、落ちる事もほぼないので、今後も蓋がされる気配はない。 同様な事はホームドアにも言える。 実際、ホームドアがなかった頃、困った奴はどれくらい居る? 俺は落ちた事も、落ちそうになった事もない。 ホームの端は歩かないというのが鉄則で、 混雑してる場合は何かの拍子で押されて一歩よろめいても問題ない程度の余裕を持って歩く、 それが出来ないなら諦めて人混みの流れに乗る、としてきたからだ。 これは電車通勤してる奴はみんなそうしてるし、実際に殆どの奴は落ちた事がないはず。 落ちるような奴は、そもそも保険も注意も足りてないだけ。 ガードレールがあり、歩道と車道が完全に分離してる道と、そうでない道、どの経路を通るかの選択も同じ。 車が通らない道が一番安全で、次にガードレール付きの歩道がある道、そうじゃない道の順なのは誰でも分かる。 なら、安全な道を選択すれば事故の確率は減らせる。 同じなんだよ。危険性があると分かっているのなら、上位での回避努力は出来る。 それがホームドアがなくても殆どの人が落ちた事がない理由だ。 上位での回避努力をして、さらにチェッカーが付いていれば、さらに事故を減らせる。 しかしRustは、上位の努力をせずにゴリゴリチェッカーだけで安全を確保しようとしてる。 それは俺は違うと思うし、今まで落ちた事もないから、俺にはRust流ホームドアも要らんよ、としか思わない。 (なおホームドア自体は視覚障害者や児童の為に有った方がいいが) Rustの連中が言ってる安全性は、C/C++で特に困ってない連中には何の魅力もない。 その安全性は多分開発速度の向上に寄与するはずだが、Rustで早くなったって話もないでしょ。
601 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 21:32
] [ここ壊れてます]
602 名前::17.79 ID:6pGOygc2.net mailto: 非同期でないORMとか意味わからん。誰が使うんだ? rustがランタイム速いとか言ってもそれじゃ全く意味ないじゃん。 [] [ここ壊れてます]
603 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 21:32:21.20 ID:+6isarPd.net] >>595 実際は概念一つ一つを念入りに調査せずに、初心者の内はとりあえず思ったまま書いて、 コンパイラに渡してエラーになったら修正するのが普通かと思いますね。 たぶん、人によっては間違ったコードがCIとかでエラーになることを恥と思う気持ちもあるが、些細な問題です。 私もよく、失敗したくないときは、ローカルでコンパイルしてからプッシュするようにしています。 そこは基本的に気持ちの問題ですよね。
604 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 21:35:29.56 ID:ikFGu1Ah.net] じゃあ動的型付け言語でも問題ないな 自分で気を付ければいいだけなんだから
605 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 21:38:19.51 ID:+6isarPd.net] >>595 たとえばの話、多くの初心者は再帰関数を使って、スタックオーバーフローを起こして初めて、スタックというものを意識をするわけですが、 それまでは、スタックという概念をまったく気にせずにプログラムを作っていたことも、よくありますよね? Rustの所有権周りの概念のうち、どれだけこのスタックのアナロジーに当てはまるかは多分人それぞれですが、 少なくとも、所有権の概念を細分化してできた概念の数が、そのまま敷居の高さになることはないと思います。
606 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 21:41:34.29 ID:bwKax5i+.net] >>597 GAFAMのような大企業はホームから突き落とされるリスクが現実的だからホームドアを必要とするんだよ ただお前さんのプログラムは攻撃者に狙われるほど広く使われていないというだけ もちろんそういうマイナーなプログラムに安全性は不要というならそれは自由だけど
607 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 21:46:07.49 ID:bwKax5i+.net] あと酔っ払ってホームから転落する大人もいるってのもあるな つまり一流のプログラマでも絶対にミスをしないということはないから機械的にチェックしたいという話
608 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 21:59:21.50 ID:/n3eSctb.net] >>600 実際俺はJSで特に苦労もしてない。 Rustの信者連中が間違ってるのは、Rust公式勝手訳日本語版まえがき(前スレ990)にある、 > やっかいな落とし穴を回避する術 を学ぼうともしてない事なんだよ。 これを学んでからRustを使えば確かに二重チェックになって意味はあるが、 学ばずに済ませようとするのは間違いだよ。 (とはいえ結果は君らが負うのだから好きにすればいいが) ホームドアがない時には、端を歩かない、走ったりもしない、というのは鉄則だった。 ホームドアがあるから、走ったりしても安全!というのは明確な間違いだよ。 そんな事をしてる限り、危険予知能力なんて絶対に身に付かないから、 Rust以外の言語だとまともにプログラミング出来なくなるとも思う。 (それも含めて選ぶのもまた自由だけど) >>602 GAFAM連中は「やっかいな落とし穴を回避する術」を知ってる上でやってるから二重チェックになってて意味がある。 ここのRust信者はこれを知らずに「Rustを使いさえすれば安全!バグ無し!」とか、 一時のHaskell連中と同じ事を言いだしてるから、ただのカルトであり、意味がない。 ただそれはさておき、コンパイラのチェックが厳しければ生産性が向上するはずなのだが、 実際聞いた事ないだろ? 実際には二重チェックとしてしか使われておらず、なければないで済む範囲での使用に留まっているから、 生産性の向上分が見えてこないだけ。 本当にRustじゃないと無理だっていうものがあれば、キラーアプリとしてそれが出てくる。 ないんだから、そういう事。
609 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 22:07:07.36 ID:gzjYIF1u.net] >>604 やっかいな落とし穴が何に該当するかよくわからないのだけどrustやるならC++での危険回避法を熟知し
610 名前:ておけということ? [] [ここ壊れてます]
611 名前:デフォルトの名無しさん [2022/04/07(木) 22:09:45.98 ID:zb08jYei.net] >>599 > 実際は概念一つ一つを念入りに調査せずに、初心者の内はとりあえず思ったまま書いて、 > コンパイラに渡してエラーになったら修正するのが普通かと思いますね。 Rustの場合、初心者がまともに動くプログラムに到達するまでいくつも修正しなきゃいけないのが問題だっつうの。 エンストしまくってたらマニュアル運転の練習もクソも無いわな。 >>601 > たとえばの話、多くの初心者は再帰関数を使って、スタックオーバーフローを起こして初めて、 > スタックというものを意識をするわけですが、 ここからすでに前提が間違っている。 Pythonとかは再帰関数を使用しなくてもプログラムを実装できるけど、 Rustは所有権を使用しなけりゃ変数定義も関数呼び出しもできない。 > 少なくとも、所有権の概念を細分化してできた概念の数が、そのまま敷居の高さになることはないと思います。 ここも間違っている。 細分化して段階的に学習できればまだマシな方で、Rustの場合は所有権の概念をほぼ丸呑みしないとプログラムできない。 クラッチとギアとハンドルを同時に操作しないとマニュアル車を前に進めることもできないようなもんだ。
612 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 22:32:09.52 ID:/n3eSctb.net] >>605 いやC++に限らず、プログラミング全般で、 そこに危険があれば、どうやったら上位で回避出来るかは、術がある。 これまで何とかやってきてるんだから当たり前だろ。 面倒だから一々言う気もないけど、「データ競合」については前スレで既に書いたとおり、 ・メインスレッド+サブスレッドでディスパッチ前に全部解決 で完全に回避出来る。 この構成を採用しているのがC#のGUIで、 どうもお前らは言語に対してのこだわりが過ぎてて、これがC#を褒めてるように聞こえるらしいが、 どの言語であってもこの構成にすれば回避可能で、C#のGUIではそれをフレームワークとして強制してるだけ。 だからC#では、フレームワークを正しく使う気があれば、「術を知らなくても」自然と回避できることになる。 他言語なら、この知識があれば、同様に自前で回避出来るだけ。 Rustの場合はこれをコンパイラのチェックにより同様に「術を知らなくても」回避出来るようにしている。(回避術は異なるが) その他諸々突っ込んで、「コンパイルが通りさえすればOK」を目指すのも一つの手で、実際そうしてるようだが、 本来それはあくまで「Rustではどういう術を強制する事によって、どの問題を回避している」と認識出来てからやるべき問題。 それを初心者のうちはある程度すっ飛ばしても構わないとは思うが、知らずに済ませるのはどうかと思うよ。 566の(2)のつもりなら特に。 実際にRustが採用している術は、C++でのRAIIとunique_ptrに近いから、 これらを既に常用してたら、グダグダ言われずともRustに移行するだろうよ。 ただ、回避する術は一つじゃないから、違う術を使ってる連中は、Rustを使う事はないだろう。(俺はこちら) そして本来は、どんな術があるのかを学ぶのが学習で、 元々はデザインパターンもこの方向だったはずだが、何かおかしな事になっちゃって見捨てられた感じになってるが。
613 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 22:40:48.67 ID:eUNchQrd.net] Rust自体は好きだけどPythonの代替先になるというのは現状個人的には全く考えられないなぁ 単一所有権ベースの書き方が、意識せずとも間違いなく書ける内容なら静的チェックがなくても取り沙汰されないし、それがメリットとしても喧伝されないと思うんだよな 別分野だけど機械学習系だと公式のラッパー先としてまず出てこない言語だし、やっぱ性能とは別の事に頭使いたいジャンルだと不向きだと思うよ もし広い範囲でPythonの代替になると思ってる人が居るんだとしたら、普段のスクリプティングとかもRustで書いてんのかな
614 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 22:41:15.91 ID:QfJTmIv3.net] ようしわかった もうわかった ついにわかった 言ってほしいんだろ? そういうことだろ? Rustはしょうもないクソ言語で未来はないし GAFAMが使ってるのもそれはそいつらがアホだからだ ね、これでこの話おしまい こんなクソ言語だれも使わなくていいからね 心配しなくていいからね こんなクソ言語消えて
615 名前:ネくなるから 誰も使わないからね 俺は使うけど [] [ここ壊れてます]
616 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 22:43:27.27 ID:YR3mJewM.net] いや駄目だ俺が使う
617 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 23:00:34.39 ID:/n3eSctb.net] >>608 > 単一所有権ベースの書き方 これが演算には絶望的に不向き。ウザイだけ。 ただし鯖等では確かに「上から下に流れる」ように書くので、「単一所有権ベース」でも多分問題なく書ける。 だからまあ、現時点でWeb限定に近いのは、既に住分けてる、とも言える。 他のアプリでも、自前で状態管理するのを極力止めて、内部でRESTfulにすれば、そこそこ行けるはず。
618 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 23:24:34.67 ID:hOTZf/Ps.net] >>610 ついやいや俺が
619 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 23:38:47.04 ID:+6isarPd.net] >>606 言いたいことは分かります。 要は学習成果の可視化しにくいインターバルが長いと不利ということですよね? 学習した先に何を求めるかは人それぞれですし、 それって結局、言語機能を部分的にでも成果として、学習者が捉えられるかどうかだけの問題じゃないんですか? (Rustの所有権を部分的にできるかは平行線なので置いておいて) 案外若い世代はところどころデジタルリテラシーがあるので、 プログラミング学習ができないと危惧して、変にレール敷くような考え方はしなくても良いんじゃないですか?
620 名前:デフォルトの名無しさん [2022/04/07(木) 23:51:03.44 ID:eYC8sBa3.net] 1ヶ月に一度1ー2時間ほどプログラミングします といった程度の人達が、あやふやな知識のまま 目的の動くもの素早く作れる言語でないと 広い裾野には訴求しない ニッチな人のニーズには合致する可能性はあるけど
621 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 00:23:55.25 ID:PcnkB3on.net] >>607 要はライブラリなど自分が依存するものの中身がどうなっているかはちゃんと把握した上で使えって話と、 自分が困ってないなら無理に道具を変える必要がないって話ね rustというよりrustを変に持ち上げてる人に対するコメントだった訳ね
622 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 00:24:56.07 ID:nM4swqos.net] 我々の生きているうちにもしそんな素晴らしい汎用言語が出来ると夢が広がりますよね。 未来の言語研究に期待しましょう。
623 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 00:26:25.71 ID:PcnkB3on.net] >>614 たしかに、次世代言語なんて銘打ったスレに集まるような人向けの言語なんてニッチの最たるものだろうね
624 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 00:31:27.96 ID:TpfOdACd.net] >>613 >学習した先に何を求めるかは人それぞれですし、 なら、なおさらPythonの代替をRustに求めるのは無理。 まさしく>>608 の通り、学習した先に「やっぱ性能とは別の事に頭使いたい」というならRustは不要だわな。 >>609 いやいや、自分もRustは認めているよ? Forthと同じぐらいには。
625 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 00:47:01.39 ID:nM4swqos.net] >>618 そうですね。別に性能だけの話じゃないと思うが、 いろいろ気にしない人には確かにPythonでプログラミングを勧めるのも一つの手だと思いますね。
626 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 01:01:29.96 ID:8ljQsUz4.net] Rustに移行するのはC++から来る人が多いだろうな ptyhon、java,typescript、スクリプト系からは少ないだろう
627 名前:デフォルトの名無しさん [2022/04/08(金) 03:06:12.85 ID:Km060/QD.net] >>597 長々と書いてるけど、お前って一人で開発してんの? なら好きなの使えばいーじゃん。
628 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 06:34:32.60 ID:z2O+b+J1.net] >>608 Pythonなんて超遅いダメ言語だろ C/C++に移行すれば10倍くらい速くなるぞ メモリ使用量も大きく減る
629 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 07:08:41.73 ID:F6GdhFTs.net] >>622 用途が違うものを比較しても意味ないよ
630 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 07:36:43.85 ID:5MIkz0s/.net] >>620 JavaScript(
631 名前:Node.js)からRustへ来たけど特に難しいところは無かったよ JavaScriptでPromise返す並行プログラミングしていたから RustでFuture返す並行プログラミングにすぐ移行できた [] [ここ壊れてます]
632 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 07:50:10.89 ID:aDtoFpcQ.net] RubyやPHPからRustに来る人はゼロではないだろうけど少ないだろ それぐらいなぜ認めたくないのか? 用途が違う
633 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 07:51:28.36 ID:3RXqham9.net] みんな色々と考えるんたな。 自分の使う言語を選んで仕事始める人が多いのか?
634 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 07:54:38.16 ID:atDB72kn.net] >>625 RubyからRustへも多いよ 例えばこのスレでも>>510 へのレス状況から少なくとも3名は居る
635 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 08:00:35.35 ID:aDtoFpcQ.net] 病気なのか?
636 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 08:08:54.70 ID:jLbA7OdY.net] 俺がスクリプト言語からRustも使うようになった理由はスクリプト言語っぽく書けて便利で速いから 今後もそういう人が増えるのは間違いない
637 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 08:15:42.34 ID:CQiu8f2R.net] >>629 完全に同意
638 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 08:22:48.61 ID:G9TYKjMP.net] ぼくも(^o^)
639 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 08:38:19.52 ID:16DK1NKj.net] >>626 逆よ 仕事を選ぶと言語が決まることがほとんど
640 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 09:31:00.03 ID:gFm4wviN.net] >>629 設定に無理があるwテキトーなパースするだけにrustなんか絶対に使わねーよ。
641 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 09:55:16.26 ID:ncPbKyCt.net] >>633 自分もRustを使っているけどRustで特に困っていることないぜ
642 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 11:02:37.27 ID:wv8X5M3X.net] >>634 そらRustしか知らなきゃそうなるよ もっと勉強した方がいいよ
643 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 11:18:15.72 ID:J3x148PI.net] C/C++/Python/Java/Scala/Goあたりは仕事で書いてたけど今はRustメインだな 他にどの言語を学べばRust使う気がなくなるの?
644 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 11:29:00.59 ID:CQiu8f2R.net] なんだこのビッグウェーブはw Rustってとてつもない一大ムーブメントなのか?w
645 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 11:59:33.01 ID:xydoIMfT.net] >>635 スクリプト言語とRustしか使っていないのですが何を勉強するとよいですか? 速さが必要なものと大きなものはRustを使っています。
646 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 12:29:19.18 ID:lZxU7PE0.net] >>636 FORTHおすすめ。
647 名前:デフォルトの名無しさん [2022/04/08(金) 12:33:53.85 ID:gfZaFbSj.net] テキトーにパースするでもserdeが楽だから使うわ
648 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 12:50:21.80 ID:uV0lTSE5.net] FORTHやるくらいならLISPやる
649 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 13:30:54.85 ID:LwBnqH/T.net] Ruby 界隈では、mruby の本が出た。Ubuntu 18.04, C99 対応。 Webで使えるmrubyシステムプログラミング入門、近藤宇智朗、2020/11 Elixir の本も出た。 Ruby on Rails の本を書いている、黒田努の本 Rust は、Rubyと同様の式ベース言語で、Elixirと同様のパターンマッチ ただ、YouTube で有名な、雑食系エンジニア・KENTA が、 バックエンドのキャリアパスは、Rails → Go のみと断言している! Elixir, Rustは普及のキャズムを超えなかったから
650 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 13:52:24.78 ID:VBKiPB4k.net] Goで出来ていることがRustでも容易に出来るようになったことが大きい そしてRustの方が高速かつ適用範囲も広い
651 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 13:58:37.76 ID:ueuwLW+z.net] >>615 違うぞ。 つか話が通じないのは全然立ち位置が違うからだが、ここを詰める意味はないので終わりにしたいのだが。 > 自分が依存するものの中身がどうなっているかはちゃんと把握した上で使え 理想的にはそうだが、現実的には無理だし、やる意味もない。 例えば数学関数、sin(x)とかも様々な実装方法はあるが、十分な速度と精度が出れば何でもよく、 sin(x)自体を導出する数学の知識(級数展開)なんて必要ないだろ。 ライブラリにしてもフレームワークにしても、基本的には外面仕様まで抑えればよく、内部まで知る必要はないんだよ。 実際、鯖やJSを書いてる奴等も、ブラウザの実装なんて知る必要ないし、知らないだろ。 ただしそれらの優劣を問う場合、内部実装まで掘り下げないと比較にならないだろ。 「データ競合」について言えば、C#とRustのアプローチは明確に異なるわけだが、 この「異なる」という事を認識し、それぞれの利点と欠点を把握してないと、正しい比較にはならないだろ。 Rust信者は「Rustにすれば僕がどんなに馬鹿でも無知でも全て解決してくれる」と思っているようだが、 これだと比較検討する技術レベルには達してないんだよ。 ただ、「データ競合」については確かにRustにお任せでも回避出来るのだろうし、これ自体が悪い方法でもない。 (一つか、下手すると一つも方法を知らない癖に何故比較検討出来てるつもりなのか?という話) > 自分が困ってないなら無理に道具を変える必要がない これも違ってて、だいたい人は困ってる事を認識出来てないものなんだよ。 携帯が無い時代に携帯が無くて困ってた奴は居なかったし、 スマホが無い時代にスマホが無くて困ってた奴も居なかったし、 Rustが無い時代にRustが無くて困ってた奴も居なかった。 だから新しい物を持ってくる場合、「実はあなたはここに困っていたのですが、気づけていません。 Rustを使えばこう出来ます。一度使えば二度と戻れませんよ」と具体例を示さねばならないのだが、 これがないだろ、という話だよ。(納得する物が有れば単に乗り換えれば済むだけ)
652 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 13:59:03.07 ID:ueuwLW+z.net] RustはC++の特定のスタイルを強制してそれ以外をコンパイルエラーにするように出来てる。 だからそのスタイルを使いたい奴には超フィットするけど、 そうじゃない奴には使えない。(コンパイルエラーになるだけ) だからやっぱりこの「エラー」ってのは強すぎてて、 > C++での危険回避法を熟知しておけ これもちょっと違ってくる。 「Rustが採用している『術』」での危険回避をしたいのなら、 それ以外をエラーにしてくれるRustが最適で、同じ事をわざわざC++でやっても抜けを許容される分だけゴミ。 ただ問題は、Rustの場合はそれ以外を許容しないから、いつまで経っても「Rustが採用した『術』」以外の方法を学ぶ事が出来ない。 だって試そうとしてもエラーになるのだから。 だから「Rustが採用している『術』」が間違っていたら(不適切だったら)その時点で終わってしまう。 だからこそ、無駄にカルト化する。言語と心中する事しか許容しないので。 本来は、「Rustが採用した『術』」と「他の方法」を知ってて、長短見極めた上で、 Rustでの採否に納得した奴がRustを使うべきなのだが、 君らは「他の方法」を知らずに「Rustが採用した『術』」をマンセーしてるだけでしょ。それはカルトだよ。 ただし「Rustが採用した『術』」はそんなに悪いものでもないし、 コーディング戦略は大きい単位で適用した方が効率がいいのも事実。 最大単位は「言語」なので、実験としてはいいし、 Rustが無くともC++で同じ事をやってた連中にとっては天国だろう。 だからやたらマンセーしたがる奴が居てもおかしくない。 (ただし実は最上位の「プログラミング全般」という単位があり、 例えば「用意した変数はそれ以降で自由に使える」とかだが、Rustはこれに反しているので混乱も来す事となっている)
653 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 13:59:38.12 ID:ueuwLW+z.net] 長期的展望については、構成上、Rustは(育成含めての)独立したエコシステムを持ててない事がかなりポイントになる。 これはやはりホームドアが分かりやすいと思うが、これがなかった頃、まともな大人は、 ・ホームの端は歩かない ・ホーム上では走ったりしない ・ふらつく程は飲まない 等を遵守して、ホームからの転落事故はほぼ0に出来てた。 Rustはこれにホームドアをさらに設
654 名前:置し、物理的に転落しないようにした。 結果、「大人の常識の遵守」「ホームドア」で二重のセキュリティになり、安心感は増してる。 とはいえ、ほぼ精神的なものであり、実際は無くても転落する奴はほぼ居なかったので、実質的意味はほぼ無い。 これが、キラーアプリが存在出来てない理由。(GAFAMはこの使い方) さてここで、「俺はホームドアがない駅なんて知らねえ。老害の常識なんて糞食らえ」というゆとりがいて、 ただの10分間の休み時間でもドッチボールをしようとしてた小学生時代と同様、 駅で10分待つ間にも鬼ごっこ等で遊ぼうとしたとする。 一般社会では「これだからゆとりは」となって袋だたきなのは確実だが、プログラミング界隈では違う。 ・端を歩ける→デッドスペースだった両端の1mを活用出来、輸送能力が10-20%程増す ・走らない縛り無し→ならホームの両端はスカッシュコートに出来るじゃん! ・へべれけでも大丈夫→なら通勤電車内にバーを設置し、1時間飲んでたら家に着いてるとか出来るじゃん! 等、利便性を提供出来れば良しとされる。 俺が「Rustによって新たに提供される価値とは何か?」とさんざん聞いてたのはこれなんだよ。 Rust流のホームドアが無かった頃は事実上無理だった事も何か出来るようになってるはず。 その活用事例は何か、なんだよ。 [] [ここ壊れてます]
655 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 14:00:07.89 ID:ueuwLW+z.net] ただしこれは両刃の剣で、ホームドアがある前提で、それ以前の「大人の常識」を「所詮は老害の戯言」と切り捨てると、 ホームドアがない駅では確実に事故りまくる。今のRustがこれで、既に書いたが、 ・「Rustが採用した『術』」以外はエラーにする=Rustではそれ以前の「大人の常識」を試せないし、学べない んだよ。だから、構成として ・既に大人の常識がある人が、さらにホームドアが設置された駅を使う(GAFAM) 用に出来てて、 ・全く何も知らない幼児が、怪我をしながらも危険を学び、次第に大人になっていく(Rust信者) 用には出来てない。(つまりRustだけではプログラマを成長させる事は出来ない) とはいえ、現実の今時の公園ではブランコすら撤去されてる始末で、 安全重視の、スリルの欠片もなく面白みもない遊具だけになってしまってるが、 ではこれが間違ってるかと言われれば、 昭和時代のヤベー遊具は確かに楽しかったが、でも確かに危なかったし、なんだかなあ、ではある。 つまり、自前での育成(≒プログラマによる試行錯誤)を放棄している点に置いて、Rustが目指している所は、 ・Rust専用コーディングドカタ育成 ・他言語で育成されたプログラマの取り込み であって、Rustではプログラミングの世界を成長させる事は出来ないし、プログラマの自主的な成長も促せない。 Rustが出来るのは、やり方を画一的に固定した開発だけだ。 ただこれが悪いわけでもない。実際、フレームワークは同様だし。 だからまあ、立ち位置としては「言語」よりも「フレームワーク」と考えるべきなのだろう。 そうすれば、「Rustに合ってる状況ならRust使え」で、みんな非常に納得出来るだろうし。 ポリシーに合致してないコードを拒絶する点に於いても、フレームワークと同様だし。 (C#の場合にデタラメなコードを食わせてイキってる馬鹿もこのスレには居たが、 この点Rustならエラーなのでフレームワークとしても正しい)
656 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 14:05:58.17 ID:xmDi13Bx.net] Rustのプログラミングの快適さは 様々なプログラミングパラダイムを巧みに洗練して採り入れているところにあると思う 一つ一つは既存の言語にあるものが多いけど総合的に組み合わされたのはRust特有でそれが
657 名前:Rーディングのしやすさに繋がっている [] [ここ壊れてます]
658 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 14:45:33.12 ID:wv8X5M3X.net] 昼間から長文とかおじちゃんたち仕事は??
659 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 14:49:38.98 ID:J+DLQw6K.net] 「Javaスクールの危険」みたいな話になってきてるな https://web.archive.org/web/20190226013343/local.joelonsoftware.com/mediawiki/index.php/Java%E3%82%B9%E3%82%AF%E3%83%BC%E3%83%AB%E3%81%AE%E5%8D%B1%E9%99%BA
660 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 14:54:51.52 ID:zi4mesOO.net] 一方でRustは色んなことが身につくからその問題点もないよな
661 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 14:56:47.94 ID:CQiu8f2R.net] >>650 再起とポインタなんて知らなくてもWebプログラマーはつとまるんだよ ましてや精神的態度なんて根性論いいだしたら人材不足の今、人なんて集められないよ
662 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 14:58:59.00 ID:CQiu8f2R.net] >>650 は下の(2)の人のことをいってるんであってこのスレにいる大多数の(1)の人たちには関係がないこと。 ーーーーーーー プログラマーには2種類の人がいる。 自動車産業に例えたら、(1)地方の工場勤務の期間工と(2)研究開発センターのエンジニア (1)はRustは使用しなくていい。というか理解できなくて使えない。Pythonとかで頭を使わないコード書くだけだから。例えるなら、ラインで組み立て作業を1日延々しているだけのルーチンワーク要員。 (2)はRustなどを使用してシステムプロラミングWebassemblyなどでローレイヤーや基盤を作っていく。例えるなら自動車のエンジンやデザインの設計者。
663 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 15:07:49.60 ID:Js+ybEIJ.net] 自分はCS出てフルスタックやってるから他の立場のことはわからないが 色々やってきた言語の中でRustが最も開発効率良いと断言できる
664 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 15:13:55.24 ID:FJuOSvU4.net] rustとgoが合体したらいいのになあ
665 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 15:30:55.82 ID:fiUiUlD4.net] なんか一部のrust推しがすごいっすね
666 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 16:23:35.95 ID:UBiXicJa.net] >>655 V言語
667 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 16:57:15.66 ID:PcnkB3on.net] >>656 rust推しだけど変な人が無理筋の推し方してて困ってる
668 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 17:09:14.19 ID:a6HBTm5x.net] 頭の悪い子に限って延々演説するよなw お前らそれを完全スルーしてて賢いわw
669 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 17:14:34.86 ID:BG4ZrdKI.net] >>657 Vは確かに最初の宣伝はそんな感じだっけど、現状はRustとGoを足して10で割ったくらいの状態だからなぁ
670 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 17:54:29.26 ID:0JDStoXf.net] V言語はマクロがないとかクロージャがないとか あと安定しないままだよね
671 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 18:14:16.72 ID:CQiu8f2R.net] >>659 スルーというかNGWordに正規表現で .{50} としてるからまったく気づかない
672 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 18:59:02.09 ID:wv8X5M3X.net] >>652 そうして集めたPHPerたちが作ったWebシステムはどうなりましたか
673 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 19:35:51.32 ID:gFm4wviN.net] >>663 facebookって言って超メジャーなサービスになってるよ。
674 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 19:40:32.31 ID:wv8X5M3X.net] >>664 facebookのPHPエンジニアが優秀=PHPエンジニアが優秀 という短絡思考には感服致します 障害者学級PHPoorたちの心のより所なんですね
675 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 19:54:22.21 ID:haRe9nr5.net] このスレだけ見てるとPHPerよりRusterのほうが危険で頭がおかしいと思ってしまう… 実際はそんな
676 名前:アとはないかもしれないが [] [ここ壊れてます]
677 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 19:58:36.19 ID:gFm4wviN.net] >>664 え、どうなったか聞かれたから答えたらなぜかPHPともどもボロクソ言われるの、 意味がわからんのだが。
678 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 20:05:37.41 ID:g/vqQJB9.net] >>654 「unsafeに触らない限りは」だろ。 実際にはフレームワークとかライブラリとかが充実している言語のほうが開発効率は高い。 (すでに開発済みだからという理由だけど)
679 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 20:09:42.84 ID:nC7N6zb/.net] Rustは欲しいcrateほど放置されてるcrateやwipの空crateが一定数あるのが実用を考えた時に厳しい RustのWinUI3対応早く来ないかなー 後別に何でもかんでも関数型になって欲しい訳でもないんだけど、スクリプト的な簡単に書きたいモチベーションのある言語に、関数のデフォルトのカリー化と、引数を渡すのと同じ記法での部分適用が導入されて欲しい 個人的に見た目がスッキリするし書くのが楽に感じるので Fsharp使えというのはそうかもしれない
680 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 20:31:38.25 ID:wv8X5M3X.net] >>667 元レス読めよ文盲 これだからPHPoorは さっさと氏ねゴミカス
681 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 20:39:12.10 ID:IqLRftxA.net] >>668 それはプログラミング言語の問題ではないな 純粋にプログラミング言語の比較でRustより上のものを挙げないと
682 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 20:39:56.09 ID:haRe9nr5.net] webの世界を支えてるのはPHP
683 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 20:42:20.02 ID:haRe9nr5.net] >>671 使いやすさから言えばjavaやc#のほうが上だと思う Rustは使いどころがまだ確立されていない
684 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 20:48:04.21 ID:4vP7lCV8.net] >>671 なら「標準ライブラリが充実している」でいいよ。 標準ライブラリが言語に含まれないとは言わんよな?
685 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 20:50:18.47 ID:MnFLToWU.net] >>669 ところでカリー化はラムダではあかんの?
686 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 20:53:57.99 ID:nx5fqsfT.net] >>673 そこはさすがに誰が見ても Rust>Javaはあらゆる面から全員一致として Rust>C#もほとんどの人が同意でしょ
687 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 21:15:04.96 ID:hRiSi6np.net] >>676 それは過大評価し過ぎでは…
688 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 21:31:56.88 ID:Br+emjPa.net] 言語自体の比較だと現状ではRustが一番かもしれん 新言語が現れなければじわじわと利用環境や利用者を拡大していくのだろう
689 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 21:33:57.02 ID:a6HBTm5x.net] >>669 > 後別に何でもかんでも関数型になって欲しい訳でもないんだけど リストのリテラルが無いあたりで割り切りを感じるよな あくまで軸足は関数型言語にはないという リストの結合とかカリー化や関数結合もデフォで組み込まれてたら もっと違う感じだったやろねえ
690 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 22:02:06.45 ID:GQWBx4Yt.net] ガベージ出まくるからゼロコスト抽象にならない問題点などあるよな 見かけはマクロでわかりやすくする程度が現実解 まあ普通のGC言語でもサポートしてないのが多い中 そこまで必要とされていない機能なのかもしれん
691 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 22:13:42.74 ID:haRe9nr5.net] なんでIDコロコロ支店の?
692 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 22:23:42.64 ID:wv8X5M3X.net] いきなりコロしとか言い出すとかマジやべえな
693 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 23:37:25.21 ID:nC7N6zb/.net] >>675 処理として等価なものが書けるという意味では問題ないよ それよりもっと簡単に書けるようになるので、あると嬉しいなって
694 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 23:52:45.49 ID:fiUiUlD4.net] rust推しに狂気を感じるスレ
695 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 00:07:03.26 ID:il24SwZF.net] それしか言えんのか
696 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 00:20:56.02 ID:qlihBLS+.net] >>650 似てはいる。 「JavaではCS学生には過
697 名前:ロ護すぎ」が趣旨だと思うが、 同様にRustを考えるなら ・修得概念は多いがこれは暗記の類であり、チャレンジではない ・コンパイラ頼みで考える事を放棄してるから、成長しない で、アカデミックには不適だ。 大学なんて就職予備校だと割り切るならありだが。 Goなら、 ・修得概念は少なく抑えられている ・構成自体は何でも出来る(はず、多分) ・やたらコピペさせられる点が糞 であって、教育/アカデミックには向いてる。(少なくともRustよりはいい) 「データ競合」「デッドロック」等のバグをコンパイラに頼って回避してる限り、 コンパイラがサポートしてくれない状況では確実にやらかす。 コンパイラのサポート無しでも回避出来る腕だが、さらにコンパイラでダブルチェックする、が正しい。 フレームワークなんて暗記の類で、ちゃんとプログラミングが出来る奴なら、使えば使えるようになってる。 フレームワークは生産性を上げる為の手段であり、 プロダクトを目指さなくてもいい学生の時点で型に嵌めてしまうのは成長を阻害する気がする。Rustがこれ。 (他言語でもフレームワークを使って課題製作して出来たつもりになってるのなら同様ではあるが、 既に書いたようにRustの場合は言語自体がフレームワーク化してるので、これを回避出来ないのが難点) [] [ここ壊れてます]
698 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 01:45:47.90 ID:H+Mv/KjD.net] コンパイラのチェックが厳しい→コンパイラに頼る→学習にならない もう言語の利点を語るんじゃなくて、学習に向いてるかどうかってことに話を絞ることでRust批判につなげることにしたのね
699 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 01:58:00.79 ID:il24SwZF.net] 暗記ごときでボローチェッカーに対処できるなら自他ともに認めるRustの学習曲線の問題は発生しないんだよなあ
700 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 02:01:36.12 ID:il24SwZF.net] あとデッドロックは別にRustで静的に防止できる類のバグではないぞ メモリリークと同様だね
701 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 02:15:58.74 ID:eXc0QQCs.net] 言語として魅力を感じるのはGoよりRustだが、将来的にGoよりシェアを拡げるかと言われたら疑問
702 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 02:26:41.71 ID:730EZC4A.net] Rustはシステムプログラミングの分野でだけちゃんと生き残れば大成功だよ あとは特にハイパフォーマンスや低コストが要求されるとこくらいか ほとんどのアプリケーションでは、JavaやらPythonやらなりの高水準言語にて、より適す言語が見つかるやろ
703 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 03:28:08.67 ID:iJevktt3.net] >>691 Javaの諸々の弱点を克服したものがRustであるため 従来Javaで書かれていた分野にRustが食い込んで行きつつあります
704 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 03:34:37.18 ID:ntDYOunj.net] ツルツル無毛の奇麗な一本筋なんだろうね
705 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 04:14:38.03 ID:0HVqg1ER.net] FacebookがバックエンドをJavaからRustにした記事でJavaの問題点が多数挙げられていたな
706 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 05:55:15.91 ID:GQoYu9QH.net] 他部分の結論がまだ早いが、環境的な点から考えて、 GoはJavaとPythonと比べて、教育言語として価値が高いことは今のところない ・良くも悪くもOOPではない。抽象化のレクチャの定番が崩れている ・コンベンション重視のせいで、文化風土が専制的 (たとえばインデントは実質タブしか。手法にフレームワークを当てはめがち。考える余地を与えない) ・C言語の代わりにはならず、高級言語として教えるにもポインタの概念が余計 ・例外処理/リソース管理/並行処理あたりの重要ポイントの対応方法が独創的で潰しが効かない 以上、拡大解釈せずにあくまで業界最適化言語と
707 名前:考えるのが無難という意見だ [] [ここ壊れてます]
708 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 06:21:18.57 ID:Qew3WBrk.net] >>695 そのGo批判は間違っている OOPはclassが無いだけだろ 例外処理もtry-catchが無いだけだろ GoもRustもどちらもclassやtry-catchは無いが異なる方法を取っているだけにすぎない 言語毎に様々な形態がある部分を取り上げて批判するあなたの視野が狭く偏見を持っているだけにみえる
709 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 07:21:22.99 ID:qlihBLS+.net] >>695-696 それは教育目的を明確にしておかないと空回りする。単純には以下となる。 ・実務: 大学は就職予備校である ・養成: 大学は人材養成所である ・アカデミック: その分野の発展を目指す 695は実務寄りの意見だ。 ただ、実務なら議論するまでもなく現在のシェア、または求人のシェア通りにやるべきであって、 それ以外を選ぶのは教授の趣味でありエゴでしかない。 今ならPython/Java/JavaScript/C#/C++/C/PHP/Rubyの順かと。 650記事と696(と686内俺のGoへの意見)は養成寄りで、人材の底上げを目指したものだ。 > ポインタを使うプログラミングは今日書かれるコードの90%には必要とならず、製品コードにおいてははなはだ危険なものであるということは素直に認める。 > その通りだ。そして関数プログラミングは実務ではほとんど使われていない。それも認める。 > しかしそれでも、最もエキサイティングなプログラミング仕事ではこれらは重要なものなのだ。 > たとえばポインタなしにLinuxカーネルで作業することはできない。 > Linuxのコードを1行も理解することはできず、実際ポインタの理解なしにはどんなオペレーティングシステムのコードも理解できない。 つまりはプログラミングドリルに何を用いるかで、プロダクトを目指したものではない。 だから界隈の文化なんて全部無視でよく、単に、学生の頭の体操/訓練に何が適しているかだ。 この場合、スタート時から色々概念が必要なRustは最悪で、仕様は軽ければ軽い程良く、 早い段階で「仕様とか概念に苦労せず」学生が自在に「こねくり回せる」必要がある。 こねくり回す時の苦労が養成になるので、そこは頑張って苦労しろ、というわけだ。 この用途なら、Goも悪い選択ではない。 が、まあ、素直にCを選択する方が妥当ではあるが。
710 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 08:15:54.24 ID:yjPUnyR6.net] 最初はC → Rustが王道だろうな さすがにCのままだけでは効率悪すぎる
711 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 08:16:17.09 ID:cvyLC6WE.net] GoもRustもclassはない でも実質似たようなことはできる でも実質は実質であり素直にOOPできるかと言えばそうでもなく変な制約がある ファイル分割とかしたいとか思わないならその限りではない
712 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 08:17:47.26 ID:ehpYMGIZ.net] goはある意味goroutineとchannelを使うための言語だしな。そこに価値を見出す人が使えばいいこと。 ただまぁ、独創的だから潰しがきかないとか批判しだしたらpythonも癖が強すぎてたいがいだがな。 結局普及したもの勝ち。
713 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 08:24:05.70 ID:cvyLC6WE.net] >>698 目的に応じて言語を選んだほうがいい C→Rustは狭すぎるし心に余裕がなくなるし楽しくない 標準的なGUIもないから入門には不向き 個人的には間にGC言語やPython挟んだほうがいいと思うよ
714 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 08:54:42.92 ID:0xXBKlCN.net] >>701 PythonよりはRustの方がええやろ Pythonは偏り過ぎ
715 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 08:56:00.27 ID:LAfniSDw.net] バランスいい言語ないの(´・ω・`)
716 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 09:09:13.58 ID:ehpYMGIZ.net] 個人的にはswiftがそこそこモダンな機能を一通り備えていながら癖の強くない文法でバランスがいい言語だと思うけど、 Apple依存というところが最大のネック。
717 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 09:09:29.66 ID:H+Mv/KjD.net] ないです RustのGUIクレートってどれがいいんだろ
718 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 09:33:25.59 ID:cvyLC6WE.net] コンパイラチェックが厳しいで思い出した 全然関係ないけど自分は麻雀が打てない ゲームではできる 自分では上がりだと思ってても実際は上がれなかったりする 結局ゲームで判定してもらってる どこが悪いのかは自分で分かっていない コンパイラのチェックでは原因が出るのでどこが間違ってるのかはわかる
719 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 09:43:27.34 ID:7NJqkFJL.net] Rustのコンパイラはどの部分とどの部分がどういう問題となっていて今回のエラーとなっているのかを 複雑なケースでも丁寧に教えてくれて学習効果も高いですね
720 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 10:38:03.26 ID:ALVqghU/.net] 結局 c -> c++ -> rust って感じに進まないと理解できないと思うがな。 いきなり c -> rust で何をやってるか理解できるとはとても思えん。 この種のことをrust信者はすぐ誤魔化す。
721 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 10:45:26.66 ID:n9UcTFQC.net] >>708 どのあたりが理解できないと思う?
722 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 10:47:43.60 ID:3YobdmGS.net] >>708 そこは完全に逆 C++は学ぶ必要なし 今となっては何の価値もない言語 C++を学んでも回り道をしている無駄なunique_ptrくらいしかRustのために役に立つ知識がない
723 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 10:53:42.52 ID:EFTB/rfv.net] >>708 自分はそのルートだったけどC++を経由する必要はどうかなぁ 現代のC++をマスターするのはRust以上に難しいし、初心者が自分でどこまで学べばいいかを判断するのも難しそう まぁ結局我々は初心者ではないので推測で言ってもあまり意味はないけど
724 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 11:02:06.42 ID:SpxMIjuY.net] 要するにマロックだろ?
725 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 11:11:18.68 ID:UvtYS0nS.net] 単刀直入に言うと 実はC++とRustには共通点が非常に少ない 特にC言語との共通点を除くとほとんど残らない だから学ぶべきはC→Rustが正解
726 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 11:38:59.26 ID:P+77Yson.net] >713 >実はC++とRustには共通点が非常に少ない そういう嘘をつくからRust信者はクソ言われるんだよ。 Rustの根幹をなすメモリ安全性はC++のRAII/unique_ptrから着想を得た所有権/ムーブセマンティクスの運用を徹底することによって実現しているし、 Rc/ArcもC++のshared_ptrの機能を強化しているだけ。 引数渡しをムーブセマンティクスデフォルトにするという致命的ミスをしているからC++と別物のように見えるけど、 C++ユーザーからすればC++を少し洗練させたぐらいにしか見えない。 その実体を知りながら「共通点が非常に少ない 」とか言うのは詐欺師ぐらいなものだ。
727 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 11:49:01.58 ID:0K2sKttC.net] C++に着想を得ているのはそうだと思うけど、歴史通りの順番で学ぶ必要ある? (その理屈だと最初はパンチカードからかな…) C++の後付したわかりにくいmoveを学ぶより、最初から洗練された方を学んだほうがいいと思うけど
728 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 11:53:43.59 ID:EFTB/rfv.net] C++の歴史を追っていくみたいなのは、言語設計的にはすごく学びがあって、好きな人にはおすすめなんだけど ただプログラミングがしたい人におすすめできるかというと…
729 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 11:55:25.64 ID:cvyLC6WE.net] 現実的にはPythton or Java or C# → C → Rustかな
730 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:00:59.18 ID:LZU2nudI.net] 最近のC++はなんとRustの後追いをしている状況 例えばRustの中核となっている enum OptionとResult そして Iterator Optionは C++では std::optionalで これはC++17でようやく導入された Resultは C++では std::expectedで これは現在導入に向けて審議中 Iteratorは C++では std::rangesで これはC++20でようやく導入された このようにRustでの成功を見てC++が後から導入となっている 最近導入されたばかりなのでC++入門書や解説サイトにはもちろん出てこない 【結論】C++は学ぶ必要なし
731 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:05:05.94 ID:cvyLC6WE.net] C++は無駄に増改築を繰り返された老舗旅館 通路の途中で無駄に段があったり渡り廊下があったり HPに書いてある現代風の部屋に泊まれる場合もあるけど古い部屋に泊まることもある
732 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:09:41.54 ID:EFTB/rfv.net] C++98ならそんな増築感はなかったけど、そこまで戻るとRustとの共通点もほとんどなくなっちゃうしなぁ
733 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:15:44.17 ID:ehpYMGIZ.net] RAIIとテンプレートメタプログラミングが発見されてから独特の進化を始めたな。
734 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:16:15.06 ID:cvyLC6WE.net] >>718 >>720 新しい部分を指してC++を学ぶべきと言ってるのではないと思うよ それまでのC++からC++11 以降の新しい流れをみるんだろ C++で何が都合が悪かったか判る
735 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:19:37.41 ID:EFTB/rfv.net] >>722 それって歴史を知っている我々には分かるけど初心者に分かる?
736 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:24:26.93 ID:cvyLC6WE.net] >>723 自分はC++を学ぶべきとは思ってないけど何が都合が悪いのか体験したらいいということだろうと推測 初心者にわかるかどうかは知らない 初心者にはjava C# Pythonを勧める
737 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:26:21.53 ID:2dOqhr+x.net] C++の増改築を学ぶのはムダな枝も多くて学ばないほうがいい RustはC++含めた様々な言語から色々採り入れているけど 洗練して整合性あるようコンパクトに採り入れてるからシンプル
738 名前:デフォルトの名無しさん [2022/04/09(土) 12:36:22.62 ID:HmFS1ypI.net] >>694 URLキボン
739 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:42:40.46 ID:cvyLC6WE.net] フレンド関数とか学んでも使いどころなどない
740 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:44:13.05 ID:qlihBLS+.net] >>706 > どこが悪いのかは自分で分かっていない Rustで作ったゲームなら、フリテンですor役がありません、と親切に教えてくれるよ と信者の代わりに突っ込んでみる
741 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:51:14.42 ID:byaB+Tw8.net] Rustのコンパイラは賢い先生みたいなもので不十分なところを的確に適切に指導してくれる 昔Rustは学習難易度高いと言われていたためコンパイルエラーに最も力を入れたプログラミング言語へと成長した
742 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:52:42.79 ID:lI/OjvKQ.net] レス番がとびとびなんだがそんなに長文書き込んでるやついるの?w
743 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 13:05:08.55 ID:P+77Yson.net] >715 何をトンチンカンな指摘をしているんだよ。 >713 >実はC++とRustには共通点が非常に少ない に対する反論なのに、 >715 歴史通りの順番で学ぶ必要ある? とか共通点の話と何の関係も無いだろ。 Rust信者はこういう詭弁を弄するクソしかいないのかね。 あと、言語の話をしているのに > (その理屈だと最初はパンチカードからかな…) とか言語じゃないものを引っ張り出すようなアホな反論するなよ。
744 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 13:10:56.96 ID:Wb48yUxI.net] >>718 C++から見てRustのそのシンプルで分かりやすい記述と概念は羨ましい だからRustから輸入する形で取り入れることになった
745 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 13:23:59.57 ID:P+77Yson.net] >718 >最近のC++はなんとRustの後追いをしている状況 Rust信者は我田引水が酷いな。 C++の標準化が遅いのはC++が巨大だからであって、しがらみのないRustの方が採用早くなるのは当然だろ。 > Optionは C++では std::optionalで これはC++17でようやく導入された 初出はboost::optionalで2003年8月 > Resultは C++では std::expectedで これは現在導入に向けて審議中 これはboost::outcomeが初出かな? 2014年 > Iteratorは C++では std::rangesで これはC++20でようやく導入された そこそこ違いがあるけど、boost::rangeは2003年。 どれもRustリリース前のものばかりだろ。 RustがC++のアイディアをパクって先行実装しただけじゃね?
746 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 13:25:35.27 ID:OTzifHJR.net] C++の貧相なラムダ式見て涙出てくるわ おばちゃんの必死の若作りみたいで痛々しい >>730 相変わらず読む価値無しの駄文オナは続いてるようだよw
747 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 13:29:34.12 ID:il24SwZF.net] https://mevius.5ch.net/test/read.cgi/tech/1643289587/ そろそろこっちでやってくれませんか?
748 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 13:41:58.59 ID:xJyQ5Sl3.net] >>733 C++にはRustのenum(=型収容付きenum=タグ付きunion)が無いため それらC++のバージョンはRustのものより劣っている それではRustに勝てない
749 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:01:07.29 ID:n9UcTFQC.net] スレタイの言語間で争える話題ないか考えてみたけど それぞれ狙うところがバラバラで共通項がないな
750 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:06:05.68 ID:J0gE1zR3.net] rustスレでやれば もうJavaレベルには普及しないって結論じゃん
751 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:11:30.90 ID:cvyLC6WE.net] 次のスレからRustの話題は荒れるから禁止にしてスレタイからも削ろうw
752 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:14:38.49 ID:ehpYMGIZ.net] このスレで荒れてくれる分には構わんわ。C++スレとかRustスレとかを荒らさないで。
753 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:19:25.04 ID:mmQa05p2.net] 便利さを理解するために不便さを体験するべきか否か論な訳だけど、個人的にはそれをするにしては遠回りが過ぎるのがC++という長大な壁だと思っているので経由する必要はないかなと思ってる 代わりの話としてZigとかどうよ 依存型的なコンパイル時計算と実行時計算をフラットに書ける感じ 結構賛否両論来そうな話題だと思う
754 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:22:44.53 ID:cvyLC6WE.net] あれるのは上等なのか 関数オーバーロードがない言語は軒並み糞
755 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:27:38.36 ID:OWfDePLk.net] オーバーロードあると高階関数に渡すときに一手間かかるのがヤダ
756 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:30:13.22 ID:cvyLC6WE.net] 標準ライブラリの標準関数のシグネチャー変える言語は糞
757 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:31:10.30 ID:DIYn4SHb.net] 教育には自分を撃てる言語を使った方が良いのでは?
758 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:31:48.55 ID:cvyLC6WE.net] コンパイルするときにファイルのフォルダ階層に依存する言語は糞
759 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:33:14.01 ID:gSPSOhuN.net] pythonガチアンチ勢がいるらしいな
760 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:38:25.49 ID:cvyLC6WE.net] mainのあるファイルから連鎖的に参照されないと同じフォルダにあってもソースがコンパイルされない言語は糞
761 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:40:09.03 ID:cvyLC6WE.net] 言語じゃなかったな コンパイラ環境か?コンパイラドライバか?
762 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 15:06:56.55 ID:BphNan8J.net] 言語依存の特性というよりはコンパイラがインクリメンタルかリカーシブルかなんて、言語にほとんど関係ない・・・
763 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 15:33:43.71 ID:cvyLC6WE.net] じゃあ ファイル名がクラス名やモジュール名と一致してないとダメな言語は糞
764 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 17:12:33.80 ID:+P+cdtWg.net] 自分じゃ話題も振らないのに他のスレでやれとかいう輩って・・・
765 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 17:40:19.06 ID:qlihBLS+.net] >>741 > 便利さを理解するために不便さを体験するべきか否か論 そう捉える奴も多いのだろうが、それだと完全に精神論になってしまうだろ。 コメントで要求されてる「Howは要らない。Whyを書け」と捉える
766 名前:べき。(C++はRust仕様のコメント) つまり、C++でどういう手法が試され、結果としてRustが何を採用してるかを紐解けば、 Rustが何故こうなっているのかが分かる、というわけ。 信者がひたすら「Rustは正しい」と信じることしかできないのは、Whyを知らず、妥当性の判断能力がないから。 ただしHowはRustの場合は文法にしてしまっているので、 Whyを知らなくても、知ってる奴と同等のコードは生成出来てしまう。 だからプロダクト目的のRustドカタには必要がないのも事実。 (これはフレームワークに於いて、何故こんな構造を採用したのか?とか考える必要がなく、 ただ従って正しく使えば生産性が上がるのと同様) 逆にアカデミックとか、Rustの次の言語を考えたい奴がWhyを抑えないのは問題。 信者ではなく、自分で判断してRustを選択したと言いたいのなら、Whyを知らないといけない。 (知ってないと判断出来ないはずなので、論理的に矛盾する。 これはC++の全てを知っておけという意味ではなく、 Rustで採用された「データ競合」「寿命管理」「例外処理」等の対処方法については、 当然だが他のやり方も存在しており、それぞれ一長一短有るから統一されてない。 それらを知らずに、Rustのやり方しか知らず、ひたすらRustマンセーなら、それはただの信者と言える) [] [ここ壊れてます]
767 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 18:34:35.92 ID:JZiB2qZH.net] 色んな言語やってきたが総合的にみてRustが現在のプログラミング言語の中の最強言語で間違いない 理論的に任意の言語が動き実際にも多数の言語が動かされているWebAssemblyにおいてもRustが利用トップである客観的事実もある
768 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 18:36:58.31 ID:il24SwZF.net] 話題は>>577 で振ったけどスルーされました(^p^) 実際どうなんすかこれ、Yewとかその辺の利用者の使用感知りたいんだけど
769 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 18:48:35.17 ID:SpxMIjuY.net] C++理解した程度でプログラミング理解したと思ってるのが痛々しい
770 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 20:19:57.41 ID:cvyLC6WE.net] Rustはボロー周りとEnumだけがよくできていて他はそうでもない 長期で運用しにくいしょうもない弱点だらけ
771 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 20:26:08.31 ID:n9UcTFQC.net] >>757 例えば?
772 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 20:26:09.05 ID:TpQINAdx.net] そうだぞこんなの使ったら駄目だぞ 俺は使うがな
773 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 20:31:58.00 ID:cvyLC6WE.net] レスをたどる能力もないのかRustの機能や制約を知らないのか自分で何かを調べる能力がないのか どれなんだろう?
774 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 20:34:48.49 ID:TpQINAdx.net] まとめるの面倒だからしないけど弱点だらけだぞ それでも俺は使うがな
775 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 20:38:12.58 ID:cvyLC6WE.net] 言語面は置いといてrustはまずcargoを何とかしろ モジュールパッケージの参照の仕組みを改善しろ
776 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 21:14:44.30 ID:HNoOQ+Ya.net] 次世代次世代つって結局Rustしか話題に上がってないやんw
777 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 21:34:11.92 ID:lI/OjvKQ.net] >>763 つまり次世代はRust覇権が確定。Rust一択ってこと。 VScodeが覇権したようにプログラミング言語もそろそろRust一択にしようよ
778 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 23:10:39.42 ID:SpxMIjuY.net] GoやクソバカPHPoorが滅びるべきというのには同意
779 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 23:31:48.47 ID:qlihBLS+.net] それがRustが現在も今後とも流行らない理由だろうね
780 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 00:20:38.04 ID:xqQhhwbp.net] 他の言語でもRustのように広い意味でのデータ競合を実行前にチェックしてくれたらいいのに そうすればその分の実行時デバッグを無くすことができるのに
781 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 00:52:23.84 ID:fmRbxCQk.net] >>767 それ、馬鹿の一つ覚えだろうけど、割とマジに、データ競合で困る事なんて無いぞ。 もしみんなが本当にデータ競合に困りまくってたら、あらゆるアプリがRustでキラーアプリ化してるはずだろ。 実際は誰も困ってないし、さらにホームドアを付けたところで元々バグもないから差別化出来ず、キラーアプリ化もしてない。 面倒なのでスルーしたが、256で突っ込まれてるように、 実行時デバッグをそれほど必要としてる時点でプログラマとしてはポンコツ。 初心者なのを自覚して、まずはコードを頭の中で動かせるようになる事を目指すべきだよ。
782 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 00:52:41.03 ID:dmNwgspZ.net] とかく計算系のライブラリの高速実装がGPGPU関係なくRustよりC++が優先されているのが悲しいが個人でなんとかできる規模でもなく
783 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:03:58.92 ID:fmRbxCQk.net] >>769 やれば分かるが演算系はリソースの確保/開放ははっきり言ってほぼ必要ないので、 C++どころかCでも全く苦労しない。 しかもRustだと使い回すには一々所有権を気にしないといけないだけ面倒。 他言語なら見えれば何度でも問題なく使えるのに。 だからその辺がRustメインになる事はあり得ないと思うけど。実用重視なら尚更。 境界チェックが一々入る分だけ無駄に遅くなるのも致命的ではあるし。 俺は演算部分だけCのdllにして、GC言語からそれを呼び出すのが最強だと思うけど。 つまりNumPyでいい。(なお俺は使った事無いが)
784 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:07:40.61 ID:clYg/AzK.net] >>768 超巨大なコードベースの前で人は簡単にポンコツになるよ Sanitizerやclang-tidyへのgoogleの投資を見れば分かる ただこの手のツールが必要になる言語やアプリは限られているから あらゆる領域でデータ競合抑止が役に立つというのは偽だとは思うが
785 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:22:47.07 ID:fmRbxCQk.net] >>771 それはコードベースが巨大すぎて見落とす確率が高くなるだけだろ。 ただし事実としてこれはあるのは認める。 これについては、Web系見てて思ったんだが、 Java(OOP): どんな巨大なコードでも、20年前のコードでも、メンテナンスしてみせる!!! Web系(Restful): そもそも巨大にならないように分割。 一人で管理出来るサイズ(1,000-10,000程度)なら管理も簡単だし、コードも最悪書き捨てでもいい。 で、俺はWeb系の方が正解じゃないかと思いだしている。 だから、Javaを殺すのはWeb系だろうなとも思っている。
786 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:24:17.90 ID:7I8wnXlj.net] Rustのプログラミング開発効率の良さには感動した めっちゃ便利やな
787 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:24:40.32 ID:fmRbxCQk.net] あ、すまん、分かると思うが、772訂正。 × 1,000-10,000程度 ○ 1,000-10,000行程度
788 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:35:56.55 ID:o4uZiwRi.net] >>772 用語の使い方からも 間違った対比からも 知的レベルの低さが露呈している そこは単純にモノリスvs.マイクロだけであってOOPやRESTは関係ない
789 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:51:37.37 ID:lgnAhvFe.net] >>772 web系というかブラウザやらOSやらの低レイヤーで考えるべきかと OSもマイクロカーネルにしたらバグ少なくなるのかね
790 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:55:17.11 ID:G67EgXPk.net] Nimの話題ロクに出てこないね 自分は使ったことないけど、使ったことある人はどう? 他の言語との違いや特色教えてくれると嬉しい
791 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:55:40.00 ID:fmRbxCQk.net] >>775 まあ揚げ足取りはどうぞご自由にだが、話は通じてるようだ。 それで、反論は出来ないのか? だとすると、やはりRust信者は低脳だとしか思えない。 (議論する気があるのなら、そのレスでは駄目だし) ・巨大化したコードベースではどうしても見落としが発生する
792 名前:から、全部所有権を強制化してコンパイラでチェックする という直接的な解決策をRustは採用しているが、 ・そもそも巨大化しないようにひたすら分割し、見落としが発生しにくい規模に抑える という、上位アーキテクチャでの解決策もあるのだよ。 これは「データ競合」の時も言ったろ。 そこに問題があれば、解決策もそれなりに用意されてる。(格好いいかはまた別だが) それでは解決出来てない!不十分だ!と言うのなら、 どうにも取りきれなかったバグがRustによって取りきれ、結果的にキラーアプリ化するはずなのだが、 実際これがないだろ。 なら、これまでの地味な方法でも何とかなってたって事なんだよ。 [] [ここ壊れてます]
793 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 02:03:42.86 ID:fmRbxCQk.net] >>776 > OSもマイクロカーネルにしたらバグ少なくなるのかね 通説としてはそういう事になっている。(まあ知ってると思うが) Linusはモノリシックカーネルの利点を言ってるけど、あれは俺は後付だと思うよ。 とはいえ速度重視ならモノリシックの方が上だし、 堅牢性重視ならマイクロカーネルってのは、技術的にも正しいと思う。 俺が言ってるのはもっと単純な話で、 機能が少なければ、実装に必要なコードも少なく済み、見落としも減る、という、至極当たり前の話。 だから「仕様を必要最低限に絞る事こそ最強」という話だね。 これもよく言われているとも思うけど。 だから、マイクロカーネルの方が仕様が小さいから実装コードも減り、結果的に「見落とし」のバグは減ると思うよ。
794 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 02:03:43.80 ID:Yq6q8jid.net] Nim、vlang、Zig、Zenらへんはマイナーすぎてなんとも D言語が使われなかったのと似たような理由で使われなさそう
795 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 02:04:15.32 ID:UjiUu+PI.net] 結論は変えるつもりがなくそこに至るまでの論理だけを手を代え品を代えひねり出し続ける 信者もそれに対する批判も不毛なんだ
796 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 02:06:36.51 ID:NYexxOz5.net] >>778 アーキテクチャとアプリと言語は全て別問題なのに区別がつかずにごっちゃに話しているキチガイに見えます
797 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 02:21:42.17 ID:UjiUu+PI.net] そんなことより次々世代言語にどういう特徴を持った言語が来るか予想しようぜ
798 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 02:34:28.97 ID:NYexxOz5.net] >>780 IT大手各社が珍しく揃って支援&採用しているRustだけが最近のプログラミング言語の中で長期に残りそう >>783 Rustを置き換えるような次々世代言語は Rustが備えるC言語並の速さ省メモリと安全性を押さえた上で異なるアプローチとなるだろうけど Rust関係の論文が多い状況からすると理論的な裏付けが先行研究としてあるものの中から出てくるのかな
799 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 08:39:07.48 ID:K0blu0OJ.net] C2とATS2のことも忘れないであげてください!
800 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 09:17:53.01 ID:fmRbxCQk.net] >>782 それはRust信者はプログラマではないからだな。 プログラマは全レイヤで最適化を模索する事が出来る。(本来は) 例えばだいぶ前にスマホ見てて踏切の内側と外側を間違えて死んで話題になってたが、これについて ・現場(踏切の改善):踏切内の障害物検知器の精度を上げ、人が間違って立ち止まってる場合も検出し、電車を緊急停止させる(Rust) もありだが、 ・運用(経路選択):そもそも踏切を通らない経路を選択する。歩道橋があればそれを使う。 ・運用(マナー):歩きスマホ禁止。イヤホンも爆音にはせず、周りの人の声も聞こえる程度にしておけば気づけたかも? ・運用(ポリシー):外でボーっとしない。事故に巻き込まれる確率は0ではないのだから、
801 名前:常にある程度は周りに気を付ける ・アーキテクチャ:高架化して踏み切り自体を無くす(C#) アーキテクチャ面での対策が根本対策になるが、現実的には運用での回避になってる。 大人の場合はマナー/ポリシーで回避し、 これを期待出来ない小学生には、通学路なら歩道橋を設置して、経路選択での対策が為されてる。 「データ競合」も同様に、 ・現場(チェッカ):所有権を厳密に管理し、コンパイラでチェック(Rust) もありだが、 ・運用:難しい事はしない。競合する可能性のある場所は限定的にして、見ればバグに気づける程度にする ・アーキテクチャ:スレッド構成上、そもそも競合が発生し得ない(C#) で、アーキテクチャでの対策が根本対策だが話が大がかりになり面倒になるので、 大体は運用で対策され、でも何とかなってるというのが実態だ。 通常は言語選択はアーキテクチャよりさらに上のレイヤか、そもそも独立した軸なので、 言語比較で一番下のレイヤ(現場)での改善のみに限定するのが間違ってる。 そして重要なのは、既存の言語でも根本対策はやる気になればすぐに出来るんだよ。多少面倒なだけで。 だから信者の言う「Rustでなければ無理だった」というアプリが存在せず、キラーアプリも出てこないわけ。 Rustは「一方ロシアは鉛筆を使った」の米国側を突き進もうとしてる。これもありだが、ロシア側もありなだけの話。 [] [ここ壊れてます]
802 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 09:21:12.35 ID:n6k1Ijhp.net] この人は無駄で無意味な間違った例え話を延々と繰り返し妄想の世界に住んでいる
803 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 09:21:25.28 ID:sR7YmRYu.net] Scalaの方がKotlinより機能豊富だけどWeb系では落ち目になったね Scalaの方が好きだが
804 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 09:26:20.41 ID:BLmvSJJ5.net] >>788 Scalaは結構好きで長く使っていたけど 使っているとどうしてもJVMが見えてしまう部分があって Rustに乗り換えちゃったな
805 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 09:29:58.47 ID:93k1uAXl.net] rustaceanはある時期を境に爆発的に表に出てきてプログラミング界隈を圧倒する未来が見える
806 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 09:41:23.13 ID:BLmvSJJ5.net] 表に出るかなぁ? OSやコンパイラ、ミドルウェアあたりに侵食して、気付かないうちに全員が依存してる、みたいな状況なら有り得そう
807 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 10:05:57.88 ID:W8i2G4wq.net] scalaはコンパイルが困憊るほど遅すぎた
808 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 10:55:59.09 ID:vR2aNwQM.net] >>779 >Linusはモノリシックカーネルの利点を言ってるけど、あれは俺は後付だと思うよ。 後付けというか経験知からの意見だろ。 Linusはそもそもが理論家なわけでもないし。 仕様を最初から小さく絞れるとか考えてる奴は全く的外れとしか言いようがない。
809 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 11:21:10.49 ID:7HDkHX8h.net] Linux作り始めたときからタネンバウムと論争しているのに理論家じゃないとか後付けとか
810 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 11:26:19.70 ID:nRSUY8iy.net] 一部だけ小さくしてバグ減っても意味ないよ。 部分的な最適化はシステム全体の最適化の視点では上手く機能するわけではないからね。 一つ前のFreeBSDで話題になって詳しい人が説明してくれてた。 https://mevius.5ch.net/test/read.cgi/unix/1630061644/794
811 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 11:41:39.32 ID:vR2aNwQM.net] >>794 だからLinusはタネンバウムみたいな理論家を嫌ってんだろ。議論の中身理解してないのか?
812 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 12:14:41.45 ID:N1Kz0CTA.net] >>783 C言語より10倍速い言語が現われて界隈歓喜
813 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 12:18:37.19 ID:W8i2G4wq.net] >>783 Googleに頼めば全て完成する
814 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 12:31:07.74 ID:2AahvlRa.net] 次世代はシンプルな言語仕様+強力な静的チェックだと思う Rustみたいに事前の宣言でガチガチに縛るんじゃなく、型推論やフロー解析を積極的に利用して利用のされ方に基づいた型チェックや生存期間のチェックを行う まあこのままいくとJavaScript+VSCodeがそれになるかもしれないが
815 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 12:46:03.55 ID:fBzqkVFD.net] >>799 ことweb界隈で使われる言語に関しては前半同意 サービス独自の機能をスピーディーに開発することが求められるweb界隈において、プログラマ自身が考えないといけないことが多くなるrustはまず普及しない
816 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 12:55:32.64 ID:fmRbxCQk.net] >>793 運用していくうちに追加追加で仕様が段々膨らんでいくのはある程度仕方ないとして、 それでも更新タイミングで不要な仕様を出来るだけ削除して仕様を絞るのは基本中の基本だろ。 マイクロカーネルもある意味これで、「カーネルがやるしかない事しかやらない」という、最小仕様を目指したものだ。 プログラミングに於いて小さい仕様を目指すのは大正義だし、みんなそうしてる。 (出来てるかはまた別。特にJava分野。 対してWebの場合はこの辺切り捨てるしサービス終了もありありなので、 反発はあるかもしれないが、仕様が雪だるま式に膨らんでる事はない。 俺はこの辺、Java流の「どんなに大きくなっても何とかしてみせる」ではなく、 Web流の「定期的に棚卸しで削除」の方が長期的には正しいのではないかと思いつつある、という事) >>794 Linusは当初から分かっててモノリシックを選択したのはいい。 当時の速度的にそれが妥当だったのも分かる。 ただ、今となってはマイクロカーネルにすべきだし、徐々にでも変更していくべきだと思うよ。 今でもモノリシックの利点を説いているのは、後付のように思える。
817 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 13:03:29.70 ID:WQm20ac3.net] >>794 「俺は後付だと思う」って予防線貼ってるし、そこまで知らなかったんだよ、きっと 許してあげて
818 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 13:10:21.13 ID:BLmvSJJ5.net] >>799 Rustのように型が強力でコンパイル時チェックの細かいGC言語ってのが現状ないから そこは新言語の余地がある気がしている JSだとどうしても型はガバガバにならざるを得ないからなぁ
819 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 13:17:50.89 ID:blp15KeH.net] 言語には向き不向きがあるわけで それを無視してRustがすべての言語を置き換えるみたいな話をしているのがおかしい C/C++の置き換えは進むかもしれないけどwebやスマホやPCアプリとかでは採用されないでしょ 普通はどの言語が最適かをいろいろ検討して決めます なんか通販の広告みたいなんだよね 良いことしか言わないし 大手IT企業が採用ってのは通販広告の有名人も愛用!みたいな感じ コンピュータ関係の新技術の売り文句は100%そうだった試しはないので話半分で聞いていた方がよいと思う
820 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 13:30:51.71 ID:fBzqkVFD.net] >>804 ほんまこれ このスレの一部のRust信者がRustこそ至高みたいなノリだけど、このノリについていけないRust推し結構いると思う
821 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 13:55:42.06 ID:UjiUu+PI.net] いつでも最初から型が要るのは足枷というのは確かに思うわ そうなると漸進的型付けってやつかねえ TS以外のaltJSは死んだとかだれかが言っていたが、Haxeの再興もあるか?
822 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 14:04:03.83 ID:WXrh5iWM.net] >>805 というよりRustは好きだけど別に推してはないという 誰も使わなくていいよ 俺と一部のお前らが使うだけでいい みんなに使ってもらう必要なんて一切ない
823 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 14:14:16.90 ID:li
] [ここ壊れてます]
824 名前:fo30Qd.net mailto: >>807 そう思ってるなら言わなきゃ良いんじゃないですか?そういう他の言語を使ってる人を小馬鹿にした態度がRust推しそのものでしょ、しかも良い印象は全く受けない [] [ここ壊れてます]
825 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 14:16:40.89 ID:WXrh5iWM.net] アンタにレスしてないから気にしないでね 人を小馬鹿になんかしてないし Rust以外の言語も好きだし そもそもどの言語も馬鹿にしたりしない
826 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 14:23:28.49 ID:sejldIDY.net] こういう屈折した性格の勘違い野郎ばっかで本当に近づきたくない。扱いにくいのに能力なんてないし言語触ってれば最先端だと勘違いしてる、とんでもねえバカ
827 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 14:40:08.25 ID:9taU8UGO.net] RustはMozillaのステマでfirefoxのRust導入は 不可能と叩きが暴れてた頃が懐かしいなあ〜
828 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 14:57:34.06 ID:fmRbxCQk.net] >>810 まあ勘違い馬鹿は必ず存在するのである程度致し方ない。 連中は基本的に「難しい言語使ってる僕すごい」であり、 プログラミング言語の優劣を自己で判断する能力はないので、 何か新しく「凄いけど難しい!!!」とされる言語が出てきたら勝手に移住する。 だから、対策としては、何でもいいから新しい言語を作って適当に吹聴する事だね。 そうすればRust界隈も浄化される。 なお一時期はC++の連中の選民思想が超絶にウザかったが、これが今はRustになってるだけ。 ならC++スレはどうなったかと思って見てみたら、完全にお馬鹿の溜まり場になってたわ…。 まあ○○言語を使ってれば賢いって事にはならないので、当然でもあるのだが。
829 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 15:13:47.07 ID:nUqmGYW5.net] ちんちんシュッ!シュッ!シュッ!
830 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 15:18:10.17 ID:LCNa54V5.net] 完結に喋れない病気直ってないの?
831 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 15:22:51.62 ID:fmRbxCQk.net] >>783 はっきり言えば、誰も「新言語」なんて必要としてないだろ。 欲しがってるのは、各自が気に入った言語での、 ・バグを自動的に検出してくれるゴリゴリのリンター ・Cと同速で動く爆速環境 であって。 はっきり言ってRust信者の「Rustは書きやすい!!!」すら方便で、連中は ・リントが強く、データ競合が起きない ・寿命管理ががっちりしてるので、GCなくてもメモリリークが発生しにくい 事がRustの買いだと言ってるわけだが、 Rust信者すら、信者になる前に使ってた言語でこれらを満たす状況になってたら、そのままその言語を使い続けてるだろ。 寿命管理はGCが爆速なら(リアルタイム系以外は)誰も文句言わないのでこれで決まり。 データ競合バグは言う程問題でもないが、 これをどうしても避けたいのなら、JSのように基本シングルスレッドにしてしまえば根本解決する。 だからこの2点が必要とされてるのなら、JSの爆速環境があれば済む話。 JSにおいて速度の枷は動的型であり、だからこそTSでアノテートだが、JSに変換して実行してる現在では速度メリットはない。 だからV8(JSエンジン)がTSをそのまま食うようになれば、解決する。期待値としては多分現行の倍速程度にはなる。 あるいはBlazor(WebAsembly)がこれに近い状況。 ただし世界が望んでるのは、Python/RubyがとりあえずJS並に高速化する事だね。 ただ俺はPython/Ruby連中が高速化についてあまり真剣に取り組んでない(ように見える)のは意味が分からないのだが。 Matzも新言語作るんだーとか言ってたと思ったが、あんたがやるべきなのはRubyの高速化でしょうが、と。
832 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 15:22:54.24 ID:WXrh5iWM.net] >>811 なんか最初の頃はMozillaの印象強かったよねえ
833 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 15:24:50.68 ID:x8
] [ここ壊れてます]
834 名前:oklrTT.net mailto: >>805 そもそも5ch以外で信者っぽい人見たことないけどな リアルでもTwitterあたりでもみんな複数言語使ってる中の一つにRustもあるってだけ [] [ここ壊れてます]
835 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 15:33:46.76 ID:lgnAhvFe.net] >>815 ruby3はruby2の3倍高速化というお題目でそれなりの成果を出した訳だけどそれでもまだまだ足りないと言うのね スクリプト言語で高速化するためにはボトルネック箇所をCなりで置き換えるのが普通 JSはブラウザで動かさなければならないという制約上言語自体を高速化する必要があり ブラウザベンダー大資本がつぎ込まれた結果高速化した 前提がかなり異なるから同じことがruby/pythonに起こることはないのではないか
836 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 15:56:47.79 ID:fmRbxCQk.net] >>818 > ruby3はruby2の3倍高速化というお題目でそれなりの成果を出した訳だけど それよく勘違いされてるが、 3倍になった『部分がある』だけで、全体が3倍になったわけではないよ。 (これは公式でもこう『追加』アナウンスされてたはず) 俺が思う割と正当な比較はこれだが、 > https://1.bp.blogspot.com/-rfuoTnmJM5Q/X41w-eFt9QI/AAAAAAAAJcc/nFNdlKqfs6sRKna-85JxpmzrAe1bw0tGQCLcBGAsYHQ/s0/3730357d-results-energy-time-and-memory-usage-screenshot-from-research-paper.png > https://okuranagaimo.blogspot.com/2020/10/blog-post_19.html 「Pythonは100倍以上遅いぞ」なんて言われる事も多く、 C比だとJSで5-6、Python/Rubyは80-100程度だと思ってる。 だからまずはJS並にするだけで16倍程度は高速化するわけであり、CやCythonは嫌だ…な連中には十分だと思うんだよ。 Rubyも16倍のクライアントを捌けるようになれば鯖代も半分以下に出来るだろうし。 (そもそもコードが汚れるのは無理に速度チューニングしたコードにするからであり、 馬鹿みたいなコードでも速く動くのならコードも綺麗に保てるし) > 前提がかなり異なるから同じことがruby/pythonに起こることはないのではないか 逆に言えば、金さえつぎ込めば改善出来るわけで、 改善項目とそれに要する金額をずらっと羅列して、クラファンで資金が付いたところから実行、 十分な結果で採り入れられたらそいつがその資金を給料として獲得、とかいう方式にすれば、 割とすぐにでも行けるんじゃないかと思うんだけどな。
837 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 15:58:01.34 ID:UjiUu+PI.net] >>815 > JSにおいて速度の枷は動的型であり、だからこそTSでアノテートだが 違うよ ブラウザがTSをそのまま食えるようにするというのは開発者側でトランスパイルする必要性を無くすだけで実行速度の改善を目的としたものではないよ ていうかその方向性はasm.jsとかPNaClみたいな先駆者がいて彼らの現状の到達点がWASMという経緯があるよ
838 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 16:21:05.00 ID:fmRbxCQk.net] >>820 > 実行速度の改善を目的としたものではないよ それは知ってるが、JSの速度改善には型の固定(静的型)が必要だから、「『Any無しの』TSを食わせる」必要があるんだよ。 その前段階として「TSを食わせる」が必要なわけ。 (実際やろうとしてるかは知らん) asm.jsはお世辞にもいいものとは思えない。 あれもJSエンジン内で型を固定出来てるわけではないし。(ただJITだとあれでも行けるのかな?) PNaClは知らない。けど削除されちゃったよね。 ただwiki見る限りWebAssemblyでいいから削除、みたいな感じのようだが。 「Any無しのTSを食わせる」位ならBlazorでWebAssemblyしろってのはその通りだが。 だからWASIも方向性としては有ってて、最高に上手く行け
839 名前:ホJVMを置き換える事になるかもしれんけど。 (Java言語そのものは死なず、JavaからWebAssemblyを吐くようになるだけだが) [] [ここ壊れてます]
840 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 16:49:31.19 ID:UjiUu+PI.net] 知らなかったくせに
841 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 16:53:31.25 ID:QEMS6G9N.net] 毎日Rust攻撃してる人、暇なんかな。 別の事に時間使えはいいのに、と他人事ながら思うよ。
842 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 16:57:09.68 ID:7HDkHX8h.net] AssemblyScript や Static TypeScript の話をどこかで聞きかじったのが混ざってるんだと思う
843 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 17:16:31.79 ID:ZtzjE5Lq.net] Ruby はJIT で、C コードをコンパイルするけど、 1万ぐらいコンパイルしても、Rails みたいにすべての関数が平均的に呼ばれるアプリでは、 1割ぐらいしか速くならない 行列・ベクトル演算みたいに、CPU セントリックな処理では速くなるから、 Python, Julia では、JITの効果は大きいかも I/O を使わずに、少ない数値を何回も使って、組合せ演算するようなたぐい YouTube で有名な、雑食系エンジニア・KENTA が言ってたけど、 Scala が滅んだのは、 食えないから、コミュニティーに居座る無職のベテが、新規を叩きまくるから。 食えない所には、変な香具師しか残らない Scala, PHP は、KENTAがオワコン認定したから、一気に滅んだ 結局、Laravel, Django, Node.js などは、競争でRails に勝てなかったから。 だから、未経験者のキャリアパスは、Rails → Go だけと宣言した
844 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 17:19:51.97 ID:kr0xp78k.net] >>794 ライナスは理論家じゃなくて実務家 ライナスはUNIXクローンが動かないと意味がないからとりあえずソースを書いて動かそう派で タネンバウムは理論上マイクロカーネルが有利だからマイクロにしろと言って噛みついて来た理論家
845 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 17:37:12.48 ID:ZtzjE5Lq.net] Blitz.js は、React 版・Ruby on Rails。 Cake PHP みたいなものか? Type Script なら、Rubyよりも型安全だけど、 モデルが、RailsのActive Record よりも弱いらしい
846 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 17:53:45.64 ID:lgnAhvFe.net] >>819 "それなりの成果" ってわざわざ書いた意図をくみ取って欲しかったな クラファンとかアイディア出すのは良いんだけど 具体的にどういう課題があって改善したがってるのかが分かんないんだよね Cで書いたモジュールと置き換えるのじゃだめなの?
847 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 18:07:58.32 ID:b41tYEVR.net] 定期的にKENTAさんを引用している人、もしリスナーさんだったらやめたほうが良いですよ? 分析は正しいかもしれないが、イメージを悪くして迷惑をかける可能性だってあるし、 本人が見ていないところに、荒らしにも見える行為はマナー上良くないですからね?
848 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 18:20:31.55 ID:aoUYGCMa.net] Youtubeで有名な、とかいう主観に満ちた枕詞をつけてるあたり権威付けして威を借りようとでも思ってるんでしょ たかがYouTuberに言語の勢いを減らせるほどの影響力ないでしょ
849 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 18:27:03.03 ID:Yq6q8jid.net] YouTuberの名前を出されても中学生が書いてるのかなとしか思わんしマジでそんなやつどうでもいい 偉そうに技術を語るなら、超有名OSSプロダクトをいくつも作ってるとか、GAFAでアーキテクトをやってるとかぐらいの実績がほしい
850 名前:825 mailto:sage [2022/04/10(日) 18:58:00.76 ID:ZtzjE5Lq.net] KENTA の有料のRuby on Rails サロンは、
851 名前:日本6位の3千人。 日本1位は、キングコング西野の数万人 vue.js 日本ユーザーグループが、3千人 単独のフレームワークの有料サロンで3千人は、あり得ない! 世界的にも断トツじゃないか? 実際に、外人から驚嘆されている。 転職で未経験者が、こんなすごいポートフォリオを持ってくるのは、あり得ないって これが日本人が発明した塾・予備校。虎の穴 でも、これほどすごくても、日本人の年収が先進国の1/3 なのも、あり得ないけどw 失われた30年。 財務省のせいで、世界中で唯一、GDP が伸びなかった国 [] [ここ壊れてます]
852 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 19:10:26.93 ID:TRRwI9qz.net] KENTAガイジNGしてないひとまだいたんだ
853 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 19:35:37.31 ID:N5dTO4j8.net] >>821 GC対応は悲観的 様々な言語で効率化が異なる手法のGCのためにWebAssemblyに共通仕様のGCを作るのは不可能という結論になった だから当面はWebAssemblyにGCは載らずいずれGC対応しても各GC言語はそのまま動かず特別仕様に制限される
854 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 19:50:06.06 ID:lgnAhvFe.net] >>834 JVM on WASMみたいなアプローチならどうじゃろ?
855 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 20:10:14.95 ID:vR2aNwQM.net] >ただ、今となってはマイクロカーネルにすべきだし、徐々にでも変更していくべきだと思うよ。 >今でもモノリシックの利点を説いているのは、後付のように思える。 そう思ってるなら思ってる奴がフォークするなりしてやればいいんじゃね? そのためのフリーソフトなんだから。でも結局やらんだろうがな。
856 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 20:30:35.41 ID:aoUYGCMa.net] オンラインサロンの会員数を出したり、外人から驚嘆されてるとかいう眉唾情報を出したり、教祖が教祖なら信者も信者だな
857 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 20:49:57.25 ID:fmRbxCQk.net] >>828 > 具体的にどういう課題があって改善したがってるのかが分かんないんだよね > Cで書いたモジュールと置き換えるのじゃだめなの? この主語がRubyではなく、Rubyランタイムだと仮定すると、以下。 Rubyについて文句言われてるのは速度だけだろ。 エコシステムはPythonには劣るが、基本的には「それ、Rubyでも出来るよ」程度にはなってるんだろ。 なら後は人数だけで、新規を呼び込むにはPythonよりも圧倒的に速い速度だよ。 手法は速くなるのなら何でもいい。 改善箇所は、まずはプロファイラ付きのランタイムを配ってデータを集めて、 使用頻度の高さ*コード見ての改善見積もり=高速化効果見積もりと、その費用の一覧を作って、 ついでにそのプロファイラー付きランタイムでの使用実績も掛けて各社向けに 「御社のRubyプログラムは○○円で△%高速化」の一覧に差し替えて、クレクレ君するしかないね。 長期的に見れば自前でゴリゴリチューニングするよりランタイムが速くなってくれた方が楽だから、 10社くらい束ねればわりと行けるのではないかと。 あくまで、各社が「ここを速くしてくれ」として費用を出してきた場所を改善だ。 ユーザー無視して高速化しても外れるだろうし。
858 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 20:50:32.86 ID:fmRbxCQk.net] >>828 > 具体的にどういう課題があって改善したがってるのかが分かんないんだよね > Cで書いたモジュールと置き換えるのじゃだめなの? 主語がRubyだと仮定して、 Rubyのどこが不味いのか、速度が欲しければCでdllを用意しろ、という意味なら、死ねと言われるだろうよ。 Rubyは根本の戦略が間違ってる。 Pythonとダダ被りなので、このままだと、シェア的に見て死ぬのはRubyだと確定してる。 なら、Pythonと正面からやり合うのではなく、違う道を模索しないといけない。 具体的には互換性無視での先行だね。そして「学生が学ぶならRuby」という地位を確立してしまう事だ。 2012位にRubyカンファレンスでMatzが「互換性を重視しました!」 と言って沸いたという記事があったはずだが、あれが完全なる間違い。 互換性重視と言うと聞こえはいいが、これは「新規のコードよりも既存のコードを優遇する」という事であり、
859 名前:これからコードを書く/学ぶ連中にとっては全く意味無い。それよりは、最新の書き方を試せる方がいい。 どの言語も段々と互換性を重視するしかなくなるので、仕様改訂出来ず、段々と古くさくなっていく。 Pythonなんて既にそうなってるだろ。 なら、「常に最新の書き方が出来ます!」をキープして、新規学習者の登竜門的な地位を確立するしかない。 これには、 ・バージョン管理で仕様を年に一度は大幅改訂。新しい記法を貪欲に採り入れ、古い記法はばっさり捨てる。 ・古いバーションの記述でも動きはするように、関数単位でのパースバージョン指定が出来るようにする。 ・学生にとって入社〜3年目程度に必要な概念は全て学習出来るよう、 他言語でのプロポーザルの有力案は全て採り入れる。(高速である必要はなく、動けばいい) とかで、とにかく「プログラミングの学習にはRuby!」という地位を確立しないと、 Pythonに食われて死ぬ未来しかないだろ。 で、RoRは仕様を改訂/捨てまくりだと聞いてるけど、 あれが正しいよ。というか、何かしらPython(や他言語)と差別化しないと死ぬだけ。 [] [ここ壊れてます]
860 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 20:57:15.28 ID:aoUYGCMa.net] 学生にRuby…? 専門学校ならそれでいいかもしれんけど
861 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 20:58:47.74 ID:fmRbxCQk.net] >>834 > 様々な言語で効率化が異なる手法のGCのためにWebAssemblyに共通仕様のGCを作るのは不可能という結論になった そりゃそうかもしれんが、これはWebAssemblyの連中が真面目すぎるだけ。 Python/Ruby/JS/TSを使ってる連中が、GC方式なんて気にしてるわけねえだろ。 GC出来てれば何でもいいんだよ。(循環参照でもGC出来るのは必須で) やりたくないから理由を適当にでっち上げたようにしか見えないね。 (オープンソースならそんなもんだが)
862 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 21:10:10.44 ID:fmRbxCQk.net] >>836 wikiによるとArchとDebianでやってみた奴はいるらしい。 > 2012年現在、Machベースの GNU Hurd も機能しており、それを採用した Arch Linux と Debian のテスト版も進行中である。 > https://ja.wikipedia.org/wiki/%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB ただまあ、マイクロカーネルにしても、 ドライバ周りのコードを(カーネル開発人員が)自前で書かないといけないので、 最終的に書かなければならない合計コードサイズ自体は大して変わらず、 カーネルで落ちるかユーザーモードでバグるかの違いで、大して意味はないのかも? ならわざわざやろうと思わないのも道理だ。
863 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 21:15:37.68 ID:QEMS6G9N.net] GNU Hurd ダメなやつだから。
864 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 21:24:19.23 ID:9taU8UGO.net] この聞きかじりで広く明後日の知識を披露してる人は 前暴れてた人と同じなのか違うのか
865 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 21:28:26.61 ID:ZtzjE5Lq.net] 循環参照とか参照カウント・世代別GC とか、 動的言語で、そんな事を知っている香具師はいない 唯一、Ruby には「Rubyのしくみ」と言う、 Ruby1.9の仮想マシンの本があるから、 Cookpad の笹田耕一が、どういうようにRuby VM を作ったかと言うのは、 日本人だけは知っている
866 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 21:44:41.86 ID:+3UgN2G1.net] 香具師→やつ 訂正しとくわ
867 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 21:54:26.09 ID:W8i2G4wq.net] >>832 すまん、コレ見るとやっぱジャップランド土人ってガイジの集団じゃないか? 中国に併合してもらって考えを悔い改めた方がいいのでは?
868 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 21:55:02.28 ID:QUw9uGH2.net] V8高速化するのは兆円越えるような凄まじい金銭が投入されてるが、pythonの組織など億から10億程度、rubyはその1/5行くかどうかなんだから
869 名前:」り合える訳がない。 [] [ここ壊れてます]
870 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 22:10:35.68 ID:tGlbubKc.net] 他言語のエンジンをrustで作り出したら本格的 今のところjs/tsのエンジンであるdenoのみか
871 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 22:50:17.14 ID:D/xoL3wp.net] GOとか早くも終わりそうな感じだけど実際どうなの? API作るには良いかと思った事もあったけどわざわざ採用する程でもないんだよねぇ
872 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 22:54:33.39 ID:EeuOQJAe.net] >>849 RustによるPython実装のver0.1が公開 https://egg.5ch.net/test/read.cgi/river/1627101447/ Rython(ライソン)は、Rust言語によりPythonを実装することを目的として開発されたプログラミング言語である。
873 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 22:54:54.30 ID:vR2aNwQM.net] サーバー用途以外だったらワークフローエンジンとかCIツール周りなんかは向いてそうな気はする。
874 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 22:55:50.40 ID:Yq6q8jid.net] >>848 いくらなんでもそんなに金かけてるわけないだろ V8の開発をする専門エンジニアをフルタイム数万人規模で働かせるっていうの? ちなみに任天堂やソフトバンクの時価総額が7兆円ぐらいな
875 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 23:46:53.01 ID:OCBvsT75.net] >>850 Goはある範囲内なら簡潔に分かりやすく書けていいよ 今はRustでもGoと同様のプログラミング方法で簡潔に分かりやすく書けるようになったため私はRustへ移った 理由はRustの方が速くて他にも広く適用できるため
876 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 23:58:13.16 ID:pEZ46Oyr.net] >>835 もちろんそれでも他でも動く C#によるBlazorも重くて遅くてデカいけど動いている 焦点は効率の問題
877 名前:デフォルトの名無しさん mailto:sage [2022/04/11(月) 00:50:05.90 ID:E3KBZvfK.net] >>838 いや、だから一般論じゃなくてあなたは何に困ってるのかを聞いてるの ただ漠然と速度が遅いと言われるだけでは分からんのよ
878 名前:デフォルトの名無しさん mailto:sage [2022/04/11(月) 01:12:00.13 ID:umXHqcZk.net] 使ってないので何も困ってませんというオチ
879 名前:デフォルトの名無しさん mailto:sage [2022/04/11(月) 07:03:18.35 ID:j88vhZuT.net] 抽象論で済ませたいという輩はそもそもプログラム向いてないよ。
880 名前:デフォルトの名無しさん mailto:sage [2022/04/11(月) 07:06:48.33 ID:3x0R8xqL.net] だってプログラム書けないだもん
881 名前:デフォルトの名無しさん mailto:sage [2022/04/12(火) 13:44:31.10 ID:A7zu82Eq.net] 速度に不満があるならJulia使おうぜ ちなみに俺はプロット表示出来なくて、すぐ必要なわけでもないし面倒になって環境構築の段階で挫折した
882 名前:デフォルトの名無しさん mailto:sage [2022/04/12(火) 20:19:42.59 ID:vS+B3//0.net] 所詮道具は道具だ 個人的に深掘りしたいライブラリ整備したい言語と 働くために使う言語は別だと割り切ればだいたい幸せだよ まあそれで何個も使ってるとしんどいんだけどな
883 名前:デフォルトの名無しさん mailto:sage [2022/04/12(火) 20:24:08.33 ID:Th8uJDWe.net] >851 さすがに むせた
884 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 02:09:35.75 ID:dECpaYfo.net] 流れに身を任せれば良い。幸福感が得られる。 重要な決定に関与しないので、責任感に追われることは無い。 それも生き方。何の間違いもない。
885 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 09:38:49.99 ID:McIysJ0Q.net] このようにして奴隷は誕生するのである。
886 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 14:31:42.18 ID:7VeATDTg.net] プログラミング言語の人気ランキング、順位変動は縮小傾向にある――RedMonkが調査 https://atmarkit.itmedia.co.jp/ait/articles/2204/13/news040.html
887 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 16:28:48.93 ID:WrxbMLiQ.net] Nimだけトップ20圏外か
888 名前:デフォルトの名無しさん mailto:sage [2022/04/1
] [ここ壊れてます]
889 名前:3(水) 17:49:20 ID:QcgahTwn.net mailto: うぅ、、Nimさん(;;) [] [ここ壊れてます]
890 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 19:36:47.36 ID:uZMWha80.net] 考えてみたらnimなんてQitaか5chでしか聞かなかったもんな。 声の大きい人のおかげでGoやRustと同格っぽく錯覚してたけど、実際は>>865 のように Crystalあたりが比較対象になるマイナー言語だったんだよな。
891 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 19:42:01.28 ID:tSwum0gN.net] メジャーかどうかがキミらの関心事なん?
892 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 19:49:54.89 ID:P5Yf9dEj.net] >>865 16.Go 17.Powershell と並べられるとGoが急にしょぼく見えてきた
893 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 20:39:44.52 ID:je5sMJxi.net] Zigがグラフに入ってない気がするけどなんでだろ? Vでも入ってるのに
894 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 20:55:30.92 ID:TtGTyBSH.net] Zは今は駄目だ
895 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 20:59:16.38 ID:kkNkKFp+.net] 型無し糞言語を勧めてくる屑どもは市中引き回しの上打ち首に処せ
896 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 21:55:10 ID:VZeyJm3t.net] >>865 (整理) 1 JavaScript 2 Python 3 Java 4 PHP 5 CSS 5 C# 7 C++ 8 TypeScript 9 Ruby 10 C 11 Swift 12 R 13 Objective-C 14 Shell 14 Scala 16 Go 17 PowerShell 18 Kotlin 19 Rust 19 Dart
897 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 21:56:44 ID:WrxbMLiQ.net] Rが意外と高ランクなのはなぜだろう Stack Overflowの質問数が多いから学生が課題で使うなどしてるのかな
898 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 22:04:41 ID:lf84vSB/.net] >>874 このスレにとっての整理というのはこういうことだろ 8 TypeScript 11 Swift 16 Go 18 Kotlin 19 Rust
899 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 22:07:12 ID:CqWBmt+n.net] >>865 この相関表だとJuliaがここにスレタイに入ってないのはおかしい、Nimも外してJVMで動いてる競合が全くしないKotlinも外せよ。 入れるならコンパイルできるHaskell、Erlang、Dあたりだろう。TypeScriptは残しても良いけど、ここの人たちがGCだのなんだの ムーブセマンティックがどうの言うてる次世代言語のような先進性なんてほとんど無いぜ? このスレにNimがあるのはえらい迷惑、RustやC++をまじめにやってる人も迷惑だと思うけど、あんたら好きそうだから隔離としては ええんちゃうか?
900 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 22:10:18 ID:SVdVjY9z.net] こないだここで話題に出てたFlixはいいセンいってると思うんだけどな
901 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 22:11:15 ID:CqWBmt+n.net] そもそもHaskellが入ってないのがおかしい
902 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 22:20:19.72 ID:tuyUM4Xb.net] 「次世代言語」ってどういう意味よ ちなみにHaskellはJavaやPythonなんかよりも古い言語だ
903 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 22:35:07.15 ID:WrxbMLiQ.net] 現世代じゃなくて次世代ってことは流行ってる言語はだめか Nim以外スレタイから消した方が良い?
904 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 22:48:55.23 ID:IduSatGp.net] 実用プロダクトがバンバン出て 求人も当たり前に見つかるのは 次世代感はあまり無いかも
905 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 23:05:23.43 ID:ay76B0Js.net] >>880 Haskellは98とか2010とかいろいろ修正機能追加してるので、C11とかC++20とかそういう立場でしょ。次世代ってことは現世代で 問題があるか書き難いか、表現しずらい、誤解を生むような記述が解消されてたり、コンピューターサイエンス屋が無理やり入れたに 機能なんかを削除したり。あとは実行上のメモリー管理や分散処理が簡単になると
906 名前:か [] [ここ壊れてます]
907 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 23:07:38.62 ID:n/eoHDdL.net] それはNimが現世代言語になれなかっただけでは?
908 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 23:26:59 ID:lUUAz3L8.net] >>880 無駄が少なく記述できる(冗長・簡潔)とか、新しい概念が追加されている(Structured programming→OOPS)なんかもそう。 今まではアセンブラや行番号記述の言語(例えばN88BASIC)などから構造化プログラミングが可能になり、C++やJavaでOOPSが唱えられていたけどRustで言えば多態はクレートになるが、クレートより先の進化が無いとは限らない。 またErlangやHaskellにあるガード構文もパラダイムを変えるようなものではなく、あくまでも制限なので構文上で次世代というには、多くの言語が似たような構文を導入し始めてる。 例えばasync/awaitなど非同期構文などはまさにそれ
909 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 23:42:53.90 ID:5KgZTTtC.net] >>883 メモリー管理というか、どんどん複雑大規模化するソフトに対するメモリーに起因するバグが統計的に少なく記述できる「次世代言語」
910 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 11:35:33.89 ID:lzoOecS7.net] Haskellはメインの言語としては狭すぎる 特殊な分野向け というがCSSがランキングにあがってるんだよね
911 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 12:22:45.14 ID:Z089SWEo.net] ScalaがGoやKotlin,Rustより上なのか Scala3になっていろいろ改善されてるみたいだし、まだ復活の目ある?
912 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 12:46:43 ID:NlVTXqiH.net] ない Scalaはビッグデータ分野のOSSでの採用が多かったから既存コードベースだけは無駄にデカい そんな状況で非互換メジャーアップデートしたらどうなるかわかるだろ?
913 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 17:49:33 ID:kkKc/VMN.net] なるほどPython3
914 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 18:41:17 ID:lzoOecS7.net] 本当の意味での次世代って存在するのかな? ロシアが威嚇のために日本海に向けてミサイル撃ってるけど 他の国にも威嚇してエスカレートして核戦争始まって文明が滅ぶかもしれないw
915 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 20:30:53.20 ID:06ANIdH6.net] 人類がそこまでの存在だったってだけの話よ
916 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 21:31:28.88 ID:dmYzyL87.net] 次世代言語って、今流行してる言語を置き換えうる別の言語ってことじゃないの? 新しい概念やらが採用されてるかどうかは関係なく、政治的な理由で決まることもある気がする まあそういうのよりは、新しい概念が採り入れられてる言語について語ったほうが楽しいだろうけど
917 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 21:39:45.95 ID:IQzKdxCE.net] Rustは次世代を担う方の素養はないと思う。C->C++->Rustと進んでこないとRustの目指している世界観が理解できないと思うのに、コードは命名規則に_を使うのか思えば大文字小文字でFn/fnで意味付けをしてたり、’staticみたいなコメント?と思える雑な定義が多い。理解してない子が勢いで作ったの?って感じがするので広める前に整理が必要だよね。ISOをとったらどうかな?
918 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 21:50:00.79 ID:Hy4f2CwM.net] rust嫌いなのはよくわかったけど理由付けがしょーもなさすぎる
919 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 21:52:41.11 ID:9EW5Ge1x.net] >>894 JavaScript→TypeScript→Rust と普通にステップアップしたよ とても使いやすいよ
920 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 23:13:24.53 ID:BxOaTkYv.net] Cすっ飛ばしてRust来たけど気に入ってるよ
921 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 23:45:37.43 ID:fXS8nb7A.net] Rustは十分に抽象化されているため Cの生ポインタの知識なく効率
922 名前:謔ュ使える むしろ生ポインタは安全でないため足を引っ張る知識 [] [ここ壊れてます]
923 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 00:26:17 ID:/A+hDicd.net] なにいってんだこいつ
924 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 01:12:09.01 ID:eIDEFdSW.net] バカが安易に生ポインタ書き込みしないようにunsafeしないと使えないようになってるので大丈夫 99%以上の用途ではそんな低レベルなものは必要とせずとも大丈夫なようにRustはできている ほとんどの人は実験目的以外で用いることがないだろう
925 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 05:59:27.92 ID:cD2+6A2l.net] unsafeがあるから安心安全
926 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 07:12:23.73 ID:+y13V7Hk.net] 生ポインタが分からぬのに使えてるとか笑
927 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 08:32:18.47 ID:nO4hXcis.net] CもC++もRustも使えるが 確かにRustでは他の多くの言語と同じく生ポインタを使って読み書きすることはないしその概念も不要だな 普通の言語ならばそのような抽象度の低いものを持ち出さずともプログラミングできるべきなのだろう
928 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 08:48:44.24 ID:JbDqxHHs.net] 生ポインタとかエッチ
929 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 09:01:04.46 ID:/A+hDicd.net] 参照の同一性比較するためにas *const _したことないんか?
930 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 09:08:45.73 ID:OmyTBDUu.net] 人間関係というか変な人を排除するのにRustっていい例があります。 うちの会社です。 C++使える人は仕事はできる(昔からやってるだけですが)んですが、人格に問題があり、とにかく後輩にはほとんど教えず なにか聞かれると自分で調べろとか、そういうなにかと偉そうな人たちが多いです。 そんな中Rustのプロジェクトが立ち上がるとそれまでC++使ってた偉そうな人たちが見事にいないプロジェクトになり、非常に風通しがよいプロジェクトになっております。 お互いつらい目にあってきたからその反動ですごくお互いに親切に教え合う雰囲気。 逆にC++のプロジェクトは偉そうな人たちと社内で最も使えない人たちだけが残りまして廃墟になっておりますw
931 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 10:13:34.70 ID:y5QQqJ15.net] 理系の比較的頭の良い人が多い割に非生産的な仕事の多い分野は、非協力的で常にイライラしてる人が多い印象 オンプレのインフラとかC++なんかはまさにそうだね
932 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 12:27:18.13 ID:4kmZAVVg.net] なんでも敵視するRust新兵隔離所、Rustの話しかしてないからRustに誘導されたら、真のRust使いが怒り出した
933 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 12:30:40.34 ID:NclNSxVV.net] >>908 そして別言語の話しだすと「優れてるマン」が噛みついてくるw
934 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 12:44:28.39 ID:k/yGxJzN.net] >>905 as * const は safe では デリファレンスが unsafe なだけでポインタの比較はsafe
935 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 13:05:03.59 ID:/A+hDicd.net] >>910 そうだよ でも生ポインタというかアドレスが何か分かっていないとこのキャストが意味するところは理解できないでしょうし それゆえ「生ポインタの知識は不要だし有害」は過言という主張です
936 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 13:17:15 ID:k/yGxJzN.net] >>911 そりゃそうだね
937 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 16:25:15.14 ID:ozQCMa2m.net] メロスは激怒した 必ず、かの 邪智暴虐 ( じゃちぼうぎゃく ) のRUSTを除かなければならぬと決意した。 メロスには生ポイントがわからぬ
938 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 16:35:16.39 ID:UYa93qbN.net] 生ポインタの知識は無くてもプログラムは書けるし、動くし、困るまでは、知らなくても良いんじゃないの?
939 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 17:23:21 ID:k/yGxJzN.net] 一皮むけば生ポインタ出てくるのはどの言語でもそうだしことさらrustだけ取り上げる理由もないとは
940 名前:思うけど ポインタの知識が有害というのは言い過ぎ [] [ここ壊れてます]
941 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 18:39:04.53 ID:ozQCMa2m.net] でもおまえdouble freeじゃん
942 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 23:07:48 ID:w/iGrZ8Q.net] Rustの話は専用スレ立ててそっちでやれよ
943 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 23:46:20.49 ID:qbrugoRS.net] >>917 Rustの話ではないぞ double freeはRustでは起きない Rustは全自動解放だからプログラマーが気にすることはない
944 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 02:03:12 ID:d9aHN/wl.net] いまさらdouble freeが問題になる言語ある?
945 名前:デフォルトの名無しさん [2022/04/16(土) 02:10:47 ID:IW60Azsc.net] c++はstd::unique_ptrで使い回すようにしたららだいぶスッキリしたよ。 継ぎはぎ故の古い環境やオレオレツールが動くのも良い。 でもどっかでカバっと大規模に整理して欲しいと思ったりもする。
946 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 06:37:22.84 ID:Ynxy6YP5.net] pythonってそんなに世の中で使われているかな? 単にエンジニアが好きと思ってるだけのような気がしなくもないのだが・・・ 俺は嫌いだけどw
947 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 08:14:27 ID:EdW3+kRq.net] 寧ろエンジニア以外に受けているのでは?
948 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 08:17:27 ID:1ORd5NzP.net] そのうち小学生の必須科目になりそう
949 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 09:04:49.24 ID:teyv0kaV.net] 「 全自動解放だからプログラマーが気にすることはない 」そんな訳ない、Rustでも自分でカスタムアロケータ書けば気にする
950 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 12:15:02.24 ID:cvz/IVkr.net] Pythonの何でもかんでもベクトル演算縛り他の言語始めるとき悪影響だよな
951 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 16:00:51.37 ID:HzTWzZVk.net] pascal じゃなく python ? pascal は言語理論上の基礎の上に載ったしっかりした文法だが python のような出鱈目文法が今はウけるのか? 世も末としかいいようがない…
952 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 16:23:00 ID:7TENBOhS.net] LL(1)がそんなすごい話だっけ?
953 名前:デフォルトの名無しさん [2022/04/16(土) 17:15:40.83 ID:Tmn9GDW2.net] >>923 ベーシックよりはマシかと。
954 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 18:18:48 ID:HzTWzZVk.net] >>927 そのような基盤にすら載らない言語が跋扈するなんて世も末かと
955 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 18:23:19 ID:rBRO4aI9.net] >>929 意味解析しないと構文解析できないCとかいう言語が跋扈してる時点ですでに世界は終わっているよ
956 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 18:58:19 ID:d9aHN/wl.net] クククLispが世界を支配する日は近いぞ
957 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 19:01:07 ID:Ynxy6YP5.net] >>931 残念ながら・・・ そろそろC++++とか出ないのか?w あ、C#かw
958 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 19:42:31.25 ID:6xv6jabx.net] >>924 嘘つき アロケータを自作しようが標準のを使おうが そのことには全く影響されずに自動で解放されるぞ
959 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 20:32:01.07 ID:G/CUq+lM.net] じゃあなんでRustは学習コストと難易度が高いのですか?
960 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 20:51:06.94 ID:D0HU54VV.net] Rustに手を出してみたが特に難しいことは無かったな むしろ洗練されたわかりやすい言語だと感じた その上で必要ならば細かいことにも手が行き届く感じ
961 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 22:40:46 ID:hJU9sS6g.net] 洗練と言うのは一人だけだからわかりやすい
962 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 23:21:57 ID:3G5k9Hnh.net] >>933 嘘つき、deallocで実際に解放しなければ解放されるわけないだろ、死ね詭弁論者
963 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 23:59:23.94 ID:rBRO4aI9.net] >>937 それ、「freeを呼べばメモリが解放される」って主張にたいして 「メモリ解放しない独自実装のfreeならメモリリークする」って反論するようなもので 論理
964 名前:的には正しいけど意味のない主張だよね [] [ここ壊れてます]
965 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 23:59:50.03 ID:G/CUq+lM.net] でも君たちRust書いたとてIT土方のままだよね
966 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 00:34:36.53 ID:iAVEey/W.net] >>937 それは君が理解できていないからそんな主張になる メモリの解放は3階層ある(GCでない場合) (1) デストラクタによる解放 ←プログラミング言語の仕様で関係するのはここまで (2) メモリアロケーターでの解放 ←例えばmallocに対するfreeの内部はここ (3) OSへのメモリ解放 ←システムコールsbrkはここ C言語は(1)がないため(2)のfreeをプログラマーが忘れず呼び出す必要がある C++は(1)のデストラクタの記述と呼び出しにプログラマーの手動が一部残りうる Rustはプログラマーが何もしなくてよい
967 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 00:45:36 ID:xE2XgYmS.net] で?年収は?
968 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 00:46:21.20 ID:xE2XgYmS.net] >>940 それ実質GCじゃん
969 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 00:54:39.19 ID:10LdHAnc.net] >>942 Rustでプログラマーがメモリ解放しなくてよい点はGC言語に似ているけど GC言語はガベージ(=ごみ)が溜まっていって後でガベージコレクションを行なう必要があるのに対して Rustでは即座に自動的にメモリ解放されるためC言語と同様に省メモリかつ高速というメリットがある
970 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 01:09:59.47 ID:xE2XgYmS.net] >>943 細かく解放のオバヘッド乗るとか最悪じゃん
971 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 01:16:07.56 ID:3NrKz2t8.net] >>944 CとC++とRust がその同じ方法だけど いずれも超高速だよ つまりGCするよりも即座に解放するのが正解と結論が昔から出ているよ
972 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 07:19:14 ID:98II7f1E.net] >>944 普通はシステムコールする専用のスレッドを作ってそこで全部やるからオーバーヘッド無いよ
973 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 08:46:12.09 ID:xE2XgYmS.net] 嘘乙 システムコールだろうがGCallだろうが、CPUとメモリ使うから一緒だぞ これだから物理を知らないソフト屋は
974 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 09:02:05.09 ID:98II7f1E.net] バックグラウンドのシステムコールが問題になるような環境だと、それこそガベコレ動かしてる余裕など無いのでは?
975 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 09:50:03.49 ID:MVCPXkPs.net] >>943 >>549
976 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 10:25:23.27 ID:fCmr+50W.net] freeでsbrk走るとか本気で言ってるのか
977 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 10:28:31.82 ID:sABjwZnn.net] >>944 どういう状況を想定するかにもよるけど、解放可能なオブジェクトを解放せずどこかに貯めておいて、 後からまとめて解放するような実装もできるよ 明示的に書かないといけないからちょっとめんどくさいが
978 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 10:33:33.77 ID:fCmr+50W.net] 解放可能なオブジェクトを解放せず後からまとめて解放するような実装を明示的に書く それはもうGCなのでは?
979 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 10:44:39.16 ID:JSPiPQVg.net] 自分でやるかシステムに任せるかで違うと思うよ 自分でやるとバグが発生する可能性がある
980 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 11:09:06.02 ID:wPmjz1Mj.net] 現実にGC言語方式よりもC/C++/Rust 方式の方が圧倒的に速くて省メモリであると判明している ただしCでは手動でメモリ解放しなければならないデメリットがありミスも多かった そこでC++ではメモリ解放を一部自動化した さらにRustではメモリ解放を完全自動化してミスもゼロとなった
981 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 11:10:30.80 ID:aLAyt8HE.net] まるでメモリ解放以外のプログラムのミスは無いみたいな感じだよな
982 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 11:11:47.17 ID:fCmr+50W.net] Rustコンパイラはメモリリークが発生しないことは保証しません
983 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 11:16:42.17 ID:kfDvzEft.net] セキュリティで問題となる多くはメモリ関連が起因している
984 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 11:17:28.40 ID:zOCvtZTK.net] >>956 そんなの当たり前じゃん 一般的にコンパイル時点でメモリリークを検出することは論理的に不可能 だからRustコンパイラはメモリリークが発生しないことを保証できない これはRustの問題ではない
985 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 11:19:15.00 ID:98II7f1E.net] わざとメモリリークさせているのか事故ってるだけなのかコンパイラは区別できないからな
986 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 11:29:57.34 ID:MOkVW5s5.net] Rustでは循環参照以外ではメモリリークを起こさないことをコンパイラが保証できる さらにRustでは循環参照をプログラマーが意図的に起こさない限り勝手に作られることはない そのためプログラマーの意図せぬ循環参照は起きずメモリリークも起きない 現実問題としては長らくRustプログラミングしてきて実験テスト目的以外で循環参照を扱ったことは一度もない
987 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 12:30:05.08 ID:Do/bMUQD.net] 顔真っ赤になってこういう事を書いてくる知能の無さそうな奴と仕事するのが嫌だ
988 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 12:32:19.63 ID:sABjwZnn.net] >>952 tracing GCみたいな大げさなものでなくても、解法対象オブジェクトをVecに入れておいて適当なタイミングでVecごとdropするみたいなことはできる シンプルだからバグの入り込む余地は少ないと思うけど、あらゆるケースに対応しようとするともう少し複雑な仕組みが必要かもね >>960 いつもrust擁護してるけど、知識不足のせいか言葉遣いが雑なせいなのか、突っ込みどころ多すぎて逆効果になってる 循環参照以外でも Box::leak などでメモリリークは起こせるよ
989 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 13:18:48.86 ID:6DAoI3Fa.net] >>962 おまえバカだろ プログラマーが意図的にしないとメモリリークは起きないという話の場へ Box::leakでメモリリークを起こせるという主張はキチガイ
990 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 13:31:15.61 ID:sABjwZnn.net] >>963 よく読んで >>960 の主張は以下 1. Rust では循環参照以外ではメモリリークを起こさないことを保証できる 2. 循環参照はプログラマーが意図的に起こさない限り起きない Box::leakは1の反例 プログラマが意図的にメモリリークを起こさない限りメモリリークしないなんて主張については何も言っていない
991 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 13:37:41.71 ID:51iJikl9.net] 結局プログラマーが意図的に起こさないとRustではメモリリーク起きないんでしょ? この件でRust叩きは無理があるんじゃないかしら
992 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 13:39:19.65 ID:JSPiPQVg.net] 速くて省メモリなんて目指してない人が大多数なんだよ システム書く人ならそれ目指すけど
993 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 13:47:11.48 ID:li53nBOw.net] プログラミング言語は3つに分類できる感じ? CとC++ ←省メモリ高速だがメモリ解放でミスると危険 GC言語 ←省メモリ高速ではないがメモリ解放は自動で気にしなくていい Rust ←省メモリ高速だがメモリ解放は自動で気にしなくていい
994 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 14:13:22 ID:kfDvzEft.net] なんかすげぇ素人がまぎれこんできたなw 長文タレ流し君の方がよかったかもw
995 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 14:21:16.64 ID:JSPiPQVg.net] Rust ←省メモリ高速だがメモリ解放は自動で気にしなくていいが 独自の戒律があり常にそれを気にしなくてはならない
996 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 14:22:13.65 ID:66PDnQQD.net] >>967 その通り IT大手各社が珍しく連合してRust推ししているのはRustがプログラミング言語の革命児だから
997 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 14:51:06.13 ID:CSWPaG5E.net] 自演くっさ
998 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 14:54:33.00 ID:sABjwZnn.net] Rustはバランスの良い言語だと思うけど万人向けではないからなぁ 真の意味で万人向けの言語なんてそもそも存在するのかは分からんが
999 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 14:57:22.12 ID:JSPiPQVg.net] >>972 俺は嫌いだけどjava辺りだろ
1000 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 15:14:44.89 ID:uUrNfRmn.net] JavaよりはRustの方が使いやすくて便利でいいわ
1001 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 15:22:20.54 ID:JSPiPQVg.net] 自演と単発w
1002 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 15:45:36.98 ID:kfDvzEft.net] >>970 Rust推しは電通がからんでるような気がするんだが
1003 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 15:53:33.91 ID:2ONtHvJl.net] つまりMicrosof
1004 名前:t・Amazon・Google・Facebook(Meta)など大手IT各社が一緒になってRust Foundationを立ち上げたのも裏で電通が暗躍? [] [ここ壊れてます]
1005 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 15:57:37.21 ID:98II7f1E.net] wikipediaのMozilla Foundationのページ見てたら理事会に日本人居るの見つけたんだけど この人経歴が訳アリすぎるなw
1006 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 16:06:11 ID:kfDvzEft.net] >>977 だろうな
1007 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 16:29:36.29 ID:gswFN8hB.net] >>977 広告代理店にそこまで影響力あるわけ無いだろう
1008 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 16:36:29.33 ID:HtOTcTar.net] >>980 電通の背後には政府とアメリカがいる
1009 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 17:06:13.05 ID:FHJUK9+v.net] つまり宇宙人との密約で動くアメリカ政府と ネオコンの陰謀ということか
1010 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 17:21:02.73 ID:w9UOnqdK.net] ネトウヨ「電通の陰謀」
1011 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 17:37:31.56 ID:gswFN8hB.net] 電通陰謀論は左右問わないね ネトウヨはマスコミ批判に絡めて電通を黒幕にするし、パヨクは自民党が選挙で勝つことの裏に電通がいることにしたがる
1012 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 17:52:20 ID:KG26dcth.net] 次スレ立てます
1013 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 17:52:57 ID:KG26dcth.net] https://mevius.5ch.net/test/read.cgi/tech/1650185555/
1014 名前:デフォルトの名無しさん [2022/04/17(日) 18:36:45.87 ID:KG26dcth.net] >>986 ↑ TypeScript Swift Go Kotlin 辺りは次世代感があまりないので、タイトルから外したかったが、とりあえずそのままにしておいた。
1015 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 18:37:21.30 ID:gswFN8hB.net] Nimはほとんど話題に出てないけど残しておくの?
1016 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 18:52:19.55 ID:KG26dcth.net] >>988 個人的にはマイナー言語は残して、少しでも注目を得られればと思っている。
1017 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 19:39:25.03 ID:xE2XgYmS.net] なんでお前が勝手に決めてるンだ
1018 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 19:59:35 ID:HtOTcTar.net] っていうか実質話題はGo vs Rustになってるんだからそれでいいのでは?
1019 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 20:37:58.47 ID:KG26dcth.net] >>990 マイノリティにも配慮した、中々の英断だろ?
1020 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 20:38:30.40 ID:KG26dcth.net] >>991 そうかも
1021 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 20:40:24.07 ID:YkM57FyS.net] まあこのスレはRust、Go、C++、C#、Javaのスレって感じだな
1022 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 20:53:06 ID:9n8vVUS+.net] >>986 なにげに876の順にしたのは素晴らしいと思うよ
1023 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 21:16:36.68 ID:HtOTcTar.net] >>994 いやいや、C++,C#,Javaは次世代でもないし、GoやRustに比べればすでに完敗してるから入れなくていいだろ
1024 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 21:36:04.21 ID:YkM57FyS.net] 次世代かどうかはしらんけど、そのへんの言語の話題がなぜか多いんよ
1025 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 21:40:35.44 ID:98II7f1E.net] その三つを基準にして比較検討していくんだから話題に出ない方がおかしい
1026 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 22:20:42.76 ID:sABjwZnn.net] いっそのこと1.0がリリースされてる言語は対象外にしよう
1027 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 22:31:30.13 ID:xE2XgYmS.net] 1000ならPHP大復活時代でルースターズを蹂躙レイプする
1028 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 26日 19時間 7分 49秒
1029 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています