スレタイ(順番はRedMonk準拠)以外の言語もok
前スレ
次世代言語24 Go Nim Rust Swift Kotlin TypeScript
https://mevius.5ch.net/test/read.cgi/tech/1647887021/
次世代言語25 TypeScript Swift Go Kotlin Rust Nim
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2022/04/17(日) 17:52:35.38ID:KG26dcth487デフォルトの名無しさん
2022/05/06(金) 06:07:47.49ID:dyg36AcX 落ちるというか、無限ループしてるっぽいんだよな。
入力を受け付けず、タスクマネージャで見るとCPUをぶん回してる。
入力を受け付けず、タスクマネージャで見るとCPUをぶん回してる。
488デフォルトの名無しさん
2022/05/06(金) 06:15:30.69ID:pLpPuHCg Linuxでは落ちないよ
489デフォルトの名無しさん
2022/05/06(金) 06:56:47.40ID:dyg36AcX 頻繁に落ちるのに、落ちないとか信者が言い張るのも、ネスケ以来の伝統だよな。
490デフォルトの名無しさん
2022/05/06(金) 07:00:58.40ID:eCfsRziE 英語設定のLinuxだけど落ちないよ?
バグってるのはサイトかホストなのでは?
バグってるのはサイトかホストなのでは?
491デフォルトの名無しさん
2022/05/06(金) 09:07:58.30ID:PZ471HHG Windowsでここ何年か使ってるけれど、
特に気になる動作は無いけれどな。
Edgeの印刷で返ってこない方が辛い。
特に気になる動作は無いけれどな。
Edgeの印刷で返ってこない方が辛い。
492デフォルトの名無しさん
2022/05/06(金) 09:58:30.45ID:+sslkA2r FireFoxで微妙に表示が崩れるとChromeだとちゃんと表示されるのか気になる
表示させてみて同じだとホッとして違ってたらがっかり
表示させてみて同じだとホッとして違ってたらがっかり
493デフォルトの名無しさん
2022/05/06(金) 10:03:00.35ID:szMyvzcx Safariが恨めしそうにこちらを見ている
494デフォルトの名無しさん
2022/05/09(月) 20:38:44.58ID:X0x/BBIp Rustが、Goの最大の競合相手であることが明らかになったってよw
プログラミング言語「Go」、開発者の満足度やニーズは?
https://japan.zdnet.com/article/35187065/
また調査では、Goの主なライバル言語が「Rust」「Python」「Java」「TypeScript」であることも明らかになった。RustとGoは、どちらもシステムプログラミング言語であり、開発者には広く評価されているが、「JavaScript」や「Python」ほどの人気はないようだ。
しかしこの調査では、Amazon Web Services(AWS)、Google、Microsoftの支持を受けているRustが、Goの最大の競合相手であることが明らかになった。Goの代わりに選ぶとしたらどの言語を選ぶかという設問では、回答者の25%がRustを選ぶと述べており、17%がPython、12%がJava、8%がTypeScript、8%がC#と回答していた。
「最もよく選ばれているのは、Rust、Python、Javaだ。RustとGoの機能セットは補完的な関係にあるため、あるプロジェクトに必要とされる機能がGoにない場合、Rustは優れた選択肢になるかもしれない」とMerrick氏は述べている。
プログラミング言語「Go」、開発者の満足度やニーズは?
https://japan.zdnet.com/article/35187065/
また調査では、Goの主なライバル言語が「Rust」「Python」「Java」「TypeScript」であることも明らかになった。RustとGoは、どちらもシステムプログラミング言語であり、開発者には広く評価されているが、「JavaScript」や「Python」ほどの人気はないようだ。
しかしこの調査では、Amazon Web Services(AWS)、Google、Microsoftの支持を受けているRustが、Goの最大の競合相手であることが明らかになった。Goの代わりに選ぶとしたらどの言語を選ぶかという設問では、回答者の25%がRustを選ぶと述べており、17%がPython、12%がJava、8%がTypeScript、8%がC#と回答していた。
「最もよく選ばれているのは、Rust、Python、Javaだ。RustとGoの機能セットは補完的な関係にあるため、あるプロジェクトに必要とされる機能がGoにない場合、Rustは優れた選択肢になるかもしれない」とMerrick氏は述べている。
495デフォルトの名無しさん
2022/05/09(月) 20:53:04.96ID:S0Cki9Rv496デフォルトの名無しさん
2022/05/09(月) 21:00:58.52ID:DoAIqFb7 競合ではなく両方利用
Goで不十分なところはRustで書いている
どこでもそうだよ
Goで不十分なところはRustで書いている
どこでもそうだよ
497デフォルトの名無しさん
2022/05/09(月) 22:46:52.00ID:TDei0tm5 それができるんならCでいいじゃん
498デフォルトの名無しさん
2022/05/10(火) 03:38:38.78ID:I4A9nNIt 理想の家族
父 40歳 海外へ単身赴任(死ぬまで)
母 35歳 息子に甘い
姉 17歳 弟に甘い
俺 44歳
妹 15歳 多感な時期 俺に反発しながらも。。?
猫 ウンチしない 抜け毛ない 俺の声かけに無視しない
父 40歳 海外へ単身赴任(死ぬまで)
母 35歳 息子に甘い
姉 17歳 弟に甘い
俺 44歳
妹 15歳 多感な時期 俺に反発しながらも。。?
猫 ウンチしない 抜け毛ない 俺の声かけに無視しない
499デフォルトの名無しさん
2022/05/10(火) 08:39:54.21ID:Hhyd/l4r >>495
そうだぞ。
競合なのは事実だろうけどGoやってるような人はRustも必要になれば普通に使える、という体で話さないと嫌われるぞ。
それに、裁量権のない作業者の間では対立関係にないから煽っても無意味だぞ。
そうだぞ。
競合なのは事実だろうけどGoやってるような人はRustも必要になれば普通に使える、という体で話さないと嫌われるぞ。
それに、裁量権のない作業者の間では対立関係にないから煽っても無意味だぞ。
500デフォルトの名無しさん
2022/05/10(火) 20:07:58.34ID:8UHmp6CE 低レイヤーはRust
高レイヤーはGo
この使い分けじゃいかんの?同じシステムプログラミング言語でも毛色が違うだろ
GoogleとMicrosoftがRustに注目しているのもOS開発の目的であってGoでOS開発作ろうとはならんでしょ
高レイヤーはGo
この使い分けじゃいかんの?同じシステムプログラミング言語でも毛色が違うだろ
GoogleとMicrosoftがRustに注目しているのもOS開発の目的であってGoでOS開発作ろうとはならんでしょ
501デフォルトの名無しさん
2022/05/10(火) 21:01:49.31ID:mOdSHL41 主張はわかるが、これはもしや片思いみたいなものではと見ている。
仮にGoユーザーの多くが低レイヤーにRustを使いたい結論だったとしても、
Rustユーザーの多くが高レイヤーにGoに使いたいという結論にはならない。
よってカップル不成立。
仮にGoユーザーの多くが低レイヤーにRustを使いたい結論だったとしても、
Rustユーザーの多くが高レイヤーにGoに使いたいという結論にはならない。
よってカップル不成立。
502デフォルトの名無しさん
2022/05/10(火) 21:17:09.90ID:5Ln2ZQb8 例えばウェブサーバーサイドもRustで書いたほうが早い速いしな
503デフォルトの名無しさん
2022/05/10(火) 21:25:40.62ID:AAMxLs47 低レイヤーのことは低レイヤーガールに聞けよ
504デフォルトの名無しさん
2022/05/10(火) 22:34:17.72ID:M/BIyD/S Goは良くも悪くもCっぽくって人間が気をつけて書かないといけない部分が多いんだよな
一度Rustに慣れてしまうと、Goで隅々まで気を使うのが面倒くさくなってしまう
もちろん既存のGoプロジェクトはGoのまま書くけど、新規ならなるべくRustにしたくはなるな
一度Rustに慣れてしまうと、Goで隅々まで気を使うのが面倒くさくなってしまう
もちろん既存のGoプロジェクトはGoのまま書くけど、新規ならなるべくRustにしたくはなるな
505デフォルトの名無しさん
2022/05/10(火) 22:37:05.44ID:1A7PmF6X LinusはgitをC+シェルスクリプトで書いてた
書こうと思えば書ける
でも普通に記述に時間がかかるので今は他の言語も役割分担してる
書こうと思えば書ける
でも普通に記述に時間がかかるので今は他の言語も役割分担してる
506デフォルトの名無しさん
2022/05/10(火) 23:04:46.44ID:7R870FiC Rustはデータ競合らへんは起きないけど、Box、Rc、Arenaを気をつけて使い分けないといけないのとか面倒だと思うけどな
507デフォルトの名無しさん
2022/05/10(火) 23:36:04.65ID:M/BIyD/S Goの一番の面倒さはnilとエラーハンドリングかな
Option/Result型だけでも特別に用意されてれば、もっとGo使ってたかもしれん
Option/Result型だけでも特別に用意されてれば、もっとGo使ってたかもしれん
508デフォルトの名無しさん
2022/05/10(火) 23:49:42.04ID:Lq7F/6H2509デフォルトの名無しさん
2022/05/10(火) 23:52:42.15ID:1A7PmF6X Rustで引っかからずコードを書き上げるのはかなりの猛者だと思うよ
本当の意味での言語仕様部分は何とかなるかもしれないけどそこから先がつらい
入門4冊目の「コンセプトから理解するRus」tを読んで途中で投げ捨てた
本自体は良書なんだけどtrait境界がもう人間の理解を超えてる
Cだと時間をかければ書き終えれるけどバグが入ってる可能性がある
本当の意味での言語仕様部分は何とかなるかもしれないけどそこから先がつらい
入門4冊目の「コンセプトから理解するRus」tを読んで途中で投げ捨てた
本自体は良書なんだけどtrait境界がもう人間の理解を超えてる
Cだと時間をかければ書き終えれるけどバグが入ってる可能性がある
510デフォルトの名無しさん
2022/05/10(火) 23:56:51.45ID:1A7PmF6X Rustはある程度から人間の理解を超えて来るので一定程度以上勉強しても無駄かなと
511デフォルトの名無しさん
2022/05/10(火) 23:57:58.56ID:M/BIyD/S512デフォルトの名無しさん
2022/05/10(火) 23:59:30.65ID:1A7PmF6X513デフォルトの名無しさん
2022/05/11(水) 00:06:17.66ID:0PGn8I2M プログラミングはは知的生産だと思ってたけどこれはもう違う別の何か
他人の書いたコードは意味が分からないというけどそれ以前に自分で書いてもわけがわからない
理解の外にあっても動くからあっている
コンパイルエラーが出ないからあっている
それは本当に正しいことなのか
バグが入ってないのかはもちろん期待した動作なのかすらわからない
人間が揺さぶられてきている
他人の書いたコードは意味が分からないというけどそれ以前に自分で書いてもわけがわからない
理解の外にあっても動くからあっている
コンパイルエラーが出ないからあっている
それは本当に正しいことなのか
バグが入ってないのかはもちろん期待した動作なのかすらわからない
人間が揺さぶられてきている
514デフォルトの名無しさん
2022/05/11(水) 00:07:09.92ID:xUytDrfJ 多くの人に知ってもらいたい
これはもうプログラムではないよと
これはもうプログラムではないよと
515デフォルトの名無しさん
2022/05/11(水) 00:09:05.79ID:SabgIUuG 実装に必要なtraitを境界として追加しただけで煩雑だけど難しくはないよね
516デフォルトの名無しさん
2022/05/11(水) 00:13:46.50ID:q+AJMQiL >>509
そのtrait境界は意外に理解が簡単だった
ジェネリックにプログラムを書く時にそのジェネリックな型には何が来てもいいわけではなくて
書くプログラムの中で使っている機能(というかインタフェースというかメソッド)を持つ保証する(というか限定するというか制約条件を並べる)こと
例えば本スレからコピペだけど以下のフィボナッチ数列イテレータ
型へのtrait境界がwhereのところにあるClone(複製できること)とTryFrom<usize>(数値から変換できること)とnum::CheckedAdd(オーバーフロー検知付き足し算ができること)の3つを満たしてればどんな型でも適用可能
fn fibonacci<T>() -> impl Iterator<Item=T>
where T: Clone + TryFrom<usize> + num::CheckedAdd,
{
let [zero, one] = [0, 1].map(|n| T::try_from(n).ok().unwrap());
itertools::unfold((zero, one), |(m, n)|
m.checked_add(&*n).map(|f| {
*m = n.clone();
*n = f.clone();
f
})
)
}
pub fn main() {
for f in fibonacci::<i8>() {
print!("{f} ");
}
println!();
}
そのtrait境界は意外に理解が簡単だった
ジェネリックにプログラムを書く時にそのジェネリックな型には何が来てもいいわけではなくて
書くプログラムの中で使っている機能(というかインタフェースというかメソッド)を持つ保証する(というか限定するというか制約条件を並べる)こと
例えば本スレからコピペだけど以下のフィボナッチ数列イテレータ
型へのtrait境界がwhereのところにあるClone(複製できること)とTryFrom<usize>(数値から変換できること)とnum::CheckedAdd(オーバーフロー検知付き足し算ができること)の3つを満たしてればどんな型でも適用可能
fn fibonacci<T>() -> impl Iterator<Item=T>
where T: Clone + TryFrom<usize> + num::CheckedAdd,
{
let [zero, one] = [0, 1].map(|n| T::try_from(n).ok().unwrap());
itertools::unfold((zero, one), |(m, n)|
m.checked_add(&*n).map(|f| {
*m = n.clone();
*n = f.clone();
f
})
)
}
pub fn main() {
for f in fibonacci::<i8>() {
print!("{f} ");
}
println!();
}
517デフォルトの名無しさん
2022/05/11(水) 00:18:22.19ID:xUytDrfJ 実際にトレイト境界の条件の実装部分を読んでみた
シンプルなマクロで書かれてる部分もあれば複雑な部分もある
そこで書いてある実装が本当に確実の条件を満たしうるのかは分からないし
ドキュメントを読んでも厳格な意味が書いてあるわけでもない
どこかで漏れがあってもわからない
シンプルなマクロで書かれてる部分もあれば複雑な部分もある
そこで書いてある実装が本当に確実の条件を満たしうるのかは分からないし
ドキュメントを読んでも厳格な意味が書いてあるわけでもない
どこかで漏れがあってもわからない
518デフォルトの名無しさん
2022/05/11(水) 00:37:16.75ID:xUytDrfJ 例えば条件の一つがよくよく考えてみればさらに二つに分離して考えないといけないものだと
後で判明するともう既存のコードがみんな死んでしまう
使用してる所を全部さかのぼって修正しないといけない
それかRust自体の仕様変更で死んでしまったりいろいろ死にそうな要因がたくさんある
マクロでやりすぎてる
後で判明するともう既存のコードがみんな死んでしまう
使用してる所を全部さかのぼって修正しないといけない
それかRust自体の仕様変更で死んでしまったりいろいろ死にそうな要因がたくさんある
マクロでやりすぎてる
519デフォルトの名無しさん
2022/05/11(水) 00:39:26.57ID:OHUg1Auo520デフォルトの名無しさん
2022/05/11(水) 11:02:33.31ID:ut6S4c2T Rustの標準ライブラリの設計がそもそも間違ってて、その修正のために破壊的な変更がいきなりきたら大変だ、って話?
そんな馬鹿な、と笑っちゃうね
そんな馬鹿な、と笑っちゃうね
521デフォルトの名無しさん
2022/05/11(水) 12:27:47.37ID:0Stn7tVM サプライチェーン問題は批判理由が見つからない人が持ち出しがち。
マクロがない言語だと、同じ機能をコンパイラやらランタイムが持ったりするわけだが、不思議に誰もそれらの機構を疑わなかったりする。
中身が可視化されたのに逆に疑わしく感じた場合は、まずは自分の知識が足りなかったことに気づきましょう。
マクロがない言語だと、同じ機能をコンパイラやらランタイムが持ったりするわけだが、不思議に誰もそれらの機構を疑わなかったりする。
中身が可視化されたのに逆に疑わしく感じた場合は、まずは自分の知識が足りなかったことに気づきましょう。
522デフォルトの名無しさん
2022/05/12(木) 17:29:32.27ID:LSv3zttQ 実装の問題は重要だろ。
そもそも実装と独立に仕様だけ語れるような作りにrustはなってない。
そもそも実装と独立に仕様だけ語れるような作りにrustはなってない。
523デフォルトの名無しさん
2022/05/12(木) 18:12:00.76ID:cxVwbP/0 何を問題視してるのかもうちょっとわかりやすく書いてくれないと議論にならん
524デフォルトの名無しさん
2022/05/12(木) 18:19:51.09ID:q5adbU17 判らないなら無理して首を突っ込むことはないかと…
525デフォルトの名無しさん
2022/05/12(木) 18:20:37.20ID:q5adbU17 コーダー風情にはどこら辺に問題があるかすらわからないんだ
ほっとけばいい
ほっとけばいい
526デフォルトの名無しさん
2022/05/12(木) 18:57:51.28ID:+0JH2q+I >>522
依存型理論原理主義過激派かな?ちょっと面白い
依存型理論原理主義過激派かな?ちょっと面白い
527デフォルトの名無しさん
2022/05/12(木) 19:03:55.20ID:KS5+XyCs 依存型ってrustは入れてないやろ
528デフォルトの名無しさん
2022/05/12(木) 19:34:17.87ID:B7YnOOaf >>527
Π型はないけど、const genericsなら…
Π型はないけど、const genericsなら…
529デフォルトの名無しさん
2022/05/13(金) 10:40:27.81ID:fhDjEdn1 >>521
ランタイムが持ってる言語ならランタイムをアップデートしたら終わり
マクロの言語は該当箇所を探し出して修正して丸ごと再コンパイルが必要
工数考えたらどちらが有利なのかすぐ分かる
知識が足りないのはどちらなんだろうか?
ランタイムが持ってる言語ならランタイムをアップデートしたら終わり
マクロの言語は該当箇所を探し出して修正して丸ごと再コンパイルが必要
工数考えたらどちらが有利なのかすぐ分かる
知識が足りないのはどちらなんだろうか?
530デフォルトの名無しさん
2022/05/13(金) 10:59:45.86ID:0p7HEVH9 >>529
現実には起きない架空の話だから両者ともにバカげている
現実には起きない架空の話だから両者ともにバカげている
531デフォルトの名無しさん
2022/05/13(金) 12:10:30.96ID:uaWVrnpQ 笑っちゃうね
532デフォルトの名無しさん
2022/05/13(金) 12:50:06.30ID:tAeYJnp8 >>529
ランタイムだけ差し替えられることに気づくとは…
ランタイムだけ差し替えられることに気づくとは…
533デフォルトの名無しさん
2022/05/14(土) 10:40:41.82ID:vWT7MZ9I さすがナレッジワーカーだね
534デフォルトの名無しさん
2022/05/14(土) 22:44:26.45ID:z9ygdFkB Juliaの今ひとつなところはswitch/case文がないところ
あのパイソンでさえ導入したのに時代錯誤
それ以外は良さそうな言語
しらんけど
あのパイソンでさえ導入したのに時代錯誤
それ以外は良さそうな言語
しらんけど
535デフォルトの名無しさん
2022/05/15(日) 08:12:53.18ID:peAa8dI5 Juliaではマルチディスパッチしろという方針なのかもしれんが、マルチディスパッチの方が他言語に普及してないのは機能として過剰な割に効率性に劣るからなんだろうかね
536デフォルトの名無しさん
2022/05/15(日) 08:40:21.58ID:gv+JQ3Ew まつもとゆきひろ氏が考える、プログラミング言語の未来
https://logmi.jp/tech/articles/326541
楓:「今Ruby、Cの次に好きな言語はなんですか」。
まつもと:そうだな。Elixir、Go、Rustは気になるっちゃ気になるんですね。ただ、正直に言うとRustは僕の好みではない(笑)。
楓:おおー。気になるポイントと好みじゃないポイントはどのあたりなんですか。
まつもと:やはりCを一番よく書くので、システムプログラミングの領域が、私がよくプログラムする領域なんですけど。そこに出てくる言語の中で今一番メジャーなのは、GoとRustであるというのが気になるところですね。
だけど、Rustが型でいろいろなことを言ってくれるのはうれしいところとうれしくないところがあって。つまりコンパイラに怒られるんですね。僕はコンパイラに怒られるのがすごく嫌いなので(笑)。なんかストレスがたまるんですよね。
楓:(笑)。
まつもと:どちらかというと、技術的なことではないところで一緒にがんばれるものがいいなって思っていて(笑)。
https://logmi.jp/tech/articles/326541
楓:「今Ruby、Cの次に好きな言語はなんですか」。
まつもと:そうだな。Elixir、Go、Rustは気になるっちゃ気になるんですね。ただ、正直に言うとRustは僕の好みではない(笑)。
楓:おおー。気になるポイントと好みじゃないポイントはどのあたりなんですか。
まつもと:やはりCを一番よく書くので、システムプログラミングの領域が、私がよくプログラムする領域なんですけど。そこに出てくる言語の中で今一番メジャーなのは、GoとRustであるというのが気になるところですね。
だけど、Rustが型でいろいろなことを言ってくれるのはうれしいところとうれしくないところがあって。つまりコンパイラに怒られるんですね。僕はコンパイラに怒られるのがすごく嫌いなので(笑)。なんかストレスがたまるんですよね。
楓:(笑)。
まつもと:どちらかというと、技術的なことではないところで一緒にがんばれるものがいいなって思っていて(笑)。
537デフォルトの名無しさん
2022/05/15(日) 08:49:59.25ID:SgXGf86o どの言語でも間違えればコンパイラに怒られる
その程度でストレスがたまるならば頭がよくないのかもしれない
その程度でストレスがたまるならば頭がよくないのかもしれない
538デフォルトの名無しさん
2022/05/15(日) 09:40:56.30ID:N7JPl8Lh コンパイラに怒られずにランタイムに怒られる方が
ストレスたまりそうなんだが違う感覚の
人もいるんだなあ
ストレスたまりそうなんだが違う感覚の
人もいるんだなあ
539デフォルトの名無しさん
2022/05/15(日) 09:42:48.17ID:am1d3hDu 必要以上に怒られてるからクソって話なんでしょ
540デフォルトの名無しさん
2022/05/15(日) 09:49:32.98ID:2T0P5EJz ランタイムに怒られてもうまく問題点を見つけ出せる方が頭良い気がする
僕はあんまり賢くないからコンパイラが叱ってくれる方が楽
僕はあんまり賢くないからコンパイラが叱ってくれる方が楽
541デフォルトの名無しさん
2022/05/15(日) 09:50:12.91ID:C1KM65Ry 自分がすごくプログラミングが出来る自負があるから、コンパイラに怒られるとプライドが傷つくから嫌だって言ってるようにも見える
542デフォルトの名無しさん
2022/05/15(日) 09:52:43.88ID:lixSo2ZB ひろゆきは賢いからコンパイラは余計なことを小うるさく言わんでいいって感じ?
543デフォルトの名無しさん
2022/05/15(日) 09:52:58.51ID:WKOj7Eq4 自意識過剰で被害妄想だな
コンパイラは怒ってるのではなくて指摘してるだけ
コンパイラは怒ってるのではなくて指摘してるだけ
544デフォルトの名無しさん
2022/05/15(日) 10:06:42.86ID:6dsDjrbs The compiler is your friend
545デフォルトの名無しさん
2022/05/15(日) 10:31:50.86ID:C1KM65Ry Rustのコンパイラに怒られるってことは所有権のシステムとかが全然理解できてないんだと思う
前の職場にもc/c++を数十年やっててrustを毛嫌いしてる人何人かいたけど、今更自分がコンパイラに指摘されまくるのがプライドが許さないんだろうな
前の職場にもc/c++を数十年やっててrustを毛嫌いしてる人何人かいたけど、今更自分がコンパイラに指摘されまくるのがプライドが許さないんだろうな
546デフォルトの名無しさん
2022/05/15(日) 10:45:11.53ID:duXfvT8B >>542
「ゆき ひろ」なw
「ゆき ひろ」なw
547デフォルトの名無しさん
2022/05/15(日) 11:08:18.85ID:68DnPwxB 人間の理解を超えたところから怒られるのは違うかなと
それってプログラムなのか?
それってプログラムなのか?
548デフォルトの名無しさん
2022/05/15(日) 11:12:52.72ID:68DnPwxB 囲碁や将棋はもうAIの方がかなり上に行っちゃって誰もAIに勝てない
プロも含めてAIの手を研究してるけど理解できないのがかなりある
それを意味も分からずただなぞって指してる人もいる
プログラムはそのレベルじゃないけどそういうものに近づいてる
プロも含めてAIの手を研究してるけど理解できないのがかなりある
それを意味も分からずただなぞって指してる人もいる
プログラムはそのレベルじゃないけどそういうものに近づいてる
549デフォルトの名無しさん
2022/05/15(日) 11:25:25.72ID:+6kSxcdv デバッグ含めた開発効率の良さを考えると可能な限りコンパイル時に怒って欲しいかな
コンパイラが怒ってくれる > ランタイムが怒ってくれる > 誰も怒ってくれない
コンパイラが怒ってくれる > ランタイムが怒ってくれる > 誰も怒ってくれない
550デフォルトの名無しさん
2022/05/15(日) 11:45:48.58ID:cL2R0opO プログラムを書いてエラーが出ると「自分が否定された」「尊厳を奪われた」と感じる人もいる、という話
https://togetter.com/li/1698737
https://togetter.com/li/1698737
551デフォルトの名無しさん
2022/05/15(日) 11:57:01.15ID:UbJQuPTx ランタイムは運良くバグを踏まなければずっと怒られずに済むのに対してコンパイラは必ず怒られるから
前者の方がいいって人もいるんだろうね
前者の方がいいって人もいるんだろうね
552デフォルトの名無しさん
2022/05/15(日) 12:21:03.73ID:uEAI3vEe ドMなので
553デフォルトの名無しさん
2022/05/15(日) 12:28:05.42ID:0scjaaG3 コンパイルが通って、いざ実行してみたら
「segmentation fault.」とそっけなく言われるのもまた一興
「segmentation fault.」とそっけなく言われるのもまた一興
554デフォルトの名無しさん
2022/05/15(日) 12:43:05.95ID:wf2KlSEE >>545
そうゆう浅はかな考えは恥をかく元。常に所有権を意識しなきゃならないので、言うなら、呼び出される上のほうでロックしてても
複数スレッドでアクセスして安全なのに、所有権をいちいち意識しなきゃならないという事だ。
Rustはスクリプト言語の作者からすれば、面倒な記述が多すぎると感じて当たり前
強いて言えば、こういう浅い奴がマウントとってる現状のRustコミュニティは反吐が出る、Rubyコミュニティも好きでもないけど
そうゆう浅はかな考えは恥をかく元。常に所有権を意識しなきゃならないので、言うなら、呼び出される上のほうでロックしてても
複数スレッドでアクセスして安全なのに、所有権をいちいち意識しなきゃならないという事だ。
Rustはスクリプト言語の作者からすれば、面倒な記述が多すぎると感じて当たり前
強いて言えば、こういう浅い奴がマウントとってる現状のRustコミュニティは反吐が出る、Rubyコミュニティも好きでもないけど
555デフォルトの名無しさん
2022/05/15(日) 12:56:50.39ID:+mKsOYSe >>554
貴殿も的外れ
貴殿も的外れ
556デフォルトの名無しさん
2022/05/15(日) 14:03:03.21ID:8BbShedD そろそろ指摘するんじゃ無くて、勝手に直したり、良きに計らって欲しい。
557デフォルトの名無しさん
2022/05/15(日) 15:06:40.70ID:v+sSFlFE >>545
実はそういうは人を排除するためだけにRustのプロジェクトを立ち上げたりしてる組織もある
実はそういうは人を排除するためだけにRustのプロジェクトを立ち上げたりしてる組織もある
558デフォルトの名無しさん
2022/05/15(日) 15:29:27.60ID:2Vop47w6 陰湿やなあ
559デフォルトの名無しさん
2022/05/15(日) 16:17:30.31ID:SzIUVHZr 今のコンパイラはエラーが起きた行を指摘するけど
「この辺がちょっと気になります」
と指摘してくれるコンパイラが
そろそろ出てきてもいいような気がする
エラーの種類はそんなにないと思うので
「この辺がちょっと気になります」
と指摘してくれるコンパイラが
そろそろ出てきてもいいような気がする
エラーの種類はそんなにないと思うので
560デフォルトの名無しさん
2022/05/15(日) 16:25:25.34ID:VMVrIVgn 静的解析ツールなら前からあるぞ。高いけど。
561デフォルトの名無しさん
2022/05/15(日) 17:05:02.60ID:68DnPwxB 松本が所有権を理解してないんじゃないと思うがw
まっつの言うこととこのスレの指摘はずれてると思う
松本の言ってることを理解してないだけ
気を付けて普通に書いてバグが出ないのが普通
それでも日常的にコンパイラに怒られるのは人間じゃなくて言語がおかしい
まっつの言うこととこのスレの指摘はずれてると思う
松本の言ってることを理解してないだけ
気を付けて普通に書いてバグが出ないのが普通
それでも日常的にコンパイラに怒られるのは人間じゃなくて言語がおかしい
562デフォルトの名無しさん
2022/05/15(日) 19:34:19.11ID:bvYh9RC/ なんか最近開発に興味なくなってきた
こんな時みんなどうしてるの?
プログラミングだけが俺のアイデンティティだったのに
死ななきゃいけない?
こんな時みんなどうしてるの?
プログラミングだけが俺のアイデンティティだったのに
死ななきゃいけない?
563デフォルトの名無しさん
2022/05/15(日) 20:04:07.82ID:ezWJ6neI さぁ?江頭2:50見て元気を貰うとかかな
564デフォルトの名無しさん
2022/05/15(日) 20:21:42.85ID:Fhttg/Du >>563
あ?バカにしてんの?
あ?バカにしてんの?
565デフォルトの名無しさん
2022/05/15(日) 21:31:15.68ID:Wjdq3fA+ 最近のげんこはprintをpirntとか書くと、
候補を提示してくれるよね。
あたまいい!!
候補を提示してくれるよね。
あたまいい!!
566デフォルトの名無しさん
2022/05/15(日) 23:05:43.75ID:QlsYdN5b567デフォルトの名無しさん
2022/05/15(日) 23:18:12.92ID:yIEtIhqx568デフォルトの名無しさん
2022/05/16(月) 05:52:10.13ID:x9xW3Kri >>562
ぼくも(´・ω・`)
ぼくも(´・ω・`)
569デフォルトの名無しさん
2022/05/16(月) 07:12:48.31ID:3AP7f9yS 英語圏のフォーラム見に行くくらいモチベあったのにな
570デフォルトの名無しさん
2022/05/16(月) 08:44:14.30ID:IfoxgD2F >>545
Rustはマナー講師みたいなものだろ。
Rustが望ましいと考えるスタイルを強制して他のやり方を許さない。「なんで?」と理由を聞いても「それがルールだから」とか理解しがたいことしか言わない。
せめて「スタックにデータを保存するため」とか「Cleanみたいに参照透過性と性能を両立させるため」とか言えばいいのに、そういった思想的な背景を説明しないからマナー講師が跋扈する。
Rustはマナー講師みたいなものだろ。
Rustが望ましいと考えるスタイルを強制して他のやり方を許さない。「なんで?」と理由を聞いても「それがルールだから」とか理解しがたいことしか言わない。
せめて「スタックにデータを保存するため」とか「Cleanみたいに参照透過性と性能を両立させるため」とか言えばいいのに、そういった思想的な背景を説明しないからマナー講師が跋扈する。
571デフォルトの名無しさん
2022/05/16(月) 09:01:06.67ID:nGMMRLLq >>570
それはどのプログラミング言語でも同じ。
いずれの言語も独特のスタイルを押し付けてくる。
もしそれを感じ取れないならば、それは特定のスタイルに慣れてしまっているだけに過ぎない。
例えばわかりやすい例を持ち出せば、リアクティブな言語や宣言的な言語では、
a = b + 100
と記述しておけば、aが変わればそれに応じてbが変わるし、bが変わればそれに応じてaが変わる。
ところがそうでない不便な言語に出会ったときに、
双方向に自動的に変わってくれないために苛立つかもしれない。
それはどのプログラミング言語でも同じ。
いずれの言語も独特のスタイルを押し付けてくる。
もしそれを感じ取れないならば、それは特定のスタイルに慣れてしまっているだけに過ぎない。
例えばわかりやすい例を持ち出せば、リアクティブな言語や宣言的な言語では、
a = b + 100
と記述しておけば、aが変わればそれに応じてbが変わるし、bが変わればそれに応じてaが変わる。
ところがそうでない不便な言語に出会ったときに、
双方向に自動的に変わってくれないために苛立つかもしれない。
572デフォルトの名無しさん
2022/05/16(月) 11:59:09.62ID:TAALxp7N >>571
「それは特定のスタイルに慣れてしまっているだけに過ぎない。」と切り捨てているところに排他的思想&知識マウントを感じるね。
a = b + 100の例は代入演算に対して ("="から一般的に連想される) 「等しい」の意味を適用することにより生じる誤謬。
原理や技術的決定を理解せずに相手にルールを押し付けようとするマナー講師の話とは関係無いな。
「それは特定のスタイルに慣れてしまっているだけに過ぎない。」と切り捨てているところに排他的思想&知識マウントを感じるね。
a = b + 100の例は代入演算に対して ("="から一般的に連想される) 「等しい」の意味を適用することにより生じる誤謬。
原理や技術的決定を理解せずに相手にルールを押し付けようとするマナー講師の話とは関係無いな。
573デフォルトの名無しさん
2022/05/16(月) 13:13:57.85ID:IoIRdAU7 >>570
むしろスタイルを強制しないプログラミング言語なんて存在するのか?
むしろスタイルを強制しないプログラミング言語なんて存在するのか?
574デフォルトの名無しさん
2022/05/16(月) 13:41:05.21ID:8gGmt1rZ 松本がRust好きじゃないのはまあそうだろうなとは思う。
この人、テストコードとかも好きじゃないとか言ってたし。
個人的にはそれじゃ仕事にならんだろとか思ったりはするけれど、とりあえずこの人のスタンスは一貫はしてるよ。
この人、テストコードとかも好きじゃないとか言ってたし。
個人的にはそれじゃ仕事にならんだろとか思ったりはするけれど、とりあえずこの人のスタンスは一貫はしてるよ。
575デフォルトの名無しさん
2022/05/16(月) 18:39:47.20ID:qW5+0T97576デフォルトの名無しさん
2022/05/16(月) 19:09:08.37ID:R1kAqWTp >>575
エラーメッセージの問題じゃなくてドキュメントの問題かもしれないけど、エラーの形で否定するなら納得のいく理由を教えてほしいものだわ。
自然法則みたいな原理があるなら、その原理からどう推論したらそのルールになるのかの考え方も欲しいところ。
まぁ、それ以前のエラーメッセージしかしないクソ言語も多いけど。C++とか。
エラーメッセージの問題じゃなくてドキュメントの問題かもしれないけど、エラーの形で否定するなら納得のいく理由を教えてほしいものだわ。
自然法則みたいな原理があるなら、その原理からどう推論したらそのルールになるのかの考え方も欲しいところ。
まぁ、それ以前のエラーメッセージしかしないクソ言語も多いけど。C++とか。
577デフォルトの名無しさん
2022/05/16(月) 21:09:51.80ID:qW5+0T97578デフォルトの名無しさん
2022/05/17(火) 03:36:27.01ID:maKCFX0H Rustのエラーメッセージの親切さは異常
579デフォルトの名無しさん
2022/05/17(火) 04:13:37.47ID:tz+YwBRZ 美人女教師のイラストでも添えたら
エラーメッセージもそれっぽい口調にして
エラーメッセージもそれっぽい口調にして
580デフォルトの名無しさん
2022/05/17(火) 08:12:17.48ID:t8H/GFrA >>577
原因じゃなくて原理ね。
エラーメッセージとしてはとりあえずは原因と解決策で十分だけど、verboseの時とかは技術的背景とかポリシーとかを説明した解説へのリンクがあると嬉しい。特に制約の厳しいライフタイムとか借用とか。
まぁ、そうなるとrust版D&Eを書くようなものだから大変か。
原因じゃなくて原理ね。
エラーメッセージとしてはとりあえずは原因と解決策で十分だけど、verboseの時とかは技術的背景とかポリシーとかを説明した解説へのリンクがあると嬉しい。特に制約の厳しいライフタイムとか借用とか。
まぁ、そうなるとrust版D&Eを書くようなものだから大変か。
581デフォルトの名無しさん
2022/05/17(火) 08:22:18.93ID:aOp3kwmZ >>580
現状でもエラーによってはGitHubのissueへのリンクが付いてるから、具体的にこのエラーでこのページへのリンクを付けるべきって提案があれば受け入れられる可能性は高いと思うよ
現状でもエラーによってはGitHubのissueへのリンクが付いてるから、具体的にこのエラーでこのページへのリンクを付けるべきって提案があれば受け入れられる可能性は高いと思うよ
582デフォルトの名無しさん
2022/05/17(火) 08:39:46.07ID:3guGxSPi カンマとピリオドの間違いとか
カンマが抜けているとか
うっかり全角文字で記号をうっているとか
初心者にありがちなエラーを
「ひょっとして・・・」
と教えてくれるとうれしいかもしれない
カンマが抜けているとか
うっかり全角文字で記号をうっているとか
初心者にありがちなエラーを
「ひょっとして・・・」
と教えてくれるとうれしいかもしれない
583デフォルトの名無しさん
2022/05/17(火) 09:03:36.05ID:t0SSI9IZ コンパイラ「Did you mean ',' instead of '.' ?」
俺「Fuck off!」
俺「Fuck off!」
584デフォルトの名無しさん
2022/05/17(火) 11:37:57.12ID:V5JE6XCC >>580
例えば、↓のコードをコンパイルすると
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=0bd550e905a2263a33895815c4430436
error[E0499]: cannot borrow `x` as mutable more than once at a time
てな感じでエラーコードが表示されて、以下の解説ページへのリンクが貼られている
https://doc.rust-lang.org/stable/error-index.html#E0499
この中から関連するリファレンスへのリンクが貼られている
現状のドキュメントで十分ではないという問題はあるかもしれないけど、>>580 で言われているような方向性にはなっているよ
>>582
上のコードのセミコロンを全角にしてみたらまさにそんな感じのメッセージが出た
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=118aa7e31d9c6c786d222f34a66623c3
error: unknown start of token: \u{ff1b}
help: Unicode character ';' (Fullwidth Semicolon) looks like ';' (Semicolon), but it is not
例えば、↓のコードをコンパイルすると
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=0bd550e905a2263a33895815c4430436
error[E0499]: cannot borrow `x` as mutable more than once at a time
てな感じでエラーコードが表示されて、以下の解説ページへのリンクが貼られている
https://doc.rust-lang.org/stable/error-index.html#E0499
この中から関連するリファレンスへのリンクが貼られている
現状のドキュメントで十分ではないという問題はあるかもしれないけど、>>580 で言われているような方向性にはなっているよ
>>582
上のコードのセミコロンを全角にしてみたらまさにそんな感じのメッセージが出た
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=118aa7e31d9c6c786d222f34a66623c3
error: unknown start of token: \u{ff1b}
help: Unicode character ';' (Fullwidth Semicolon) looks like ';' (Semicolon), but it is not
585デフォルトの名無しさん
2022/05/17(火) 16:48:28.24ID:DWSI+bpc コンパイラのエラーメッセージに外部サービスのリンクって、もしそのサービス終わったらどうすんの?
586デフォルトの名無しさん
2022/05/17(火) 17:38:26.91ID:V5JE6XCC587デフォルトの名無しさん
2022/05/17(火) 19:22:14.68ID:ARYpWsQd なお誰もやらんもよう
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★7 [蚤の市★]
- 最新版Z級クソ映画ランキングが決定! [牛丼★]
- 【STARTO ENTERTAINMENT】SUPER EIGHTの横山裕、フジ『ドッキリGP』ロケで全治2ヶ月の重傷 [Ailuropoda melanoleuca★]
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 ★2 [蚤の市★]
- 公用車カーナビのNHK受信料「全額免除を」 千葉市議会、国に制度創設求める意見書可決 [少考さん★]
- 【食】「シャウエッセンは焼くべからず」暗黙のルールを破り売上高過去最高…日本ハム社員たちが「夜味」にかけた情熱 [ぐれ★]
- 千晴のウンコ
- 死にたい
- 国民「物価高なんとかして」自民党「デフレ脱却!」
- 【朗報】南鳥島のレアアース、中国産の「20倍の純度」青山繁晴氏「日本は資源大国」日本復活のファンファーレが鳴り響く! [673057929]
- 月がきれいですね。
- NATOもレーダー照射問題で中国を批判wwwwww
