次世代言語24 Go Nim Rust Swift Kotlin TypeScriptat TECH
次世代言語24 Go Nim Rust Swift Kotlin TypeScript - 暇つぶし2ch116:デフォルトの名無しさん
22/03/24 12:53:05.46 tho1Y8H6.net
いつも同じパターン
RustとC#のアンチなガイガー君がたくさん書き込みをしてそれらを叩く

RustとC#の話ばかりになる

Rustは人も多いので色んな情報や質問が出てきてガイガー君が寝てる時間も盛り上がってる現状

117:デフォルトの名無しさん
22/03/24 13:14:59.00 Fp4rCRr5.net
例の人はすでにRust系のスレでもずーとあばれてるんだな
>>114

118:デフォルトの名無しさん
22/03/24 13:28:40.21 PqQGlENL.net
rust普及させたんだろ

119:デフォルトの名無しさん
22/03/24 13:30:34.37 hpnd5vIU.net
結局rust厨ってのは他の言語に対してマウント取りたいだけだから自分のスレに行かんのだろう

120:デフォルトの名無しさん
22/03/24 13:38:11.84 C/wmaJvp.net
>>116
そうなのよ
C++Rustスレで暴れているだけならいいのだけど
Rust本スレでもRust叩きをして荒らしていて困ってるの

121:デフォルトの名無しさん
22/03/24 14:03:00.30 cnbeCFj/.net
>>113
内容を見るにはまず見つける必要があるんだが……
ダウンロード順は人気の分野のものしか見つからん

122:デフォルトの名無しさん
22/03/24 14:10:28.86 cnbeCFj/.net
例えばダウンロード順だとwebとかで検索してもactix-webは二ページ目になるんだよな
我々はarctic-webが人気と知っているからこれを見つけることが出来るが、知らなかったら見つけられんだろこれ

123:デフォルトの名無しさん
22/03/24 14:16:19.41 JB9oIWQh.net
人気バカにしてるやついるけどかなり重要な要素だろ
今後継続してメンテナンスされやすいかどうかの違いは大きい

124:デフォルトの名無しさん
22/03/24 14:46:16.02 RmgcY/8b.net
>>121
ダウンロード数が多いのが並ぶ分野ならば2ページ目も当然見る
1ページ目の各々の内容を確認すればweb関連のうち自分が目的とするものか否かはすぐわかる
そして今actix-webより上に並ぶものを見てみたがいずれも重要な存在ばかり
中身を見て自分が今必要なものではなくとも把握しておく価値あるものがズラリ

125:デフォルトの名無しさん
22/03/24 14:50:46.28 RmgcY/8b.net
>>122
Rustに限らずどこでも同じだが
ダウンロード数が多いものと人気は食い違うこともある
例えば複数の領域にまたがるものはダウンロードが多くなる
しかし自分が求めている特定の領域に限れば1番人気とは限らない

126:デフォルトの名無しさん
22/03/24 18:22:21.38 sVFN7N70.net
>>123
うーん。これは流行らない言語大好き言語マニアの考え方
成果が出る人間の大多数は他分野のものを把握するより自分が作りたいものに集中するので、こういうオタクに占有された言語はキツい
ゆるふわのpythonとかjsなんかが流行るのが現実だからな

127:デフォルトの名無しさん
22/03/24 19:07:56.38 d1t9w96u.net
>>125
それは明らかにあなたの勘違い
今回の質問者は"web"なんていう非常に幅広い曖昧な単語で検索している
これでは多くのライブラリ検索システムにおいてもwebに関係した様々なものが大量に出るであろう
各人で目的のものが異なるのだから質問者の目的のものが2ページ目に出たのは何ら不思議ではない結果

128:デフォルトの名無しさん
22/03/24 19:14:33.26 sVFN7N70.net
>>126
よく知らんけどactix-webが一ページに出るようなキーワードって何かある?
もちろんactix以外で

129:デフォルトの名無しさん
22/03/24 19:18:08.10 bcPLTUMY.net
rust web frameworkでググる

130:デフォルトの名無しさん
22/03/24 19:19:33.96 sVFN7N70.net
>>128
それは人気の分野でしか出来ない方法だな
actixはフレームワークという人気分野だからググったらヒットするけど、ユーザーの少ない分野ではそれは無理

131:デフォルトの名無しさん
22/03/24 19:28:38.65 /Tjfy9fL.net
ちんちんシュッ!シュッ!シュッ!

132:デフォルトの名無しさん
22/03/24 19:32:23.67 Fp4rCRr5.net
rubygemsでwebと検索してもrailsはトップに
来ないけどモーダメダメってこと?

133:デフォルトの名無しさん
22/03/24 19:32:38.88 Qyn6vTpY.net
googleで検索するよな

134:デフォルトの名無しさん
22/03/24 19:36:43.94 M5U7EZzR.net
URLリンク(crates.io) で『web framework』検索してsort by「Recent Downloads」したら
actix-webも5位に出るな
>>121は『web』とだけ検索したのが敗因では?

135:デフォルトの名無しさん
22/03/24 19:44:58.04 geCTUqVE.net
URLリンク(crates.io)
フレームワークタグで見ればactixだらけだしまあいいんじゃね

136:デフォルトの名無しさん
22/03/24 19:45:35.24 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:デフォルトの名無しさん
22/03/24 20:16:44.07 /HBDruak.net
>>135
そりゃcrate.ioでは出てこなくて当然
あとここはスレタイにRustもあるし次世代言語の一つなのでスレ違いではない
そもそも貴方がRust叩きをしている筆頭

138:デフォルトの名無しさん
22/03/24 20:22:21.45 1Vr2GJ3G.net
>>136
スレ違いなところに出張して無関係なRustの話を延々放置してても続けるし、指摘してこちらに誘導しても居残り続けるRust信者が嫌われてるという話だよw
ここでRustが叩かれてるのはそういう理由だという話をしているw
Rust自体の魅力は放っておいても世間に滲んでいっていたというのに、お前ら信者が嘘と誇張とルール無視し放題でヘイトを稼いでいるせいで全く浸透してないんだよw

139:デフォルトの名無しさん
22/03/24 20:23:24.39 vuY47/Di.net
そだね~

140:デフォルトの名無しさん
22/03/24 20:40:30.55 fuI32trL.net
アンチには大人気だよな
アンチも湧かない言語は息してない

141:デフォルトの名無しさん
22/03/24 21:22:05.35 1Vr2GJ3G.net
こんなところ読んでる奴は大抵の言語はすでに知っててROMってるのが大半w
他の言語をディスるRust信者は単純に嫌われて(恐らく相当強力な)ユーザーを減らし続けてるだけと分かってくれw

142:デフォルトの名無しさん
22/03/24 22:00:47.79 K94Y9ZL5.net
ユーザーってGAFAMのこと?

143:デフォルトの名無しさん
22/03/24 22:25:26.45 iUQBARfO.net
世の中に影響与えられるほどこの板に人口居るとも思えないが...

144:デフォルトの名無しさん
22/03/24 23:03:48.67 9cbRkQeA.net
対象が有名人などでも何でも同じだが
好きか嫌いかではなく
実は興味があるか無いかの二択
嫌いとかアンチは興味がある側の人
それら含めて興味がある人が多いと話題性があり盛り上がる
そして知らなかった人やそれまで興味を持たなかった人々が興味を持つ機会となる
さらにそこから一定数はファンが生じる

145:デフォルトの名無しさん
22/03/24 23:18:11.18 1Vr2GJ3G.net
炎上商法で成功したソフトなんて1つもないよw 残念だったねw
悲惨な末路しかないw

146:デフォルトの名無しさん
22/03/24 23:18:59.49 DqvTJnEp.net
>>100
やっぱりpythonがブレークした一つのきっかけはnumpyとか機械学習系とかだと思うんですけどその手のライブラリはもう揃ってきてるんですか?

147:デフォルトの名無しさん
22/03/24 23:20:45.72 1Vr2GJ3G.net
このスレで叩かれたり見た人がツイッターで呟く
→違和感を感じた誰かが引用RT
→影響力のある人の目に止まり原因を追い始める
→辿り着いて絶句
→Rust今後やばそうだって思って一歩引いて静観を決める(←イマココ)

148:デフォルトの名無しさん
22/03/24 23:22:34.32 rSdCMchJ.net
>>146
妄想ストーリーにしても上手く作れや

149:デフォルトの名無しさん
22/03/24 23:32:01.53 1Vr2GJ3G.net
肌で感じるTLなんだがw 俺は呟いてないけどw

150:デフォルトの名無しさん
22/03/24 23:51:19.57 rNy1eSrz.net
タブレットモードで使ってるのが悪いのか、Rust謹製のFirefoxはしょっちゅう固まる。
閉じることが出来なくなるのが辛い。

151:デフォルトの名無しさん
22/03/25 00:05:26.84 1tDoEuXw.net
>>149
Linuxで使っているがFirefoxが固まったことはないな
そのOS側の問題ではないか?

152:デフォルトの名無しさん
22/03/25 00:47:48.87 4OElhmyv.net
>>140
このスレをざっと読んだけれど
叩かれている言語はC#とRustで
叩いているのは連投しているキミだと感じた
キミの主張ではどの言語が誰に叩かれているんだい?

153:デフォルトの名無しさん
22/03/25 00:50:09.82 Sf6AbPmi.net
Rustが俺含むRust信者以外にw

154:デフォルトの名無しさん
22/03/25 01:28:59.11 4czHOVAh.net
>>151
そいつ、ここしばらくいろんなスレで荒らしまわってる通称ガイガー君で、何かを聞いてもまともに議論にならないよ

155:デフォルトの名無しさん
22/03/25 02:44:54.38 Sf6AbPmi.net
自演楽しそうだねw 単発ID君w

156:デフォルトの名無しさん
22/03/25 08:17:20.71 yQTGjdBz.net
このスレrustしか話題ないなか?w
いい悪いは別として圧倒的にrustは注目されてて他の言語(Nimとか)は空気だなwwww

157:デフォルトの名無しさん
22/03/25 08:21:15.09 6IycpRpt.net
Nimはオワコン
人気が出なかったからな

158:デフォルトの名無しさん
22/03/25 08:29:35.16 XAr12dgF.net
nimのドット演算子は合理的だと思うけどなぁ。
Pythonあたりに取り込まれんかね。
嫌われている関数呼び出し構文がずいぶん改善すると思う。

159:デフォルトの名無しさん
22/03/25 08:34:02.92 Sf6AbPmi.net
表現方法など1種類であればどうでもいい

160:デフォルトの名無しさん
22/03/25 08:35:38.62 Sf6AbPmi.net
2種類以上あったり、設定により変更できたりしたらオワコンw

161:デフォルトの名無しさん
22/03/25 08:37:33.51 XAr12dgF.net
>>158
Pythonは関数とインスタンスメソッドで呼び出しが2種類あるから駄目なんだよ。

162:デフォルトの名無しさん
22/03/25 08:37:51.44 6IycpRpt.net
今時大企業の莫大な資金力なしに流行る言語を生み出して勝たせることが出来るわけもなし

163:デフォルトの名無しさん
22/03/25 08:43:11.44 Sf6AbPmi.net
表現するものが違ってんじゃん

164:デフォルトの名無しさん
22/03/25 09:08:32.18 u1kd+8tP.net
スレタイにある言語だとNimとRust以外はもう採用領域もある程度固まってて良くも悪くも話題がない
Rustはまだそのレベルに到達するかどうかってラインだから、人によって見方が違って話題になるんだろうね
Nimとかはそもそも知ってる人がほとんどいないレベルだろうからなぁ

165:デフォルトの名無しさん
22/03/25 09:51:57.04 Wd4k06Lv.net
>>163
これだけ幅広く使われているRustに対してそんなに見方変わる?

166:デフォルトの名無しさん
22/03/25 10:35:10.27 yQTGjdBz.net
じゃあ次すれのタイトルはこれでいいなw
次世代言語25 Go Rust

167:デフォルトの名無しさん
22/03/25 10:42:45.45 ON48JF13.net
採用領域とはなんだ?
要するに採用された物以外を規制してるんだろ
Rustが参照を規制しているのと同じようなことを
機械ではなく人間が手動でやってる

168:デフォルトの名無しさん
22/03/25 10:51:27.96 9ogzvJw1.net
>>166
参照を規制してプログラミングするのはどの言語でも同じ
そうしなければ一番広い意味でのデータ競合がどの言語でも起きうる
Rustはそれをどんなに複雑なパターンでもコンパイラがチェックしてくれるという違い

169:デフォルトの名無しさん
22/03/25 11:08:02.15 4czHOVAh.net
Rustが有力になる領域はOSみたいなミドルウェアやベアメタルとかの低レベルなシステムプログラミングよ
その辺だとそもそもC/C++/Rustしか選択肢にないけど

170:デフォルトの名無しさん
22/03/25 11:10:17.42 k+N4+RC0.net
>>168
NimってCにトランスパイルされるらしいけど低レベル領域で使えたりしないの?

171:デフォルトの名無しさん
22/03/25 11:14:36.50 eoZx8ezX.net
Rustを試したことなくてイメージだけで語ってるやつは
ボローチェッカさんの存在を身に染みてないんやろなw
他の言語だとコンパイラさんに叩かれるだけだけど
Rustの場合はボローチェッカさんにも詰められるんやぞ

172:デフォルトの名無しさん
22/03/25 11:21:56.33 QvA9KxTG.net
>>170
あれは本当にありがたいよね
プログラミングの効率が一気に上がった
実行時に無駄にデバッグしていた時間がほとんど無くなったのが大きい

173:デフォルトの名無しさん
22/03/25 11:52:02.01 mOGsJD9H.net
>>169
低レベルを扱いやすくする概念の有無だろ?

174:デフォルトの名無しさん
22/03/25 11:55:17.22 mOGsJD9H.net
>>168
実行速度が求められたり、複雑さなのに安定性が求められるものに向いている気がする
口では何と言っていても実態では安定性にそれほど価値を置いてないケースも多々あるから

175:デフォルトの名無しさん
22/03/25 11:58:21.38 k+N4+RC0.net
>>170
NLL入ってからborrow checkerに怒られることはほとんどなくなったよ
>>172
単によく知らないから質問しただけなんだけど、
Nimは低レベルを扱いやすくする機能は特にないってことか
Cへとトランスパイルされるのは低レベルへの対応というよりも、対応プラットフォーム増やすことや性能稼ぐことが目的という理解で正しい?

176:デフォルトの名無しさん
22/03/25 12:12:09.59 whQHGuOj.net
NimはDと同じようなイメージだな
C++からいろいろ便利にしましたって感じなんだけど、それを言うならC++20だって良くなってるし、わざわざ乗り換えるほどでもないよね、ってなりがち
Rustくらいの特徴が何があれば、多少面倒でも乗り換える人は出てくるんだろうけど

177:デフォルトの名無しさん
22/03/25 12:12:46.01 vqaIaLyp.net
>>174
以前のRustコンパイラはたしかに厳しすぎて吐くエラーも見にくかったけど
non lexical lifetime対応した今のRustコンパイラは普通に書いていれば困ることはなく
コンパイラの出すエラーも非常に見やすくて何が問題なのかすぐわかる上に
何を直すと良いかのアドバイスもあったりしてコンパイラ親切さトップ言語になったね

178:デフォルトの名無しさん
22/03/25 12:28:24.72 XAr12dgF.net
>>175
Rustはbetter c じゃなくてsmart/simplified c++あたりだわな。
Rustよりマイルドなc++標準サブセット出ないかな。

179:デフォルトの名無しさん
22/03/25 12:29:22.46 Sf6AbPmi.net
Rustとかどうでもいいよねw 興味もないしそのうち消えてなくなるよw

180:デフォルトの名無しさん
22/03/25 12:33:45.17 XkeiXeqJ.net
>>178
もちろんRustより良い言語が出てくればそうなるし良い言語が出てくるのは良いこと
しかし現状ではRustより良い言語がないし他に登場する気配もない

181:デフォルトの名無しさん
22/03/25 13:20:25.76 yp7Tyx5s.net
Rustより良い言語が出て自然と消えるのは良いことだろ
ただ、今のところはRustは良い言語だし使いたいと思う

182:デフォルトの名無しさん
22/03/25 14:31:56.50 +bBvNTMI.net
Rust は、Linux カーネルの開発の一部で取り入れるよ、っていう話で初めて注目した。

183:デフォルトの名無しさん
22/03/25 14:32:33.84 2aIwxdP0.net
>>176
おかげでよりブラックボックス化したけどな。まともな文法定義がもうできなくなってる。

184:デフォルトの名無しさん
22/03/25 15:05:30.24 vFivvmZ5.net
>>182
例えばどういう問題が発生してるの?

185:デフォルトの名無しさん
22/03/25 15:22:50.24 k+N4+RC0.net
>>182
NLL導入で文法には影響ないと思うけど何のことが言いたいの?

186:デフォルトの名無しさん
22/03/25 16:28:19.83 yp7Tyx5s.net
>>184
セマンティクスのことを言いたいんじゃないか?

187:デフォルトの名無しさん
22/03/25 16:42:28.63 xgDHHux/.net
具体例を上げてないしレス乞食じゃないの?

188:デフォルトの名無しさん
22/03/25 16:50:09.59 k+N4+RC0.net
>>185
文法定義を気にする人がそんな変な用語の使い方するはずないと思う

189:デフォルトの名無しさん
22/03/25 18:08:36.16 /LCeqdiL.net
>>182
何もブラックボックス化していないし文法定義に変化はない
Rustを叩く人はなぜデタラメばかり言うのだろうか

190:デフォルトの名無しさん
22/03/25 19:28:43.78 szsym4Ce.net
>>184 >>188
え? より厳密になってんじゃないの?
機能の安定化とNLLのバックポートを備えたRust 1.36
Rust 2015でNLLがサポートされたため、古いボローチェッカは間もなく言語から削除されることになる。この移行を安全に行なうために、新たなボローチェッカでは、古いボローチェッカでは受け入れられていたが、新たなボローチェッカでは違反になるコードに対して、警告を発するようになる予定だ。

191:デフォルトの名無しさん
22/03/25 19:46:16.71 xP1gtcBq.net
そろそろ次の次世代出てきませんか

192:デフォルトの名無しさん
22/03/25 19:52:52.64 k+N4+RC0.net
>>189
それは古いborrow checkerのバグでコンパイル通ってなかったコードがエラーなるということだと思う
基本的には新しいborrow checkerの方が制約は緩いはず

193:デフォルトの名無しさん
22/03/25 19:53:32.69 k+N4+RC0.net
>>191
バグでコンパイル通ってなかった、ではなく、バグでコンパイル通ってしまっていた、が正しい

194:デフォルトの名無しさん
22/03/25 20:22:05.99 RUUx2+G1.net
でもバクだろうと通らなくなるんだから文法変わってるという意見が正しいな、ごちゃごちゃ並べ立て言い訳してるみたいだけど

195:デフォルトの名無しさん
22/03/25 20:27:31.26 k+N4+RC0.net
>>193
文法じゃないでしょ

196:デフォルトの名無しさん
22/03/25 20:29:27.44 Mjr9Vw0y.net
文法ってのが構文+意味論みたいなのを指してるなら
NLL導入前後で構文は変わらず意味論は変わったから、まぁ全体としては変わってるでいいんじゃない?
それはそれとして文法定義ができないってのは意味不明だけど

197:デフォルトの名無しさん
22/03/25 20:34:34.89 k9SUNOiI.net
>>193
文法は一切変わっていない
大雑把に言うと
以前はコードの文字通りに追うだけで借用ライフタイムを無駄に広く取ってチェックしていた
だから厳しすぎて今では通る普通のコードが通らなかったりした
変更以降は実際に使われている状況を追うことで借用ライフタイムを実用の意味あるものとした
だからほとんどのケースで緩くなってプログラミングする上で困ることがなくなった

198:デフォルトの名無しさん
22/03/25 20:56:18.04 k+N4+RC0.net
>>189 で言われてるNLL導入でコンパイル通らなくなるcrateって
URLリンク(github.com)
で挙げられてるやつのことかな
壊れる是非はともかくcraterみたいな取り組みは他の言語もパクって欲しい

199:デフォルトの名無しさん
22/03/25 20:58:59.81 tb8uqVBL.net
>>196
フロー解析に頼るって信者的にどうなの?
あくまで型でチェックしてるのが美しいんじゃなかったのか

200:デフォルトの名無しさん
22/03/25 21:02:27.36 I37gdFG5.net
>>196
ある2つの形式言語ABで、同じ文章がAで受理してBで拒否するんだったら、そりゃ「ABは文法が違う」としか言えんな。
まぁ、だからと言って言語自体を否定する類の話じゃないけど、Rustを神聖視するあまり横車を押そうとするのはアホに見えるからやめたほうがいいよ。

201:デフォルトの名無しさん
22/03/25 21:14:19.83 I37gdFG5.net
>>197
crate.ioのこと?
ruby gemとかpython pip とかけっこう一般的な話だと思うけど、何か違うの?

202:デフォルトの名無しさん
22/03/25 21:17:24.39 LQTFL9vM.net
>>199
その程度で文法が変わったとは言わないと思う
その解釈だと今後もRustは文法がどんどん変わる計画となっている
例えばライフタイムについても現在stableでは通らないものがnightlyでは通るように更に緩くなっていくことが確定している
一方でeditionが変われば今まで通っていた記述がエラーとなるなど通らなくなることもある
Rustは今後もどんどん使いやすく向上していくよ

203:デフォルトの名無しさん
22/03/25 21:18:41.95 Sf6AbPmi.net
バカだから他の言語より劣ること分かってないんだよw

204:デフォルトの名無しさん
22/03/25 21:19:38.13 Sf6AbPmi.net
Rustっていうゴミ言語なんてどうでもいいよねw

205:デフォルトの名無しさん
22/03/25 21:23:34.44 0Q30DE2u.net
Rustプログラマーは給料上がっていくだろうね
そうすると人口も増えていく
パイソンもそうだったし

206:デフォルトの名無しさん
22/03/25 21:23:43.31 YQJ39BAy.net
>>201
最終的にライフタイムや借用を人間が一切明示しなくなってGCなしC#みたいになるのがゴールなの?
それでいいのか信者は

207:デフォルトの名無しさん
22/03/25 21:24:25.90 VGJQOYmV.net
>>201
通らなかったものが使えるようになるのはただの拡張だがその逆は破壊的変更。
後者がそう頻繁にあるとは思わんがな。

208:デフォルトの名無しさん
22/03/25 21:25:38.70 I37gdFG5.net
>>201
>その解釈だと今後もRustは文法がどんどん変わる計画となっている
当たり前だろ。
お前は何を言っているんだ? 形式言語の文法を何だと考えているんだか。
そういうアホな主張をするからRust信者は狂信者扱いされるんだよ。

209:デフォルトの名無しさん
22/03/25 21:28:33.82 1BFpe92B.net
>>205
まずは基礎知識を学習すべし
知識なく語るのは愚か

210:デフォルトの名無しさん
22/03/25 21:34:20.09 UcduMPNV.net
>>198
せめてライフタイムとは何かを学ぼうよ
型チェックとは全く関係ない話だよ

211:デフォルトの名無しさん
22/03/25 21:40:29.03 AozLNx79.net
>>200
craterはcrates.ioの全クレートをコンパイルしてみてコンパイラのバージョンアップで壊れるやつがいないかどうかチェックする仕組みのこと
スクリプト言語だとチェックできるのが構文エラーくらいしかないからあまり意味はないかも

212:デフォルトの名無しさん
22/03/25 22:03:36.42 cG5UiOtS.net
>>207
確かに言語の拡張も文法が変わったと言える
どのプログラミング言語も常に文法を変えながら拡張されていくのだろう

213:デフォルトの名無しさん
22/03/25 22:14:57.99 hMpMFfsx.net
>>205
意味が分からないな
コンパイラが正確に正誤を判定してくれるならそれが最善だろ

214:デフォルトの名無しさん
22/03/25 22:16:06.05 4czHOVAh.net
>>182
>まともな文法定義がもうできなくなってる。
意味不明

215:デフォルトの名無しさん
22/03/25 22:30:28.83 6wzTiGXz.net
>>201
同じコードで通る/通らないが変わるのなら、それは普通は「文法の変更」という。
なぜなら、
Error: コード生成が出来ない
Warinig: コードは生成可能だが、普通はこんな事をする必要もないからバグだよね?
だから。ここをRustはおそらく(haskell信者が一時期言ってた)
・Rustのアプリにはバグがない。なぜなら、バグのあるコードは全てコンパイラが落とすから
をやりたいのだろう、通常は警告のところをエラーにしてる。
ただこれは一部馬鹿にとっては逆効果で、
・エラーがなければ全て良し
だと勘違いしてしまってるように見える。
(別人だが)フレームワークにドキュメントで禁止されてるコード食わせてドヤってる馬鹿とか、
>>98 もそう。今時のエディタだと文字列/正規表現リテラルは色が付くが、
エスケープを失敗するとコード全体がリテラルの色になる。いくら馬鹿でもこれを無視はしないだろ。
従う気があればエディタで『予定と違う場所に』色が付くだけで十分なんだよ。
本来は警告も無視せず、一つ一つ問題がないか確認するものだし。
その辺面倒くさがってエラーに一本化した結果、悪癖が付いてしまってる。

ただまあこれはいいとして、
Go(2009)/Docker(2013)だから、これはタイミング的にも「これで勝つる!」だったのだろう。
とはいえDockerは普通の人が組むアプリではないので他案件/構造も引き続き募集中だが、
結局Rust(2010)にはないのか?本当にメモリ安全な言語がなくて困ってる奴がいれば飛びついているはずで、
時期的には2014頃に何か出現しててもおかしくないのだが。
未だに何もないのなら、所詮は馬鹿向けC++で、ポシャる見通しの方が高いだろうよ。

216:デフォルトの名無しさん
22/03/25 22:38:33.17 eYNPgwi0.net
>>214はまたいつもの意味不明なことしか言えないキチガイだな

217:デフォルトの名無しさん
22/03/25 22:39:20.33 SCzIX8G9.net
Dockerのくだり分からん

218:デフォルトの名無しさん
22/03/25 22:43:28.74 4czHOVAh.net
Ruby on Railsのようなキラーアプリ(ライブラリ)はRustにないのか、っていう話でしょ
そもそもRustはシステムプログラミング言語だし、そういう低レイヤーに縁がないエンジニアはこれからも使う可能性低いっしょ

219:デフォルトの名無しさん
22/03/25 22:49:09.03 k+N4+RC0.net
>>199
文法って言ったらシンタックスであってコンパイラはシンタックスだけをチェックしてるわけじゃないんだから
コンパイラが受理しないからと言って文法が違うとはならないでしょ
>>214
文法の変更って言ったら普通は例えばBNFが変わるとかそういう話でしょ

220:デフォルトの名無しさん
22/03/25 22:49:43.62 883KHxPC.net
>>214
君は書き込みをする前に二つの点を改善しなさい
一つ目は意味の分かる文章を書くこと
頭をゼロにして読み返してみればおかしなところに気付くはず
二つ目は批判したい対象についてもっと学習すること
妄想で話を進めるから意味不明と間違いが多い

221:デフォルトの名無しさん
22/03/25 22:55:01.03 6wzTiGXz.net
>>216
(スレ的に昔の話を混ぜ込んでわかりにくくなってたのならすまん)
90で言ったとおり、Dockerを組みたいのならGoは多分最適で、結果、
Go(2009)/Docker(2013)と順当な期間でデビューし、その界隈では広く使われるに至ってる。
Dockerのアイデアが先にあって偶々出てきたGoに飛びついたのか、
GoにインスパイアされてDockerの構造を思いついたのかは分からんが。
Rustが「他の言語では現実的に不可能な」レベルの得意分野があるのなら、
同様に、Rustが最適だ、と思えるアプリが既にあるか、開発中のはず。
俺は何度も言ってるが(C)を目指すべきだと思ってるので、(89参照)
その言語が得意とする構造等があれば、
俺が作りたいアプリにそれが含まれてたらその言語を使う、というだけ。
(言語の習得が目的ではない)

222:デフォルトの名無しさん
22/03/25 23:09:22.77 f8iKGyO6.net
>>220
前にもデタラメと意味不明なことを書いていた人だったのか
浅はかな知識ならびに自分勝手にこうでなければならないと決めつけた話を元に暴走しているためにデタラメと意味不明になっている

223:デフォルトの名無しさん
22/03/25 23:13:11.92 v9JvqvSg.net
>>194
顔真っ赤で内容ゼロの反論してきて不覚にもワロタw

224:デフォルトの名無しさん
22/03/25 23:17:57.63 sK8SIzoZ.net
>>218
文法=構文って思ってるのは分かるけど皆がそうとは限らないよ
自分だったら構文と意味論の区別が問題になるようなこのケースで
文法なんてあいまいな用語は使わないけど
強いて言うなら構文と意味論は両方文法に含まれると思っている

225:デフォルトの名無しさん
22/03/25 23:20:42.33 Sf6AbPmi.net
ほとんどが単発IDの自演だぞw

226:デフォルトの名無しさん
22/03/25 23:20:59.36 UErfWwQw.net
>>193
いわゆる普通に文法を意味するところのsyntaxは変わっていない

227:デフォルトの名無しさん
22/03/25 23:25:23.45 k+N4+RC0.net
>>223
カジュアルに文法って言葉使ってるなら自分も気にしないんだけど
>>182 が文法定義って言ってたり
>>199 で形式言語って言ってたりして
それどういう意味で言ってるの?ってのが気になってつっかかってしまった

228:デフォルトの名無しさん
22/03/25 23:26:20.50 4czHOVAh.net
>>220
実際、Rustの最高のターゲットはシステムプログラミングだから、そういう意味ではCと似ている
だからLinuxカーネル、Android OSみたいな巨大プロジェクトでも採用されるまでに至った
その他の有名事例はFirefoxは常識として、Dropboxのファイルストレージ、DiscordのStateサーバ、Figmaのmultiplayerサーバ、AWSのS3/CloudFront/Bottlerocketとかかな
URLリンク(www.rust-lang.org)
細かく挙げればここにあるようにいくらでもあるけど、眺めてみると件数としてはhigh performanceを求めて採用する事例が多いかな

229:デフォルトの名無しさん
22/03/25 23:32:52.17 6wzTiGXz.net
>>218
> コンパイラが受理しないからと言って文法が違うとはならないでしょ
少なくともCではほぼ同義だし、他言語でもそんなもんだと思うけど。
Cの場合は「自分の足を撃て」で躊躇なく撃つ言語なので、エラーは、
・シンタックスエラー
・記憶領域(変数のサイズ)等が確定的でなく、オブジェクトコードに出来ない
 (これはC特有で、要はソースを食わせる順が間違ってたりしててサイズを知らない物が存在した場合。
 2パスコンパイルをしてる他言語では発生しない)
だから、他言語でもコンパイルが通らない=文法エラー、という認識が普通だと思うよ。
Rustの場合は他言語だと警告のところをエラーにしてるから話がおかしくなる。
元々全部警告にしてたら、誰も文法が変わったとは認識しないだろうよ。
だけどそういうコードの存在自体を許さないのだから、エラーにしているわけで。
元々コンパイラは色々情報持ってるんだから、気づいたおかしなところも吐いてくれ=警告で、
なら警告チェックを厳しくしてバグ検出出来るんじゃね?=リンターなわけ。
だから簡易リント機能は元々コンパイラにあって、さらにそれを強化して専用にした物がリンターと呼ばれる。
で、ここで「文法が変わった」かどうかを争ってても意味ないと思うが。
他言語出身者なら、同じコードで通る/通らないが変わるのなら、「文法が変わった」と認識するし、
コンパイラ屋なら、構文解釈に変更なくリント機能だけが強化/緩和されたのなら、「文法は変わってない」と言い張るだろうさ。
(実際にリント機能部分だけの変更なのかは知らんが)

230:デフォルトの名無しさん
22/03/25 23:36:20.64 8M8bRdYX.net
例えば自分はWebでReact/Next.jsを使っているんだけど
そこで使われているトランスパイラがRust製のswcへ変わったよ
色んな分野で代替する新たな良いものが出てくるとRust製が多いね

231:デフォルトの名無しさん
22/03/25 23:41:25.24 k+N4+RC0.net
>>228
Cみたいなシンタックスにセマンティクスが浸食してる言語例に出すあたりマジで何も分かってないんですね
それにCのエラーだってシンタックスエラー以外に型エラーとかいろいろあるでしょ
とにかく文法という言葉の使い方が独特すぎるからあなたの言うところの文法とは何かをちゃんと定義して欲しい
コンパイル時にエラーと判断されうるものは全て文法という理解で良い?
リンク時エラーも文法エラー?

232:デフォルトの名無しさん
22/03/25 23:57:36.32 6wzTiGXz.net
>>227
> Linuxカーネル
それ前も言ったけど、forkしただけで、採用されてないよ。
> Firefox
結果シェアはズタボロに落ちて最早ゴミ。対応面倒で切られてる始末だろ。
> Discord
ブログにあった件なら、生存オブジェクトが大量にあるのにGC言語(Go)を使った点が間違ってる。
ただ、Go側で「GC非対象ヒープ」を(自前ででも)用意すれば済んだ話。
あれで言語移行したのはただの趣味だと思うよ。
他は知らんが、Goでも採用実績なんていくらでもあるし、Rustよりは多いと思うよ。
それを全部見るのは無理なので、折角詳しくて布教したがってる連中が居るのだから聞いてみるか、というわけ。
Goの連中はピンポイントでDockerを出してきたし、納得するものでもある。
Rustにはねえのか?という話。
(ただしDockerと同様の物を俺が組む事は多分無いので、他案件/構造も募集)
>>229
本当に「この言語じゃないと現実的に無理」なら、「書き換え」ではなく「新分野を開拓」出来るはずだ。
Dockerの構造は「新規」だよ。

233:デフォルトの名無しさん
22/03/26 00:05:21.48 xT2VrKPz.net
>>231
そんな言いがかりみたいなでたらめ並べてうれしいのかね
それともそれら次々とRustで置き換わっていく恐怖に怯えての言動かね

234:デフォルトの名無しさん
22/03/26 00:18:45.11 JI2pA1P6.net
ドッカーは確かにgoで書かれているが、作ったイメージをコンテナとして動かすランタイムはRustで書かれてたりするのだよね
抽象化されてることすら知らなそうけど

235:デフォルトの名無しさん
22/03/26 00:19:28.54 W/ip1wOX.net
>>231
そんなにGo使いたいならRustのことを気にせずGo使ってどうぞ
Goも良い言語だから安心してね

236:デフォルトの名無しさん
22/03/26 00:22:51.04 W/ip1wOX.net
実際、Dockerほどの人気があるプロダクトはめったに生まれないからね

237:デフォルトの名無しさん
22/03/26 00:27:20.02 Z1/vdmI3.net
ランタイムあるからGoだけではコンテナランタイム作れないって聞いたんだけど本当?

238:デフォルトの名無しさん
22/03/26 00:30:14.44 9D+dR2jG.net
>>232
> 次々とRustで置き換わっていく恐怖に怯えての言動かね
自意識過剰すぎ。
というか、俺はお前らがそこまで言語に拘る意味が分からない。
それが適してたらそれを使うだけ、だろ。
俺がその言語作ったわけでもないし、その言語を使えば俺が偉くなるわけでもないし。
お前が修得出来たのなら、俺も修得出来るし、他の人も同様に修得出来るだけ。
修得で無理に差別化しようとするからおかしな事になるのだと思うが。

>>234
Goは味見して糞言語だったからもう使う気はないがな。
同じ事を何度も書かせて、しかも、それを悪いとしてない事が無理だ。
俺が切れたのはJSONのタグ記述だが。
(ああGo的には自動生成出来るような仕組みがあるから問題ないんだ!としている事は知ってる)

239:デフォルトの名無しさん
22/03/26 00:33:29.42 3brWv6vK.net
Dockerコンテナランタイムは色々あってもちろんRust製もある

240:デフォルトの名無しさん
22/03/26 00:35:20.61 W/ip1wOX.net
>>237
じゃあ自分の使いたい言語を使っていいよ
こんなスレに文句を書きに来てるぐらいだから、本当はRustのことが気になって気になってしょうがないんだろうけど

241:デフォルトの名無しさん
22/03/26 00:43:54.51 9q2PYIcF.net
dockerのどの辺がRustで書かれてんの???wwwww

242:デフォルトの名無しさん
22/03/26 00:44:14.12 d6z2UOgm.net
>>237の人は前スレから一貫していて
Goに対してもクソ言動と批判しつつ
Rustを叩くための棍棒としてGoを使っている
C#については絶賛

243:デフォルトの名無しさん
22/03/26 00:44:35.30 9D+dR2jG.net
>>239
リスカブス乙
俺は定期的に他言語情報をクロールしてるだけだよ。
ただNimがCソースを吐くとは知らなかったのでちょっと気になってるが。(使うとは言ってない)

244:デフォルトの名無しさん
22/03/26 00:51:02.81 9D+dR2jG.net
>>241
> C#については絶賛
してねえだろ。
実際GUIは糞で、JSの方が数段マシ。そりゃ世の中のGUIがHTMLになるのも納得だよ。
GUIのメインスレッド+サブスレッドの構造もよろしくないと思ってる。
(ここら辺も既に書いたが)
ただな、どの言語にも一長一短はあるんだよ。みんな色々考えて、改善してきてるわけだから。
だから、○○言語最強!ではなくて、言語特性を理解した上で選択、としたいわけ。

245:デフォルトの名無しさん
22/03/26 00:54:11.51 AS0dCv5n.net
>>241
それに対してガイガー君がC#を叩く構図だね
もちろんそれ以外の時はガイガー君はRust叩き
二人ともロクでなし

246:デフォルトの名無しさん
22/03/26 00:54:44.30 47RFB1/G.net
Firefoxが墜ちたのは旧エクステンションを切ったからで…(またこの話?)

247:デフォルトの名無しさん
22/03/26 00:58:24.45 W/ip1wOX.net
>>242
そういうのが気になるなら vlang もいいかもね

248:デフォルトの名無しさん
22/03/26 01:01:58.12 LzDSDoUW.net
>>243
JavaScriptも良い言語だけど
型が弱いしTypeScriptは中途半端だから
最近Rustに移ったよ
もちろんサーバーサイドだけでなくブラウザサイドもRustでWASM
WASM⇔JavaScriptのオーバヘッドは誤差範囲とわかり実用的

249:デフォルトの名無しさん
22/03/26 01:25:19.73 9q2PYIcF.net
俺はC#を叩いたことは一度もないw
間違いを指摘し続けてただけだぞw
Rustは変なビジネスチャンスばかり狙った信者が嘘八百並べ立ててるから、すごい怪しげな新興宗教になってるw

250:デフォルトの名無しさん
22/03/26 01:29:08.29 9q2PYIcF.net
半年くらい前までは俺も静かにRustの普及を望んでたんだけどねw
今はもう・・・やばい印象しか受けない

251:デフォルトの名無しさん
22/03/26 01:57:44.71 Y9M7cL9r.net
>>249
ガイガー君は嘘つきだな
Rustの配列とスライスの違いすら知らないことがこのまえ発覚したことで全てバレた
Rust初心者でも知っていることなのにな

252:デフォルトの名無しさん
22/03/26 02:31:08.59 9q2PYIcF.net
[T]がarrayで&[T]がスライスだと間違って覚えてただけだろw 原因はarrayを初期化以外で使ってなかったからってちゃんと書いたw
多分Rustをやってる期間は多分お前よりはるかに長いよw

253:デフォルトの名無しさん
22/03/26 03:04:03.73 R0l+7kK3.net
>>251
そんな間違いする人を初めて見た
正解は[T]がスライスで&はその参照
&が参照を意味するだけにすぎないことも知らない時点でRustを知らないと確定

254:デフォルトの名無しさん
22/03/26 03:36:58.66 9q2PYIcF.net
ないないw きっといっぱいいるw こんな説明だからw
URLリンク(doc.rust-lang.org)

255:デフォルトの名無しさん
22/03/26 04:31:22.21 NboHt8Df.net
>>251
> [T]がarrayで&[T]がスライスだと間違って覚えてただけだろw
酷くおバカな間違いだな
Rustを使ったことがないからそういう勘違いをしてしまう
ちゃんと公式ドキュメントの各1行目を読もうぜ
配列
URLリンク(doc.rust-lang.org)
A fixed-size array, denoted [T; N], for the element type, T, and the non-negative compile-time constant size, N.
スライス
URLリンク(doc.rust-lang.org)
A dynamically-sized view into a contiguous sequence, [T].

256:デフォルトの名無しさん
22/03/26 06:43:20.01 9q2PYIcF.net
それはAPIリファレンスだろw

257:デフォルトの名無しさん
22/03/26 07:50:27.56 ZP/Jhtaq.net
>>62
それ、C/C++が全く出来ないレベルじゃん。メモリやポインターの理解が出来てないから実行時デバッグに時間が掛かる。普通は処理を書いたら動くことを確認するだけで済む。

258:デフォルトの名無しさん
22/03/26 07:54:07.76 Vvd4qIhx.net
>>251
> 多分Rustをやってる期間は多分お前よりはるかに長いよw
はるかに長い期間やっててそれでは知能が低いです

259:デフォルトの名無しさん
22/03/26 08:12:28.41 3FEKWr2M.net
>>256
それはそういう話じゃないと思うぜ
C++とRustの両方使いこなせると分かるが
低レベルであるポインタアクセスがRustでは無くなり抽象化された参照アクセスとなり
安全でないアクセスがコンパイル時点で排除されるためその種の実行時デバッグが無くなる
その件だと思われる

260:デフォルトの名無しさん
22/03/26 08:24:24.55 9q2PYIcF.net
>>257
ただの記憶違いに知能は関係ないw 実際それで困ったことがないからなw

261:デフォルトの名無しさん
22/03/26 08:47:16.92 9LDujC2l.net
>>259
その件は君が嘘をついていると明確になっている
その件の書き込みを見ると君はarrayとsliceを勘違いしただけでなく関数からarrayで返すと明言している
一方でその関数は返り型宣言で必ず[T; N]が現れる
このNは定数であるからさらに宣言することになりarrayでNの存在を忘れる人はいない
しかし君はarrayを[T]だと間違えて覚えていたわけだから矛盾する
君はRustのコードを書いたことがないという結論となる

262:デフォルトの名無しさん
22/03/26 09:14:29.48 9q2PYIcF.net
何を勘違いしちゃったのか知らないけど、こう書いてあるんだけどw
「arrayは定義はあるんだけど、今まで初期化にしか使わなかったから、使わなすぎて間違って覚えてたw」

263:デフォルトの名無しさん
22/03/26 09:23:18.54 6PoAfdDe.net
>>260
正確にはガイガー君はsliceで受けてArrayで返すと言っている
この発言の時点でガイガー君はRustを知らないと証拠
動的サイズのスライスで受けて固定サイズの配列を返すのは不可能だからだ
Nが判明しないと配列で返せないが実行時になるまでスライスの長さは不明
この点からもガイガー君はRustを知らない

264:デフォルトの名無しさん
22/03/26 09:51:30.12 9q2PYIcF.net
ニュアンスが違うんだよw
「それは俺のポリシーとして、可能ならVecを返すならVecを受けたいだけw
今回のケースではメリットとかないよw
同様にsliceで受けたらArrayで返したいし、iteratorを受けたらiteratorを返したいw」
slice->&[T]
array->[T]

265:デフォルトの名無しさん
22/03/26 09:55:08.60 Vvd4qIhx.net
はるかに長い期間やってるのにこの有様
子供の遊びかな?

266:デフォルトの名無しさん
22/03/26 09:56:51.30 9q2PYIcF.net
実際のロジック書くのに使ってたのVecだもんw

267:デフォルトの名無しさん
22/03/26 10:02:36.56 +G9UHc/m.net
結局TypeScriptがどの場においても最強って言いたいの?

268:デフォルトの名無しさん
22/03/26 10:18:06.61 Iuuv9oj0.net
間違ってても普通に説明すりゃいいのにお互いに煽りながら主張しあってるから、くだらない議論が余計に長引く

269:デフォルトの名無しさん
22/03/26 10:39:18.75 9q2PYIcF.net
TypeScriptさいきょー

270:デフォルトの名無しさん
22/03/26 10:44:45.97 Z1/vdmI3.net
>>263
Vecを返す関数は原則引数の型はVecにしたいということ?
敢えてそうする理由ってなにかあるの?

271:デフォルトの名無しさん
22/03/26 11:44:23.82 3zXxZFyx.net
goとtypescriptどっちかを捨てればいいのに
tcshやrubyを捨てるみたいに

272:デフォルトの名無しさん
22/03/26 12:29:34.61 5mCX3GGP.net
新しい言語はどれも配列の宣言があまりきれいじゃない気がする
Cなどの型名 変数名[要素数]だと何か都合が悪いのだろうか
それともやってる感を出すために変えてるの?

273:デフォルトの名無しさん
22/03/26 12:37:22.57 9D+dR2jG.net
>>271
固定長で問題ないならそれが一番いいが、
大体において固定長である事自体がものすごく不便だから。

274:デフォルトの名無しさん
22/03/26 12:41:53.15 sDWgty5N.net
>>271自身がモダンな言語における配列を正しく理解できてないから変なように感じるんじゃないかな
最近の言語ではCスタイルの配列、いわゆる配列変数(複数個の変数が連続して並んでいるもの)はあまり積極的に使用されないんだよ
最近の言語では配列は配列型のオブジェクトであって、変数が並んでるわけじゃないの

275:デフォルトの名無しさん
22/03/26 12:49:13.92 N9qlOq0y.net
>>263
Vecを返すならVecを受けたい、って
例えばこういうこと?
fn foo(input: Vec<i32>) -> Vec<i32> {…}

276:デフォルトの名無しさん
22/03/26 17:16:05.98 +G9UHc/m.net
>>271
Cの形だとパーサーをLRにしないといかんのでは?
GoとかPascalの形だとLLでパースしきってしまえるから早い。

277:デフォルトの名無しさん
22/03/26 18:34:45.11 9q2PYIcF.net
別スレの引用なので、興味があればそれを見てこいw
LL/LRとか懐かしいなw
S式とかに回帰するかw

278:デフォルトの名無しさん
22/03/26 18:46:07.16 MJID/KD0.net
ちんちんシュッ!シュッ!シュッ!

279:デフォルトの名無しさん
22/03/26 20:52:37.86 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:デフォルトの名無しさん
22/03/26 21:26:11.73 9q2PYIcF.net
>>278
間違ってるよw それは俺のポリシーだからw 普通こうするという話じゃないw

281:デフォルトの名無しさん
22/03/26 22:23:14.39 27vH2xuj.net
ガイガー君はRustに関しても素人だから
そういう常識を知らなくても仕方ない

282:デフォルトの名無しさん
22/03/26 22:42:20.46 Z1/vdmI3.net
>>279
なんでそういうポリシーなの?

283:デフォルトの名無しさん
22/03/26 23:07:56.60 Z1/vdmI3.net
>>279
&strじゃなくてString使ったり、&TじゃなくてBox<T>やRc<T>使ったりするのかな
初めて聞くポリシーだからどういう考え方なのかが気になる

284:デフォルトの名無しさん
22/03/26 23:13:02.38 Z1/vdmI3.net
>>279
あっ、もしかしてborrow checker通すために借用使わないようにしてる?

285:デフォルトの名無しさん
22/03/26 23:29:11.35 fQbyL396.net
鋭い指摘だな
確かにガイガー君は参照を使いこなせなくて借用を批判してた

286:デフォルトの名無しさん
22/03/26 23:34:15.32 Vvd4qIhx.net
なんか哀れだよね彼は

287:デフォルトの名無しさん
22/03/26 23:41:42.26 9q2PYIcF.net
同じ型の方が設計意図が明白になるし、繋げやすいからw それだけだよw 他のにする理由がないよねw
まあもとのスレにも理由は書いたけどw

288:デフォルトの名無しさん
22/03/26 23:58:50.18 +vg1NaC4.net
>>286
繋げやすい??
全く意味不明だ
繋げるならばメソッドチェーンにすべき
そしてVecが中間生成物となるのは無駄となるバッドパターン
イテレータメソッドチェーンにすべき
イテレータを使わないならばスライスを引数で渡すべき

289:デフォルトの名無しさん
22/03/27 00:23:39.64 PoGWmBV8.net
>>287
君にとって意味不明なら意味不明でいいよw そう思っていればいいw
ポリシーとはそういうものw 菜食主義者に肉を食わないとはケシカランって言ってるようなものだからw

290:デフォルトの名無しさん
22/03/27 00:25:07.45 v5PJ1K00.net
>>286
借用で済ませて良い場所で所有権要求するのは普通じゃないからドキュメントコメントにちゃんと書いた方が良いよ

291:デフォルトの名無しさん
22/03/27 00:30:12.96 wv2YT7DD.net
>>288
技術分野でのポリシーとはまず意味のある目的がありそのために設定される
それを説明せずにポリシーとだけ唱えて普通ではない非合理なインタフェースにしているから叩かれる

292:デフォルトの名無しさん
22/03/27 01:18:29.05 PoGWmBV8.net
wwwww
知ってて書いてるんだと思うが、もとを読めば分かるけど、参照で受けてるよw

293:デフォルトの名無しさん
22/03/27 01:35:46.26 BChElFEF.net
>>291
見てみた
確かに引数の型をVecの参照にしてることがわかった
そして元のお題では一貫してずっとlet input = ["a", "b", "c"];となっているのに
引数の型をVecの参照にしてしまったためそこだけlet input = vec!["a", "b", "c"];としている
つまりに引数の型をVecの参照したのは明白な失敗となっている
もちろん正解は引数の型をスライスにすること
これで配列もVecも受け取れる

294:デフォルトの名無しさん
22/03/27 03:52:33.29 PoGWmBV8.net
>>292
だから失敗したからではなくて、何度も言ってるようにポリシーとして合わせたんだよw
正解は動くことw 2つの方法からsliceとしない方を選択したのw

295:デフォルトの名無しさん
22/03/27 04:12:54.52 keWGy6tX.net
>>293
それまでに他の人たちが書いたコードは入力元データが全てlet input = ["a", "b", "c"];と配列になっているね
そして関数の引数の型は全てスライス&[T]となっているね
ところが唐突にその引数の型を&Vec<T>へと変更したコードが登場
それまでの入力元の配列をスライスで渡すことが出来なくなる破綻
破綻の辻褄を合わせるため入力元データを配列から無駄で無意味なlet input = vec!["a", "b", "c"];へと変更
それまで入力元が配列でもスライスでもVecでも大丈夫だったのに入力元がVecしか受け付けなくなっているね

296:デフォルトの名無しさん
22/03/27 07:57:46.18 DQbwsS9F.net
> 2つの方法からsliceとしない方を選択したのw
キミはスライスが何なのかも知らなかったでしょ
自分の知能が低いのを弁えないと恥かくよ

297:デフォルトの名無しさん
22/03/27 08:56:07.10 PoGWmBV8.net
>>294-295
何を言いたいのか知らんが、I/F部分は自由にいじってるので、渡す型が変わるのなんて何の問題もないよw

298:デフォルトの名無しさん
22/03/27 09:20:19.51 aDr0zmJe.net
>>296
元々は利便性の良いスライスや効率で優る配列も受け付けていたのに
貴方の変更では効率の劣るVecのみを受け付けとなってコードが退化している

299:デフォルトの名無しさん
22/03/27 10:51:24.60 PoGWmBV8.net
>>297
何度も言ってるようにポリシーw

300:デフォルトの名無しさん
22/03/27 10:56:32.38 hQNNJiB+.net
>>298
劣ったコードにするポリシーかよ…

301:デフォルトの名無しさん
22/03/27 11:10:30.04 DQbwsS9F.net
さすがに可哀想やからもうやめたれ

302:デフォルトの名無しさん
22/03/27 11:41:31.93 PoGWmBV8.net
>>299-300
別に劣っても可哀想でもないよw 意図が明白なコードになってるw

303:デフォルトの名無しさん
22/03/27 12:11:24.82 mrHY19JA.net
面白い課題なんだね
input = ['a', 'b', 'c']; と集合が与えられた時に
そのべき集合(=全ての部分集合)を返す関数subsets()を作成せよ、ってことか
[]とか['a']とか['a', 'b']とか['a', 'b', 'c']とか全てを漏れなく返せと

304:デフォルトの名無しさん
22/03/27 12:27:49.24 PoGWmBV8.net
初学の人でもすぐ書ける簡単なロジックだよw

305:デフォルトの名無しさん
22/03/27 12:39:06.02 w1ZdsVcb.net
>>303
じゃあプログラム書いてみて

306:デフォルトの名無しさん
22/03/27 14:06:20.96 v5PJ1K00.net
>>301
Vec<T>を引数で受けることは配列全体の所有権を関数に委譲するという意図を表明してるんだけど
そういう意図ということで認識合ってる?

307:デフォルトの名無しさん
22/03/27 15:46:34.95 PoGWmBV8.net
このスレでも参照って何度も書いてんだけどw アホなのw?

308:デフォルトの名無しさん
22/03/27 20:05:48.71 beT1hCdX.net
たかだか数年で身につけたスキル、しかも数年後には使ってないかもしれないスキルでイキってんじゃねーよ

309:デフォルトの名無しさん
22/03/27 21:23:46.37 PoGWmBV8.net
Rustは数年後にはなくなってるかもねw

310:デフォルトの名無しさん
22/03/27 23:33:02.98 Pk6DsGJR.net
人間よりは長生きしてもらわないと
AIが人間に勝てそうな所がどんどん減っていく

311:デフォルトの名無しさん
22/03/27 23:40:27.92 PoGWmBV8.net
Rustなんて人間に負けっぱなしな印象しかないけど・・・w

312:デフォルトの名無しさん
22/03/28 05:38:25.18 1zvMDK8z.net
恥ずかしながら質問なんだがNimって何?

313:デフォルトの名無しさん
22/03/28 06:43:08.84 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:デフォルトの名無しさん
22/03/28 08:08:20.92 hQA9uA7d.net
>>311
目の前にある箱で検索しろ
URLリンク(ja.wikipedia.org)

315:デフォルトの名無しさん
22/03/28 11:24:54.13 cDjwoBcZ.net
>>297
横からみてた感想だけど、コードの目的(全てのサブセットを列挙する)達成できているのに退化とは?
その論説は本来の設問からすると別のゴールが生えてる

316:デフォルトの名無しさん
22/03/28 12:05:00.42 6B08HyS+.net
ツッコミついでにスライスの参照ではなくVecでインターフェース書くメリットについて考えてみたが
これ考え方がモロにPythonのそれだわ
こういう設計はRustだとあんまりやらないが、これをVecから派生した型へのimplとして書くとそこまで違和感ない
「Rustっぽくない」のは指摘されてる通りだが、思想としてはたぶんそこから来てる

317:デフォルトの名無しさん
22/03/28 12:12:56.02 6B08HyS+.net
Pythonはそのまま例えばこんな感じで書かれた関数をオブジェクトに代入してメソッドに使えるからPythonって言ったけど
とにかくオブジェクト指向にどっぷり頭まで漬かった設計だな
元の「どちらのやり方もある」発言も、「関数型の書き方に寄せるかオブジェクト指向的な書き方に寄せるか」という意味なら納得
(まあオブジェクト指向に寄せるならimplで書けよなんだが)

318:デフォルトの名無しさん
22/03/28 14:02:45.07 aDLT1T3I.net
>>314
元々に挙げられていた例は入力が配列
そして彼のコードは配列を入力として受け付けなくなっているから退化であっている

319:デフォルトの名無しさん
22/03/28 14:31:13.30 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:デフォルトの名無しさん
22/03/28 22:32:51.22 O2ikFAVr.net
ガイガー君完敗か

321:デフォルトの名無しさん
22/03/28 23:11:23.81 51Y1Thh9.net
1+1=の結果とか誰も興味ない上、俺がindex版、iterator版、vector版3つ正解を書いてやった後も、誰も興味のないその話題をひたすら続けて無視された挙げ句、このスレにまで持ってき


322:て見当違いな自画自賛と自作自演の嵐w どれだけバカなんだよw



323:デフォルトの名無しさん
22/03/28 23:19:40.94 ie9Ayk2m.net
>>318
ガイガー君とやらは配列とスライスの違いすら知らなかった超初心者だから仕方ないんじゃないか
もちろんスライスに対して実装すればVecにも配列にも適用できるからそれがベストチョイス

324:デフォルトの名無しさん
22/03/29 01:19:51.25 lkDcLhrw.net
>>312
Rustってスクリプト言語みたいに簡単に書けるんやな

325:デフォルトの名無しさん
22/03/29 17:06:45.34 7Qo2cIhC.net
このスレなんでJuliaは扱わないの?

326:デフォルトの名無しさん
22/03/29 18:10:38.94 wvo3NcdM.net
Juliaって数値計算に特化してるイメージなんだけどそれ以外の用途でも良い感じに使えるの?

327:デフォルトの名無しさん
22/03/29 19:43:35.70 4eDRgxgo.net
数値計算というのはひたすら配列に対してループをぶん回すもんで、FortranやJuliaはそういう処理の記述に特化している
そういう意味だと、数値計算以外だと昔のCOBOLみたいに愚直に一行ずつレコードを処理していくような古典的なバッチ処理には向いてるんじゃないかな

328:デフォルトの名無しさん
22/03/29 22:44:22.64 zunmlMTL.net
>>321
本人乙w 配列とスライスの違いは分かってたけど、配列の定義を誤って覚えてただけだよw
Juliaは入れていいと思うw

329:デフォルトの名無しさん
22/03/29 22:53:46.10 Wg3aSHjk.net
>>326
あんたは [T] を配列だと思っていた
もちろん [T] はスライスが正解
これはあんたが配列とスライスの違いをわかっていなかったことを意味する

330:デフォルトの名無しさん
22/03/30 08:18:40.34 LPYfd5on.net
型無し糞言語勧めてくる屑どもを全員●したい

331:デフォルトの名無しさん
22/03/30 08:41:28.55 wafreB6+.net
今時型無し言語を使うやつはそんなにいないだろ
動的型付け言語は使うが

332:デフォルトの名無しさん
22/03/30 09:47:02.31 /0rPh2g4.net
代表的な型なし言語:Smalltalk、BCPL、B言語、アセンブリ言語

333:デフォルトの名無しさん
22/03/30 16:32:49.22 uX6cnVWL.net
動的型付け言語は型無し糞言語じゃないんだ
僕はまだ大丈夫なんだ
こういうやつよな
●したくなるのは
注連縄を首に巻いて通勤快速に連結してやりたくなるよな

334:デフォルトの名無しさん
22/03/30 21:28:09.18 MqQwCbKz.net
型無しと動的型付けを間違えていたことを糊塗しようと必死

335:デフォルトの名無しさん
22/03/30 21:47:02.85 sZZS0bBr.net
>>331
動的型付け言語には型はちゃんとあるぞ
型を忘れる静的言語、型を覚えてる動的言語
URLリンク(dankogai.livedoor.blog)

336:デフォルトの名無しさん
22/03/30 21:52:53.10 9xKIjqbP.net
もちろん強い静的型付け言語の方が圧倒的に優れている
ほとんどのバグはコンパイル時点で検出できる
言語によっては実行時のエラーや善きせぬ例外を無くすこともできる
そのため強い静的型付け言語が最もプログラミング生産性も高い

337:デフォルトの名無しさん
22/03/30 21:58:42.01 txMnCN3x.net
>>333
バカなことばかり書いてあるダメなページだな
> 動的言語の値は、実行時においても自分の型を覚えている。
> このことは何を意味するか?
> 実行時に値の型を調べ、それに対応したコードを実行するプログラムが書けるということだ。
これはまともな静的型付け言語でも出来る
しかもコンパイル時に安全に型をチェックして実行時にエラーをなくすことさえ可能
動的型付け言語ではそのような安全性は無く実行時エラーの山

338:デフォルトの名無しさん
22/03/30 22:01:00.78 kwE0Wrnf.net
正直動的型付けのメリットをあまり感じない

339:デフォルトの名無しさん
22/03/30 22:02:22.01 usrXoLFt.net
いまさら型の動的静的言い出してもウンザリだから
それは君たちが各自自分で勉強して自分で満足してくれ
どっちが優れてるだのどうだの素人の見解1ミリもいらんから

340:デフォルトの名無しさん
22/03/30 22:06:41.15 ibIM88PL.net
このスレ雰囲気からして学生が多い気がするが、一般的には
型あり:ソースコードに型を明記する=静的型
型無し:そうじゃない=動的型
だぞ。ただし「型無し」と全くの初心者に言うと「本当に型がない」と勘違いしてしまう為、
「動的型付け言語」と『教育上』言われる事があってもおかしくないが、それは学校での話。
プログラミング界での用語は上記の通り。
330内はアセンブラしか知らんが、アセンブラにも型(サイズ)はあって、
floatとdoubleは命令が違うし、byte/word/doublewordも命令が違う。
(だから本当の意味で型がない言語なんて実装しようがない)
ただまあ、この辺のごくごく初歩的なところをまずは抑えるべきだよ。
生産性なんてその後の話、一通り書けるようになってからでいい。
心配しなくても初心者の時に書いたコードなんて後から見たらゴミ同然でしかない物ばかりだよ。

341:デフォルトの名無しさん
22/03/30 22:09:14.11 MqQwCbKz.net
>型あり:ソースコードに型を明記する=静的型
>型無し:そうじゃない=動的型
どこの一般だよ

342:デフォルトの名無しさん
22/03/30 22:10:48.06 1lFVb3RX.net
いずれにしても動的型付け言語はバグがあっても実行時になるまで検出できないクソ言語
強き静的型付け言語がベストと結論が出ている

343:デフォルトの名無しさん
22/03/30 22:15:34.40 usrXoLFt.net
よかったですね
ハイ終了

344:デフォルトの名無しさん
22/03/30 22:33:44.92 YEeL7eMZ.net
ちょっとした短いスクリプトを書く程度ならば動的型付け言語でも大丈夫
そうでなくプログラミングをするならば静的型付けのメリットが非常に大きいね

345:デフォルトの名無しさん
22/03/30 22:47:29.54 Xsfwo5z4.net
個人的にどちらが好みかと言われると静的型付け言語なんだけど、自分全然Pythonとか使うので、そういう言語を唾棄してる人的に雑な書き捨てをするときは何の言語使うのか正直気になる

346:デフォルトの名無しさん
22/03/30 22:52:27.20 Cwc9b4uh.net
>>343
ものに依る
例えば簡単なものならシェルスクリプト
よくいる何でもかんでもPython屋さんたちはシェルスクリプトも静的型付け言語も使えないがために陥ってる

347:デフォルトの名無しさん
22/03/30 23:01:10.09 liAwZQUf.net
PHP
Ruby
Perl
この辺は人として見下してるな
死んでもいいゴミだと思ってる

348:デフォルトの名無しさん
22/03/30 23:09:42.25 UJJsLtPb.net
PHPないと個人サイト作成不便だよ。
pythonで書いてた時期もあったがやはりPHPのが楽だしCPU負荷も少ない。

349:デフォルトの名無しさん
22/03/30 23:13:37.76 BGd1I7D3.net
個人サイトなら静的サイトジェネレータで十分な場合も多い

350:デフォルトの名無しさん
22/03/30 23:23:35.91 7iBx/H5p.net
>>346
おもちゃ程度ならPHPで十分だね
しかしアクセスされるたびに動的サーバーサイドレンダリングをしているわけで無駄すぎ
例えばアクセス数のある企業がそれをしたら負荷のせいで複数のサーバーが必要になりやすい
>>347の言うように出来る限り静的サイトジェネレーションがベスト

351:デフォルトの名無しさん
22/03/30 23:26:27.50 liAwZQUf.net
PHPerは性根が腐ってる
人間のくず

352:デフォルトの名無しさん
22/03/30 23:30:47.36 RO3HBLZh.net
サーバーサイドレンダリング…?

353:デフォルトの名無しさん
22/03/30 23:35:38.07 UJJsLtPb.net
静的サイト生成系は結局すぐやめたなぁ。
JSで無理くりなことやりはじめたりして個人サイトレベルだと逆に作りが歪む傾向がある。

354:デフォルトの名無しさん
22/03/30 23:46:31.10 liAwZQUf.net
歪んでるのはPHPerの脳みそだろ
ビルから飛び降りて矯正しろ

355:デフォルトの名無しさん
22/03/30 23:49:24.01 UJJsLtPb.net
自分は普段はc++とc#ばかりだけど...
だけどphpの方が楽、blazorとか逆にしんどかったし。

356:デフォルトの名無しさん
22/03/30 23:58:31.85 BjMRLjMo.net
>>353
選び方が極端すぎ
BlazorはJavaScriptの代わりにC#で書いてブラウザ上をWebAssemblyで動かす究極のアホ
C#はランタイムがデカい上にGCランタイムも必要なわけでそれらを全てブラウザ上のWebAssemblyで動かす
巨大で重くて遅い

357:デフォルトの名無しさん
22/03/31 00:17:05.37 nlcs9ENP.net
負荷が高いからCGIは使わない、PHPは使わない、
共用格安24時間稼働サーバーでnodeやjavaは基本動いてないからそれらは使わない、
VPSで個人サイト運営とか手間なだけだからやらない。
そうなると何でサーバー側で判定必要な処理書いてるのさ。
3大クラウド使って普通の個人サイトにGoでサーバー処理でも書いてんの?

358:デフォルトの名無しさん
22/03/31 00:28:30.60 LBSBAbTE.net
>>354
WebAssembly使うならGCの無いRust一択だな
C++でもよいがRustに対してC++使うメリットがないため
この新たな分野ではC++よりもRustの方がシェア高い

359:デフォルトの名無しさん
22/04/01 21:23:07.86 KJ3cEQ7q.net
>>344
なるほど、返答ありがとう
ということはシェルスクリプトレベルなら許容するけど、シェルスクリプトで扱えないデータ構造が出てくるような場合は、もう静的型付き言語じゃないとありえないって感じなんだね

360:デフォルトの名無しさん
22/04/01 22:34:27.42 06FQxcF3.net
おシェル芸とか勘弁してくれや
書いた本人すら読めない

361:デフォルトの名無しさん
22/04/02 08:35:29.97 4T2g1HGg.net
どの言語も読めないのはそいつの能力が低いだけ
その一方でプログラミング開発デバッグ効率は言語により大きく異なる
強い静的型付けでコンパイル時に可能な限りエラーを出し尽くしてくれるほど効率がいい

362:デフォルトの名無しさん
22/04/02 10:10:09.80 qwJ1jUe9.net
コマンドラインツールでもweb使うとかになるとpythonで書くかな
他は可能な限りシェル

363:デフォルトの名無しさん
22/04/02 10:43:36.91 ofyuLHc/.net
pythonが十分に普及してくれたんで最近はsh/batのかわりにpy一本で済ませることが多くなってきた。

364:デフォルトの名無しさん
22/04/02 11:11:35.19 GmlBdpVN.net
ちんちんシュッ!シュッ!シュッ!

365:デフォルトの名無しさん
22/04/02 12:13:37.37 qwJ1jUe9.net
めちゃくちゃ楽したいときはipynbもありかなーと最近思っている
手作業混ぜなきゃいけないけど表を加工するタスクとか、pandasのto_clipboardで時短できる

366:デフォルトの名無しさん
22/04/02 14:47:38.25 pHmc1XXg.net
>>361
わかる。
sed, awk, curlにbashの配列使ってとかやってたのを一時期perl5に移そうかと思ったけど、これだけpythonが一般化したらもう全部pythonでいいやって思った。

367:デフォルトの名無しさん
22/04/02 14:53:32.80 huJOhBgh.net
pythonのクソみたいなエラーメッセージは二年ほど前に解消された

368:デフォルトの名無しさん
22/04/02 15:17:59.11 aIdGEsvv.net
pythonのインデントによるフォワードルールに慣れてくるとC風の{};が体が拒否反応起こす。begin/end系も論外

369:デフォルトの名無しさん
22/04/02 15:42:43.12 Yphv2UuC.net
インデント系言語はコードフォーマット自分で整えるのが前提なのがなぁ
適当に {} を書いて保存するとフォーマッタが良い感じに整形してくれるのに慣れるともう離れられなくなる

370:デフォルトの名無しさん
22/04/02 15:43:08.95 Yphv2UuC.net
フォーマットというかインデントか

371:デフォルトの名無しさん
22/04/02 15:55:36.79 6GewdDTG.net
生産とデバッグ効率は言語というより開発環境とライブラリがものをいうからなぁ。
少々言語自体にアドバンテージがあっても環境しょぼきゃデバッグも時間かかるだけだし
ライブラリも数万数十万人といった十分な使用実績ないなら主要な機能さえバグがある可能性が高くなるし。

372:デフォルトの名無しさん
22/04/02 16:27:09.73 AD4X0KNq.net
コンパイル時点で問題点をエラーにしてくれない言語こそ開発効率が非常に低い
なぜなら実行時にエラーを引き起こすからだ
その結果として実行時デバッグという無駄な時間のかかる行為が必要となる

373:デフォルトの名無しさん
22/04/02 17:19:49.44 Eaxn3zCS.net
PoopHatePoorの悪口はやめろ

374:デフォルトの名無しさん
22/04/02 18:15:03.99 t3Z/t1xC.net
静的型付けでも実行時エラーを避けられないダメな言語は多い

375:デフォルトの名無しさん
22/04/02 18:23:24.14 +a+ANJVh.net
>>367
コードジェネレーターとかで非常に面倒。
YAMLみたいに両対応してくれればな。

376:デフォルトの名無しさん
22/04/02 19:18:12.91 huJOhBgh.net
pythonのインデントは20年前は馬鹿にしてたけどコードの行数が少なくて済むので一覧性が上がる効果がある
自分は主にC#使ってるけど行数が増えるのでもう何とかして{}減らないかと常に思ってる

377:デフォルトの名無しさん
22/04/02 19:26:43.20 pHmc1XXg.net
>>366
その部分は俺は今も波括弧ブロックの方がみやすいわ。

378:デフォルトの名無しさん
22/04/02 19:52:57.36 Eaxn3zCS.net
目Parseする時に {} は視認性が上がるからあった方がよい
実験結果が示している

379:デフォルトの名無しさん
22/04/02 19:59:17.80 huJOhBgh.net
()は目パース処理されてるらしいけどブラケットはそういう話は聞いたことはないけどな
実際は一行に一個{や}がある状態だから視認性には関係がないかと…

380:デフォルトの名無しさん
22/04/02 20:13:00.21 Yphv2UuC.net
>>374
C#は { を独立した行にするから余計に縦幅が長くなるのかもね

381:デフォルトの名無しさん
22/04/02 20:56:57.66 ezdDFz2p.net
>>370
Pythonなどの動的型付け言語はそのへん悲惨だもんな

382:デフォルトの名無しさん
22/04/02 21:08:24.40 Yphv2UuC.net
>>379
type annotationつけたpythonなら良い?

383:デフォルトの名無しさん
22/04/02 21:51:17.40 oz2OEgJO.net
>>380
強い静的型付け言語を使ったことないのかね
単なる型アノテーションなんておもちゃ

384:デフォルトの名無しさん
22/04/02 21:55:55.31 /mZUsJdk.net
人間が管理できる規模のうちは型アノテーションでも十分
コードの規模がデカくなってくるとコンパイル時チェックがないとやってられん

385:デフォルトの名無しさん
22/04/02 22:01:13.39 ofyuLHc/.net
>>381
型付けの強弱とアノテーションかどうかって関係ないでしょ

386:デフォルトの名無しさん
22/04/02 22:15:52.11 Q6e3gTSV.net
TypeScriptですらオモチャと言われているのにアノテーション程度ではな

387:デフォルトの名無しさん
22/04/02 23:13:17.46 Eaxn3zCS.net
例え型アノテがあったとしてもウンポコペチプーだけは絶対に許してはならない
導入しようとしてくるエタヒニンのガイジどもは全員アウシュビのガス室送りにすべき

388:デフォルトの名無しさん
22/04/02 23:47:53.77 Yphv2UuC.net
>>381
強い静的型付け、かつ、型エラーがある場合は実行すらできない言語が良いということかな?
それとも動的型部分を一切排除して型付けをグローバルに強制したいということ?

389:デフォルトの名無しさん
22/04/02 23:55:58.32 AkfUdAt8.net
goはエラーハンドリングめんどい
まだkotlinの方がいいよ

390:デフォルトの名無しさん
22/04/03 03:17:07.00 Y2X5X0mD.net
>>382
コンパイル時チェックがないとやってられん、に同意
Rustのように型だけでなく書き換え競合などもコンパイルエラーとしてくれるのが理想的

391:ワイドショーは見るな
22/04/03 05:25:31.65 qYWEirZv.net
ソ連の核は綺麗な核
ポル・ポトはアジア的優しさ
北朝鮮は地上の楽園
珊瑚自作自演事件
南京・慰安婦捏造
教科書書き換え「誤報」事件
朝日・武富士裏献金事件
拉致問題切り捨て
サイレント魔女リティ
風の息遣い
五味ボマー
変態新聞
村木局長犯人扱い
その他人民裁判ならぬマスコミ裁判は数知れず
そしてマスコミお得意の「報道しない自由」
これでも貴方は新聞を信用しますか
これでも貴方は新聞を購読しますか
よく考えて下さい

392:デフォルトの名無しさん
22/04/03 09:41:03.41 DNCDVh6y.net
以前の彼は紳士的でした
ところが並列処理での変数の取り扱いにバグが紛れていて不正確な変更が行われこんなことにばかり言うようになってしまいました
手遅れになる前にRustを使いましょう

393:デフォルトの名無しさん
22/04/03 09:45:44.13 N+64wXdQ.net
でもPHPの方が需要あるよね

394:デフォルトの名無しさん
22/04/03 09:54:03.47 ajg4rWD0.net
>>391
RustとPHPの需要を比較しても意味ないですよね
例えるなら小麦粉をもっと食べましょう。と言ってるのに対してスパゲティのほうが人気店あるよね?っていってるようなものですよ。

395:デフォルトの名無しさん
22/04/03 10:25:30.38 DNCDVh6y.net
PHPでまともに仕事してるならいいだろ
Rust使えば何でも許されてニート生活しててもいいわけじゃない

396:デフォルトの名無しさん
22/04/03 10:52:41.24 N+64wXdQ.net
なんかお勉強界隈でルースト?ってゆうの流行ってるみたいですけど、それで仕事できるんですか?
それでワープレより顧客にバリュー提供できるってゆうんですか?

397:デフォルトの名無しさん
22/04/03 10:58:50.79 DNCDVh6y.net
rust サビ 発音はラスト
マジンガーZでルストハリケーンって相手がサビる兵器があったけどアレ

398:デフォルトの名無しさん
22/04/03 11:03:35.19 DNCDVh6y.net
>>394
今の時点ではそのレベルのバリュー提供は無理だね
学校のサイトの管理を理系の先生がやってるけどワードプレス使ってる
rustは多分10年後もその牙城は崩せない
と言うか未来永劫に先生がrust使ってサイト管理をするようにはならない

399:デフォルトの名無しさん
22/04/03 11:14:22.42 1jVKF75a.net
>>377
俺は逆の話しか聞いたことない。
波括弧は目パースされてるが丸括弧はされてない。
例えばlispは丸括弧だらけだけど、あれの括弧の整合性はエディタ支援がでかい。

400:デフォルトの名無しさん
22/04/03 15:53:41.27 kjO3l4sO.net
>>384
TypeScriptはJSの全ての値に型をつけるために無茶な仕様追加してるからな
ゼロベースで設計すればマシな言語になるのにな

401:デフォルトの名無しさん
22/04/03 16:06:48.55 YCOwGNk6.net
Typescriptには
完全なオーバーロードと
完全な形比較機能がほしいな

402:デフォルトの名無しさん
22/04/03 16:13:43.21 enboo0xE.net
>>398
そういう発想のaltJSはみんな死んじゃったんじゃないかな…

403:デフォルトの名無しさん
22/04/03 16:15:00.29 /giYNahv.net
goは詳しくないが。
関数で複数の値を返却できるが、エンジニアのスキル差がある時に、コードの整合性を保つのがめんどい。
Jsonのパースがめんどい。
とりあえず言語仕様として提供する機能が少なすぎて、Java、Rubyとかに慣れたエンジニアからしたら使いづらい。
メリットとデメリットは表裏一体の側面もあるが、こういう意見を持つエンジニアの方が多分多いんじゃね?
少なくともwebサービス開発においては、goは一時の流行りで終わると思うわ。複数人でのコードの管理がめんどいもん。
結局、言語仕様が複雑すぎず軽すぎずが好まれる傾向にあると思う。なので、スレタイに含まれる言語の中ではKotlinに一票

404:デフォルトの名無しさん
22/04/03 16:20:18.51 kjO3l4sO.net
>>400
それで成功したから生JSと混ぜられるのは必要なんだろうな
俺はかっちりした言語を使いたいけど

405:デフォルトの名無しさん
22/04/03 16:22:15.40 RzJGOQaY.net
TypeScriptが実現しようとしているのはVSCode上でのJSの完璧な型検査であって、別に最強の独自言語を作りたいわけでもコンパイル時チェックをしたいわけでもない
MSが提案しているJSへの型アノテーションの導入が実現したらTypeScriptは.ts.dのみを残して役目を終える

406:デフォルトの名無しさん
22/04/03 17:52:10.08 rc6NcMYZ.net
ナデラのMSは良いMS

407:デフォルトの名無しさん
22/04/03 18:03:50.41 PXdtBjdx.net
だ、Dart…

408:デフォルトの名無しさん
22/04/03 19:57:40.10 DNCDVh6y.net
>>401
どういう認識なんだ?
普通はgoは低機能だから誰が書いてもほぼ同じコードになるのがメリットだと言われてるんだけどw

409:デフォルトの名無しさん
22/04/03 20:01:53.30 k51Q+Vww.net
>>401
言語機能が少なくて文句言われてるが?
ジェネリクスがようやく入ったレベルだぞ

410:デフォルトの名無しさん
22/04/03 20:38:24.09 N+64wXdQ.net
>>406
それ言語機能が少なすぎてコピペしまくり=誰が書いても同じになる
というのがオチなんだよね
控えめに言ってゲェージ

411:デフォルトの名無しさん
22/04/03 20:40:34.46 k51Q+Vww.net
>>408
コピペと言語機能は無関係だろ

412:デフォルトの名無しさん
22/04/03 20:53:04.52 En8qx50/.net
goのエラー処理は俺が2019年に業務でちょっと触った時は
if err !=nil {}
みたいなのをひたすら書くしかなくて愕然とした経験があるんだが、これって今は改善されてるの?
比較的新しい言語にしてはずいぶん泥臭いことやるんだなって思った

413:デフォルトの名無しさん
22/04/03 21:02:47.89 N+64wXdQ.net
Go「ぜんぶ ひらがな に すれば かんじ や かたかな が なくて よみやすいね!」
言うほど読みやすいか?

414:デフォルトの名無しさん
22/04/03 21:03:41.40 /giYNahv.net
>>410
されてない認識
これめちゃくちゃめんどいし、戻り値の管理が無駄に煩雑になるだけだと思うんだが
パターンマッチングもめんどい

415:デフォルトの名無しさん
22/04/03 21:05:03.73 N+64wXdQ.net
>>409
ジェネリクスがないからコピペ or interface{}でAny化して型安全を捨てる言語やぞ
エアプは黙っとれ

416:デフォルトの名無しさん
22/04/03 21:32:49.77 DNCDVh6y.net
>>408
違うよ
文法が厳格でしっかり書いてないと枝葉みたいなしょうもない理由でコンパイル通らない
それでレベルが担保される

417:デフォルトの名無しさん
22/04/03 21:35:23.71 DNCDVh6y.net
コーディングになんでエアプが出てくるんだろうか?
語彙が貧困すぎる
脳が死んでないか?

418:デフォルトの名無しさん
22/04/03 21:49:33.85 gPxpOVle.net
高度に抽象化され凝縮度の高い用語を使ってるだけだよ
エアプガイジは黙っとれ

419:デフォルトの名無しさん
22/04/03 21:56:36.46 DNCDVh6y.net
ガイジ ← 脳が委縮した差別主義者が使う言葉
エアプ ← いつまでもゲームでしか物事を例えられない人が使う言葉

420:デフォルトの名無しさん
22/04/03 21:59:40.61 gPxpOVle.net
脳が委縮した差別主義者いつまでもゲームでしか物事を例えられない人は黙っとれ
Goみたいな文だな

421:デフォルトの名無しさん
22/04/03 22:02:18.79 DNCDVh6y.net
いやいや使い方が違うだろ
見不明な置換するなよw
本物の馬鹿なんだな

422:デフォルトの名無しさん
22/04/03 22:03:00.73 DNCDVh6y.net
意味不明


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch