[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 12/19 17:51 / Filesize : 321 KB / Number-of Response : 1030
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

次世代言語24 Go Nim Rust Swift Kotlin TypeScript



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/

32 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 05:11:33.35 ID:k8Z8CHR2.net]
>>24
頭がいいなら、そんなメモリ安全とかデフォルトimmutableでmoveで借用という制限だらけのRustを使わずとも安全かつ正確な実装ができるんじゃよw
ただ、(横暴な言い方をすると)それだけ安全側に振ったC++なRustでも結局習得に時間がかかるため、コストに釣り合うのはごくごく一部の領域のみというのが結論w

33 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 05:28:37.24 ID:k8Z8CHR2.net]
>>25
相変わらず、荒すぎる上に間違っているw

お前の場合、Rustは不勉強すぎてお話になっていないよw そういう解釈か〜という勘違いとかそういうレベルではなく、まるで整合が取れてないから他人から見ると字面だけ追って理解できてない状態にしか見えないw
ただC#よりRustの方が楽ということは全くないw なぜなら制限が少ないからw GUIの裏でタスクが1つ2つ動く程度では並列時の問題なんてそうそう起きないし、品質の取れたエコシステムすら整っておらず複雑かつ面倒なだけのRustはメリットなんて何一つないよw

Goでのうっかり問題については、並列時の所有権のありがたみはRustならではw discordが移行したときにこぞって持ち上げられたのがココw ただこれも常時強制されると不便なだけなので、一長一短w

34 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 06:26:25.92 ID:y0K+8omk.net]
>>32
> デフォルトimmutableでmoveで借用という制限

プログラミング歴があるならば
デフォルトでimmutableの方がありがたいことにほとんどの人が賛同する
そのためimmutableだけの言語まであるくらいだ
Rustはmutableも使える言語だからそこに制限はない

moveについてはその方が複写よりも当然効率が良いため
何らかの事情で複写したい時はcloneすればよいので困らない
効率が悪くても毎回複写がいいならばCopyトレイトを宣言で可能
つまりRustは3種類の方法を提供していてそこに制限はない

借用とは参照を使うことであってこれも制限ではない
そして参照渡しをするなどの実質の参照を扱う言語は普通に多い
Rustにおける参照とはそれらよりも抽象化された概念だがほぼ同じ
何か制限を設けているわけではなくむしろプログラマーへの選択を与えている
複写(Copy/clone)して渡すのか参照を渡すのかそれともそのものを渡す(move)のかを選べる

35 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 06:59:48.04 ID:k8Z8CHR2.net]
>>34
> プログラミング歴があるならば
> デフォルトでimmutableの方がありがたいことにほとんどの人が賛同する
ないないw

> Rustはmutableも使える言語だからそこに制限はない
デフォルトの制限が厳しいから書きにくいんだよw 制限を外すことの大変さと恐ろしさをプログラミング歴のある人は知ってるからw

> moveについてはその方が複写よりも当然効率が良いため
> 何らかの事情で複写したい時はcloneすればよいので困らない
効率悪w

> 効率が悪くても毎回複写がいいならばCopyトレイトを宣言で可能
> つまりRustは3種類の方法を提供していてそこに制限はない
わざわざトレイトが必要なんですってよ!奥さんw
こんなに使いにくいのが制限じゃないんですってよ!w

> 借用とは参照を使うことであってこれも制限ではない
> そして参照渡しをするなどの実質の参照を扱う言語は普通に多い
言葉すら必要なく、所有権を意識するから必要になる概念で、おもっきし制限だよねw

> Rustにおける参照とはそれらよりも抽象化された概念だがほぼ同じ
> 何か制限を設けているわけではなくむしろプログラマーへの選択を与えている
> 複写(Copy/clone)して渡すのか参照を渡すのかそれともそのものを渡す(move)のかを選べる
嘘乙w

36 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 07:05:41.35 ID:k8Z8CHR2.net]
なんでRust推す連中ってこう嘘ばかりついたり誤魔化そうとしたり間違いを認めなかったりするんだろうなw

37 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 07:11:45.93 ID:QvYnh0pZ.net]
>>35
キチガイだな
コードを書いたことがないのかな
今どきはJavaScriptですら書き換えない変数はconst宣言(=immutable)が勧められる時代
JavaScriptにしてもRustにしても書き換えたい変数はmutableにできるのだからそこに制限も不便もない

38 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 07:13:47.16 ID:znQ4kzdw.net]
Erlang VM を使う、関数型言語のElixir は、Immutable

Docker も、Immutable Infrastructure
disposable(破棄可能)だから、流行った

39 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 07:21:13.86 ID:k8Z8CHR2.net]
>>37
Rust推しはキチガイってことですねw
JavaScriptはデフォルトconstじゃないですw
出来るところをconstにしよう!なら問題ないw
デフォルトをconstにする=制限と言ってるだけw だってmutとか書かないといけない=制限だからw
そして書いた瞬間に確実に「制約」になるからねw
明示的に書けば外せるから制約じゃない!とかアホとしかw

40 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 07:21:58.94 ID:k8Z8CHR2.net]
>>38
Erlangなんて日本じゃほぼ使われてませんw



41 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 07:23:16.59 ID:iWJcW09w.net]
>>36
君がプログラムを書いたことがないからじゃないか?
>>34が書いているようにRustは選択肢が色々と用意されていてプログラマーがそれらを選択することができる言語
もちろんcloneやcopyは最小限にしたほうが望ましいからそれらはデフォルト適用になっていない
合理的である

42 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 07:24:41.53 ID:k8Z8CHR2.net]
>>41
そうして書かれたコードが制約過多だって言ってんだよw

43 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 07:31:08.29 ID:kDmi0r/e.net]
頭いいなら機械語直接書いてくれ
俺は頭悪いからモダンな構文使える言語を選ぶよ

44 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 07:33:34.18 ID:k8Z8CHR2.net]
じゃあgoっていう簡単な言語があるよw Rustとかいうゴミ言語を勧めるバカの言うことは聞かない方がいいよw

45 名前:デフォルトの名無しさん [2022/03/23(水) 07:35:26.97 ID:QsWn2aJ/.net]
Goの良さもRustの良さもわかるからそこまで論争になるのがよくわからないw

46 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 07:39:15.66 ID:k8Z8CHR2.net]
俺は遊んでるだけだけどw

47 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 07:40:32.44 ID:k8Z8CHR2.net]
なんかやたら噛み付いてくるんだよねw 事実なのにちょっとでもRustをディスるとw

48 名前:デフォルトの名無しさん [2022/03/23(水) 07:41:18.55 ID:Ur6oGy1g.net]
なぜ論争になるかより、なぜ相手にするのかが疑問だ
NG放り込めば始末できるのに

49 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 07:41:49.60 ID:YNaZlr7q.net]
>>39
色んなプログラミング言語を知らないあなたが無知にみえます
Rustの場合は関数型言語に近くてif式、match式、loop式といったように文ではなく値を返すことが可能なものが多いです
そのため必然的にほとんどの変数利用はimmutableとなります
もちろんRustはmutableも使えますからそこに制限は全くないです
上述したようにif式、match式、loop式といった値を返すことも可能な点でも他の言語よりも自由度と表現力が増しています

50 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 07:43:00.65 ID:k8Z8CHR2.net]
我慢できないようだよw なんでかは知らないw
あ、別スレに貼ったやつを燃料として投下しておこうw

https://mevius.5ch.net/test/read.cgi/tech/1643289587/730
学習曲線やゔぁ!w



51 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 07:46:48.46 ID:k8Z8CHR2.net]
>>49
近くねーよw 関数型に近い表現が出来るとしか言われてねーよw
そして最近の言語は程度の差こそあれ近い表現も遅延評価も出来るよw

52 名前:デフォルトの名無しさん [2022/03/23(水) 07:57:06.22 ID:QsWn2aJ/.net]
rustは学習曲線高いと言っても、一番最初にrustを勉強すると大変だとは思うけど、c++とhaskellあたりを学んでおけば大したことないし、コンパイラがうるさいおかげでよくわからないままメモリ周りのバグを含んだクソコードを書かないという点ではハードルはむしろ低いんじゃないか?
goはそれとは逆のアプローチを取ってるだけでどちらが優れているとかではない気がする。
片方を過剰に擁護するのはプログラミング言語についてあまり知らないから自分の理解できるところだけ切り抜いて騒いでるだけにしか見えない。
goが馬鹿向けの言語とか言ってる人もいるけど、goを使って素晴らしいソフトウェアを作り上げた優秀なエンジニアもたくさんいることを知らずに言ってるなら本当に恥ずかしいことだと思うw

53 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 07:59:10.53 ID:FgzylXVH.net]
>>52
キミは賢くてかつ弁えてるね

54 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 08:02:19.50 ID:IC5SATyv.net]
>>44
横入りですまんがGoは言語の機能が低すぎるせいで無駄に記述が長くなり苦痛
書いていると同じパターンが何度も出てくる
Go言語のサポートが少ないため冗長なことを人間がさせられてしまう

55 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 08:19:52.35 ID:7xSibnEC.net]
>>52
>c++とhaskellあたりを学んでおけば大したことないし

つまり初級者・中級者お断りということかね。
PythonとかJavaあたりのユーザーは絶望的かと。

56 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 08:23:01.04 ID:k8Z8CHR2.net]
C++の前にCは習得しておきたいし、C++自身もHaskellも学習曲線やばいけどねw
ヤバい言語を2つも習得してようやく他の言語と比較しうる学習曲線になるRustって一体・・・w

Goの冗長さはRustの言語的制約と似たようなものw
明快さの代わりに受け入れざるを得ないw この手の問題は開発環境によりほんのり改善できるw

57 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 08:34:40.79 ID:Bhs+4jj4.net]
>>55
C++もHaskellも全く知らないけど
Rustを普通レベルには使えるようになったから
C++もHaskellを知らなくても大丈夫なことは保証するよ

58 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 08:37:32.32 ID:ED6mevIO.net]
今こそJava復活の時

[速報]JavaOneが復活、今年10月にラスベガスで開催。2017年以来5年ぶり
https://www.publickey1.jp/blog/22/javaone1020175.html

59 名前:デフォルトの名無しさん [2022/03/23(水) 08:42:55.48 ID:QsWn2aJ/.net]
>>55
この表現は確かに不適切だったと思う。
伝えたかったのは、cライクな構文、メモリ周りの知識、型システムの知識があればrustが極端に難しい言語ってわけではないってことなんだ。
そしてこれらの知識はプログラミングを書いていれば自然と知ることになるものだと思ってる。(c++とhaskellが書けないと理解できないと言いたかったわけではない)
プログラミング初学の人や、プログラマではないが仕事の道具としてスクリプト言語を使ってるような人が学ぶ言語じゃないのとは思うけど、アプリケーションの開発を行うような人にとっては難しすぎる言語仕様じゃない。

60 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 08:47:46.12 ID:k8Z8CHR2.net]
違う違うぞ
使えるようになったつもりなだけだw
RustにはC++とHaskellが必須!C++の難解なエラーを気が狂いそうなほど読み解き、公衆の面前でモナドとは・・・っていうポエムを書いてからでないと本当の意味でRustの扉は開かないw



61 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 09:06:26.09 ID:+IZ6XP4Y.net]
>>59
同感
Rustを難しいと言うのは大げさもしくは批判派によるレッテルだと学んで分かった
むしろRustを使うことでの絶大な効果に驚いた
一番大きかったのは実行時デバッグの激減
コンパイル時点で実行時に起き得る様々な問題を食い止めてくれるため開発効率が一気に上がった
使いやすさに加えて実行の速さや省メモリなど一石多鳥

62 名前:デフォルトの名無しさん [2022/03/23(水) 09:23:15.77 ID:QsWn2aJ/.net]
>>61
伝わってよかった....
後半の部分も完全に同意する。ブレークポイント貼って変数の値をチェックしながらデバッガをいじくり回すみたいなことをする頻度が激減したのが大きい。
ヤバそうな部分もunsafeとかunwrapみたいにコード上に明示されるのが地味に快適。自分にとってコードって書くことより読むほうが大変だから、そういうところがありがたい。

63 名前:38 mailto:sage [2022/03/23(水) 09:35:58.30 ID:znQ4kzdw.net]
確か、Elixir はスクエニで使っている。
ニコ生でも、会議をやっていた

他には、組み込みのNerves

YouTube で有名な、雑食系エンジニア・KENTA のサロンは、Ruby on Rails だけど
ポートフォリオは、Elixir のPhoenix

64 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 10:03:50.80 ID:Hqya9b1R.net]
>>62
書きより読み重視ってのは最近の言語全般の傾向であるように思う
GoとRustは全然方向性違うけど、ソースコードの情報量増やして読むコストを下げるという点では同じかな、と
OSSなんかだと書く人より読む人が遥かに多いし、個人開発だったとしても半年前のコードなんて覚えてないから結局読みやすさは重要だよね

65 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 10:52:27.45 ID:FgzylXVH.net]
書きやすい言語ほど読みにくいよね
書き手の自制心にもよるんだけど
rubyとか書いてるときすっげーストレスないんだけど
あとから見るとその時のノリで書いてるのがよくわかる
Javaは現代視点だとやや冗長かもしれんが
後から読んでも意外と読みやすい

66 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 11:32:06.34 ID:znQ4kzdw.net]
可読性は重要。
漏れなんか、一月前の自分のコードでも、自分で書いたと分からないからw

この処理は、いつの間に誰が書いたの?
とか、よく他人に聞くw

67 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 11:33:27.01 ID:k1M19ntv.net]
>>62
たしかにRustでは実行しながらの無駄なデバッグ時間が無くなった
コンパイラによるチェックが厳しい言語ほどプログラミング効率が良くなると実感した

>>64
その通りで1年経つと自分で書いたコードでも忘れてる
機能追加などで再び触るときに読みやすさだけでなく
Rustではデータの扱いや構造をいじった時にミスるとコンパイラが敏感に叱ってくれるのが良い
おかげで時間生産性が大きく改善した

68 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 12:00:43.29 ID:WWS7e+O4.net]
>>59
>cライクな構文、メモリ周りの知識、型システムの知識があればrustが極端に難しい言語ってわけではないってこと

Pythonユーザーはカスリもしないし、Javaユーザーもcライクな構文以外は知識無いだろ。

>そしてこれらの知識はプログラミングを書いていれば自然と知ることになるものだと思ってる。

そりゃ傲慢だね。
PythonとかJavaを使うのにコールスタックとかヒープとか意識したっけ?

69 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 12:23:50.13 ID:EvHbv07S.net]
>>68
技術に対する知識も興味も意欲もない人でも
誰でも簡単とかいう主張はしないと思うが…

70 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 12:44:20.95 ID:WWS7e+O4.net]
>>69
>技術に対する知識も興味も意欲もない人

なるほど。Rustユーザーにとっては
>cライクな構文、メモリ周りの知識、型システムの知識
が技術に対する知識・興味・意欲を持つ人のレベルということか。
このハードルをクリアしているPython・Javaユーザーってどれくらいいるのかな?



71 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 12:50:13.13 ID:k8Z8CHR2.net]
Rust信者の単発IDがなんかいってるだけw
やってることがやばいんよねw
Rust別に読みやすくないし、変更しにくいし、習得大変だし、ごく一部の超高速超並列処理が必要なクリティカルな領域以外はいいことないからw

72 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 13:09:38.08 ID:svGg7ZtK.net]
C言語やってC++言語は何となく知っているレベルでRustやればいいなら、C++中途半端な人には嬉しい。
C++用のライブラリなんかは移植しやすいのだろうか。

73 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 14:02:38.40 ID:QZvXUCU9.net]
>>72
移植しやすさはライブラリの作りに依存すると思う
グローバル変数を雑に使うライブラリなんかだとインターフェースやデータの持ち方を見直す必要がある
スレッドセーフなライブラリならある程度はベタに移植できると思う

ただ枯れてる既存のライブラリをわざわざ移植するのは特別な理由のない限りやる必要はないと思う

74 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 14:05:59.79 ID:aOOT3ZZt.net]
>>71
Rust程度で難しいというなら
あんさんプログラミングに向いてまへんわ
スクリプトをいじる程度にしとき

75 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 16:32:34.63 ID:WWS7e+O4.net]
>>74
Rustは初級者・中級者お断りということですな。

76 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 16:44:05.96 ID:QZvXUCU9.net]
>>75
Rustの得意とするシステムプログラミング領域がそもそも初心者お断りというか、初心者が手を出そうとしない領域だよね

77 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 16:47:42.50 ID:5QD+Xegu.net]
>>75
Rustは普通のプログラマーなら余裕
ちょろっとスクリプトを書くだけの似非プログラマーには無理

78 名前:デフォルトの名無しさん [2022/03/23(水) 19:17:49.04 ID:Ur6oGy1g.net]
なぜ簡単に分断工作にひっかかるのか
うちじゃ老若男女Rust使っとるよ

79 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 19:24:04.56 ID:XLgqvJYc.net]
先入観のない初心者はRustの学習が速い
Rustは抽象度高く分かりやすく出来ているから
無理に既存の低レベルのものに例えて考えないほうが飲み込みが早いということかも

80 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 19:40:00.68 ID:kDmi0r/e.net]
Pythonから来たけど今は楽しくRust書いてる
Cは一切やったことがない



81 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 19:40:04.95 ID:QZvXUCU9.net]
本当の初学者向けの優しさというのは入門書が多いとかチュートリアルが充実してるとかで
言語仕様の善し悪しはそんなに影響しないのでは

というかプログラミング初心者がrust使って何する想定なの?

82 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 19:51:24.40 ID:fgK+Upwy.net]
CLIからWEBまで普通のことはRustでできるから人それぞれと思う

83 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 20:00:27.47 ID:S8syHMIu.net]
Rustユーザーの多くは初心者向きじゃないという認識のようですな。
ちょろっとスクリプトを書くだけの初心者とか初級者はお断り、と。

84 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 20:12:48.64 ID:NzxRseYp.net]
>>83
そういうのはインタプリタ&スクリプト言語でもいけるケースが多い
もちろんRustで書けば速さや省メモリの点でも有利なので環境によってはRustも使う

85 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 20:58:37.09 ID:k8Z8CHR2.net]
Rustなんて誰も使わないので大丈夫ですw
嘘ばかりついてるから、誰も信用せず、普及もしないw

86 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 21:18:39.03 ID:sIPI2inn.net]
そうだね

87 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 21:40:33.95 ID:Zj8OyINv.net]
Rustの案件関わった人大体C++戻っていくよね

88 名前:デフォルトの名無しさん [2022/03/23(水) 21:47:49.22 ID:EHvtOoqR.net]
>>25
dockerはgo製と聞いたことがある。

89 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 22:20:55.11 ID:ln8rDjYo.net]
>>52
> goが馬鹿向けの言語とか言ってる人もいるけど
それは俺の事だろうが、俺はそれ自体を馬鹿にしているわけではない。
実際、元祖馬鹿向けCのJavaはCよりも成功してる。

簡単は正義だ。問題は、前スレ870で言ったとおり、簡単の使い方は単純には3通りあって、
A. もっと馬鹿を雇って人件費を抑える
B. 簡単になった分早く処理して、回転数で稼ぐ
C. これまでは複雑すぎて現実的に不可能だった事に挑戦する
で、「楽になった=(A)」しかやってないのなら馬鹿にされて然るべき。
(B)(C)に関しては方向性は違うがいずれも脳味噌フル回転だから、「楽」とは感じられないはずなので。

が、まあ、(A)で行くのも自由だし、一々他人を馬鹿にする趣味もないしで、これは放置だ。
ただ俺は(C)を目指すから、それ(キラーアプリ)は何だ?と最初から何度も尋ねてるのに、
出てこない=君らも目指してないし、これまでも目指した人が誰も居なくて完成品もないから列挙出来ない
のだから、馬鹿にされても文句言えないと思うけど。手段が目的化してるだけだし。
(この点はRustも同様。
> 安全側に振ったC++なRust (32)
というのは当たってる。馬鹿向けC++になってしまっていて、(C)を目指した奴が居ないのも同じ)

多分な、コンパイル時にエラー=文法エラーにしないといけない、と固執してる点が間違ってる。
初心者がよくやるミスを救済したいのなら、IDEで色を付けるだけで済む。例えば、
・ローカル変数と、それ以外の変数(クロージャ等)は、色を変える (これは既に言ったが)
・再代入されてる変数は、色を変える
後者もすさまじく馬鹿っぽいが、現実的にこれで問題ないだろうよ。(まあ俺はimmutableでもいいんだが)

本来プログラマが学ぶべきなのは、Rust公式勝手訳日本語版まえがき(前スレ990)にある、
> やっかいな落とし穴を回避する術
なんだよ。それを文法にしてそれ以外はエラーにすれば学ばなくてもよくね?文法だけでいけるよね!
がRustの試みでもあるようだけど、ならコンパイラではなくリンターにするべきだったと思うのだが。

(と思ってたが…Goのは出てきたがまあ書いたので投稿しておく)

90 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 22:21:53.85 ID:ln8rDjYo.net]
>>88
なるほどDockerなら上手くランタイムと融合して実装の手間は大いに減る気はする。
(他言語では自前で実装しなければならない部分がランタイム内に既に実装されてるという意味で)
ランタイムがOSモドキなので仮想系は確かに強いかも。
ただしこれは言語の強さというよりは、処理系が偶々フィットした感じだが。



91 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 23:05:09.57 ID:k8Z8CHR2.net]
何を勘違いしてるのか知らんが、GoにVMはないし、仮想系?ってなんだよw
OSもどきというのはどういうこと?w
ILなどをその場で解釈/実行したり必要ならnativeにして実行を動的に実施する機能が追加されてるだけ(?)じゃないんか?w
gollvmみたいなのはあるけどw

92 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 23:48:27.71 ID:uZNiLL5S.net]
Dockerってシステムコールしまくってコンテナの実行環境を整備してるだけだろ?
コンテナの実行というクソ重い仕事に比べたらそりゃGoのオーバーヘッドなんか何の問題にもならんだろうな

93 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 01:09:04.02 ID:pqCNb7jw.net]
rustってライブラリの充実度って現状どんな感じですか?
結局pythonが当たったのってライブラリの充実度がでかかったのでそこ重要な感じがするんですけど

94 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 01:11:18.00 ID:1Vr2GJ3G.net]
どこの馬の骨が書いたのか分からないゴミみたいなのが散乱してるだけの原初の野原状態w

95 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 01:13:44.30 ID:pqCNb7jw.net]
やっぱりまだそんな段階ですか
そりゃそうでしょうね

96 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 01:17:23.42 ID:Fp4rCRr5.net]
>>92
合ってるところの方が少ないな

97 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 01:47:46.62 ID:4DXDecHD.net]
>>93
Rustならば普通のほとんどの分野でライブラリは充実していて問題ない状況

98 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 02:28:03.86 ID:WqRDDg3u.net]
>>89
あまりにもデタラメすぎ
普通のプログラミング経験がないのか?
色を付けたりリントが頑張れば何とかなると思い込んでる時点でお子様プログラマーだな

99 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 02:41:26.25 ID:1Vr2GJ3G.net]
>>97
はいはい嘘乙
こういうのはRustの学習用何かを売りたいだけのアホだから踊らされないでね

100 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 03:24:56.84 ID:LzBWTpj6.net]
>>99
たいてい必要とするライブラリが充実しているので合ってるじゃね
むしろRustで困ったこと何があるの?



101 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 04:31:02.79 ID:1Vr2GJ3G.net]
どこの誰が作ってんのか分からんやばいライブラリを疑心暗鬼で使わないといけないからw
俺は業務で使ったことはないから、その辺の知見はないw
npmとかだと人気とか見れるし、これが定番ってのがある程度見えてるんだけど、Rustにはそれらが全くないのだよw

102 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 04:41:53.12 ID:aaqsPLkK.net]
>>101
なぜそんな嘘を付きまくっているの?
npmのJavaScriptと比べても開発状況は同じ
さらにダウンロード数やその推移もRustは全て公開されていて人気状況ももちろんわかる

103 名前:デフォルトの名無しさん mailto:sage [2022/03/24(木) 05:50:03.15 ID:IpI64M2x.net]
自分でライブラリのコード読むような連中はRust使う旨味無いからC++使い続けてるでしょ
漏れの分野じゃRustの気配全く無いぞ

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 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<321KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef