1 名前:デフォルトの名無しさん [2022/04/17(日) 17:52:35.38 ID:KG26dcth.net] スレタイ(順番はRedMonk準拠)以外の言語もok 前スレ 次世代言語24 Go Nim Rust Swift Kotlin TypeScript https://mevius.5ch.net/test/read.cgi/tech/1647887021/
20 名前:デフォルトの名無しさん [2022/04/18(月) 09:12:25.91 ID:33Ybip/c.net] Rustの文法すごい好きだから、c#ぐらいのノリでかけて文法がRustっぽい式指向な言語が欲しい
21 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 09:21:04.84 ID:usoGfIPO.net] なんでもその言語はC#のノリで書けるらしい Goやないかい! GoはC#のノリで書けるんやから! 俺はなんでもオミトオシやねんから! Goやそんなもんは!
22 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 09:33:56.22 ID:Hv7oPs1o.net] >>20 Rustの構文や標準メソッド等ほぼそのままに 所有権と借用ルールとライフタイムだけを削除というか無視して処理するGC言語『GC-Rust』を作るとよいかもね プログラミング初心者入門用にもなるし速さ省メモリを必要としない場でも使えるような 多少遅くてもいいのだからインタプリタ型でも十分かもね あとは所有権参照借用lifetimeだけ学べば本物のRustへすぐに進める
23 名前:デフォルトの名無しさん [2022/04/18(月) 09:43:43.33 ID:4vneGtME.net] >>19 ツール系はいくつかrust製があるね。 ripgrepもなかなか良いよ。
24 名前:デフォルトの名無しさん [2022/04/18(月) 09:46:35.13 ID:33Ybip/c.net] >>22 あーそんな感じだな GC付きのRust欲しいわ
25 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 10:29:24.32 ID:Mcv+P1OB.net] Rcじゃだめなの?
26 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 11:06:57.46 ID:e4wxGEsZ.net] もう調べてるかもしれないけどもっと現実的な話で式志向がいいならF#どうっすか
27 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 11:23:46.03 ID:X0td+574.net] >>14 ,15,16 スマートポインタを使い忘れるってことはmake_sharedかmake_unique使わないでnew使ってるってことだからgrepすれば簡単に見つけられる。全ての関数の引数の型とクラスメンバの型に生ポインタが無いようにすれば間違った使い方をして生ポインタがでてきてもコンパイルエラーなる。(もしそれらに生ポインタがあっても正規表現使えば見つけられるだろうし)
28 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 11:32:19.66 ID:Yow4FQAb.net] >>27 そんな面倒なことをせずとも無指定でunique_ptr相当になるRustを使った方が楽でいいな Rustなら他にも忘れたり間違えたりすればコンパイラがエラーとして詳しく指摘してくれるし
29 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 11:45:09.21 ID:VMhcwqBx.net] >>18 アリが象を潰すつもりですか?
30 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 11:47:49.11 ID:GWhRkThq.net] >>27 ある瞬間自分の書いたコードだけチェックできればいいってならその通りだとは思う ただ実際には依存ライブラリや他の人が入れてくるコード全てを常時チェックし続けないといけなくなるし もし依存ライブラリがnew使ってたとして毎回フォークして書き直すのか?という問題もある
31 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 12:03:53.59 ID:e4wxGEsZ.net] 巷に出没するRust信者自分でRustまともに書いてない説を提唱したい
32 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 12:14:51.12 ID:MYm7lCHF.net] そうなるとRustを広めたい勢力に雇われてる工作員の可能性出てきちゃう
33 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 12:27:52.69 ID:FXKoB+ib.net] >>28 引数渡しがデフォルトmoveじゃなければよかったんだかな。 デフォルトconst 参照で組まれていたらずいぶん学習しやすくなったと思う。
34 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 12:35:25.60 ID:pNu/+WEX.net] 所有権のmoveセマンティクスらへんがRustの最大の文法的特徴なのに、そこがいらんとな 最初からKotlinとか使ってればええやんか
35 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 12:42:20.62 ID:FXKoB+ib.net] >>34 C++以外のユーザーがRustを学習するときの一番の難所でもあるけどな。 実際、不変借用は頻出しそうな気がするけど、性能ペナルティーとかあるのかね?
36 名前:デフォルトの名無しさん [2022/04/18(月) 12:52:02.32 ID:4vneGtME.net] rustはインストール先がユーザーホームディレクトリの下なのが何だかな。 マルチユーザーで使う場合が手間かかる。
37 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 13:04:30.11 ID:nKPrtbqz.net] >>33 それはおかしい 一般的に参照を引き渡すということは様々な問題を生じさせるということ 競合の種も産むし参照切れの種も産む だから参照を引き渡す方が記述コストを増やすことこそ道理 次に C言語でもポインタ参照渡しは&を付けて表記する したがって無印よりも&前置こそ参照渡しに相応しい
38 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 13:08:07.19 ID:usoGfIPO.net] >>30 これ。 見つけたからってどう住んだよ?って話だよな 他社のコードを修正できないし、そもそもそんなチェックを未来永劫担当者に引き継いでいけるのか?ってこと 個人でできることと、組織やプロダクト関係者全体としてできることは違う
39 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 13:33:30.85 ID:X0td+574.net] >>30 ,38 そんなこと言ったら、Rustでも他人の書いたコードにunsafeが入ってる可能性もあるでしょ。 >>33 Nim言語だとデフォルトで不変コピー渡しだけど引数のサイズが一定サイズ以上(確かポインタサイズの3か4倍以上)だとポインタで渡すようなコードを生成するんだよね。 >>37 Rustは参照を使ったときの問題が起きないようにコンパイル時にチェックしているんだからデフォルトがconst参照渡しでも問題ないんじゃないの? Rustって借用したり借用を参照するときに&や*をつけないといけないけどその結果コードの見た目が生ポインタを使ってるCのコードに似てるんだよね。暗黙に借用したり参照しちゃダメって考えでそうなってるんだと思うけど。
40 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 13:42:31.54 ID:ZRRbnpkI.net] >>17 メモリリークは防げないでしょ
41 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 13:51:24.45 ID:vMsThGEl.net] >>39 >Nim言語だとデフォルトで不変コピー渡しだけど >引数のサイズが一定サイズ以上だとポインタで渡すようなコードを生成するんだよね。 この議論でそんな話を持ち出す時点であなたは以下の理解が足りない 一般的にプログラミング言語によるセマンティクスと最終的に生成されるコードは全く無関係でありそこに関連があってはいけない独立のものである 完全に独立したものであるが故に最終コード生成オプティマイズを十分にすることが可能となる
42 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 14:04:44.92 ID:usoGfIPO.net] >>40 そうですね。スミマセン
43 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 14:09:14.47 ID:e4wxGEsZ.net] やべーアスペおるな
44 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 14:11:19.47 ID:usoGfIPO.net] プログラミングを勉強しようと思って なにを勉強すればいいか先生に聞いたらパイソンっていうから 検索したら大きな蛇の画像とかがでてきたのでやめたわw
45 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 14:29:04.41 ID:X0td+574.net] 生成されるコードがプログラミング言語のセマンティクスと無関係じゃだめでしょ。 コード生成はプログラミング言語のセマンティクスと矛盾しない範囲内で生成しないといけない。コンパイラはその中で最適なコードを生成しようとするわけでしょ。 Nimではデフォルトで引数はプロシージャ内で変更不可(変更しようとしたらコンパイルエラー)だから引数の型のサイズに併せて生成するコードをコピー渡しにしたりポインタ渡しにできるわけで。 もし引数が可変参照渡しだと引数の型が1バイトでもコピー渡しでは無くポインタ渡しにしないといけない。関数がインライン展開されると話が違ってくるけど。
46 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 14:44:43.88 ID:usoGfIPO.net] >>44 あ、すまん。これ誤爆しました。スミマセン〜。
47 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 14:49:14.45 ID:pGCdIhc3.net] 「プログラミング言語によるセマンティクスと最終的に生成されるコードは全く無関係」そんな訳ない、RustはLLVMのIRを前提に コードが吐かれるし、コードのリンケージをアトリビュート指定できる。C言語だって同様だし、むしろ、ハードウェアよりの低レベルな システムプログラミングが可能な言語であれば、生成されるバイナリが厳密に言語の「セマンティック」を決める。 例えば今どきのCPUには分岐予測命令があるが、これに対応するstd::intrinsics::likelyのような分岐予測にヒントを与える、 セマンティクスはCPUがサポートされていれば100%生成されるバイナリがそうなる事を望む。無関係などありえない
48 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 14:53:46.39 ID:ykvGLY9n.net] >>47 Rustをgccと組み合わせて動かす試みあるから LLVM前提ではないのでは?
49 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 14:57:34.06 ID:2ZPl5Bs7.net] >>45 その言語のセマンティクスとしてimmutableで渡すケースでも 値をポインタで渡すか値自体を渡すかはどちらでも構わないから言語のセマンティクスとは別問題 もっと顕著にわかりやすい例 構造体を一つ返す関数があったとする 小さい構造体なら値を返すだろうが 大きな構造体なら領域を用意してそこに書き込んでそのポインタを返すかもしれない あるいは関数を呼ぶ側が領域を用意してそのポインタを裏引数として渡してそこへ返す値を書き込むかもしれない このように3種類考えられるが呼ぶ側と呼ばれる側で一貫していれば目的を果たす プログラマーはその生成コードが3種類のどれになるかを把握する必要はない つまりそこで明白にレイヤーが分離される
50 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 14:59:44.25 ID:X0td+574.net] >>33 もし文字列のベクタに文字列を追加する関数があったとき文字列が参照渡しでその関数が実行された後もその文字列が読まれていると、その関数は文字列をmoveすることができずコピーしなくてはならなくなるからじゃないかな。 メモリコピーは遅いから絶対に許さない人にはデフォルトがmoveのほうがいいのかも。
51 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 15:02:16.44 ID:pGCdIhc3.net] >>48 現状はIR前提でしょ、完成してない未来のものを持ち出すのであれば何とでもいえる。というか上で言ってる本題とはずれる そんなところに食いついて来てしょーもないわ
52 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 15:06:33.88 ID:i02G9WD5.net] >>47 Rustでもセマンティクスと生成コードは独立だよ 例えば>>49 の関数が構造体を返す例 生成コードは言語仕様で定められていないしあなたも方法を答えられないでしょう 実際にRustで大きな構造体を返すと所有権を活用して驚きの最適化したコードを生成するよ
53 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 15:10:05.22 ID:uPETy31e.net] >>51 開発中で完成してないとは言っても実行バイナリの 生成もできないという状態ではないから あなたの話とは違うというか あなたの主張は間違ってるという例になってますよね
54 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 15:19:05.87 ID:pGCdIhc3.net] >>52 「生成コードは言語仕様で定められていないしあなたも方法を答えられないでしょう」 え?RustにもちゃんとFFIなどextern "C" {}ブロックがあるでしょ?生成コードは言語仕様で定められているし、このようなデータの受け渡しは 参照や可変参照の制限、ボローチェックなどがOFFになる。C言語やD言語やNimも同様でしょ、これが出来ない言語はシステムプランニングが できる言語とは言えない。 「Rustで大きな構造体を返すと所有権を活用して驚きの最適化したコード」 どのような驚きのバイナリを生成しようと、例えばゲームエンジンのUnityなどでデータを渡す場合に所有権をRust側で保持したままのような コードではUnityなどでメモリー管理されるので問題が出る。だから呼び出し間でどのようにデータを受け渡すか当然指定できる
55 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 15:20:54.20 ID:pGCdIhc3.net] >>53 何を言いたいのか1つも分かりません。。。あなたの勝ちでゴリラのようにマウンティングをしてください、どうぞ
56 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 15:33:12.79 ID:mb/oYyn3.net] >>54 FFIを理解していないアホですか? 例えばそのextern "C"した時のみC言語の受け渡しインタフェースに従うだけ どの言語でもFFI使わなければ各言語が自由自在の方法を取る
57 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 15:38:01.47 ID:4qMH/RHY.net] >>39 引数のサイズが一定サイズ以上だとポインタで渡す それはそれで他者が変更したときの挙動が変わるから怖いよね。 特に並列作業時。 >>50 const参照をデフォルトにしたら、そのあたりは引き渡し時にmoveを明記するんだろうね。あるいはCOWで実装するか。 もしかしたらRustに「権利を持つオーナーは極力少なく・小さくする」というポリシーでもあるのかな?
58 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 15:47:16.94 ID:pGCdIhc3.net] >>56 さっきからID変えて絡んでこなくてよいですよ、「extern "C"した時のみC言語の受け渡しインタフェースに従う」セマンティクスと生成コードが決まりますよね。 アホと言えば誰もしもが感情的になるわけではないです。FFI使わなければなんて話をしていませんし、「プログラミング言語によるセマンティクスと最終的に 生成されるコードは全く無関係」という理想論のような現実を知らないコンピューターサイエンス学科の学生のような言葉を否定してるだけです。
59 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 15:50:35 ID:X0td+574.net] >>57 デフォルトで引数は不変が前提なので引数の型の定義を変更してポインタ渡しになったとしても基本的には挙動は変化しない。 引数のアドレスをとってれば挙動が変化するかもしれないけど、Nim言語は明示的に変数のアドレスをとることは危険な行為で自己責任でやれってことになってるから。
60 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 16:01:25 ID:hx/TPiWJ.net] >>58 普通のプログラムでC言語FFIなんて使わないです、そして、その特殊ケースはどうでもよい話です 一般的に言語が定めるセマンティクスと生成コードは別階層なので独立しています
61 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 16:06:01 ID:buwrQlsl.net] >>57 静的型付けで型サイズが定まる普通の言語ならば大丈夫 引数や返り値がポインタ渡しになるか値直接渡しになるか 型サイズ次第で変化しても一貫していれば構わない
62 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 16:44:49.00 ID:pNu/+WEX.net] >>57 > それはそれで他者が変更したときの挙動が変わるから怖いよね。 > 特に並列作業時。 横レスだけど、明らかにそういう話じゃない
63 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 17:00:59.75 ID:VCJMEsmD.net] 普通にカーネルのシステムコールするだけでC言語のFFI使ってますよ、DBアクセスするにもSQLiteでもMySQLでもPostgresqlでも使用してますし TCP/IPスタックにアクセスするにもFFI使ってます、もしや特殊なのはあなたなのでは?ガン無視されて独立しているのは、そんな詰まらないことで 言い張るあなたなのでは?
64 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 17:04:14.33 ID:uPETy31e.net] Kotlinみたいな出力先がjvmとjsとネイティブがあるのは このひとの中でどう解釈するんだろ
65 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 17:15:12.72 ID:RntYGm+C.net] >>63 そんなことは誰でも知っているがこの流れとは無関係な話 各FFIはそのFFIの指定に従う 逆に言えば各言語の普通のコードではFFIなんて関係ないので各言語で完全に自由 だから引き数や戻り値のサイズに拠ってポインタ渡しか否か変わる言語もある プログラマーはそれらを知らなくてもプログラミングできる 各言語が定めるセマンティクスだけ理解すればプログラミングできる つまりセマンティクスと生成コードは完全に独立した別階層であり無関係
66 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 17:19:02.78 ID:e4wxGEsZ.net] この話の終着点どこ? 「お前はアホだから黙れ」が立証できれば満足するの?
67 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 17:22:10.87 ID:Em1ZPrJL.net] >>33 変数の代入がmoveなのに関数引数の時だけ参照になるのは紛らわしくない?
68 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 17:33:30.39 ID:4qMH/RHY.net] >>59 あ、不変前提ね。勘違いしてました。 >>67 変数もデフォルトで不変借用にする、とか。戻り値の受けが面倒臭くなりそうだけど。
69 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 17:41:53 ID:mz+noJnQ.net] >>68 Cの(ポインタ)参照が前置&だから Rustの(借用)参照も前置&にした現状仕様がわかりやすいと思うけど、なぜ変えたいの?
70 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 17:58:50.26 ID:Em1ZPrJL.net] >>68 変数の代入をデフォルトで参照にするとmutが絡んできたときにborrow checker周りでとてつもなく面倒になりそうな気がする
71 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 21:11:14 ID:CPWR65al.net] rustはライフタイム周りが途方もなく汚く見える ウンコに触れたくない
72 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 21:16:17 ID:rznbXz+G.net] Rust「エラーには回復可能なエラーと回復不可能なエラーがあってResult<T, E>を使って~(長文)」 エンジニア「TとEって何だよ」「"?"って何?」「Box<dyn Error>って何?」 Golang「ほぼ if err != nil { panic(err) } でいい」 エンジニア「そうだったのか!」「やっと理解できた!」「Goって美しい」 何も言い返せんかったは・・・
73 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 21:19:09.66 ID:mtexizhK.net] twitterでイキってるバカをそんなに晒すなよ。
74 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 21:22:52.28 ID:rznbXz+G.net] なおイキッテルのはRUSTERのもよう GOに完全敗北してどんな気持ち?
75 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 21:26:10.80 ID:WWHuTgUM.net] null安全じゃない言語とかこのご時世にあるんですね
76 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 21:39:04.08 ID:CZqwnDNY.net] スレタイの言語でも Goとかnilチェックするコードを書き忘れてもコンパイルエラー出ないね 安全じゃない言語多すぎ
77 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 21:42:30.77 ID:rznbXz+G.net] GOはポイント使わなければ安全だぞ ただし初期値に0と””が入る
78 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 22:25:39.31 ID:hd7uWEuw.net] >>77 このif文を書き忘れたらコンパイルエラーになるの? >>72 > if err != nil {
79 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 22:30:25.57 ID:Em1ZPrJL.net] >>74 これってgoありがたがる人を馬鹿にしたツイートじゃないの?
80 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 22:44:34.76 ID:edZlyGeP.net] Goはnil安全ではない if err != nil {を書き忘れたり return nil, nilしちゃっていると死ぬ nil以外にも存在しない時の値で死ぬ 例えばstring.Index()は未発見時に-1を返す 返り値が-1かどうかチェック忘れてもコンパイルエラーとならない そのまま-1を使ってしまい実行時に死ぬ いずれのケースもRustではコンパイルエラーとなるため安全 Goは危険だらけ
81 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 22:55:48.31 ID:z7JFVAjx.net] 分かりにくい人「円周率は3.141592...と無限に続く数字で、よく近似の3.14が使われます。」 視聴者「何で3桁なの?」「2の後は何なんだよ」「近似って何?」 分かりやすい人「円周率って色々言われてるけど、実は3なんです!」 視聴者「そうだったのか!」「やっと理解できた!」「数学って美しい」 https://twitter.com/zugaaanzubababa/status/1506569845693100035 (deleted an unsolicited ad)
82 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 23:02:13.65 ID:WPqVzB8b.net] Goでは「値が存在しないこと」を安全に表す方法がないことが敗因 RustではOption<T>型のNoneで安全に表せるところ
83 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 00:46:26 ID:S3LfaCKT.net] なおシェアはGOが圧勝したもよう RUSTボーイズは一生夢見て低賃金でこき使われる童貞野郎
84 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 01:34:09 ID:VnIrO7oP.net] goはCがシンプルで使いやすいと思う人向けの言語じゃないかと思う
85 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 01:36:19 ID:VnIrO7oP.net] 言語機能をモリモリにしたい誘惑に抗ってランタイムを充実させるという判断できる自制心はすごいと思う
86 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 01:53:00.90 ID:tGbJiwG7.net] Ruby 3.0 のJIT は、MJIT で、 Ruby VM のバイト(中間)コードを、C コードに変換してから、 Cコンパイラでネイティブコードに変換していた Ruby 3.1 のJIT は、YJIT で、 バイトコードから直接ネイティブコードに変換する。 ただし、x86_64 のみに対応 条件分岐があっても、10回実行した分岐だけを変換する。 実行されない分岐は変換しない 遅延変換・Lazy Basic Block Versioning(LBBV) これで、Rails のプロジェクトが、20% ほど速くなったらしい
87 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 07:43:43.07 ID:S3LfaCKT.net] ゴミが20%早くなかったからってどうしたってゆうね
88 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 07:46:59.67 ID:3aREeURj.net] >>81 今さらゆとり
89 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 07:51:59.99 ID:jVj3oT5A.net] >>87 でもRuby on railsってまだまだ使われてるよね? 有名どころでも、クックパッド、Airbnb、Gunosy、クラウドワークス、 食べログ、価格.com、Twitter、 Hulu、 GitHub
90 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 08:03:56.92 ID:J98o16eP.net] >>81 偽物を「実は」という詐欺師。
91 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 09:17:26.14 ID:ipOfh3Xt.net] >>89 大規模railsを別言語で書き直しましたという ニュースは時々出てくるけど逆は聞かないからなあ…
92 名前:デフォルトの名無しさん [2022/04/19(火) 09:29:29.07 ID:Qc9Zpwhc.net] >>89 業界や会社によってはCOBOLだって使われてる。 いったんそれでシステム組んじまったら中々移行は出来んもんだよ。
93 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 09:35:08.80 ID:+uXVuu7q.net] >>80 >>82 Goはなぜそんな危険な言語仕様にしたの?
94 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 10:22:52.12 ID:NH+MJ17E.net] R○byは業界のSPA移行とPythonブームによって思いのほか綺麗に消えてくれたのは良かった まあPHPなんかに比べたらまだ「恥を知る」人間が多かったんだろうね
95 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 11:21:50.97 ID:XEvBz8Zw.net] >>94 PHPユーザに失礼なやつだな お前あれだろ? 刺し身に直接わさびを付けるタイプだろ。醤油でわさびをとかさないで刺し身につけて食べてね?どうよ?
96 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 12:34:56.06 ID:gbQ3J7tR.net] >>94 言語マニアならpythonよりRubyの方がマシだろ。Pythonみたいにメソッドと関数が混在するのは書いててキモい。 python4でNim方式を採用してほしいわ。
97 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 12:39:13.85 ID:SdA/iojO.net] もちろんプログラム記述方式としてはPythonは最悪 あれが普及するのは害悪しかない
98 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 13:49:45.55 ID:jVj3oT5A.net] >>95 直接わさびを口に運び刺身を投入して咀嚼した後に醤油を飲むタイプです PHPユーザに対し失礼な発言は謝罪して撤回させていただきます。この度は申し訳ございませんでした。
99 名前:デフォルトの名無しさん [2022/04/19(火) 14:55:17.88 ID:WBt0dmCX.net] インデントでスコープ区切るのあんまり好きじゃない
100 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 16:35:48.82 ID:GlY6GAKK.net] H
101 名前:askellもインデントでスコープを区切ってた気がするけど一応ブレースでくくることもできるんだっけ [] [ここ壊れてます]
102 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 18:18:04 ID:S3LfaCKT.net] >>98 人類最底辺のゴミPHPoorに謝罪など必要ない 奴らに必要なのは死あるのみ
103 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 18:22:33 ID:0UVfIqO/.net] PHP使う人ってなんであんなアヘアヘ君ばかりなの?昔からああなの?
104 名前:デフォルトの名無しさん [2022/04/19(火) 22:14:20.79 ID:OM/gUtcz.net] >>96 けっこう同意。
105 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 22:34:55.70 ID:S3LfaCKT.net] >>102 障害者手帳持ちでも書けるとガイジを集めたから ガイジが作ってガイジが保守して、真人間は近寄らないか万一深淵を覗いてもすぐに逃げるから ガイジだけが残った それがPoopHPoor
106 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 22:35:00.77 ID:cHj01Kom.net] 言語の良し悪しと普及率はあんまり関係ないってことだな
107 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 23:10:14 ID:+gF6CcFv.net] 良し悪しは文法だけでは決まらないしね 全部作り直すとかできないから、まず既存資産との互換性とかがめちゃくちゃ重要だしなあ
108 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 23:14:51.60 ID:ggKFiwdh.net] Haskellはとてもいい言語だと思うけど、まあ今後も広くは普及しないだろうね
109 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 00:49:02.14 ID:sjxPrwDV.net] Java(8以前)とPHPとVB.NETは案件も人材もロクなのにあたったことないし関わりたくない
110 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 07:57:17.73 ID:6jKBlzMv.net] 障害者雇用枠だししゃーない
111 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 13:03:13.18 ID:eR+oT63l.net] 小一時間でゲームをつくる──7つの定番ゲームのプログラミングを体験 (WEB+DB PRESS plus) https://www.あmazon.co.jp/dp/4297127458 この本面白いね。 コンソールに出すアスキーアートだけでゲームを作るところと最小限の工程ごとに動作確認するところがユニークだ。 誰かこのなかのどれかのゲームをGoやRustに移植してgithubあたりにアップしてくれないか? その出来栄えでその言語の優劣を競うというのはどうだろうか?
112 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 15:11:07.62 ID:6jKBlzMv.net] コード書けない奴が何の優劣を語るんだ? LOC?
113 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 16:00:31 ID:4qIYThBV.net] >>110 urlミスってるよ
114 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 16:19:25.49 ID:uTpu7tmC.net] コードが書けないやつだからこそnull安全なんてほとんど誰もありがたかってない事を上のように一生懸命言い出す
115 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 16:51:22.63 ID:OCnLwZQm.net] >>113 これだからGo信者は… 本当に現代人?
116 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 11:50:52.34 ID:3B58U+9M.net] /:|. /:| / .:::| / :::| | ...:::::| /u ::::| i ノ (  ̄ ̄⌒゙゙^――/ ::::::::| /_,, ⌒ u . _ ::::::::::::\ / \\゙.l | / ::// ̄● ̄ ̄/ ::::::::\ |● ::::::| . | | / :::: / :::::::::://u :::::::\ /i,.\_:::::::| u::::: / :::::::::// :::::::::\ / \( (\|. ::::::. // ̄) ) :::::::::\ / u ) )_ ^ ^  ̄ ̄ ,,、( ( i し./ :::::::::::::\ / / /__,,____,/ ̄ \ ))u ノ ( ::::::::::::::::::::\ / ヽ |.. | /└└└└\../\((\ '~ヽ :::::::::::::::::/ \ ) し ∨.|llllllllllllllllllllllllllllllll∨lllll| ) / / :::::::::::::::::/ \⌒ | |.|llllllllllll;/⌒/⌒ 〕 ::u::::::::::::::::/ | | |.|lllllllll; ./ . . | ::::::::::::::::::::/ .| | |.|llllll|′ / .| | |.|llll| | .∧〔 / u:::::::::::::| ヽ}.∧lll | ../ / / :::::::::::::::::\ i/| \┌┌┌┌┌ /. / /::: :::::::::::::::::i ( ゙゙^^¨^¨゙゙¨  ̄ ̄ ̄| i/::::::::::: u i ヽー─¬ー〜ー――i | :::::::::::::
117 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 13:08:35.07 ID:HvU2DlQ2.net] >>93 Goは言わば並列対応スクリプトC言語だからだよ だから今どきの言語と異なりC言語のように地道に記述量が増えるとともに安全軽視で自己責任
118 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 14:17:09 ID:/LgGWJm6.net] 男の人って気持ち悪い… どうして少女をそんなに汚したがるの? お母さんに悪いとわおもわないの?
119 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 15:09:04.59 ID:W8PBxmKK.net] そらごらんなさいRustの悪影響を
120 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 15:43:32.20 ID:8Ud760iv.net] アイGoー
121 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 15:52:10.80 ID:aUxqSgEH.net] Rustならシンプルに分かりやすく書きやすい上に うっかりミスもコンパイルエラーで検出されるから良いよな
122 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 17:31:45.76 ID:rHXUR/xS.net] Rustの話は専用の隔離部屋でお願いします Rust part14 https://mevius.5ch.net/test/read.cgi/tech/1644596656/ 次スレタイトルからRustの文字を削除してください
123 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 17:40:50.87 ID:d9Ay4jJ1.net] 比較の話だからここでいいんじゃね そもそもアンチ側が悪影響とか言い出してきっかけ作っているし アンチを各言語本スレへ誘導するのはダメだろ
124 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 17:59:45.68 ID:rHXUR/xS.net] 比較の話も含めて >>121 の専用スレでやって下さい
125 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 18:05:48.23 ID:l2zLdNmc.net] 言語同士の比較はここでやる Rust単独の話は向こうでやる それだけだ 以上
126 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 18:32:35.61 ID:LoXMgsHc.net] むしろここが隔離スレだと思ってた
127 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 18:51:22.79 ID:RkfSdsaD.net] ここは次世代言語スレ 次世代言語の話題や機能や比較に議論まで何でもOK 各言語の本スレに迷惑がかからないようここで行なうこと推奨
128 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 20:07:59.60 ID:QQ8u361U.net] >>114 このように誰もGoのことなど挙げてないのに、Rustの超ビギナーの信者は異様に敵視を行う。 例えば、代表的なNull安全言語は、RustがまさにそうだがOptionを使うからNullなんて無いのだが、matchを書いたとしてもNoneで 異常を処理しないような事を書いてしまえば、Nullで落ちたりするプログラムと大して変わらない。unwrapを連打するようなプログラムは 論外だとしても、それはNullをチェックしないプログラムと何ら変わりない。 Qitaの有害記事、「null安全でない言語は、もはやレガシー言語だ」のせいで、このような思想を植え付けられている人があまりに多い。 大切なことは異常系をきちんと処理できているかということで、言い訳では「ちゃんとやるのを忘れているかもしれないのでは」という指摘に コンパイルが通らないだの、Rustでしかそうならない事を都合が悪いのか、短い考察だけで反論しています。 コンパイルが通ろうと通らななかろうと、”ちゃんとやるのを忘れて”いれば同じです。 また、たしかにNull安全は、
129 名前:Java/KotlinのようなNullが奥深くに根ずく言語であれば恩恵は大きいでしょう。しかしGoのような言語は 扱うデータはstructであり、Nullが無い訳ではないが、奥深くに潜む”参照”データー構造を設計思想から良しとはしていない言語である。 一部の言語設計者ではリンクリストのような、非効率で何も考えてないデーター構造を逆にレガシーと呼びます。 もちろん、if err != nil { }が古臭く邪魔で嫌、あちこちに現れるので受け付けないという意見は分かるし、これを簡略化するために Null条件演算子やNull合体演算子が欲しいという要望もわかる。しかし、それが導入された、もしくはされていないからといって それはNull安全言語とは厳密には関係ない。 [] [ここ壊れてます]
130 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 20:11:11.38 ID:LoXMgsHc.net] >>127 > このように誰もGoのことなど挙げてないのに >>72 ,74,80,82
131 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 20:19:15.04 ID:j60ekrh9.net] >>127 >このように誰もGoのことなど挙げてないのに、Rustの超ビギナーの信者は異様に敵視を行う。 このように誰もRustのことなど挙げてないのに、Goの超ビギナーの信者は異様に敵視を行う。 以下略
132 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 21:14:28.53 ID:kTS22GXO.net] >>127 それは君の主張が間違っている Rustではある型Tの変数に対してnull相当(nilやundefined等含む)を代入出来ない そのため君の主張する処理し忘れがあってもnull相当を扱ってしまう危険性は起きない
133 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 21:15:47.90 ID:8Ud760iv.net] ほらまたTとか言い出したこれだからRusterは
134 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 21:26:57.05 ID:LoXMgsHc.net] Goだって最近Tって書けるようになったでしょ スレタイの言語皆Tって書くのでは
135 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 21:27:36.40 ID:SndU/Xk6.net] ・Rustにはnullという概念のものが存在しない ・存在するかしないかを示したいならば代数的データ型であるenum Optionを用いる ・扱う型をT型とするとOption<T>型となるため型が異なり処理を忘れてミスすることも起きようがない
136 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 22:33:53.95 ID:+7uwIW+r.net] Nim, Zig, Rust, C++でコンパイル時に実行されるコードを比較した記事。 https://castillodel.github.io/compile-time-evaluation/
137 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 22:39:37.71 ID:8Ud760iv.net] >>133 糞バカ中世ジャップランド土人どもはOption.get()するだけだぞ
138 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 22:55:52.73 ID:hBTlXYXK.net] >>135 Optionにget()メソッドはありません
139 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 23:17:57 ID:58EnvgFJ.net] ほぼOptionのNoneと言ってるのに、null相当(nilやundefined等含む)を代入とか、Option<T>型となるため型が異なりとか もう誤魔化して言いくるめる気にしか見えない。。。 どれだけNull安全で助かってるか、なんてコードを書いてればそんなに無いでしょ。確かにNullが無いのだから、Nullのような状態で クラッシュ/panicする事態は減るでしょう。コンパイルが通った時点でNull安全性が保障されるなんてのも、今どきの多くの言語は 外付けながらLint系の警告をしてくれます。もちろん言語に統合されてない後付けで「美しくない」とかそういうのはあるでしょうが。 そして手続き型プログラミングを初めて数年の初心者なら沢山のミスを犯すのかもしれんけどさ、そもそも宣言と同時に初期化を する重要性は、関数型プログラミングでも少しでもしていれば分かるはずでそんな経験もなく、旧Java系なんかからRustへ移ったら 感嘆するように見えるのかもしれんが、そんなしつこく言うほど便利な場面って具体的にどういう時よ?逆にさ? 次はNan安全言語とか、-+Inf安全言語とかやるのかい?
140 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 23:28:25.00 ID:emsRX1XQ.net] Rustのアドバンテージを認めざるを得ないから認めつつ それでも批判したいから言い掛かり長文 みっともない
141 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 23:47:03.05 ID:Q5xBjMYc.net] >>137 その通りだからきみはJavaとかHaskellとか使えばいいと思うよ Rustの良いところを教えてほしいなら普通に指導を乞えばいいのに
142 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 00:11:43 ID:BeccjQpB.net] null安全をlinterが警告してくれる言語なんてあったっけ?
143 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 00:18:27 ID:QUxpZq2Z.net] >>140 未初期化変数へのアクセスのことを言ってそうな気がする それ以外のケースでnullの問題踏んだことない人なのかもしれない
144 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 02:18:54.02 ID:KwomhEH1.net] >>134 Goが無いのはGoでは不可能なの?
145 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 16:02:25.23 ID:7P+21PvJ.net] Rustにいいところなんてないよ 面倒なだけ
146 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 16:09:03.51 ID:gIl1LNdJ.net] 色々とプログラミングが楽で快適だからRust使ってるわ
147 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 18:41:08.80 ID:0TWFpVQa.net] 普通に煽りじゃない反論ができない時点でRustニワカのキモさが良くわかる。Null安全を全否定してないのに 「指導を乞え」とか「JavaとかHaskellとか使え」とか「それ以外のケースでnullの問題踏んだことない」とか Nullのような状態で クラッシュ/panicする事態は減るって書いてるのに文字も読めもしない。 ”それほど強調して、気持ち悪く粘着してNull安全言語なんて宣伝してることがRustのために良くない”って話だよ 言語の悪口を言ってるんじゃない、おまえのようなキモくて何も答えられないで煽りだけクズを論ってんの
148 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 19:03:56 ID:EyWh3ott.net] 自分でこれが煽りじゃない反論だと思ってるならヤバい
149 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 19:15:01.24 ID:J7veDPz7.net] Rustより良い言語が出現したらそれを検討する予定 今のところそういう言語がないためメイン言語はRustのまま
150 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 19:20:14.50 ID:UKixTNef.net] 煽ってるだけの書き込みにまともな返答がくるわけないじゃん
151 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 19:21:33.19 ID:atNXtsDe.net] まだスレタイに出てないけど注目してる言語とかありますか?
152 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 20:02:04.18 ID:yAnz+P1M.net] flixかな scala亜種といった感じで流行るようには見えないけどね
153 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 20:06:53.42 ID:yOJfi3Zs.net] この根源的な差が決定的かな > プログラミング言語は以下の3つに分類される > CとC++ ←『省メモリ高速』だが、「メモリ解放でミスると危険」 > GC言語 ←『省メモリ高速』ではないが、「メモリ解放は自動で気にしなくていい」 > Rust ←『省メモリ高速』だが、「メモリ解放は自動で気にしなくていい」
154 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 20:15:46.28 ID:QUxpZq2Z.net] 言語じゃないけどWASMってどうよ
155 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 20:25:25.90 ID:UKixTNef.net] >>149 Pony Rustよりも安全。データ競合だけでなく、デッドロック、実行時例外が起きないことも保証されてる actorモデルを採用している
156 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 20:27:40.70 ID:aYwHbJz6.net] >>150 これですかね ありがとうございます The Flix Programming Language https://flix.dev/ https://github.com/flix/flix プログラミング言語Flixに関するMagnus Madsen氏へのインタビュー https://www.infoq.com/jp/news/2022/03/flix-programming-language/ Flixは多くのプログラミング言語にインスパイアされたオープンソースのプログラミング言語であり、開発者は関数型、命令型、論理型のスタイルでコードを書くことが可能である。FlixはScalaに似ており、Hindley-Milnerに基づく型システムとGoにインスパイアされた並行処理モデルを採用している。JVM言語はポリモーフィックエフェクトシステムやDatalog制約などの
157 名前:ニークな機能をサポートしている。 [] [ここ壊れてます]
158 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 20:34:28.61 ID:aYwHbJz6.net] >>153 どもです https://www.ponylang.io/ フィンテックでアクターモデルのプログラミング言語Ponyを使う https://www.infoq.com/jp/news/2016/05/pony-fintech/ Ponyはアクターモデルを使ったネイティブ言語であり、LLVMを使う。アクターモデルはErlangやAkkaで有名であり、1973年のCarl Hewitt氏他の論文から生まれた。アクターは状態管理と非同期メソッドを組み合わせる。フィールドに加え、アクターはひとつのメッセージキューとヒープを持つ。Clebsch氏によれば、Ponyのアクターは独立してガベージコレクションがされ、ErlangやAkkaとは違い、アクターそのものもガベージコレクションされるので、アクターを殺すためのメッセージのようなものは必要ない。手動でのメモリ管理は不要なのだ。 アクターは自分のヒープのガベージコレクションをmark-and-don’t-sweepアルゴリズムを使って他のアクターとは独立して行う。つまり、Ponyは到達可能なグラフに対してはnのオーダーだ。到達不可能なメモリは影響を与えない。アクターのヒープのGCにはsafepointがなく、読み込み、書き込みのバリアも、カードテーブルマーキングもコンパクト化もない。コンパクト化が必要ないので、ポインタのフィクスアップも必要ない。
159 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 20:39:31.11 ID:NkxiGfGV.net] erlang系で何かしら伸びてこないのか
160 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 20:56:20.88 ID:UKixTNef.net] >>156 Erlang系でElixirの次に来そうなのはGleamかな? まだまだ新しすぎて未成熟だけど、着実にコミュニティが大きくなってる気がする あとは他に33個ほどリストアップされてるから、なんか伸びそうなのあったら教えて https://github.com/llaisdy/beam_languages
161 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 20:57:22.84 ID:MSzkRWeB.net] >>152 Wasm自体は十分に実用的でブラウザ上からクラウドエッジ上に至るまで様々な環境での環境非依存言語の地位確立 ただしWasm仕様へのGC導入は未来の話へと先送り したがって実用的なWasm記述言語としてはC/C++/RustのままとなりRustがベストチョイス
162 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 21:14:40.69 ID:gmnEH6Vv.net] >>158 LLVMが噛めばほぼ全てWasm対応になりうるので利点でもなんでもない オレオレ言語でもWasmに対応できるというかすでに作った
163 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 21:25:22.84 ID:p9LA8Dyp.net] >>159 GC言語だと明確に不利なだけでもちろん動くよ GCなし自作言語で良いものが作れたならばシェア取りに行くといいね 現状Rustの天下を崩すチャンス
164 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 22:15:59.43 ID:AQMvQ4xM.net] WEB+DB Press 127号で、 Elixir のPhoenix が、28ページの特集 Ruby on Rails 7, Phoenix 1.6 から、脱Webpack でesbuild へ RailsのHotwire, PhoenixのLiveView で、websocket によるリアルタイム通信。 ここ数年、SPA でReact に奪われたシェアを回復すべき戦略 他には、Bootstrap よりも、Tailwind が多くなってきた 128号は、Terraform 特集。 Software Design 2022/1月号も、Terraform特集だった YouTube で有名な、雑食系エンジニア・KENTA のRuby on Rails サロンでも、 Terraformで転職を差別化できると言ったから、すべての雑誌・学校も動いた 1つのサロンが転職に有効な技術を持ってしまうと、 他者が合格できなくなるので、対抗上、勉強しないといけなくなる
165 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 22:38:59.17 ID:y1b9XJMs.net] Terraformが何なのかも理解せずにここプログラミング言語のスレに書き込んでいるのか
166 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 22:55:47.09 ID:dDLjcogg.net] リスナーさんだか受講生だか知りませんが、KENTAさんの主張を引用するなら本人から許可を取って、 情報の許可範囲とガイドラインを守って書き込みしたほうが絶対良いと思いますね。 匿名掲示板ならアレな発言も、多少は仕方ないかもしれませんが、 他人の名を語ってそれだとさすがにまずいです。倫理とルールを守りましょう。
167 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 23:14:15.38 ID:TXL8QlLI.net] え本人が書き込んでるんじゃないのか
168 名前:161 mailto:sage [2022/04/22(金) 23:17:44.40 ID:AQMvQ4xM.net] KENTA 2021年のWeb系エンジニア転職を成功させる3つの技術要素、2021/4 https://www.youtube.com/watch?v=70VrB7LTe9g Web系エンジニアを目指す人のためのプログラミング学習ロードマップ、2021/2 https://www.youtube.com/watch?v=0TABrlhci5M 上の動画で、Terraform で転職を差別化しましょうと言っている。 それで、すべての雑誌・学校も動いた。 Terraformが出来ないと、転職に負けてしまうから 米国人からすると、日本のRuby on Rails は異次元の戦い。 10年以上のプロでも、1年ぐらいの初心者に負けてしまう 日本では解雇できないから、資格などの事前審査制。 米国では国民全員がフリーランスだから、ひとまず雇っても、すぐに首にできる
169 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 23:32:50 ID:dDLjcogg.net] >>164 えまじで?
170 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 23:40:10.10 ID:BeccjQpB.net] KENTAさんは全エンジニアの輝きの星
171 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 23:47:33.75 ID:dDLjcogg.net] 讃えよー敬えー
172 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 05:52:57.97 ID:dsrvV+XF.net] >>165 相変わらずのゴミ動画
173 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 07:28:43.83 ID:ebXv3GDe.net] >>151 RustがメモリをGC並みに雑に扱えたら、最高だったな。
174 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 08:41:27.77 ID:X7wDySqh.net] RcもWeakも無くなればね 裏で勝手にやってくれるとかして? プログラマ側が一切ケアしなくて良いんならスゴイよね
175 名前:デフォルトの名無しさん [2022/04/23(土) 09:12:54.44 ID:eZJZo8Wb.net] Goはコンパイル言語なのにスクリプト言語のように扱える軽量さが最大の魅力だろ Go並にエディタの補完が軽量でコンパイル爆速のコンパイル言語を俺は知らない Rustはライフタイムが全然わからなかったし、コンパイル遅すぎて無理だったね GCはあった方がいいに決まってるわ 開発時の生産性が圧倒的に違ってくる
176 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 09:17:17.05 ID:kd0LPi6/.net] GoはCGo何とかしてくれればもっと使う気になれるんだけどな
177 名前:デフォルトの名無しさん [2022/04/23(土) 09:20:09.97 ID:eZJZo8Wb.net] とにかくGoは頭の悪い人でもすぐにプロジェクトに参加できるぐらいに機能がシンプルに削ぎ落とされていてコンパイル爆速ってのがポイントな言語 それに対して〇〇の機能がないーって言っても仕方ないだろ 頭の悪い人でも使いこなせる言語じゃないと企業ではなかなか普及しないと思うよ
178 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 09:46:22.59 ID:o/e4rrgi.net] https://without.boats/blog/notes-on-a-smaller-rust/ だれかここで言われてる言語作ってくれ
179 名前:デフォルトの名無しさん [2022/04/23(土) 09:52:47.90 ID:XZjzYuNa.net] >>174 本当にその通りなんだけど、これだけは欲しかったみたいな機能も一緒に削られてるところが少しモヤモヤする ジェネリクス(ようやく追加されたけど)とか代数的データ型とか
180 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 10:30:02.86 ID:19UflQcD.net] >>172 ライフタイムがわからなかった、って、かなり知能が低い人じゃないとありえないと思うよ そしてそのくらい低い人はプログラミングに向いていないと思う
181 名前:デフォルトの名無しさん [2022/04/23(土) 10:34:13.57 ID:WKX1mrZa.net] ライフタイムはわかるけどこれがリージョン推論とかいった厳密な理論とどう対応しているのかがわからん 一般的なプログラマーはここまで理解しなくてもいいんやろうけど なんでこんな単純なわかりやすい原則の背後にそんな謎な人口に膾炙されていない理論を導入しないといけないのかがわからんわ
182 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 10:59:59.69 ID:BgAX+6b6.net] 荒らしなし規制無し 3ch NEXT2ch 45ch ふたばちゃんねる 明和水産
183 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 11:09:11.96 ID:teuoZU8e.net] >>178 ブロックスコープというあまりにも大雑把な大きな枠で扱うのではなくて 実際に使われている有効な範囲(リージョン)で細かく扱いましょう、というだけだよ 生存単位は前者で、借用単位は後者で細かく区切る 具体的コード例を含めた解説ページの例 Non-Lexical Lifetimes って? https://qiita.com/_EnumHack/items/8b6ecdeb52e69a4ff384
184 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 12:06:36 ID:uMxflx63.net] プログラミング言語「Erlang」を生んだジョー・アームストロング氏死去 なお、アームストロング氏は「なぜオブジェクト指向はクソなのか」という名文を残しています。
185 名前:デフォルトの名無しさん [2022/04/23(土) 12:41:02 ID:lKjOluUR.net] >>177 プログラマーって言ってもOS作ったりドライバ作ったりする低レイヤーやってるのと、バックエンドやWeb系の高レイヤーやってるのはいるわけで Rustは前者の人たちが使えばいいのでは?後者の人たちがRustがーとかイキってるの見ると笑ってしまう 後者の分野ではRustはGoに勝てないでしょう
186 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 12:48:09.21 ID:HJoWw7qN.net] >>182 むしろGoは対象が狭くて短命に終わる言語 言語の機能不足で書きにくい上に速いわけではない 唯一のメリット(?)が仕様が簡素なこと
187 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 13:26:27 ID:o/e4rrgi.net] >>182 勝ち負けの定義次第だけど後者でもrustの方が有利な場合はあるんじゃないの discordのバックエンドの例とかあるよね だいたいのケースでgoが適しているって主張なら分かるけど 特定の分野で常にgoの方が適しているというのは言い過ぎかと
188 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 13:31:57 ID:BV8u7mBP.net] これだからRust信者は嫌なんだ...12年続いて厳格に互換性を保ってる言語が短命だって? 速いわけではないって、そりゃGCが裏で動いてメモリー解放をほとんど気にしなくて良い言語と比べれば、極限の速度では有利になるのは当たり前でしょ? それでもC99やRustなどと比べても2倍も時間が掛かるわけではない、これを速いわけではないと表現するのは、自身でも気づいていないのか隠された悪意と偏見を持ちすぎてる。 むしろRustこそ後方互換を保つためなどと言いつつEditionなどという仕組みや、ボローチェックの強化なんて短命のコンパイルが通らないような事をして、短命で終わっている 今書いてるRustが10年後コンパイルが通るのかエラーになるのか全く見えない。普通の用途ではGoで十分という話に噛みついてくる 言語の表層的な機能をどんどん導入して直行性が無く、どんどん書きにくくなっていくのに苦労に見合う速度はC99以下。唯一のメリット(?)は意識高い系がたった1つの言語をやってればマウントできる事
189 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 13:40:48.60 ID:j+9QGcWO.net] >>182 でも現実にWeb分野でもRustがじわじわと広まりつつあるよね サーバ側はGoよりRustが高速で省メモリでGC負荷なしで有利 ブラウザ側は実用的となったWebAssemblyでRustが最適
190 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 13:46:57.71 ID:o/e4rrgi.net] >>185 不勉強でよく知らないんだけどeditionやborrow checkerの強化でコンパイル通らなくなったcrateってどういうものがあるの?
191 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 14:42:18.80 ID:iqGYI4s5.net] 長文に構うなよ
192 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 17:59:39.00 ID:Yf3QCfCm.net] >>176 同感 必須機能が足りな過ぎてGoはプログラミングが修行のように辛い C言語で何でも書けるというのと同じで書けるけど辛い
193 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 18:14:41.34 ID:DP+h97oH.net] >>186 コンビニに行くのにF1とかソーラーカーは要らない定期。どれだけ早かろうが省エネだろうが。 JavaやC#はセダン〜バスみたいな感じかな。 Goは原付2種みたいなもんでしょ。 まず主戦場も違えばドライバーも違う。
194 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 18:17:56.69 ID:qKl7QP1V.net] >>186 それでお前は使ってるの? Reference Types使ってもパフォーマンスがjsに比較してカスな件どうなった?
195 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 18:21:30.06 ID:FZleZnGe.net] >>191 え? JSとは誤差 そして何か処理するコード次第で圧勝
196 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 19:02:24.78 ID:qKl7QP1V.net] もう一回貼っておきますね https://zenn.dev/igrep/articles/2021-11-wasm-reference-types PythonにおけるCFFIみたいな用途で使う分にはきっと問題無いんだろうね 特定の目的に対してはぴったりはまるんでしょうが それを何の前提も付けず単に「実用的」と呼ぶのは誇大広告ではないんですかね
197 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 19:03:19.39 ID:X7wDySqh.net] 最小限で考えると Cにあとひとつ何かを加えたものでやっていけそう Cに関数のオーバーロードがあればやっていけそう コンテナクラスもほしいけどOOPを持ち込んでしまうので今回はパス あくまで void add(struct vector_int *v, int value) void add(struct vector_float *v, float value) というふうに関数と構造体だけで頑張っていけそう
198 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 19:36:04.43 ID:ugaeg6U2.net] Cに拘ってる奴は本気でCが使いやすいと思ってるのか冗談で言ってるのか
199 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 19:53:30.81 ID:texCpgrl.net] go よりはcのが好きかな
200 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 19:57:28.78 ID:stnqwczt.net] >>195 下手な増改築だらけのC++よりCが良い LinuxのLinusも同じ意見
201 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 20:15:34.17 ID:qKl7QP1V.net] C言語にオーバーロード? 結局C++みたいにABI建て増ししてマングリングしないといけないやつじゃん
202 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 20:18:18.40 ID:o/e4rrgi.net] Cは_Genericで頑張れば
203 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 21:14:20.68 ID:FKp57Oo8.net] 個人的いはCにがんばってほしい
204 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 21:39:38.45 ID:X7wDySqh.net] >>199 > _Generic (´・∀・`)ヘーそんなのあるんだ勉強になりました これあったら十分やわ
205 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 21:51:54.89 ID:w3sxk/eA.net] ジェネリックってプログラミング言語によって指すものが異なってるよな 異なるといってもレベルの低いもの高いもの玉石混交という意味で
206 名前:161 mailto:sage [2022/04/23(土) 23:08:55.47 ID:dSfqqc1i.net] IoT, AI でも、Elixir もある Nerves は、最小のLinux, Erlang を含む、組み込み向けOS Nx はテンソル用。 TensorFlow, PyTorch のフロントエンド Erlang VM のFFI で、他言語のモジュールも使える
207 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 00:35:10 ID:tW7+nz8n.net] Cは文字列が弱点だった ちゃんとした文字列の型があればもっと便利だったとおもう
208 名前:デフォルトの名無しさん [2022/04/24(日) 01:36:20.84 ID:bAmVid1d.net] nimはもっと広まって欲しいかな。できればpython置き換えるくらいに。
209 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 06:41:49 ID:4pJnSfn9.net] >>197 てかLinusはそんなにその言語がいいと思ってるならそれでお前がなんか作ればいいだろって話をしてるな。 ここの連中なんかはまさにそんな感じだが。
210 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 09:27:58.32 ID:FwnGDc6j.net] これはなかなか面白い記事だった 原点回帰というか、ここのスレでの議論にも参考になると思う お前らの感想を聞きたい How the C programming language has grown https://opensource.com/article/22/3/how-c-programming-language-has-grown
211 名前:デフォルトの名無しさん [2022/04/24(日) 13:05:32 ID:LSLifE01.net] 結局言語は道具。結局は何を作るかなんだよ
212 名前:デフォルトの名無しさん mailto:shuang777gm@gmail.com [2022/04/24(日) 14:03:27.44 ID:plOa7TFC.net BE:557647423-2BP(0)] img.5ch.net/ico/2iyou_2.gif ネイティブ言語に変換できるビジュアルプログラミング言語とかいいと思う オブジェクト指向とかわかりやすいだろうし。 唯一問題なのはマウスとキーボードをせわしなく行き来することかな 以前Blockly使ってそんなの作ったけどソースコードどっかやっちゃった
213 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 17:21:57.86 ID:uNEChMqn.net] なんだァ?てめェ……
214 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 17:26:29.56 ID:K5BkO09u.net] そうです、わたすが変なおじさんです
215 名前:デフォルトの名無しさん [2022/04/24(日) 18:16:43.21 ID:bl0Rasps.net] Rustのスレ複製おじさんが暴れまわってるから怖くなっちゃって見てないわ あんなスレ見てたら気がおかしくなりそう ここはまだまし
216 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 19:14:30 ID:tfR0akyF.net] 頭おかしなるで
217 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 19:46:35.09 ID:gbNK0/9l.net] >>181 「なぜオブジェクト指向はクソなのか」 1データ構造と機能は一緒にすべきではない 2すべてがオブジェクトである必要があります。 3データタイプ定義はあちこちに散らばってしまう 4オブジェクトはプライベートな状態を持っている
218 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 20:04:13.90 ID:tW7+nz8n.net] 最近はモジュールがまた流行ってるよね rustもGoも自分から見るとモジュール指向に見える 自分はモジュール型からOOPに進化した過程を知ってるから正直モジュール型は好きじゃない
219 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 21:17:36.80 ID:slsDzRA2.net] >すべてがオブジェクトである必要があります C++やJavaみたいにすべてがオブジェクトじゃないオブジェクト指向言語なんていくらでもあるじゃん
220 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 21:49:22.71 ID:+4D6Qx5V.net] >>216 そういう意味じゃないよ https://gist.github.com/posaunehm/4087971
221 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 22:02:13.94 ID:4j4sWWkv.net] 真のオブジェクトっていうのは、一つのスレッドみたいなもので他のスレッドとの通信をメッセージパシングでやりとりするものと言っていたような 一方、普通にいわれているオブジェクト指向というのは単なるプログラミングの書き方の効率化の手法にすぎないって話 つまり、継承という方法で差分だけ書いていけるようにすることによる効率化だけの話だってこと。
222 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 22:04:35.47 ID:uNEChMqn.net] 差分プログラミングならまあクソでしょうね
223 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 22:06:02.75 ID:22aYjb+I.net] 今のオブジェクト指向継承あんま使わなくね?
224 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 22:09:28.03 ID:HH2OM4Tz.net] むしろ継承はクソすぎて足を引っ張る そのためGoやRustなどの言語ではclassを廃止というか最初から採用しなかった
225 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 22:27:33.03 ID:L+Cr+2nK.net] >>216 一言でいえば、プリミティブ型のことを言ってるんじゃなく(オブジェクトに)メソッドがぶら下がる粘着性を言っている。 いまどきの言語はRustやGoならstructで、Goならダックタイピング、Rustならクレートによるimplでそのデータを扱う機能実装を行うが さらに考えを推し進め、D言語などでは(Pythonのself引数のように)データを引数に取るUFCと呼ばれる使い方も出来る。 関数が第一級の言語要素という考え(第一級関数)は、関数型言語には必要不可欠とされmap/reduceなどの高階関数でも 常用され、クロージャ・関数オブジェクト・無名関数と幅広く展開される。 OOPLとの明確な違いは、Classに対するオブジェクトにmethodという関数が束縛をされていないことである。もちろん上記の言語は OOPSをサポートするが、それは多態を表現できるだけの意味しかない。 以上、D言語の宣伝です。
226 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 00:02:30.63 ID:m7DPUXtY.net] >>222 > Rustならクレートによるimplで ちょっと惜しい 『トレイトによるimpl』が正しい その後にD言語は更に進んでいるとの宣伝と書いてあるようだが Rustにも当てはまることばかりなので違いがよくわからない
227 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 00:27:04.32 ID:GF+5hMbb.net] DのUFCSは任意の関数に適用できるけど Rustは第一引数がselfなassociated functionだけだよね
228 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 00:33:35.96 ID:sDr1xuuT.net] typescriptでclassを使わないでやったときに無限にf(g(h(x)))みたいに書いたなあ tsにもほしいわ
229 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 00:34:27.96 ID:LqFJ2u6k.net] どうしてDって今のgoやrustみたいにならなかったの?
230 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 00:35:54.45 ID:dSrWC4pO.net] DのUFCSもメンバ関数やネスト関数などには適用できない制限がある
231 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 00:39:26.69 ID:cR9N6Lw+.net] UFCSなんかなくても最初の引数の型に対してメソッド定義するだけで目的達成可能 グローバル名関数を増やして名前空間を汚さずともその型のメソッド定義がベター
232 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 00:47:38.84 ID:pTvSoM83.net] >>225 GoやRustはclassなんか無くても各型に対してメソッドを定義できるのでそういうことを招かずに済むのよ UFCSのメリットはメソッドチェーン記法が可能になることだから最初からメソッドを定義すればいいものね
233 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 00:55:00.32 ID:sDr1xuuT.net] >>229 structかenumは定義する必要あるじゃん tsのtypeがどういうものか分かったうえでレスしてる?
234 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 00:58:26.21 ID:loxtuGTD.net] >>230 structやenumは単なるtypeだよ C言語でもstructと(enumの代わりにタグ無しの)unionがあるよね(ただしメソッド定義はできないけど)
235 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 01:21:04.73 ID:W8ZZnspt.net] Nim言語にもUFCSがあって関数だけじゃなくtemplateやmacroも関数と同じ
236 名前:文法で呼び出せるのでUFCSが使える。ただし第一引数がuntypedだとmethod call syntaxが使えない。 UFCSのメリットは標準ライブラリとか他人の書いたコードにある型とプロシージャの組に対してもmethod call syntaxが使えることだと思う。 第一引数が組み込み型のプロシージャを定義すれば組み込み型に対してmethod call syntaxが使える。 ライブラリAで定義されている型Xのオブジェクトに対してまったく別に書かれたライブラリBで定義されているgenericsなプロシージャをmethod call syntaxで呼ぶ出すことができる。 [] [ここ壊れてます]
237 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 01:28:09.79 ID:5Adpat0k.net] >>230 structやenum以外でもOK 任意の型にメソッドを定義可能
238 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 01:31:48.98 ID:W8ZZnspt.net] >>228 オーバーロードがある言語なら引数が一つ以上あるグローバル関数を追加しても引数さえ異なれば同名の関数をグローバルに追加できる。 UFCSとオーバーロードがある言語では第一引数がFoo型の関数を定義するのはFoo型にメソッドを定義することとほぼ同じとみなせる。
239 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 01:35:52.92 ID:V8fkjI23.net] つまりUFCSは汚染でありリスク要因 定義していないメソッドが使えることになってしまう UFCSがなくとも明確にその型に対して定義されたメソッドのみ対象で実用上困ることはない
240 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 01:46:11.22 ID:GF+5hMbb.net] モジュールがあるなら関数のimport有無でどの関数が呼び出されるか制御できたりしないの? Rustのtraitのuseみたいに
241 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 01:55:33.57 ID:W8ZZnspt.net] >>235 UFCSのあるNim言語をよく使っているけど特に問題無く使えてるよ。 ライブラリAで定義された型を第一引数に持つ関数をライブラリAの外で定義してもgenerics/template/macroなど使わない限りライブラリAから呼び出せないし、ライブラリA内で使われている関数を外から勝手に上書きできない。 メソッド呼び出ししているように見えてもライブラリA内のプライベートな変数/関数はライブラリの外からアクセスできない。 method call syntaxってa.fooMethod(b)って書いてあるのを コンパイラがfooMethod(a, b)という関数呼び出しとして解釈しているだけでなんのリスクもないよ。 第一引数にFoo型のオブジェクトをとる関数を定義してもオーバーロードがあるのでFoo型を使わない人には何の影響も与えない
242 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 02:05:19.36 ID:B7syBDSL.net] D言語のプロジェクト見て半笑いになるのやめてさしあげろ
243 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 02:06:16.28 ID:W8ZZnspt.net] >>236 Nim言語だとimportするときにfrom std/strutils import `%`みたいに特定の型/関数だけをインポートすることができるよ。 もし同じ名前で同じ引数の関数が複数定義されている場合は関数名の前に"モジュルー名."をつけないとコンパイルエラーになる。
244 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 02:34:25 ID:z8DQnMuR.net] 結局UFCSは不要だよな メソッド的に使いたいならば最初からその型にメソッドを生やせばよいだけ 必要ならばジェネリックに定義すれば複数の型に同時にメソッドを生やせる わざわざグローバル関数にしておいてからメソッド的に使えます!とかメリットを一切感じない
245 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 02:47:04 ID:W8ZZnspt.net] >>240 標準ライブラリにある型とか他人のgithubリポジトリにあるライブラリにも自由にメソッド追加できるの? ジェネリックにする必要が無いときでもジェネリックにしないとメソッドはやせないの? Nim言語にはそもそもC++のメンバ関数みたいなのが無くて、第一引数がFoo型の関数がFoo型のメソッドの代わりみたいになっている。
246 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 03:05:01.71 ID:hhhqUz2p.net] >>241 ジェネリックである必要なし もちろん同じ機能を複数の型に適用ならジェネリックで1回で済むのが普通
247 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 03:21:57.26 ID:FFLrto9L.net] >>241 うん 標準ライブラリや第三者ライブラリにある型にもメソッドを増やすことができるよ だからUFCSが無くても困らないよ
248 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 04:39:58.47 ID:W8ZZnspt.net] UFCSがあれば引数が一個以上持つ関数であればa.f(b)ともf(a, b)とも書ける。 a.f(b)とf(a, b)の両方で書きたい場合があったらどうするの? UFCSがなければa.f(b)で呼べるメソッドがあるときジェネリックな関数の中でf(a, b)の形式で呼ばれていたら、わざわざ新しくa.f(b)を中で呼ぶf(a, b)を定義しないといけない。 逆にf(a, b)な関数があったときに新しくメソッドを定義しなくてもa.f(b)と書ける。 それとNimだとcommand invocation syntaxがってf a, bという文法でも関数を呼べる。括弧がないので引数が複雑な式にならなければ書きやすくて読みやすいよ。
249 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 05:29:11.29 ID:d+UJIvmE.net] >>244 Rustでも可能 例えばu64型のxに対して xのn乗はu64::pow(x, n)という関数が標準であるけど これはx.pow(n)と呼び出すことができる
250 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 08:12:23.26 ID:7gaqSdm4.net] >>225 js/tsなら言語仕様拡張せんでも関数合成だろう。
251 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 08:55:43.85 ID:VjXpH6fC.net] >>231 >>233 tsではどうやるの?
252 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 11:59:33.54 ID:QEeStXPn.net] >>241 既存の型にもメソッド追加できるよ 例えばJavaScriptならこんな感じ // 文字列にhello()を追加 String.prototype.hello = function() { console.log(`Hello ${this}!`); }; // 数値にhello()を追加 Number.prototype.hello = function() { console.log(`Hello ${this}!`); }; "abc".hello(); // 123.hello(); // 文法エラー let num = 123; num.hello();
253 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 12:16:38.60 ID:VSqj5wTk.net] Rustではジェネリックにメソッド追加することも可能 // メソッドhello()を持つトレイトHelloを宣言 trait Hello { fn hello(&self); } use std::fmt::Display; // 表示可能トレイトDisplayを満たす全ての型に対してhello()を実装 impl<T: Display> Hello for T { fn hello(&self) { println!("Hello {self}!"); } } fn main() { "abc".hello(); 123.hello(); }
254 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 12:41:05.03 ID:GF+5hMbb.net] 既存の型へのメソッド追加はプロトタイプ汚染とか言われて忌避されてるよね 他モジュールへの影響の出ない形でメソッド追加する手法が望ましい
255 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 12:53:37.30 ID:BAh3CRfm.net] >>250 JavaScriptはプロトタイプがグローバルに書き換わり全てのモジュールに適用されるためだな 一方でRustはメソッドを追加するにはトレイトを用意することが必要、そしてトレイトが宣言/useされている空間のみ有効、なので汚染が生じず安全
256 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 13:16:10.20 ID:GF+5hMbb.net] >>251 型を定義した以外のcrateでメソッドを追加するためにはtraitが必要、が正しいかな メソッドを追加するためにはtraitなしのimplを書く方法もあるが、これをできるのは型を定義したcrateだけに制限されているので他crateで定義を追加して汚染することはない とまあRustの事情は知ってるんだけど、他の言語ではどうなってるのかが知りたかった
257 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 13:16:45.41 ID:BiVUGBJZ.net] 知ってるけど今そんな話してるんじゃないんだわ
258 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 13:22:02.11 ID:UiNQmXr4.net] JavaScriptで脆弱性を生みまくってさんざん問題視されたんだから、いまどきそんな汚染が起こる新しい言語は一つもないよ
259 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 13:30:18.88 ID:5sWL1sIQ.net] 他の言語でもメソッド追加方法を教えて 今のところ JavaScript >>248 Rust >>249
260 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 13:46:50.81 ID:BiVUGBJZ.net] 発端になったD言語のUFCSハブられてるのなんで?
261 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 13:58:52.24 ID:TLzTt+1G.net] >>256 UFCSはメリット無いからでしょ メソッド追加できるなら関数よりメソッドの方が名前空間を汚さないし
262 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 14:21:14.88 ID:UiNQmXr4.net] >>256 nimには採用されてるし、調べてみるとC++にも導入の提案がされてるみたいだから、それほどハブられてないのでは? Bjarne Stroustrupの提案: www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4174.pdf Herb Sutterの提案: https://isocpp.org/files/papers/N4165.pdf
263 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 14:24:50.73 ID:S1pQjSZ5.net] UFCSはメソッド名空間の汚染 だから採用しないのが正解
264 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 15:13:03.71 ID:B7syBDSL.net] 結局メソッド生やしたいんじゃなくてプライベートメンバにアクセスしたいだけなんだよな
265 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 15:22:37.45 ID:sJr09n4H.net] >>259 汚染言うならRustのtrailと同レベルじゃない? 関数をincludeしなければ影響無いんだし、言語次第だけど名前空間に閉じ込めることもできるだろ。
266 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 15:28:02.41 ID:VN4zR5UM.net] >>261 Rustは一切汚染しません 何を誤解しているのですか?
267 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 15:36:09.96 ID:3MmiqOlF.net] いやトレイトで似たようなメソッドがたくさんぶら下がって汚染されてますよね?それが更にハードルが上がる一因になってる
268 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 15:46:00.36 ID:ZqKc7K5J.net] >>263 Rustでは明示的にuse Traitしない限り そのトレイトのメソッドが有効になることはないよ 汚染は起きず安全に設計されている
269 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 15:55:06.48 ID:UiNQmXr4.net] >>264 当然、D言語でもnimでも、importしたシンボルは、importされたスコープでしか有効にならないし、メソッド形式の呼び出しもできない Rustと何が違うんだよ
270 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:00:14.18 ID:xSu4vg9o.net] UFCSは強制汚染 関数として必要なだけなのにメソッド名空間を汚染 メソッドとして必要なだけなのに関数名空間を汚染 だから採用する言語がほとんどない
271 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:01:50.20 ID:3MmiqOlF.net] >>264 イヤイヤ、そんなのほとんどの言語でimportやincludeと同じで更に言えば、use std::io::prelude::*;みたいにRustでもPythonでも 誤ったやり方とされてるワイルドカードだって使えるんだから一緒でしょ。明確に言うなら”汚染は起きず”ではなく、汚染は当然ながら useするのだから起きている。無意味にuseしない*を使わないというのは言語仕様や特性じゃなく規約だよ
272 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:08:08.42 ID:UiNQmXr4.net] スコープやシンボルが限定されてるのに汚染と呼ぶのはおかしい
273 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:09:49.70 ID:Ld005CpI.net] >>267 Rustでは追加メソッドを使う場合 必要な機能のTraitだけを use TraitName as _; する そのため汚染は起きない
274 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:18:54.63 ID:EM9X2zpO.net] >>264 ほんとRustニワカ嫌いだわ、「明示的にuse Traitしない限り」なんて良くそんな詭弁が言えるわ。どう考えても一緒でしょう だからPythonだってas構文使えますし、D言語だってimport std.stdio : writeln, writefln;で選択的インポートできるでしょw
275 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:21:12.54 ID:PqJDEf6z.net] Rust聖戦士がワラワラ 他の言語のスタイルはすべてアンチパターン
276 名前:デフォルトの名無しさん [2022/04/25(月) 16:23:34.31 ID:NxLuUrhR.net] >>269 Underscore importなんてRustがトレイトのシンボルが別のシンボルと競合する可能性がある場合、つまりRustが破綻しないように 特別にあるだけで、汚染の低下のための機能ではないぜ。ここで汚染といってるのは無暗にメソッドが追加される事。 (回避策が仮に無ければ)衝突することはもはや、言語的な欠陥だ
277 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:27:35.43 ID:KFrD7nO2.net] 使われる空間に名前が載ることを汚染とは言わない 使わない空間に名前が載ることを汚染と言う UFCSが汚染と言われる理由は 関数として使いメソッドとして使わなくてもメソッド名空間に載り メソッドとして使い関数として使わなくても関数名空間に載るためだと考えられる
278 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:34:56.30 ID:NxLuUrhR.net] >>273 Rustだって、fn中にuse出来るわけでそれはほかの言語でも同じ。そう言う事はあまりしないけども、多くの言語で同じように”使われる空間”だけに載る
279 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:36:52.48 ID:UB00PZWU.net] RustがUFCSを採用しないのは単に、パーサーをオブジェクトを先して作り直すと(C言語にわざと似せてる)見た目が変わってしまうし パーサーに手を入れるということは苦労してきたコンパイル速度が低下してしまう恐れがあるという事だけ
280 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:37:55.90 ID:ZcyGlXND.net] >>273 その程度で汚染とか言うの聞いたことねえよ ESModuleとかが導入される前のJSのグローバル汚染なんかと比較してみ? Rust上げしたいがためだけのただのイチャモンだよお前の主張は
281 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:39:18.63 ID:Ktg4GXmX.net] >>272 Rustでは汚染は起きないですよ >>274 そうです だからRustでは>>273 の汚染という状況は発生しないですね
282 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:40:19.19 ID:WnCW0ZaS.net] そもそもUFCSは汚染だなんてここ以外で聞いたことがないんだけど
283 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:44:16.36 ID:LpKzCT90.net] >>273 UFCSとやらはムダに汚染しまくるクソな機能だな
284 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:46:59.96 ID:EmEbSMmo.net] Rustの宣伝はこんな匿名掲示板じゃなくQiitaとかに書いてほしいな その反応で実際に正論なのか暴論なのか明らかになるだろう
285 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:49:37.58 ID:ZJMHR0C4.net] UFCSという汚染機能をサポートしているプログラミング言語はDとNim 埋もれた言語となったのも当然の結果
286 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:50:47.89 ID:WnCW0ZaS.net] 汚染だとか書いてるのは全部ガイジだな
287 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 17:00:21.10 ID:AtUdeTix.net] ほとんど全ての言語がUFCSを採用していない理由はメリットが無いからだと思う そして無条件に二つの名前空間に登録されてしまうことを汚染と呼ぶかどうかは置いておくとしても本末転倒の方法かなとは感じる
288 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 17:01:11 ID:XBfmr4Gp.net] >>275 さらにRustは実装としてUFCSを別の意味で誤って使っていた過去がある、::パス構文で混乱を引き起こして曖昧性が起きた。2017年頃でそんなに優れた開発者がおらずなんとなく実装していた時期だな、いつもはRustは論文がしっかりしてると嘯くのに
289 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 17:02:36.89 ID:+vVlR4Vp.net] やっぱりUFCSは悪だな
290 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 17:12:43.76 ID:PqJDEf6z.net] 次スレはもうRust消そう 話にならん
291 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 17:19:42.27 ID:o63SmoRM.net] >>286 Rustは関係ないんじゃね? むしろRustのアンチ側がなぜかRust叩きしていて巻き込まれ被害側にみえる
292 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 17:26:05.13 ID:PqJDEf6z.net] どっちでもいいよ 信者だろうがアンチだろうがあらゆる話題がRustとの比較になって宗教戦争化するのが馬鹿馬鹿しすぎる Rustの話題はスレ違いなのでRust叩きもスレ違いとする、問題解決
293 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 17:26:35.89 ID:4xqZqLmv.net] ほぼ全ての言語がUFCSを採用していない しかしUFCSが叩かれるとなぜか必死にRustを攻撃してくれる 一石二鳥と言えるだろう
294 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 17:38:49.59 ID:63+wFQ6i.net] C++委員会での議論でもメンバ関数と非メンバ関数で衝突したときにどう解決するかで割れて否決されたみたいだし、なかなか難しそうだね
295 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 17:51:06.52 ID:BSwMXBpD.net] 考えてみたがUFCSは完全に不要っぽい まずメソッドとして使いたいものは最初からメソッドとして書けばよい 次に外部の関数をどうしてもメソッドとして使いたいならばその外部関数を呼び出すメソッドを追加すればよい
296 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 17:53:13.68 ID:VVkmIp+6.net] 衝突が問題ならUFCSの使用は記号などを使って明示したらいいんじゃないかな?
297 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:02:36.22 ID:DhJCopPa.net] 「Rustを攻撃」ってどっちも同じでしょって言ってるだけなのに、このように攻撃を受けたと勘違いするんだから、正常な議論なんて出来ない。 UFCSについて難癖付けてるだけじゃん、個人的には別に必要ないと思うし、仮にあったら便利だとも思うが。コンパイル時間が増えるのは許容できない 「Rustのアンチ側」なんて言い出すクズどもとまともな話なんて出来るわけない。 こんな奴らばっかり増やしてもRustの普及を妨げてると思うんだけど?
298 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:07:17.52 ID:3bYGoG0a.net] スレ読んだけど 汚染でも何でもなくRust特有の問題でもないことをRustは汚染だと延々と叩いてるのは異常に感じた
299 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:08:46.62 ID:sJroCDvH.net] 今のところUFCSがある言語と外部のデータ型に対してメソッドを追加できない言語、メソッドを追加できる言語とできない言語のそれぞれは前者が勝手で勝るけど、前者同士では好みとか実現手法の違い程度の話のように感じてる UFCSも結局モジュール単位で環境が分離されている事が殆どのようだし、どちらかじゃないとできない事も、どちらかだと発生する致命的な不都合も見えてこない 一見機能が不要に見えても、その採用理由が他の要素に起因してたりもするだろうし、その辺私はUFCS採用言語のことを詳しく知らないのでなんとも言えないな
300 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:09:37.23 ID:9QpKK4x8.net] >>292 C++での議論では当然そういう案含めていろいろ提案されたけど、結局どれも一長一短で委員会での合意には至らなかったみたい 一人で作ってる言語なら作者の好みでサクッと入れられちゃうんだろうけどね
301 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:11:19.66 ID:DhJCopPa.net] 汚染と言わなくても、Rustがuseで似たようなメソッドがたくさん出てくるのは本当でしょ、UFCSにしてもそれはイコールで何ら変わらんわ なんでこいつらマトモに話すら出来ないの?コーディング能力を持ってるんだろうけど、コミュニケーション能力はゼロに近い
302 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:11:26.99 ID:VVkmIp+6.net] メソッドが動詞ならUFCSでは関係が逆になるんだよね 英語圏の人はどう思ってるんだろ
303 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:15:08.57 ID:Xt13Fv0a.net] >>298 OSV言語の自然言語に近くなるから、オブジェクトが先に来るのは利点として受け止められてる。でも所詮はシンタックスシュガーの何者でもない
304 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:16:12.91 ID:TDNc/5Gc.net] >>297 > 似たようなメソッドがたくさん出てくる そこ意味がわからない 似たようなメソッドがたくさんとは何?
305 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:19:11.55 ID:VVkmIp+6.net] C#にも拡張メソッドと言う名前でほぼ同じ機能が使えるけどそっちは拡張メソッドオンリーで使う前提で作られてる
306 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:23:57.49 ID:WnCW0ZaS.net] 似たような機能はいろんな言語にあるよね
307 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:31:31.86 ID:5qzMTDWR.net] >>299 英語はOSVじゃなくSVOな?OSVになることもあるけど、そして世界の自然言語の主流は日本語と同じくSOVが40% 参考としてスター・ウォーズのジェダイ・マスター:ヨーダは、このOSV語順で話す。
308 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:34:58.90 ID:VVkmIp+6.net] var s=copy(section); paste(s); みたいなのがあって これを paste(copy(section)): とするより section.copy().paste(); のほうが受け入れ易いってことだよね?
309 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:42:40.14 ID:pOd33Olh.net] >>304 最初からメソッドとして書けば済む
310 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 19:05:29.73 ID:8yiD5uPx.net] Methods! You will be written first, but many are not.
311 名前:デフォルトの名無しさん [2022/04/25(月) 19:07:02.73 ID:tSjXYtJn.net] >>305 ところがどっこい var sのsはメソッドを生やせないstring型だ 常にメソッドを生やせるとは限らないし、元のクラスに必要以上の仕事を増やさないためにから拡張メソッドという概念があるんだよ
312 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 19:15:14.85 ID:VVkmIp+6.net] スコープでuse出来て局所ごとにsection.print()の意味が変わる場合も便利だと感じる?
313 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 19:28:32.34 ID:WnCW0ZaS.net] メソッドじゃなくて関数や変数でも、スコープごとに意味が変わりうるのは当然のこと
314 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 19:29:22.19 ID:9QpKK4x8.net] 拡張メソッドが欲しいのはまぁ分かるんだけど UFCSまでいくと普通の関数のつもりが意図せずメソッド呼び出しできてしまう、みたいなデメリットの方が大きくなる気がするなぁ
315 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 19:33:06.80 ID:m1bq2XCo.net] なぜRustが叩かれていたのかようやく理解できた Rustでは基本の型にも外部の型にもメソッドを追加できるわけか そのためメソッドを自由に追加できない言語の人が逆恨みで叩いていたと
316 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 19:35:49.53 ID:VVkmIp+6.net] "test".print();が局所ごとに意味が変わると気持ち悪い
317 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 19:37:37.15 ID:3TQSNLUR.net] >>266 Nimだと「メソッド名空間」自体が無いから、そんな議論をするのは無駄だね。
318 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 19:43:06.53 ID:DNOUKEV3.net] >>312 え?logging.rsに"test".print();と書いてあるのと、printer.rsに"test".print();で意味が変わるのはなんも関係無くねえ? つーか普通に関数でprint("test")だのsaveだの、getだの散々やってるじゃん。気持ち(悪い)の問題なんだろうけどさ
319 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 19:46:57.59 ID:3TQSNLUR.net] >>311 それはNimも同様。 むしろNimの方がメソッドと関数を統一しているから(記法が違うだけ)、より自然に拡張できる。 >ぜRustが叩かれていたのかようやく理解できた >逆恨みで叩いていたと こういうアホなことを言う狂信者ばかりだからだよ。
320 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 19:56:02.27 ID:W8ZZnspt.net] RustのメソッドとかC++のメンバ関数のような特定の型だったりトレイトに束縛された関数のようなものがNimにはなくて、自由関数だけがある。 だからNimからUFCSをとったらC言語のように全ての関数をfoo(x, y, z)って書かないといけなくなっちゃう。 UFCSがあるおかげでどんな関数もx.f(y,z)だったりf(x, y, z)とか自由に書ける。 UFCSで関数がメソッドになるとプライベート変数/メソッドにアクセスできちゃうって勘違いしている人がいるかもしれないけどNimではそれは起きない。 C++のメンバ変数に相当するものや関数のアクセス権はモジュール外にそれを公開するかしないかのどちらかしかない。
321 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 19:57:52.87 ID:s4irQrJG.net] >>315 Nimでも自由にメソッドを追加できるならばUFCS必要なくね??
322 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 19:59:13.38 ID:9XvEg3RG.net] >>314 逆にprint_to_printer()とか print_to_consoleとか書いてあったら発狂するかもしれんわ 一番使うdebug_assert_eqとかヤメテほしい・・・、あと帰ってくる正式な型名が異様に長くなるのもC++の悪いところを引き継い出るような感じがする
323 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:05:33.97 ID:4uqCvk4R.net] >>316 自由関数しかないNimは関数名空間が常に汚染されてしまうのね 普通のプログラミング言語ならばメソッド名として名前空間が分離されるのよ
324 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:06:59.77 ID:0BSsoGgf.net] std::iter::emptyは名前空間を汚染するので使ってはいけません アホか
325 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:09:08.19 ID:9XvEg3RG.net] >>319 1つも調べもせんのな、自由関数だけじゃなくmethodもある。つーかおまえRust使うの止めてJavaやってろ、まじ迷惑
326 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:09:29.47 ID:VVkmIp+6.net] グローバル関数じゃなくて?
327 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:10:31.91 ID:3TQSNLUR.net] >>317 >>316 にまとまっているよ。 メソッドが無くて、ただの記法の違いでしか無いからこそUFCSのメリットを最大限享受できる。 >>319 メソッド名を関数名から「常に」分離するメリットは? 関数自体をモジュールとかで分離して管理できればいいんじゃないのかね。
328 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:13:13.14 ID:xcxOK/uY.net] やはり逆恨みで無関係なRust叩きやってる説が正しいかもしれん Rustが無関係な状況でも>>321 のように唐突にRustを出してくる
329 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:21:15.47 ID:51f23UG1.net] 逆恨みだの、攻撃だの、ずーーとこんな事言ってる奴いるけど完全なびょーきだと思う。名前空間が汚染されないという言語はお前の中で具体的に何?
330 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:21:37.03 ID:5gWGwAdH.net] もうケンカしてる人らが最強次世代言語作れば
331 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:23:23.46 ID:PqJDEf6z.net] 逆恨みとか、自我と言語が密結合していない限り出ない言葉だよな 用途目的に応じて言語を使い分ければ良いのに つまりそういうことだ
332 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:26:24.56 ID:bFDhmU1p.net] おそらくNimの人がずっとRustを仮想敵にでもしてるのかもな だからNimに不利っぽい書き込みがあるとRustの話がどこにもなくても無意識にRustを叩いてしまってるのかもな
333 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:26:38.57 ID:WnCW0ZaS.net] ローカルのスコープしか影響しないのに、わざわさわ汚染とか言うの意味わからん 紛らわしいからやめろ
334 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:27:48.66 ID:WnCW0ZaS.net] > わざわさわ汚染 タイポしてた わざわざ汚染
335 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:29:25.14 ID:3QooPOGs.net] 例えば新しい言語が出来て人気を博したら、RustにもNimにもDにもSwiftなどにも存在しない機能や、シンタックスシュガーになるわけで それを指摘したら、逆恨みだの、攻撃だの、アンチだの言いだしたらこのスレはマジ必要ない。 なんで無いのか考察を言ったり、コンパイル時間への影響とか、現行の構文が大きく変わってしまうとかそういうのを述べるならまだしも UFCSが汚染だとキチガイのように書いてる。マジこんなやつ迷惑だろw
336 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:34:31.02 ID:fIAeID6q.net] このスレを「汚染」で検索してそれら書き込みを見るとプログラミング言語名の最多登場がRust なぜRustを汚染と叩く書き込みが多いのか不思議
337 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:35:18.96 ID:PqJDEf6z.net] >>228 とか>>235 みたいな、主観と思い込みによる断定から荒れ始めたんだよな そこからおそらく自己正当化のために独自の「汚染」を定義 誰にも賛同されないと逆恨みだの攻撃だの仮想敵だの
338 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:38:37.94 ID:kDkXz7wX.net] >>333 それはもちろん同感だが 同時に発生しているRust汚染叩きは何なのだろう?
339 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:48:57.83 ID:VVkmIp+6.net] rustは錆なんだから汚染ぐらいでどうこう言うのもちょっと
340 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:54:23.26 ID:GhM9BPSc.net] Rustに対してとにかく言いがかりつけてるアレな人が前からおるやん 今回もそれだろ 有名人が叩かれる有名税みたいなもんや
341 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 21:10:54 ID:EYilt5eX.net] いーや一番言いがかりで汚染されてるのはこんスレとロシアだと思いますわ。反枠&陰謀論!病院池
342 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 21:27:42.00 ID:l9I/osPN.net] 有名税か 逆恨みやストレス発散でバッシングする連中多いもんな
343 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 21:47:49 ID:iMu4Hfqd.net] >>332 >>334 事実に基づかない嘘で被害者面するのやめるべきだな。 このスレで「汚染している」と難癖つけられているのはUFCSだろ。次点でNim。Rustはあったっけ? [] [ここ壊れてます]
345 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 21:58:12 ID:Hqs3zbo6.net] ケンカはやめて><
346 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 22:11:48.53 ID:EH/Dcnf1.net] ふたりを とめて〜
347 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 22:17:54.71 ID:PqJDEf6z.net] 有名税とか言う前にまずDとNimとUFCSを無理筋でこき下ろした件に対するごめんなさいは?
348 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 22:34:36.42 ID:BiA6VIMH.net] あと無関係な争いに巻き込まれたRustも可哀想
349 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 23:13:51.83 ID:W8ZZnspt.net] 調べたところRustにもUFCSがあるようだけど。 https://doc.rust-lang.org/1.30.0/book/first-edition/ufcs.html
350 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 23:32:05.72 ID:PJo8eL2A.net] それ古い版のthe bookだし>>224 の条件付きだからUFCSってあるってだけだよ
351 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 23:34:40.87 ID:PJo8eL2A.net] 途中送信した 条件付きだからこれをUFCSと呼ぶのは誤用ってことで今は使ってないよ(>>284 )
352 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 23:52:22 ID:+dAy6ibx.net] >>344 もちろんRustにもあるけど微妙に違うので今はUFCSとは呼ばなくなった その微妙な差というのは既に>>245 で書いたように > 例えばu64型のxに対して > xのn乗はu64::pow(x, n)という関数が標準であるけど > これはx.pow(n)と呼び出すことができる とメソッド形式でなく関数形式の時に型名等の前置パスで常に制限される
353 名前:デフォルトの名無しさん mailto:sage [2022/04/26(火) 00:24:29.22 ID:HRWQKuSX.net] ほんのわずかだけ違うとはいえ D、Nim、RustといったUFCS対応言語は2通りの記述方法が出来て便利で良いですよね
354 名前:デフォルトの名無しさん mailto:sage [2022/04/26(火) 07:04:16.95 ID:Y0YWAbka.net] Goってマジで終わりかけてる? 使う価値あんまり感じなかったのは事実だけどw
355 名前:デフォルトの名無しさん mailto:sage [2022/04/26(火) 07:06:24.67 ID:nY6A0xRe.net] バカヤロー、まだ始まっちゃいねぇよ
356 名前:デフォルトの名無しさん mailto:sage [2022/04/26(火) 09:33:09.74 ID:N3l9Q94/.net] Goジェネリクスの実装とパフォーマンスについて https://www.infoq.com/jp/news/2022/04/go-generics-performance/
357 名前:デフォルトの名無しさん [2022/04/26(火) 10:53:42 ID:jf0A6U3h.net] >>260 ちげーよ。 記法の問題。
358 名前:デフォルトの名無しさん [2022/04/26(火) 11:05:30 ID:jf0A6U3h.net] >>295 これが正しい
359 名前:デフォルトの名無しさん [2022/04/26(火) 11:06:06.60 ID:jf0A6U3h.net] >>295 これが正しい
360 名前:デフォルトの名無しさん mailto:sage [2022/04/26(火) 12:45:23.73 ID:AcQNW5IU.net] >>295 (UFCS方式を含めて)メソッドを追加できない次世代言語が存在するのですか?
361 名前:デフォルトの名無しさん [2022/04/26(火) 13:27:25.51 ID:jf0A6U3h.net] 頭痛くて寒気すると思ったら熱あったわ。
362 名前:デフォルトの名無しさん mailto:sage [2022/04/26(火) 13:49:04 ID:US6qo08V.net] >>355 Rust、Kotlin、Swift、C#は拡張できるし、メソッド形式呼び出しがあるモダン言語なら必須機能っぽいけどね
363 名前:デフォルトの名無しさん mailto:sage [2022/04/26(火) 14:12:26 ID:DbGjJV4L.net] 最後にGoの悪口に収束するのは、おまいらの悪い癖だと思う >>356 現代日本の片づけのキモはゴミ在庫の管理だ。 これはコンマリも言ってない.. pptppc2 「キモ」「ゴミ」とかいうワードが真っ先に出てくると身構えてしまう。
364 名前:デフォルトの名無しさん mailto:sage [2022/04/26(火) 14:18:27 ID:jETt/1T7.net] >>357 スレタイにある言語だと TypeScriptもJavaScriptだからメソッド追加可能 残るGoは?
365 名前:デフォルトの名無しさん [2022/04/27(水) 10:39:21.30 ID:8eBizIGw.net] nimググってみたけどけっこう良さそうな言語じゃん。
366 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 09:51:11.18 ID:nibPTxk+.net] Go開発者の92%が「Go言語に満足」 https://mag.osdn.jp/22/04/27/135700
367 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 11:41:20 ID:nnpkzAOE.net] >>360 自演乙
368 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 11:41:58 ID:nnpkzAOE.net] >>361 ガイジの中のガイジ煮詰めたデータに何か意味あるんか?
369 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 11:48:23 ID:HTMH1VGQ.net] なんかの統計でphpも満足度が高かったような
370 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 11:57:31.13 ID:izq7WstO.net] Nimは100%ですよ
371 名前:デフォルトの名無しさん [2022/04/29(金) 12:04:51.33 ID:okzbgZOG.net] >>362 何いちゃもんつけてんだ。 nimは使ったことすらねーわ。ググっただけだ。 一応このスレタイトルのtypescriptとgoは使ってる。
372 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 12:06:43.44 ID:0R1ha4qI.net] サーチフレンドリな名前ではある
373 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 14:28:08.64 ID:bzqD+Da/.net] 生存者バイアスとしか…
374 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 15:45:25.25 ID:nnpkzAOE.net] phpは障害者雇用枠だから
375 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 19:23:50.76 ID:fXQBWCQI.net] 前にも書いたけど学校のサイトとかをワードプレスで運用してるところ結構あるんだよね 他の言語では先生達に書き換えて運用とか無理だと思う PHPはそういう用途に向いてる 絶対そこはRustとかGoにはならない
376 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 19:44:01.30 ID:Crnvpu67.net] 言語と人を比較して言うのだが PHPを批判するような子は たいていPHP以下の存在 そして必ずPHPの作者以下の技量
377 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 19:58:05.95 ID:FaPJ+Yjv.net] たぶんPHPが存在してなければ、また誰かが気軽にwebサイトをさらっとかけるスクリプト言語をRustのようなシステムプログラミング言語で開発していただろう そしてそれはPHPのようなものになるのだろうね
378 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 21:18:48.98 ID:nnpkzAOE.net] たしかにPHPが障害者を吸ってくれたおかげで助かってるところはあるかも ITの汚物入れ、人類最底辺のクズ、エタヒニン・罪人 それがPHPoor
379 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 21:24:48.98 ID:cvAz2ZRh.net] Reasonってどうですか? https://reasonml.github.io/
380 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 22:15:53.12 ID:K6x/4GwT.net] こんスレってなぜかJuliaの話、完全スルーするよな。Go?Rust?Zig?Nim?時代遅れのローエンド言語や
381 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 22:27:03.12 ID:gkaMUNbq.net] >>370 GoとPHP、どっちも使わない人からしたら大して変わらない説。
382 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 22:38:01.94 ID:awtM9gjL.net] >>373 よっぽど根に持ってるんだな。 ちょっと病的な感じ。
383 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 22:48:27.27 ID:6EgfuGip.net] ローエンド言語なんて言葉ある? ローレベル言語ならわかるけど
384 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 22:57:18.29 ID:IOMhb3u+.net] >>375 単に知られてないから話題に反応できないだけだと思う 良いところ教えてよ
385 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 23:02:55.81 ID:kzHHMnSC.net] Julia、せっかく新規言語で型付けと動的性のバランスを取れる立ち位置にあったのに、抽象-具象の継承ベースの型を採用した部分が個人的にジェネリクスと噛み合いが悪いと思っていて悲しい 1-originとかは正直瑣末事だと思ってる分そこだけが本当に合わない 一応最新バージョンだとパラメト
386 名前:潟bクな抽象型とそのパラメータに抽象型を使えるし、その部分型をパラメータにも抽象型コンストラクタ(?)にも適用できるから実用上十分なんだと思うが [] [ここ壊れてます]
387 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 23:13:16.89 ID:6EgfuGip.net] JuliaのユーザーってPythonは当然として、他にはMATLABやRが競合になるようなコミュニティだから、 このスレとはまるで層が違うんじゃないかな MATLABやRの話も全く出ないし
388 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 23:27:24.69 ID:awtM9gjL.net] Juliaって計算科学や数値解析に特化した、R言語みたいなものでしょ?
389 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 23:34:47.33 ID:fFwxA39Q.net] Julia厨はクソみたいな押し付けするくらいなら 自分で他言語のライブラリの移植でもした方がよっぽど使ってもらえるという当たり前のことすら理解してないからな。
390 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 23:47:45.01 ID:dUco7/4p.net] >>380 その継承が中途半端なことしかできないし 継承を採用したことも失敗してるし Juliaはあかんね
391 名前:デフォルトの名無しさん mailto:sage [2022/04/30(土) 00:03:38.50 ID:UesQSoYk.net] 継承は基底クラスと派生クラスの役割(責務)の分担が非常に難しいです。 よほど上手く設計しないと、すぐに「スパゲッティ・オブジェクト・プログラム」ができあがります。 継承は実装の再利用という面があるので、得てしてコピペの代わりに使われがちでもあります。 既存のあるクラスの振る舞いをちょっとだけ変えたいから継承を使おうってやってしまうと、 派生クラスのソースを見ただけでは何をやってるのか全くわからない最悪のコードになります。 まだコピペのほうがマシなことも。 最初はちゃんとクラス階層の設計がされていたとしても、だんだん皆が使う共通ルーチンを基底クラスに持たせよう、としてしまうとか、 基底クラスは、すぐに、巨大かつ影響範囲が広すぎてイジれない「神クラス」になるでしょう。 この場合の基底クラスの役割は、グローバル変数そのものと言ってよいですね。 とにかく、継承を使うと、コピペ、グローバル変数の使用、といった「禁じ手」と実質的に同じことが簡単にできてしまいかねません。 もし継承を使うのであれば、かなり注意が必要です。 その一方で、継承でないと絶対にダメという用途もあんまりないのです。 継承を一律禁止してしまってもそんなに困らないところがあります。 そのため最近ではGoやRustなど言語の仕様として継承(インタフェースではない実装を持つクラスの継承)を禁止している言語が増えているという有り様です。
392 名前:デフォルトの名無しさん mailto:sage [2022/04/30(土) 00:45:40.28 ID:JnqjPuKd.net] 今北産業
393 名前:デフォルトの名無しさん [2022/04/30(土) 00:48:57.89 ID:LJ+fWFU3.net] 長い。そして間違っている。 Rustは代わりにtraitで継承を表現できるが、Goは表現する方法はなく、似たことをするとデータ構造を弄くることになる。 そもそも継承においてはデータ構造と実装の併合が問題なので、あとは察してください。
394 名前:デフォルトの名無しさん mailto:sage [2022/04/30(土) 00:53:39.80 ID:03/a5/ox.net] じゃあ継承使わないでプラグイン機構使いたいときはどうすんの?
395 名前:デフォルトの名無しさん mailto:sage [2022/04/30(土) 00:55:27.41 ID:xinPqoeI.net] プラグイン機構とだけ言われても意味が一意じゃないと思うけど mixinのことかいな?
396 名前:デフォルトの名無しさん mailto:sage [2022/04/30(土) 00:56:29.80 ID:5YZgJnSQ.net] Composition over inheritanceは30年近くも前のGoFですでに広まってるのになぜ次世代言語スレで話題になるんだろう
397 名前:デフォルトの名無しさん mailto:sage [2022/04/30(土) 01:03:52.06 ID:xinPqoeI.net] ていうかJuliaの型システム知らなかったから簡単に調べたけど具象型はsupertypeになれないとか書いてあるん
398 名前:ですが Juliaでもいわゆる継承の問題点はちゃんと回避されているんではないですかね [] [ここ壊れてます]
399 名前:デフォルトの名無しさん mailto:sage [2022/04/30(土) 01:17:16.86 ID:mZJBhlPe.net] >>391 継承とジェネリクスとの相性の悪さが問題なのではないかな
400 名前:デフォルトの名無しさん mailto:sage [2022/04/30(土) 01:19:25.03 ID:onyz3Xxm.net] >>390 その後に継承のデメリットの方が多いと分かってきたため そのデメリットをどう回避するかが各言語の主題となっている
401 名前:デフォルトの名無しさん mailto:sage [2022/04/30(土) 02:04:17.75 ID:LJ+fWFU3.net] >>390 知った気になって語りやすい話題だからだろう。 実装の拡張を肯定しつつデータ構造を直接拡張しないところが重要。 それを字面だけ解釈して、結局は妥協でデータ構造が暗黙に継承するような、先進言語の形だけ真似した言語もあるくらいだからね。
402 名前:デフォルトの名無しさん mailto:sage [2022/04/30(土) 02:17:19.37 ID:Z7DxbzXv.net] >>387 Goだけがどの話題でも機能不足との結論になっていて悲しいです
403 名前:デフォルトの名無しさん mailto:sage [2022/04/30(土) 02:24:06.80 ID:iqR9XqAh.net] クラス継承しか知らないプログラマーは何でも継承で表現しようとするために失敗しているわけだから 継承のないプログラミング言語で修行させればそこは学習できるはずだ
404 名前:デフォルトの名無しさん mailto:sage [2022/04/30(土) 03:12:19.75 ID:TIk5gKqZ.net] 実際言うほど継承使わないからなぁ 共通的な部分を継承で済ます場合はあるけど データもその共通部分がはっきりしているなら親クラスで定義するけど ただフレームワークを使ってたらコントローラはControllerから継承みたいなのはどうしてもあるが
405 名前:デフォルトの名無しさん mailto:sage [2022/04/30(土) 03:18:56.57 ID:QdZCFn9O.net] >>397 そこは移譲ではダメなの?
406 名前:デフォルトの名無しさん mailto:sage [2022/04/30(土) 05:30:17.12 ID:ES8eyWNp.net] typescriptは不要だな。jscript .netといっしょで空虚だ。
407 名前:デフォルトの名無しさん mailto:sage [2022/04/30(土) 08:27:54.46 ID:UilcMqZz.net] マイクロソフト、JavaScriptに型宣言を追加しつつトランスパイラ不要の「Types as Comments」をJavaScript仕様策定会議のTC39に提案へ https://www.publickey1.jp/blog/22/javascripttypes_as_commentsjavascripttc39.html
408 名前:デフォルトの名無しさん mailto:sage [2022/04/30(土) 11:29:38.19 ID:8xaJAFlZ.net] 継承自体は悪くなくて設計が悪い 実際継承使わないパターンが多くなったのでそれもどうでもいい クラスに当たるものに委譲で継承的なことをすると状態が問題になる そしたら状態を持つのが悪いと言うまた不思議な話になる そしてどんどん学習時間取られてみんな疲弊していく
409 名前:デフォルトの名無しさん mailto:sage [2022/04/30(土) 11:37:07.51 ID:8xaJAFlZ.net] 委譲元のクラスが単体では問題なく動くのに組み合わせるとテストを通らない よく見ると以上元のクラスの内部状態が必要になってるけど公開されていない 完全な設計ミス interfaceに必要な要素を追加…などできずデフォルト実装を追加 こうしてゴミが出来上がる
410 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 13:19:33.60 ID:GvRRQSqT.net] 継承はそのオブジェクトの内に閉じた処理、オブジェクトの外の処理でもリスコフ置換原則が成立する範囲ではスマートでいいと思うよ ただ現実的な話、ビジネスルール自体がそうなってないケースが多い オブジェクトの外の処理は多くの場合、処理対象の子クラスの型で分岐を求められる これにオブジェクト指向で対処しようとすると、めんどくさいデザインパターンの洪水に呑まれる オブジェクトの内側のことは継承でエレガントに実現しておk(嫌いなら使わなくてもおk) 外側のことは地道にpattern matchingで泥臭く頑張る これでいいと思うね
411 名前:デフォルトの名無しさん mailto:age [2022/05/01(日) 14:26:43.52 ID:TYpzgypv.net] キチガイ隔離すれの本領発揮
412 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 15:30:58.63 ID:1sKYDrOo.net] RustもJuliaやGoみたいに廃れて消えていく気がしている。 https://qiita.com/AKKYM/items/78c04840bc72d9db834d
413 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 15:37:27.28 ID:KjQtFKQ9.net] ポエムすぎ。
414 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 16:13:59 ID:KIr6c+FR.net] このRustと同じ分類となる、更に便利な言語が登場しないと、Rustを置き換えることが出来ないだろう > プログラミング言語は以下の3つに分類される > CとC++ ←『省メモリ高速』だが、「メモリ解放でミスると危険」 > GC言語 ←『省メモリ高速』ではないが、「メモリ解放は自動で気にしなくていい」 > Rust ←『省メモリ高速』だが、「メモリ解放は自動で気にしなくていい」
415 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 16:14:52 ID:1l9w5D7n.net] >>405 妄想でつか?
416 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 21:23:49.61 ID:Z7VnuZFm.net] JuliaはFORTRANを駆逐できましたか?
417 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 22:23:58.30 ID:BE/fpmM/.net] https://mun-lang.org/ Mun触ったことのある人いる? ぱっと見GCつきのrustみたいに見える
418 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 23:42:24.67 ID:/piMIc6O.net] >>410 文法や基本型はRustと同じっぽいね ドキュメントを見る限りでは非常に小さいサブセットで開発途上なのかよくわからない
419 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 12:37:31 ID:LXFM7yFt.net] >>407 その分類、そもそもニーズが大きくない気がするし、 このまま競合は現れずに行きそうだよね。
420 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 13:23:34.89 ID:2hhO4/Db.net] >>410 Dlang: C++風のGC言語 Crystal: Ruby風のGC言語 nim: Python風のGC言語 Vlang: Go風のGC言語 Mun: Rust風のGC言語 ← New! こういうこと?
421 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 13:56:24.42 ID:nH+No7UX.net] VlangはGC無かったと思った
422 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 14:17:19 ID:2hhO4/Db.net] >>414 ほんとだ、ありがとう
423 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 16:08:02 ID:btF26FKd.net] >>412 重視されているからこそ C/C++からRustへの移行(安全化)だけでなく 各種GC言語からRustへの移行(高速化)が起きている現実
424 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 16:39:23 ID:zwMG9j3G.net] >>416 ないわ~ pythonからRustってありえないよ
425 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 17:38:01.22 ID:/8s7agyt.net] NumPy, SciPyのライブラリの実装FORTRANをCにベタ移植して更にC++でラップしたような物ばかりだったけどRsutへの移行は順調に進んでいますか?w
426 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 18:06:45.99 ID:+Vpltyoe.net] それらPythonの使い方は単なる皮言語だからな 次世代言語スレで皮言語を持ち出す時点で頭おかしい
427 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 18:19:24.75 ID:cySxIzYo.net] >>418 どの分野でもどの言語でも同じだけど 他の言語に移行するのは新たな物(仕組み・システム)を作る時だよ そのまま移植は非常にレアケース 例えば古すぎるたり性能面で難があるけどアルゴリズムだけだから再設計せずそのまま他言語へ移植など
428 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 18:33:01.46 ID:LXFM7yFt.net] >>416 GCあり言語では、データ構造は気にしても、 メモリ操作を意識している人は、少数じゃない? だから置き換えは、結構ハードル高いと思うけれど。 >>417 Pythonは、グルー言語でもあるから、 単純な置き換えは、そうそう進まなさそうだよね。
429 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 18:40:21.71 ID:YtZJWkql.net] >>421 メモリ操作とは具体的になあに? めったにない特殊なケースは除くとしてハードルが高いことなんて無いんじゃないかしら
430 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 18:48:20.40 ID:/8s7agyt.net] >>422 低レイヤー言語だとメモリ読む前にキャッシュしたりアライメント揃えたりするでしょ
431 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 18:52:18.84 ID:qXzB3q2R.net] >>423 何それ? よほど特殊なことをしない限りそんなコードを書くことはないよ C言語でもアライメント気にせずに変数に値が入るし変数そのものがキャッシュだし
432 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 18:55:15.58 ID:/8s7agyt.net] >>424 w
433 名前:デフォルトの名無しさん [2022/05/02(月) 19:01:36.90 ID:srM4fb0r.net] >>424 他人のこさえたライブラリと構造体を受渡するときなんかは意識せざるを得んよな。 コレはレアケース?
434 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 19:06:45.80 ID:TE2kIXA8.net] >>426 それはFFIと言って低レイヤー言語だけの問題ではない PythonでもJavaScriptでもある 元の話題 >>423 > 低レイヤー言語だとメモリ読む前にキャッシュしたりアライメント揃えたりするでしょ
435 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 19:16:29.24 ID:nqnbrNKO.net] 例えばSIMD命令使うのが "よほど特殊なこと" に該当するかどうかという話?
436 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 19:29:07.60 ID:TE2kIXA8.net] この流れでFFIもSIMDも関係ないと思います GCあり言語の普通のプログラムをGCなし言語へ置き換える話をしています >>421 > GCあり言語では、データ構造は気にしても、 > メモリ操作を意識している人は、少数じゃない? > だから置き換えは、結構ハードル高いと思うけれど。 >>422 > メモリ操作とは具体的になあに? > めったにない特殊なケースは除くとしてハードルが高いことなんて無いんじゃないかしら
437 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 19:31:38.61 ID:LXFM7yFt.net] メモリ操作って言い方が曖昧なら、スタックとヒープを意識するかしないかって言い方ならどう? GCあり言語でスタックとヒープを意識するような事ってあまり無いと思うんどけど。
438 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 19:44:24.10 ID:xCWuNsuo.net] >>430 GCなし言語でどうしてもスタックとヒープを意識しないとプログラミングできないことってある??
439 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 20:03:38.83 ID:nqnbrNKO.net] >>431 ありなしで言ったらあるでしょ 性能意識するコードとか
440 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 20:09:21.38 ID:9bp9MTNx.net] >>432 それは性能をよっぽど気にする特殊な場合だけでしかもその中の一部のコードだけやろ それ以外は関係ないやん
441 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 20:41:15.68 ID:hiZvMXbQ.net] 言うほど低レイヤーコード書いてるやつはここにはおらん。 だから話がおかしな方向に行く。
442 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 20:50:55.80 ID:cNSfGfye.net] >>434 GCあり言語のコードをGCなし言語にする話だから 低レイヤーコードなんて一切関係ない
443 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 22:55:54 ID:54UIx2Ed.net] スタックは普通に意識するでしょう、末尾最適化されてないナンチャッテ意識高い系の再帰呼び出しとか直すけど・・・ GCアリ言語でも無しでも、スタックサイズは普通に意識する。 ヒープは言うほどRustは組み込みに使わないし、トヨタが使うというてもそれはメモリコンパクションのあるようなOSが載ってる場合だから 本当の組み込みじゃないし、でもアロケーターが64byte-4kでもVec::with_capacity(size);とか普通にIO系の処理では意識するでしょ
444 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 23:14:26.49 ID:zFIpg6hX.net] >>436 Rustはヒープ無しでも動作するからヒープを意識しなくていいのはその通りだが ヒープが有る場合でもVec::with_capacity(size);等は動作最適化を手動でする時のみ必要であって、 プログラマーは何もしなくても全自動でcapacity拡張してくれるから意識しなくてもよい
445 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 23:25:13.41 ID:nqnbrNKO.net] >>433 そもそもの質問が「ヒープ意識しないとプログラムできないことってある?」だから、反論になってないよ 頻度は問題にしてなくて有無の話だから
446 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 23:32:26.49 ID:uvbh46KP.net] >>438 それは君の方がおかしい 今回のこの文脈ではそこは意識する必要がない >GCあり言語の普通のプログラムをGCなし言語へ置き換える話をしています ベクタの使用領域の大きさはどちらの言語でも自動的に拡張してくれるのに任せればよいから意識しなくてよい
447 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 23:45:32.15 ID:2hhO4/Db.net] GCありの言語で循環参照するようなデータの持ち方をしまくってるようなコードだったりすると、 そのまま移植できないだろうし面倒かな? 場合によってはRustでいうArenaみたいなのまで持ち出して再設計しないといけなそう 移植なんてしたことないしあくまでも想像だけど
448 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 00:46:48 ID:Hze7UEQ+.net] >>437 ”Rustはヒープ無しでも動作する”、不正確でダウトといっても良い。”Box<T>を使わない場合、Rustは最小のメモリで動作する” 一般的に最小のメモリとはプログラムをメインメモリにロードした領域であり、それ以外にも、ヒープ解析すればRustの場合は、 Config structなどが多数メモリにロードされていることが分かります。後半の文は意味不明。
449 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 00:49:19 ID:owaZy9f2.net] GCあり言語って一絡げにできるほど似通ってるんだっけ
450 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 01:10:00 ID:Fo6zlgca.net] >>441 知識が浅すぎる Rustはヒープ無しでも動作する、で正しい そのためRustの標準コアライブラリcore::はヒープ無しで動作するように作られている std::のうちcore::以外の部分はヒープを用いており明確に両者は区別されている >> ”Box<T>を使わない場合、Rustは最小のメモリで動作する” 意味不明 Box<T>はヒープを使う型の一つに過ぎない それ以降の記述は全く意味不明
451 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 02:44:39.08 ID:x2jyG4Fk.net] まじきち隔離所、顔真っ赤になってww
452 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 02:45:30.07 ID:fvC5V6zC.net] まーたRust信者がスレハイジャックしてる
453 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 02:51:30.24 ID:K+UwgLRo.net] ベアメタル等OSなしでも動作しないといけないため Rustはヒープを前提とせずに動くよう設計されている
454 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 04:29:19.13 ID:5MBm6VS9.net] >>444 本当はスレ民のことが気になって仕方ないだろ? 隠しても無駄www
455 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 06:00:49.14 ID:iYuWu8Ht.net] なぜせっかくRustで作られたブラウザを除外するかね? 「NHKプラス」、「Firefox」での視聴が不可能に 5月23日から推奨ブラウザを「Microsoft Edge」「Google Chrome」「Safari」に限定 [孤高の旅人★] https://asahi.5ch.net/test/read.cgi/newsplus/1651490664/
456 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 06:33:11.84 ID:fvC5V6zC.net] >>448 そのどれかのブラウザがインストールされてない端末って何がある? Linuxと組み込みくらい?
457 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 08:05:32.71 ID:JBdnv4nv.net] 「Firefoxはバグ
458 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 08:06:08.35 ID:JBdnv4nv.net] 訂正:firefoxはバグが多いの?
459 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 10:17:41.36 ID:vk1zxqeV.net] Chromeより軽くてFirefoxオススメ
460 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 11:37:27 ID:+GUXg/j9.net] >>448 もし本当に視聴不可となったら技術力が無さすぎる 昔ならともかく今の時代にブラウザ依存なコードを書くのはダメなプログラマーの典型 視聴不可ではなく動作確認するブラウザの数を絞るなら理解できる
461 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 11:57:44.21 ID:TRGOwhZ/.net] > 「Firefox」など、上記3ブラウザ以外での動作はもともと確認しておらず、推奨ブラウザには加えていなかったという。 > 「5月23日以降に予定している設備更新に伴い、Firefoxでは動画が完全に再生できなくなる どういう設備更新なんだろうな・・・ WebKit系じゃないと使えない仕組みがあるのか
462 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 12:01:19.67 ID:WbhGI2Ja.net] 今どきはブラウザ依存な書き方する方が面倒だろう。普通にテストしてないだけでは。
463 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 12:02:22.58 ID:WbhGI2Ja.net] >>454 あ、本当に動かなくなるのか。
464 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 12:10:09.97 ID:DDJgB2x8.net] chromiumにしか実装されていない独自拡張機能に依存したAPIに手を出したとか?? でもSafariで動くなら違うか Firefoxでだけ動かないコードなんて可能なのか??
465 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 12:29:47.29 ID:wY2/8p8r.net] Chromiumは現代のIE6ですから
466 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 12:49:05.47 ID:owaZy9f2.net] そういえばchromeにrust使う話ってどうなったんだ?
467 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 19:12:46.20 ID:iYuWu8Ht.net] >>459 ああ、ごめん。さぼってたわw
468 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 19:19:05.53 ID:fvC5V6zC.net] たしかFirefoxもまだ全部はRustに治せてないんだろ
469 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 19:33:27.34 ID:5FiUhjhg.net] >>461 君は何らかの大きなシステム開発に関わったことがないのかね? どんな言語と言語の場合でも一気にやることは不可能かつムダ 新規部分や改修部分に絞って手を付けていく
470 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 20:16:20.57 ID:fvC5V6zC.net] >>462 なるほど だからよそと違ってバグまみれとか言われるんやなw
471 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 20:22:09.94 ID:jGM9XRro.net] Chromeの方がセキュリティバグ多いよな 頻繁にバージョンアップしろと言ってくる
472 名前:デフォルトの名無しさん mailto:sage [2022/05/04(水) 19:26:52.80 ID:mmwxiGlB.net] >>464 JVN iPedia - 脆弱性対策情報データベース。https://jvndb.jvn.jp/ 期間指定なし ・safari 884件 ・edge 1054件 ・firefox 1989件 ・chrome 3464件 期間指定2018/01から ・safari 48件 ・edge 391件 ・firefox 492件 ・chrome 937件 とはいえ、Chromeのほうがローリングリリース・ローリングアップデートの期間が短い(現在は4週間)2021/3頃から6週間から変更された。 以前はFirefoxはローリングリリースを採用していないかった。またChormeの使用者がFirefoxより10倍なので脆弱性も発見されやすい。 何かと問題なSafariの脆弱性がこれだけのはずが無く、脆弱性報告数=危険なブラウザとははっきり言えない
473 名前:デフォルトの名無しさん mailto:sage [2022/05/04(水) 19:52:07.53 ID:htgGZwEX.net] 途中まで数字で語ってるのに最後だけ願望になっててワロタ
474 名前:デフォルトの名無しさん mailto:sage [2022/05/04(水) 21:47:24.52 ID:8rho1RVn.net] go-tour-ko.appspot .com
475 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 01:24:23.06 ID:e3BB3pKX.net] >>466 Appleに報告した脆弱性、数カ月放置の後に「現在、調査中です」の返答 https://appleinsider.com/articles/21/09/27/apple-still-investigating-unpatched-security-flaws-in-ios-15
476 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 09:45:52.65 ID:M81p8ixH.net] 木を見て森を見ずという言葉を考えた昔の人はいいセンスしてる
477 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 13:55:59.94 ID:R5uUYm15.net] Appleって莫大な利益を何に消費しているのだろうね
478 名前:デフォルトの名無しさん [2022/05/05(木) 17:00:01.71 ID:SGcHNlDo.net] >>448 そもそもNHKは見ないのでどうでも良い。
479 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 19:17:07.87 ID:C9QWuoSO.net] >>470 そんなこと気にして何になるの?
480 名前:デフォルトの名無しさん [2022/05/05(木) 19:26:31.90 ID:kRCOTufr.net] >>472 ウィグル弾圧に使われてる可能性が高い。
481 名前:デフォルトの名無しさん [2022/05/05(木) 19:30:55.61 ID:kRCOTufr.net] Rust厨がウザいからだろ。
482 名前:デフォルトの名無しさん [2022/05/05(木) 19:32:25.99 ID:kRCOTufr.net] いまどきウェブ見てて落ちるブラウザなんてファイアフォックスくらいだし、そこらへんは忠実にネスケ以来の伝統を受け継いでて驚く。
483 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 19:35:07.40 ID:Z9g54GsT.net] トリビア:Firefoxユーザーはレベルが高いの致命的なバグがあっても自分で治して使って
484 名前:「る [] [ここ壊れてます]
485 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 20:13:12.39 ID:3l2hzI76.net] >>475 ここ数年間の常用者だがFirefoxが落ちたことがない もしデマカセを言っているのでないのならばどういう状況で落ちたのか語ってほしい
486 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 20:34:46.36 ID:CLlK/Ylr.net] かまちょかまちょ
487 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 21:13:15.17 ID:/HQ4632l.net] >>475 Chromeは週一ぐらいで落ちる IME変換中に間違えてファンクションキーを押すと落ちる
488 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 21:25:28.06 ID:i3pjo8Ig.net] 落ちるOSってありそう
489 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 21:27:55.65 ID:gPHNd8vO.net] >>477 数か月前に頻繁にメモリ不足で落ちてた。タブがクラッシュする
490 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 21:55:22.29 ID:V626dp+O.net] >>481 それメモリが少なすぎたとか メモリを超える巨大なデータを読み込んだとか 無数にタブを開いたとかそういうオチだろ
491 名前:デフォルトの名無しさん [2022/05/05(木) 22:30:44.53 ID:VIM8YOLC.net] 逆に100兆個のタブを開いて落ちないブラウザってどれ?
492 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 22:35:06.99 ID:NMIyHyw2.net] メモリ不足で落ちないブラウザもないと思います
493 名前:デフォルトの名無しさん mailto:sage [2022/05/06(金) 04:53:59.90 ID:qTXbaZrR.net] メモリ不足を、クラッシュせずに通知くらい【余裕】にできないと。 当たり前のこともできない。所詮現世人類の我々の技術力はそこまでということだ――
494 名前:デフォルトの名無しさん [2022/05/06(金) 06:06:43.53 ID:dyg36AcX.net] >>477 Windowsでタブレットモードにしてると頻繁に落ちるな。
495 名前:デフォルトの名無しさん [2022/05/06(金) 06:07:47.49 ID:dyg36AcX.net] 落ちるというか、無限ループしてるっぽいんだよな。 入力を受け付けず、タスクマネージャで見るとCPUをぶん回してる。
496 名前:デフォルトの名無しさん mailto:sage [2022/05/06(金) 06:15:30.69 ID:pLpPuHCg.net] Linuxでは落ちないよ
497 名前:デフォルトの名無しさん [2022/05/06(金) 06:56:47.40 ID:dyg36AcX.net] 頻繁に落ちるのに、落ちないとか信者が言い張るのも、ネスケ以来の伝統だよな。
498 名前:デフォルトの名無しさん mailto:sage [2022/05/06(金) 07:00:58.40 ID:eCfsRziE.net] 英語設定のLinuxだけど落ちないよ? バグってるのはサイトかホストなのでは?
499 名前:デフォルトの名無しさん mailto:sage [2022/05/06(金) 09:07:58 ID:PZ471HHG.net] Windowsでここ何年か使ってるけれど、 特に気になる動作は無いけれどな。 Edgeの印刷で返ってこない方が辛い。
500 名前:デフォルトの名無しさん mailto:sage [2022/05/06(金) 09:58:30.45 ID:+sslkA2r.net] FireFoxで微妙に表示が崩れるとChromeだとちゃんと表示されるのか気になる 表示させてみて同じだとホッとして違ってたらがっかり
501 名前:デフォルトの名無しさん mailto:sage [2022/05/06(金) 10:03:00.35 ID:szMyvzcx.net] Safariが恨めしそうにこちらを見ている
502 名前:デフォルトの名無しさん mailto:sage [2022/05/09(月) 20:38:44.58 ID:X0x/BBIp.net] 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氏は述べている。
503 名前:デフォルトの名無しさん mailto:sage [2022/05/09(月) 20:53:04 ID:S0Cki9Rv.net] >>494 競合なのは事実だろうけどGoやってるような人はRustも必要になれば普通に使えるでしょ エンジニア目線では特に対立関係にないから煽っても無意味だぞ
504 名前:デフォルトの名無しさん mailto:sage [2022/05/09(月) 21:00:58 ID:DoAIqFb7.net] 競合ではなく両方利用 Goで不十分なところはRustで書いている どこでもそうだよ
505 名前:デフォルトの名無しさん mailto:sage [2022/05/09(月) 22:46:52.00 ID:TDei0tm5.net] それができるんならCでいいじゃん
506 名前:デフォルトの名無しさん mailto:sage [2022/05/10(火) 03:38:38.78 ID:I4A9nNIt.net] 理想の家族 父 40歳 海外へ単身赴任(死ぬまで) 母 35歳 息子に甘い 姉 17歳 弟に甘い 俺 44歳 妹 15歳 多感な時期 俺に反発しながらも。。? 猫 ウンチしない 抜け毛ない 俺の声かけに無視しない
507 名前:デフォルトの名無しさん mailto:sage [2022/05/10(火) 08:39:54.21 ID:Hhyd/l4r.net] >>495 そうだぞ。 競合なのは事実だろうけどGoやってるような人はRustも必要になれば普通に使える、という体で話さないと嫌われるぞ。 それに、裁量権のない作業者の間では対立関係にないから煽っても無意味だぞ。
508 名前:デフォルトの名無しさん [2022/05/10(火) 20:07:58.34 ID:8UHmp6CE.net] 低レイヤーはRust 高レイヤーはGo この使い分けじゃいかんの?同じシステムプログラミング言語でも毛色が違うだろ GoogleとMicrosoftがRustに注目しているのもOS開発の目的であってGoでOS開発作ろうとはならんでしょ
509 名前:デフォルトの名無しさん mailto:sage [2022/05/10(火) 21:01:49.31 ID:mOdSHL41.net] 主張はわかるが、これはもしや片思いみたいなものではと見ている。 仮にGoユーザーの多くが低レイヤーにRustを使いたい結論だったとしても、 Rustユーザーの多くが高レイヤーにGoに使いたいという結論にはならない。 よってカップル不成立。
510 名前:デフォルトの名無しさん mailto:sage [2022/05/10(火) 21:17:09.90 ID:5Ln2ZQb8.net] 例えばウェブサーバーサイドもRustで書いたほうが早い速いしな
511 名前:デフォルトの名無しさん mailto:sage [2022/05/10(火) 21:25:40.62 ID:AAMxLs47.net] 低レイヤーのことは低レイヤーガールに聞けよ
512 名前:デフォルトの名無しさん mailto:sage [2022/05/10(火) 22:34:17 ID:M/BIyD/S.net] Goは良くも悪くもCっぽくって人間が気をつけて書かないといけない部分が多いんだよな 一度Rustに慣れてしまうと、Goで隅々まで気を使うのが面倒くさくなってしまう もちろん既存のGoプロジェクトはGoのまま書くけど、新規ならなるべくRustにしたくはなるな
513 名前:デフォルトの名無しさん mailto:sage [2022/05/10(火) 22:37:05 ID:1A7PmF6X.net] LinusはgitをC+シェルスクリプトで書いてた 書こうと思えば書ける でも普通に記述に時間がかかるので今は他の言語も役割分担してる
514 名前:デフォルトの名無しさん mailto:sage [2022/05/10(火) 23:04:46 ID:7R870FiC.net] Rustはデータ競合らへんは起きないけど、Box、Rc、Arenaを気をつけて使い分けないといけないのとか面倒だと思うけどな
515 名前:デフォルトの名無しさん mailto:sage [2022/05/10(火) 23:36:04 ID:M/BIyD/S.net] Goの一番の面倒さはnilとエラーハンドリングかな Option/Result型だけでも特別に用意されてれば、もっとGo使ってたかもしれん
516 名前:デフォルトの名無しさん mailto:sage [2022/05/10(火) 23:49:42.04 ID:Lq7F/6H2.net] >>506 Rcは出てこないプログラムも多い Arenaはほぼ完全に出てこない つまりそれらレアケースを元に語るのは現実的ではない
517 名前:デフォルトの名無しさん mailto:sage [2022/05/10(火) 23:52:42.15 ID:1A7PmF6X.net] Rustで引っかからずコードを書き上げるのはかなりの猛者だと思うよ 本当の意味での言語仕様部分は何とかなるかもしれないけどそこから先がつらい 入門4冊目の「コンセプトから理解するRus」tを読んで途中で投げ捨てた 本自体は良書なんだけどtrait境界がもう人間の理解を超えてる Cだと時間をかければ書き終えれるけど
518 名前:oグが入ってる可能性がある [] [ここ壊れてます]
519 名前:デフォルトの名無しさん mailto:sage [2022/05/10(火) 23:56:51.45 ID:1A7PmF6X.net] Rustはある程度から人間の理解を超えて来るので一定程度以上勉強しても無駄かなと
520 名前:デフォルトの名無しさん mailto:sage [2022/05/10(火) 23:57:58.56 ID:M/BIyD/S.net] >>509 その辺はScalaで学んだからRustでは苦労しなかったけど 最初訳わからんってなるのは分かる
521 名前:デフォルトの名無しさん mailto:sage [2022/05/10(火) 23:59:30.65 ID:1A7PmF6X.net] 書名でググると上位に出てくるこの記事がまさにそれ https://qiita.com/seikoudoku2000/items/28c5c6b09dcaea1744dc
522 名前:デフォルトの名無しさん mailto:sage [2022/05/11(水) 00:06:17.66 ID:0PGn8I2M.net] プログラミングはは知的生産だと思ってたけどこれはもう違う別の何か 他人の書いたコードは意味が分からないというけどそれ以前に自分で書いてもわけがわからない 理解の外にあっても動くからあっている コンパイルエラーが出ないからあっている それは本当に正しいことなのか バグが入ってないのかはもちろん期待した動作なのかすらわからない 人間が揺さぶられてきている
523 名前:デフォルトの名無しさん mailto:sage [2022/05/11(水) 00:07:09.92 ID:xUytDrfJ.net] 多くの人に知ってもらいたい これはもうプログラムではないよと
524 名前:デフォルトの名無しさん mailto:sage [2022/05/11(水) 00:09:05.79 ID:SabgIUuG.net] 実装に必要なtraitを境界として追加しただけで煩雑だけど難しくはないよね
525 名前:デフォルトの名無しさん mailto:sage [2022/05/11(水) 00:13:46.50 ID:q+AJMQiL.net] >>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!(); }
526 名前:デフォルトの名無しさん mailto:sage [2022/05/11(水) 00:18:22.19 ID:xUytDrfJ.net] 実際にトレイト境界の条件の実装部分を読んでみた シンプルなマクロで書かれてる部分もあれば複雑な部分もある そこで書いてある実装が本当に確実の条件を満たしうるのかは分からないし ドキュメントを読んでも厳格な意味が書いてあるわけでもない どこかで漏れがあってもわからない
527 名前:デフォルトの名無しさん mailto:sage [2022/05/11(水) 00:37:16.75 ID:xUytDrfJ.net] 例えば条件の一つがよくよく考えてみればさらに二つに分離して考えないといけないものだと 後で判明するともう既存のコードがみんな死んでしまう 使用してる所を全部さかのぼって修正しないといけない それかRust自体の仕様変更で死んでしまったりいろいろ死にそうな要因がたくさんある マクロでやりすぎてる
528 名前:デフォルトの名無しさん mailto:sage [2022/05/11(水) 00:39:26.57 ID:OHUg1Auo.net] >>518 そんなこと起きたことがない 聞いたこともない机上の空論
529 名前:デフォルトの名無しさん mailto:sage [2022/05/11(水) 11:02:33.31 ID:ut6S4c2T.net] Rustの標準ライブラリの設計がそもそも間違ってて、その修正のために破壊的な変更がいきなりきたら大変だ、って話? そんな馬鹿な、と笑っちゃうね
530 名前:デフォルトの名無しさん mailto:sage [2022/05/11(水) 12:27:47.37 ID:0Stn7tVM.net] サプライチェーン問題は批判理由が見つからない人が持ち出しがち。 マクロがない言語だと、同じ機能をコンパイラやらランタイムが持ったりするわけだが、不思議に誰もそれらの機構を疑わなかったりする。 中身が可視化されたのに逆に疑わしく感じた場合は、まずは自分の知識が足りなかったことに気づきましょう。
531 名前:デフォルトの名無しさん mailto:sage [2022/05/12(木) 17:29:32 ID:LSv3zttQ.net] 実装の問題は重要だろ。 そもそも実装と独立に仕様だけ語れるような作りにrustはなってない。
532 名前:デフォルトの名無しさん mailto:sage [2022/05/12(木) 18:12:00.76 ID:cxVwbP/0.net] 何を問題視してるのかもうちょっとわかりやすく書いてくれないと議論にならん
533 名前:デフォルトの名無しさん mailto:sage [2022/05/12(木) 18:19:51.09 ID:q5adbU17.net] 判らないなら無理して首を突っ込むことはないかと…
534 名前:デフォルトの名無しさん mailto:sage [2022/05/12(木) 18:20:37.20 ID:q5adbU17.net] コーダー風情にはどこら辺に問題があるかすらわからないんだ ほっとけばいい
535 名前:デフォルトの名無しさん mailto:sage [2022/05/12(木) 18:57:51.28 ID:+0JH2q+I.net] >>522 依存型理論原理主義過激派かな?ちょっと面白い
536 名前:デフォルトの名無しさん [2022/05/12(木) 19:03:55.20 ID:KS5+XyCs.net] 依存型ってrustは入れてないやろ
537 名前:デフォルトの名無しさん mailto:sage [2022/05/12(木) 19:34:17.87 ID:B7YnOOaf.net] >>527 Π型はないけど、const genericsなら…
538 名前:デフォルトの名無しさん mailto:sage [2022/05/13(金) 10:40:27 ID:fhDjEdn1.net] >>521 ランタイムが持ってる言語ならランタイムをアップデートしたら終わり マクロの言語は該当箇所を探し出して修正して丸ごと再コンパイルが必要 工数考えたらどちらが有利なのかすぐ分かる 知識が足りないのはどちらなんだろうか?
539 名前:デフォルトの名無しさん mailto:sage [2022/05/13(金) 10:59:45 ID:0p7HEVH9.net] >>529 現実には起きない架空の話だから両者ともにバカげている
540 名前:デフォルトの名無しさん mailto:sage [2022/05/13(金) 12:10:30 ID:uaWVrnpQ.net] 笑っちゃうね
541 名前:デフォルトの名無しさん mailto:sage [2022/05/13(金) 12:50:06 ID:tAeYJnp8.net] >>529 ランタイムだけ差し替えられることに気づくとは…
542 名前:デフォルトの名無しさん [2022/05/14(土) 10:40:41.82 ID:vWT7MZ9I.net] さすがナレッジワーカーだね
543 名前:デフォルトの名無しさん mailto:sage [2022/05/14(土) 22:44:26.45 ID:z9ygdFkB.net] Juliaの今ひとつなところはswitch/case文がないところ あのパイソンでさえ導入したのに時代錯誤 それ以外は良さそうな言語 しらんけど
544 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 08:12:53.18 ID:peAa8dI5.net] Juliaではマルチディスパッチしろという方針なのかもしれんが、マルチディスパッチの方が他言語に普及してないのは機能として過剰な割に効率性に劣るからなんだろうかね
545 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 08:40:21.58 ID:gv+JQ3Ew.net] まつもとゆきひろ氏が考える、プログラミング言語の未来 https://logmi.jp/tech/articles/326541 楓:「今Ruby、Cの次に好きな言語はなんですか」。 まつもと:そうだな。Elixir、Go、Rustは気になるっちゃ気になるんですね。ただ、正直に言うとRustは僕の好みではない(笑)。 楓:おおー。気になるポ
546 名前:イントと好みじゃないポイントはどのあたりなんですか。 まつもと:やはりCを一番よく書くので、システムプログラミングの領域が、私がよくプログラムする領域なんですけど。そこに出てくる言語の中で今一番メジャーなのは、GoとRustであるというのが気になるところですね。 だけど、Rustが型でいろいろなことを言ってくれるのはうれしいところとうれしくないところがあって。つまりコンパイラに怒られるんですね。僕はコンパイラに怒られるのがすごく嫌いなので(笑)。なんかストレスがたまるんですよね。 楓:(笑)。 まつもと:どちらかというと、技術的なことではないところで一緒にがんばれるものがいいなって思っていて(笑)。 [] [ここ壊れてます]
547 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 08:49:59.25 ID:SgXGf86o.net] どの言語でも間違えればコンパイラに怒られる その程度でストレスがたまるならば頭がよくないのかもしれない
548 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 09:40:56 ID:N7JPl8Lh.net] コンパイラに怒られずにランタイムに怒られる方が ストレスたまりそうなんだが違う感覚の 人もいるんだなあ
549 名前:デフォルトの名無しさん [2022/05/15(日) 09:42:48 ID:am1d3hDu.net] 必要以上に怒られてるからクソって話なんでしょ
550 名前:デフォルトの名無しさん [2022/05/15(日) 09:49:32.98 ID:2T0P5EJz.net] ランタイムに怒られてもうまく問題点を見つけ出せる方が頭良い気がする 僕はあんまり賢くないからコンパイラが叱ってくれる方が楽
551 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 09:50:12.91 ID:C1KM65Ry.net] 自分がすごくプログラミングが出来る自負があるから、コンパイラに怒られるとプライドが傷つくから嫌だって言ってるようにも見える
552 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 09:52:43.88 ID:lixSo2ZB.net] ひろゆきは賢いからコンパイラは余計なことを小うるさく言わんでいいって感じ?
553 名前:デフォルトの名無しさん [2022/05/15(日) 09:52:58.51 ID:WKOj7Eq4.net] 自意識過剰で被害妄想だな コンパイラは怒ってるのではなくて指摘してるだけ
554 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 10:06:42.86 ID:6dsDjrbs.net] The compiler is your friend
555 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 10:31:50.86 ID:C1KM65Ry.net] Rustのコンパイラに怒られるってことは所有権のシステムとかが全然理解できてないんだと思う 前の職場にもc/c++を数十年やっててrustを毛嫌いしてる人何人かいたけど、今更自分がコンパイラに指摘されまくるのがプライドが許さないんだろうな
556 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 10:45:11.53 ID:duXfvT8B.net] >>542 「ゆき ひろ」なw
557 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 11:08:18.85 ID:68DnPwxB.net] 人間の理解を超えたところから怒られるのは違うかなと それってプログラムなのか?
558 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 11:12:52.72 ID:68DnPwxB.net] 囲碁や将棋はもうAIの方がかなり上に行っちゃって誰もAIに勝てない プロも含めてAIの手を研究してるけど理解できないのがかなりある それを意味も分からずただなぞって指してる人もいる プログラムはそのレベルじゃないけどそういうものに近づいてる
559 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 11:25:25.72 ID:+6kSxcdv.net] デバッグ含めた開発効率の良さを考えると可能な限りコンパイル時に怒って欲しいかな コンパイラが怒ってくれる > ランタイムが怒ってくれる > 誰も怒ってくれない
560 名前:デフォルトの名無しさん [2022/05/15(日) 11:45:48.58 ID:cL2R0opO.net] プログラムを書いてエラーが出ると「自分が否定された」「尊厳を奪われた」と感じる人もいる、という話 https://togetter.com/li/1698737
561 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 11:57:01.15 ID:UbJQuPTx.net] ランタイムは運良くバグを踏まなければずっと怒られずに済むのに対してコンパイラは必ず怒られるから 前者の方がいいって人もいるんだろうね
562 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 12:21:03.73 ID:uEAI3vEe.net] ドMなので
563 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 12:28:05.42 ID:0scjaaG3.net] コンパイルが通って、いざ実行してみたら 「segmentation fault.」とそっけなく言われるのもまた一興
564 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 12:43:05.95 ID:wf2KlSEE.net] >>545 そうゆう浅はかな考えは恥をかく元。常に所有権を意識しなきゃならないので、言うなら、呼び出される上のほうでロックしてても 複数スレッドでアクセスして安全なのに、所有権をいちいち意識しなきゃならないという事だ。 Rustはスクリプト言語の作者からすれば、面倒な記述が多すぎると感じて当たり前 強いて言えば、こういう浅い奴がマウントとってる現状のRustコミュニティは反吐が出る、Rubyコミュニティも好きでもないけど
565 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 12:56:50 ID:+mKsOYSe.net] >>554 貴殿も的外れ
566 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 14:03:03.21 ID:8BbShedD.net] そろそろ指摘するんじゃ無くて、勝手に直したり、良きに計らって欲しい。
567 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 15:06:40.70 ID:v+sSFlFE.net] >>545 実はそういうは人を排除するためだけにRustのプロジェクトを立ち上げたりしてる組織もある
568 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 15:29:27.60 ID:2Vop47w6.net] 陰湿やなあ
569 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 16:17:30.31 ID:SzIUVHZr.net] 今のコンパイラはエラーが起きた行を指摘するけど 「この辺がちょっと気になります」 と指摘してくれるコンパイラが そろそろ出てきてもいいような気がする エラーの種類はそんなにないと思うので
570 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 16:25:25.34 ID:VMVrIVgn.net] 静的解析ツールなら前からあるぞ。高いけど。
571 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 17:05:02.60 ID:68DnPwxB.net] 松本が所有権を理解してないんじゃないと思うがw まっつの言うこととこのスレの指摘はずれてると思う 松本の言ってることを理解してないだけ 気を付けて普通に書いてバグが出ないのが普通 それでも日常的にコンパイラに怒られるのは人間じゃなくて言語がおかしい
572 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 19:34:19 ID:bvYh9RC/.net] なんか最近開発に興味なくなってきた こんな時みんなどうしてるの? プログラミングだけが俺のアイデンティティだったのに 死ななきゃいけない?
573 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 20:04:07 ID:ezWJ6neI.net] さぁ?江頭2:50見て元気を貰うとかかな
574 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 20:21:42.85 ID:Fhttg/Du.net] >>563 あ?バカにしてんの?
575 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 21:31:15.68 ID:Wjdq3fA+.net] 最近のげんこはprintをpirntとか書くと、 候補を提示してくれるよね。 あたまいい!!
576 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 23:05:43 ID:QlsYdN5b.net] >>556 一部のコンパイルエラーは修正コード提案してくれるしIDEからボタンぽちで修正できるから、 それ発展させて意図が不明確なコードでも何種類か修正候補出してくれるようにならないかな
577 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 23:18:12 ID:yIEtIhqx.net] >>565 Qiitaに投稿された「TypoScriptを作った」を思い出した レーベンシュタイン距離が近ければOKっていうネタ言語
578 名前:デフォルトの名無しさん mailto:sage [2022/05/16(月) 05:52:10.13 ID:x9xW3Kri.net] >>562 ぼくも(´・ω・`)
579 名前:デフォルトの名無しさん mailto:sage [2022/05/16(月) 07:12:48.31 ID:3AP7f9yS.net] 英語圏のフォーラム見に行くくらいモチベあったのにな
580 名前:デフォルトの名無しさん mailto:sage [2022/05/16(月) 08:44:14.30 ID:IfoxgD2F.net] >>545 Rustはマナー講師みたいなものだろ。 Rustが望ましいと考えるスタイルを強制して他のやり方を許さない。「なんで?」と理由を聞いても「それがルールだから」とか理解しがたいことしか言わない。 せめて「スタックにデータを保存するため」とか「Cleanみたいに参照透過性と性能を両立させるため」とか言えばいいのに、そういった思想的な背景を説明しないからマナー講師が跋扈する。
581 名前:デフォルトの名無しさん mailto:sage [2022/05/16(月) 09:01:06.67 ID:nGMMRLLq.net] >>570 それはどのプログラミング言語でも同じ。 いずれの言語も独特のスタイルを押し付けてくる。 もしそれを感じ取れないならば、それは特定のスタイルに慣れてしまっているだけに過ぎない。 例えばわかりやすい例を持ち出せば、リアクティブな言語や宣言的な言語では、 a = b + 100 と記述しておけば、aが変わればそれに応じてbが変わるし、bが変わればそれに応じてaが変わる。 ところがそうでない不便な言語に出会ったときに、 双方向に自動的に変わってくれないために苛立つかもしれない。
582 名前:デフォルトの名無しさん mailto:sage [2022/05/16(月) 11:59:09.62 ID:TAALxp7N.net] >>571 「それは特定のスタイルに慣れてしまっているだけに過ぎない。」と切り捨てているところに排他的思想&知識マウントを感じるね。 a = b + 100の例は代入演算に対して ("="から一般的に連想される) 「等しい」の意味を適用することにより生じる誤謬。 原理や技術的決定を理解せずに相手にルールを押し付けようとするマナー講師の話とは関係無いな。
583 名前:デフォルトの名無しさん mailto:sage [2022/05/16(月) 13:13:57.85 ID:IoIRdAU7.net] >>570 むしろスタイルを強制しないプログラミング言語なんて存在するのか?
584 名前:デフォルトの名無しさん mailto:sage [2022/05/16(月) 13:41:05.21 ID:8gGmt1rZ.net] 松本がRust好きじゃないのはまあそうだろうなとは思う。 この人、テストコードとかも好きじゃないとか言ってたし。 個人的にはそれじゃ仕事にならんだろとか思ったりはするけれど、とりあえずこの人のスタンスは一貫はしてるよ。
585 名前:デフォルトの名無しさん mailto:sage [2022/05/16(月) 18:39:47 ID:qW5+0T97.net] >>570 マナー講師はフォーマットみたいな個人の好みレベルの話で コンパイラが指摘する構文とかセマンティクスはその言語の世界における自然法則みたいなものでは
586 名前:デフォルトの名無しさん mailto:sage [2022/05/16(月) 19:09:08.37 ID:R1kAqWTp.net] >>575 エラーメッセージの問題じゃなくてドキュメントの問題かもしれないけど、エラーの形で否定するなら納得のいく理由を教えてほしいものだわ。 自然法則みたいな原理があるなら、その原理からどう推論したらそのルールになるのかの考え方も欲しいところ。 まぁ、それ以前のエラーメッセージしかしないクソ言語も多いけど。C++とか。
587 名前:デフォルトの名無しさん mailto:sage [2022/05/16(月) 21:09:51.80 ID:qW5+0T97.net] >>576 rustのlifetimeとかborrowing周りのエラーはそんな感じでエラーになった理由は教えてくれるよ 例えばどんなエラーの原因を分かると嬉しいと思う?
588 名前:デフォルトの名無しさん [2022/05/17(火) 03:36:27.01 ID:maKCFX0H.net] Rustのエラーメッセージの親切さは異常
589 名前:デフォルトの名無しさん mailto:sage [2022/05/17(火) 04:13:37.47 ID:tz+YwBRZ.net] 美人女教師のイラストでも添えたら エラーメッセージもそれっぽい口調にして
590 名前:デフォルトの名無しさん mailto:sage [2022/05/17(火) 08:12:17.48 ID:t8H/GFrA.net] >>577 原因じゃなくて原理ね。 エラーメッセージとしてはとりあえずは原因と解決策で十分だけど、verboseの時とかは技術的背景とかポリシーとかを説明した解説へのリンクがあると嬉しい。特に制約の厳しいライフタイムとか借用とか。 まぁ、そうなるとrust版D&Eを書くようなものだから大変か。
591 名前:デフォルトの名無しさん mailto:sage [2022/05/17(火) 08:22:18.93 ID:aOp3kwmZ.net] >>580 現状でもエラーによってはGitHubのissueへのリンクが付いてるから、具体的にこのエラーでこのページへのリンクを付けるべきって提案があれば受け入れられる可能性は高いと思うよ
592 名前:デフォルトの名無しさん mailto:sage [2022/05/17(火) 08:39:46.07 ID:3guGxSPi.net] カンマとピリオドの間違いとか カンマが抜けているとか うっかり全角文字で記号をうっているとか 初心者にありがちなエラーを 「ひょっとして・・・」 と教えてくれるとうれしいかもしれない
593 名前:デフォルトの名無しさん mailto:sage [2022/05/17(火) 09:03:36.05 ID:t0SSI9IZ.net] コンパイラ「Did you mean ',' instead of '.' ?」 俺「Fuck off!」
594 名前:デフォルトの名無しさん mailto:sage [2022/05/17(火) 11:37:57.12 ID:V5JE6XCC.net] >>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
595 名前:デフォルトの名無しさん [2022/05/17(火) 16:48:28.24 ID:DWSI+bpc.net] コンパイラのエラーメッセージに外部サービスのリンクって、もしそのサービス終わったらどうすんの?
596 名前:デフォルトの名無しさん mailto:sage [2022/05/17(火) 17:38:26.91 ID:V5JE6XCC.net] >>585 rustのことなら公式サイトへのリンクだよ さすがに言語のメンテナンスが続く限りは大丈夫でしょう
597 名前:デフォルトの名無しさん mailto:sage [2022/05/17(火) 19:22:14 ID:ARYpWsQd.net] なお誰もやらんもよう
598 名前:デフォルトの名無しさん mailto:sage [2022/05/18(水) 09:51:35.50 ID:ynn+jzpi.net] 最も重要なマナーは プログラムなのかデータなのか不明な文字列等を使ってはならない つまりインタプリタを作ってはならない 文字列指向が好きな人にとっては オブジェクト指向こそが文字列を否定するマナー講師だった OOPを無視してstatic変数を使ってもコンパイラに怒られることはなかった 怒っているのはいつも人間だった
599 名前:デフォルトの名無しさん mailto:sage [2022/05/19(木) 01:27:36.14 ID:Ahp8TrG/.net] Rustちゃんは生活のすべてを管理されたトップアスリートでヘソ出しユニに胸はぺったんこでショートヘアのすっぴんだけど最高の記録を出す Goちゃんはそんじょそこらの陸上部員で県大会レベルだけどボインボインのロングでシャワーを浴びたらそのままGoコンにGoできる どっちがいいかって話よ
600 名前:デフォルトの名無しさん mailto:sage [2022/05/19(木) 01:29:12.91 ID:Ahp8TrG/.net] なおGoちゃんは無限に二股をかけられるという特技もある
601 名前:デフォルトの名無しさん mailto:sage [2022/05/19(木) 01:33:58.07 ID:d4KplWCH.net] 意味不明なたとえ受けると思ってそう
602 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 01:02:59 ID:A/bJmwRQ.net] レベルが低すぎてRustスレで書けないRustの話しかしない駄スレ
603 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 03:37:27 ID:tiOCYDba.net] ____ / \ / _ノ ヽ、_ \ / o゚((●)) ((●))゚o \ ほんとはRustスレでやりたいんだお… | (__人__) | \ ` ⌒´ / ____ / \ / _ノ ヽ、_ \ / o゚⌒ ⌒゚o \ でもRustaceanはクオリティ高いスレしか相手してくれないお… | (__人__) | \ ` ⌒´ / ____ /⌒ ⌒\ /( ●) (●)\ /::::::⌒(__人__)⌒:::::\ だから次世代言語スレでやるお! | |r┬-|
604 名前:| \ `ー'´ / [] [ここ壊れてます]
605 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 07:21:25.71 ID:qtpsVsYu.net] Rustスレはフィボナッチ数列で無駄に盛り上がってる
606 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 08:06:23.76 ID:0sq8H5co.net] >>594 行列演算とかじゃなくてフィボナッチ数列かぁ……
607 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 09:05:30.63 ID:skF4IFrQ.net] 純粋アルゴリズムにrustは不向きだとなぜ気づかんのかな。。
608 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 09:31:27.55 ID:qCLhnuk6.net] >>595 なかなかゴミみたいな様相だよ フィボナッチ数列の第n項はメモ化しなくても線形オーダー、あるいは対数オーダーで計算できるのに、メモ化にこだわりのある人が「そのやり方はmainのループと合わせて計算量はn^2だ」とか言い出して散々
609 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 10:04:11.72 ID:73YqjaVk.net] >>596 個人的にはむしろ抽象化と両立が難しいところに新しい道ができたように思えた (過剰なメモ化なら言語関係なくやられがちな気がする)
610 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 16:45:27.87 ID:B4JoNxMk.net] フィボナッチ数列計算するのにあそこまでする必要はないわ
611 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 17:32:46.13 ID:nVnkC/ng.net] スレ見てないけどベクトル演算した方が速いんじゃないの知らんけど
612 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 17:36:21.53 ID:g6eOZZWy.net] Rustのスレなんだし、アルゴリズムで計算量を改善したりする話じゃなくて、Rustのベストプラクティスについて話してほしい
613 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 17:49:16.78 ID:nVnkC/ng.net] Rustのスレじゃねーんだなこれが
614 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 17:58:31.56 ID:UyuFXYvf.net] 数値計算はやっぱりJuliaかFORTRANが実行速度最速なのかしらん。
615 名前:デフォルトの名無しさん [2022/05/20(金) 18:17:57.67 ID:Cx5X7nNC.net] >>597 nが与えられた時に 『フィボナッチ数 F_n』を求めるのは単純にO(n)あるいは工夫してO(log n)で合っている ところがその『F_n』を求める関数を「ループでn回」用いて 『フィボナッチ数列 F_0, F_1, F_2, ..., F_n』を求めると当然n倍でO(n^2)またはO(n・log n)となってしまう それが後半の「そのやり方はmainのループと合わせて計算量はn^2だ」という話だと思うのでそれも合っている ところが『フィボナッチ数列 F_0, F_1, F_2, ..., F_n』を生成するイテレータを作ると全体がlog(n)で済む つまり計算量を大きく節約できる この二つの区別を出来ているかどうかが重要なポイントかな
616 名前:デフォルトの名無しさん [2022/05/20(金) 18:30:54.17 ID:Cx5X7nNC.net] ごめん1箇所だけ記述ミスを訂正 >>604 × ところが『フィボナッチ数列 F_0, F_1, F_2, ..., F_n』を生成するイテレータを作ると全体がlog(n)で済む ○ ところが『フィボナッチ数列 F_0, F_1, F_2, ..., F_n』を生成するイテレータを作ると全体がO(n)で済む
617 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 19:27:34 ID:Cb6kz6Up.net] >>605 コテハン付けろよ。 NGにするから。
618 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 19:32:41 ID:0DaneQt4.net] 頭おかしくなっちゃった! -=≡ ∩ 彡⌒ミ ∩ -=≡ .ヽ(´・ω・`) / -=≡ ( / -=≡ ( ⌒) -=≡ し し'
619 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 20:02:33.19 ID:AMqMmZYo.net] >>604 そうそう、こんな感じで論点をどんどん変えてくんだよね フィボナッチ数列のはずがフィボナッチ数列の1~n項の計算にすり替えられちゃう
620 名前:デフォルトの名無しさん [2022/05/20(金) 20:07:15.27 ID:Cx5X7nNC.net] 『フィボナッチ数 F_n』を求めるアルゴリズム・計算量と 『フィボナッチ数列 F_0, F_1, F_2, ..., F_n』を求めるアルゴリズム・計算量は当然異なるからね 前者は繰り返し二乗法で1個の算出がO(log n)がベストだけど 後者で前者の方法を使ったら遅くなる 後者は単純に前二つを足していけばn個の算出がO(n)で済みそれがベスト
621 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 20:33:10.89 ID:AMqMmZYo.net] スレの流れとしては前者なのに一人だけ「数列だから初項からn項までの計算量を考えろ」とか頓珍漢なこと言ってるのよね
622 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 20:52:13.48 ID:EQAKr5b0.net] スレ見たけど最初から全員がフィボナッチ数列を列挙させているから >>609 で言うところの後者だな そして今日書かれた2種類のコード共に後者のイテレーター >>610 たぶん君だけが勘違いしている可能性が高いw
623 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 20:52:49.34 ID:pMSjr2Vl.net] フィボナッチ数列自体はただの例題なのに異様な執着心見せる人が居るよね なんかのコンプレックスこじらせてるのかな
624 名前:デフォルトの名無しさん [2022/05/20(金) 20:59:42.21 ID:Cx5X7nNC.net] >>610 フィボナッチ数列といったら F_0, F_1, F_2, ..., F_n, ... だよ それはともかく前者と後者でベストなアルゴリズムが異なるから前者だけの話をすることはありえないと思う そして後者のイテレータはそのまま前者をO(n)で求めることが出来るから どちらもO(n)で十分とするならばイテレータをプログラミングするのが自然じゃないかな
625 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 21:04:10.39 ID:uKCjuMHy.net] 職業マは生暖かい目で見守ってるよ 初学者・学生・無職・アマチュアプログラマが必死になれるのは 自転車置き場の議論だけだからね 昼間必死に書き込んでるやろ彼らは
626 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 21:07:40.93 ID:QySmFXhb.net] フィボナッチってO(1)では?(ビネ並感) 流れはよくわからないが、とりあえず本スレは盛り上がっているようで何よりだね
627 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 21:15:10.30 ID:EQAKr5b0.net] 各項のオーダーはO(1)可能だが複素数(行列)でムダに計算量多いだろw 結局一覧を列挙するなら足し算していくのが一番速い
628 名前:デフォルトの名無しさん mailto:sage [2022/05/21(土) 00:28:12.49 ID:xHIjAvV7.net] スレタイ読めよアスペども
629 名前:デフォルトの名無しさん mailto:sage [2022/05/21(土) 07:47:11.09 ID:0jWT+RR4.net] >>616 複素数じゃないよ、実数の範囲で計算できるよ
630 名前:デフォルトの名無しさん mailto:sage [2022/05/23(月) 01:01:31.28 ID:Eq9f2SXv.net] Qitaベンチマークで、フィボナッチとかドヤァってるドアホ見るけど、片方の言語がoverflowチェックなどが入ってる演算を 使ってるのに、もう片方はチェックが入らない言語を使って比較してることがよくある。とんでもねえアホ さらにいうなら最適化レベルも、ループアンロールをデフォルトで勝手に行う言語と、明示しない限り行わない言語で 比較してたりメチャクチャなアホ。お前の推しの言語がチェック付き演算行ったら、お前の推しじゃない言語と変わらんからな
631 名前:デフォルトの名無しさん mailto:sage [2022/05/23(月) 01:37:17.26 ID:o7ibVFPP.net] 当該ページを示さずに愚痴られても…
632 名前:デフォルトの名無しさん mailto:sage [2022/05/23(月) 02:12:19.04 ID:aUQlcplw.net] 標準的なコンパイル方法・プログラムの書き方をした場合の比較になっているのなら意味はあるのでは
633 名前:デフォルトの名無しさん mailto:sage [2022/05/23(月) 05:59:53.99 ID:YmsKfutR.net] 確かにCheckedAddとかで書いてるQita記事のフィボナッチベンチなんて見たこと無いね、逆に言うとそれしか意味がない。ベンチとは名ばかりのフワッとした自己満足オナニーだ、100mハードルと100m走くらべてるようなもんさ
634 名前:デフォルトの名無しさん mailto:sage [2022/05/23(月) 07:01:43.76 ID:n2ZPTBPD.net] >>619 Rust本スレのフィボナッチはoverflowチェック入っているぜ https://mevius.5ch.net/test/read.cgi/tech/1652347700/181 >>622 それはその個人の問題点であってプログラミング言語の問題ではない
635 名前:デフォルトの名無しさん mailto:sage [2022/05/23(月) 09:56:36.54 ID:vZp1MWnh.net] 顔真っ赤でコピペして来てるw 書いたどうだという話じゃない、それでベンチマーク取ってみろという話だよ。この流れが分からない奴は個人の問題点w いちいちオーバーフローがセーフな演算をchecked_addなんて冗長な書き方しか出来ないのだから、言語の問題でしょう? 標準的なコンパイル方法・プログラムの書き方をした場合、危険でズルなんだからw
636 名前:デフォルトの名無しさん mailto:sage [2022/05/23(月) 10:48:59.78 ID:gzAO9YOH.net] >>623 うわっ、何このダサいコード
637 名前:デフォルトの名無しさん mailto:sage [2022/05/23(月) 10:52:41.72 ID:ZgbkB3a0.net] フィボナッチが居ついちまったじゃないかよ。 お前ら責任取ってフィボナッチの話題禁止な。
638 名前:デフォルトの名無しさん mailto:sage [2022/05/23(月) 12:30:43.66 ID:aUQlcplw.net] フィボナッチ呼ばわりはフィボナッチさんへの風評被害になるからやめな
639 名前:デフォルトの名無しさん mailto:sage [2022/05/23(月) 13:17:40.25 ID:YSocoZUy.net] >>625 口だけ番長定期 これだから世界から糞バカ中世ジャップランド土人とか呼ばれるんだよ
640 名前:デフォルトの名無しさん mailto:sage [2022/05/23(月) 15:35:29.13 ID:wWZ2mUik.net] >>624 それはあまりにも無知な発言 RustではC/C++やCPUでの同じ動作となっているにすぎない 例えばC/C++では (正確には未定義だが通常動作) int main() { char x = 127; x = x + 1; printf("%d\n", x); // 出力結果: -128 } Rustでは (普通にrelease modeの場合) fn main() { let mut x: i8 = 127; x = x + 1; println!("{x}"); // 出力結果: -128 } ちなみにdebug modeではpanicで知らせる release modeでもコンパイラに指定でpanicで知らせることも可能
641 名前:デフォルトの名無しさん mailto:sage [2022/05/23(月) 15:38:27.39 ID:wWZ2mUik.net] >>629 に加えてRustでは let n: i8 = 126; の時、 println!("{:?}", n.wrapping_add(1)); // 出力結果: 127 // 溢れていないならその値 println!("{:?}", n.wrapping_add(2)); // 出力結果: -128 // 溢れたらラッピング(一周して)その値 println!("{:?}", n.overflowing_add(1)); // 出力結果: (127, false) // 溢れていないならばオーバフローフラグfalseが返る println!("{:?}", n.overflowing_add(2)); // 出力結果: (-128, true) // 溢れたらオーバフローフラグtrueが返る println!("{:?}", n.checked_add(1)); // 出力結果: Some(127) // 溢れていないならばOption型のSome(値)が返る println!("{:?}", n.checked_add(2)); // 出力結果: None // 溢れたらOption型のNoneが返る println!("{:?}", n.saturating_add(1)); // 出力結果: 127 // 溢れていないならその値 println!("{:?}", n.saturating_add(2)); // 出力結果: 127 // 溢れたらその型の上限の値 といったようにRustでは求められている状況に応じて容易に多様な対応を取ることが可能 Rustよりも用意周到なプログラミング言語があればその動作を教えて欲しい
642 名前:デフォルトの名無しさん mailto:sage [2022/05/23(月) 15:44:29.35 ID:afBzb9pp.net] 顔真っ赤wwwwwwww
643 名前:デフォルトの名無しさん mailto:sage [2022/05/23(月) 15:45:47.88 ID:dNJCbMGg.net] ここ2週間くらいRustスレずっとこんな調子だったんですよ 勘弁してほしい
644 名前:デフォルトの名無しさん mailto:sage [2022/05/23(月) 15:58:24.00 ID:X9GYHqrY.net] 某R言語のユーザーは本当に気持ち悪いな
645 名前:デフォルトの名無しさん mailto:sage [2022/05/23(月) 16:13:42.23 ID:zhKycwRA.net] 何が用意周到なんだか。言語のことを言ってるんじゃなく、「あくまでそれでベンチマーク比較すんなよド素人」という話だけなのに、ムキになって言語機能の紹介書いちゃうオジサン 蛇足的に言語のことを言うなら、RustよりまともなのはC#でcheckedキーワードの明示による算術のオーバーフローをチェックかな?安全に足し算したいだけで毎回checked_addなんて書くのは勘弁願いたいのは本音。C#もデフォルトで安全に倒すという思想からも逸脱してるとも言えるが
646 名前:デフォルトの名無しさん mailto:sage [2022/05/23(月) 16:24:56.03 ID:21uaV1OX.net] >>625 Rustスレでも満場一致で同じ意見だからご心配なく
647 名前:デフォルトの名無しさん mailto:sage [2022/05/23(月) 16:33:53.72 ID:wuIMUAe9.net] CPU・C・C++・C#・Rust全てにおいてオーバフロー時は一周回った結果になるってことか じゃあそれが標準的な振る舞いなのだろう
648 名前:デフォルトの名無しさん mailto:sage [2022/05/23(月) 19:59:34.50 ID:aUQlcplw.net] >>634 演算子オーバーロードできる言語なら a + b が Option<T> 返すような型を実装できるから言語組み込みでキーワード用意する必要もないのでは 例えばRustだとそういうライブラリもある https://docs.rs/checked/latest/checked/
649 名前:デフォルトの名無しさん mailto:sage [2022/05/23(月) 20:07:10.01 ID:pMTVA02Y.net] >>636 Goもそれらの言語と同じ int8(127)に1を足すと-128となる 標準でオーバフローチェックしなくてズルい!と発狂している人はどんな言語を使っているのだろう
650 名前:デフォルトの名無しさん [2022/05/23(月) 22:48:29.77 ID:X9GYHqrY.net] 実装が処理速度に与える影響を論じるのなら浮動小数点数の話で語り始めるべきだったなw
651 名前:デフォルトの名無しさん mailto:sage [2022/05/24(火) 01:58:49.24 ID:e1yfwJHI.net] Pythonなどは(無限にではないが)演算で型拡張が行われるから、それらと同列でベンチマークすべきではないのは同意 Rustを愛しすぎて、顔にウンコ付いてて冗長で気持ち悪い書き方を擁護して発狂する用意周到オジサン
652 名前:デフォルトの名無しさん mailto:sage [2022/05/24(火) 02:20:04.04 ID:8GgyJL9r.net] Rustでの標準挙動は>>636 や>>638 により他の主要なプログラミング言語と同じ その上で>>637 など演算毎にチェックも可能 このような状況でとなおRust叩きをしている人は頭がおかしいのかそれとも
653 名前:デフォルトの名無しさん mailto:sage [2022/05/24(火) 04:56:32.72 ID:cZN4xY/Z.net] Rustスレ過疎ってル訳でもないのにどこでもRustの話始めるのなんでなん?
654 名前:デフォルトの名無しさん mailto:sage [2022/05/24(火) 10:26:14.04 ID:bYnrOJu+.net] 頭がおかしいから 反応したら負け
655 名前:デフォルトの名無しさん [2022/05/24(火) 10:43:26.98 ID:7zq5Zl9C.net] 言語は一つに統一したらええに。 言葉も英語だけなら良かったに。
656 名前:デフォルトの名無しさん mailto:sage [2022/05/24(火) 11:54:32.13 ID:BzukVrXt.net] Swiftってわかりにくいね Objective-Cもクソだったし林檎嫌いだわ
657 名前:デフォルトの名無しさん mailto:sage [2022/05/24(火) 12:46:51.04 ID:+Ywn9TYu.net] それでも Swift >>> 越えられない壁 >>> Go、つまり 林檎 >>>>>> Google
658 名前:デフォルトの名無しさん mailto:sage [2022/05/24(火) 12:47:47.67 ID:MRz9uR42.net] >>645 > Objective-Cもクソ 具体的にはなにがどうクソなの?
659 名前:デフォルトの名無しさん mailto:sage [2022/05/24(火) 13:19:16.27 ID:ITkZMsqO.net] まずxcodeが糞 糞というか狂気 犯罪と言っても過言でないと思う
660 名前:デフォルトの名無しさん mailto:sage [2022/05/24(火) 13:40:19.38 ID:x7vOIT3I.net] 3行使って情報量がほぼゼロ
661 名前:デフォルトの名無しさん mailto:sage [2022/05/24(火) 16:13:05.56 ID:ITkZMsqO.net] 1 + 1 = 2 レベルの内容すら理解できんとかガイジ?ホイ卒?
662 名前:デフォルトの名無しさん mailto:sage [2022/05/24(火) 16:25:30.71 ID:Z3J3KQ7G.net] Swiftやってると某こんスレにいるアホ言語初心者のような参照カウントの悪辣性に気付くんだわ。その言語の機能解説ずーとしてるバカたち 1つでもスマートで無いと言えば「自分たちが攻撃された」と思い込み、べたコード貼り付けて得意満面に機能解説しだす
663 名前:デフォルトの名無しさん mailto:sage [2022/05/24(火) 16:38:55.79 ID:/TotnhyC.net] >>650 1 + 1 = 2は定義上そうなっているだけなので理解できるかどうかという話じゃないんだぞ(クソリプ)
664 名前:デフォルトの名無しさん mailto:sage [2022/05/24(火) 16:39:22.08 ID:sOTuiKrj.net] 「Swiftになってよかったこと」で調べればobjective-cの駄目なところはいくらでも出てこない?
665 名前:デフォルトの名無しさん mailto:sage [2022/05/24(火) 17:03:32.22 ID:Q0PWN6eS.net] Swiftは言語だけみれば結構いいけどね エラーハンドリング機構はメジャー言語の中では一番進んでる objective-cは名前空間がなくて衝突回避のためにどうしても長い名前になるのがよくなかった Swiftにも引き継がれてるメソッド名が引数名込みになるルールも分かりにくい あとは動的ディスパッチなので速度が必要ならCかC++で書かないといけないのが面倒だったかな
666 名前:デフォルトの名無しさん mailto:sage [2022/05/24(火) 18:08:59.87 ID:ITkZMsqO.net] >>653 ビチグソが固形ウンコになったくらいのレベルでよかったとかいうxcodersは頭がおかしい定期
667 名前:デフォルトの名無しさん mailto:sage [2022/05/24(火) 18:11:41.40 ID:ITkZMsqO.net]
668 名前:イめん、うんこに失礼だった うんこは体にとって大事だけど xcodeは世界の敵、環境破壊兵器、サリン、AntiSDGs、人工地震5Gだったわ 世界平和のために早く殺すべき [] [ここ壊れてます]
669 名前:デフォルトの名無しさん [2022/05/24(火) 18:32:36.39 ID:K71E2ixm.net] >>654 同意
670 名前:デフォルトの名無しさん mailto:sage [2022/05/24(火) 18:44:18.42 ID:MRz9uR42.net] 具体的なレスを聞かせてくれた>>654 すこ
671 名前:デフォルトの名無しさん mailto:sage [2022/05/24(火) 18:49:32.82 ID:fs/OcGN+.net] >>655 日本語読める?
672 名前:デフォルトの名無しさん mailto:sage [2022/05/24(火) 19:00:38.09 ID:9IIPqcRo.net] 業務でストレス貯まってるのかな
673 名前:デフォルトの名無しさん mailto:sage [2022/05/24(火) 21:33:55.54 ID:n+gg4WC+.net] 匿名掲示板でうんこレスしこたま投稿するの楽しいにゃん♪
674 名前:デフォルトの名無しさん [2022/05/24(火) 22:38:22.80 ID:5G1zL+3l.net] Xcodeが嫌ならVS CodeかAppCode使えば良くね?何が問題なの?
675 名前:デフォルトの名無しさん mailto:sage [2022/05/26(木) 19:00:46.30 ID:C4ssaGJt.net] 次スレから スレタイに Julia も追加すべき
676 名前:デフォルトの名無しさん mailto:sage [2022/05/26(木) 19:03:52.92 ID:EVCXwRA4.net] どうぞ
677 名前:デフォルトの名無しさん mailto:sage [2022/05/26(木) 20:19:19 ID:nSdeHuFH.net] 旧世代言語は去れ
678 名前:デフォルトの名無しさん mailto:sage [2022/05/28(土) 09:48:31.36 ID:EmXYdsgj.net] kotlinのチュートリアル的なのみたらif式は変数に代入してコールできるとかあったけどいつ実行されるの?コールしたとき?それとも代入された変数には既にif式の実行結果が入ってる?
679 名前:デフォルトの名無しさん mailto:sage [2022/05/29(日) 16:30:35.70 ID:89z2cDQI.net] ・フリーエンジニアが年間3,600万円の売上を上げた方法を解説する ・26歳で独立して月収150万になった 元引きこもりエンジニアの物語 ・ブラック企業から退職し、独立後11ヶ月で“月収300万円超え”になるまでの軌跡を デザイナー社長船越良太に聞いてみた! ・ITフリーランスで月額単価150万円!万が一の就業不能に備える無料の保険もある「クラウドテック」 ・フリーランス時代に月収4万円→最高340万円を達成した船越さんに、「お金」との向き合い方を聞いてみる ・フリーランスSEってどれくらい稼げるの?月単価160万円の案件を扱う定番エージェント ・フリーランスの仕事や職業の種類って何があるの?独立5年目で月収200万の僕が詳しく解説
680 名前:デフォルトの名無しさん mailto:sage [2022/05/29(日) 16:46:50.81 ID:C+iYNtEl.net] >>667 嘘くさ 情報商材とかに騙されてそう
681 名前:デフォルトの名無しさん mailto:sage [2022/05/29(日) 18:49:03.61 ID:4taUn78j.net] >>668 君は年収300でRustで組み込みでもしてるのが実力だからねw
682 名前:デフォルトの名無しさん mailto:sage [2022/05/29(日) 20:21:54 ID:RsJgaHeF.net] ムキになってて草
683 名前:デフォルトの名無しさん [2022/05/29(日) 20:29:03 ID:JtP99XwD.net] 年収800万超えエンジニア注目するプログラミング言語、第1位は? https://news.mynavi.jp/techplus/article/20210802-1936893/ https://news.mynavi.jp/techplus/article/20210802-1936893/images/001.jpg
684 名前:デフォルトの名無しさん mailto:sage [2022/05/29(日) 23:44:19.76 ID:xfFi626I.net] >>671 こういうの鵜呑みにしちゃうんだ 変な壺とか買ってそう
685 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 00:09:02.12 ID:URC3D+jY.net] Goとかいうウンコオブウンコのそび糞
686 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 08:59:04.28 ID:Pjv5EPMb.net] >>663 このようにマジキモRust信者が24時間張り付いて、他言語の悪口を言うスレです
687 名前:デフォルトの名無しさん mailto:sage [2022/06/01(水) 05:40:50.61 ID:kSwwruMK.net] そんな書き込みは見かけないね
688 名前:デフォルトの名無しさん mailto:sage [2022/06/01(水) 07:00:10.40 ID:m3Paz3vX.net] (俺以外の)そんな書き込みは見かけないね
689 名前:デフォルトの名無しさん mailto:sage [2022/06/01(水) 11:51:48.67 ID:a41qFxYX.net] (自演して)クソクソ言っとけば悪口になると思ってそう
690 名前:デフォルトの名無しさん mailto:sage [2022/06/01(水) 17:27:50.52 ID:bHuwLCJo.net] >>671 高収入になるほどRustを好む傾向がはっきりデータに出ているな この状況でRustを叩いてる連中はどういう人たちなのだろう?
691 名前:デフォルトの名無しさん mailto:sage [2022/06/01(水) 17:43:20.57 ID:IxX6jh1U.net] あからさまにRustを叩いている人はごく一部を除いていない ほとんどはRust信者を生暖かい目で見ているという立ち位置
692 名前:デフォルトの名無しさん mailto:sage [2022/06/01(水) 21:28:30 ID:pSC66flQ.net] Rust信者に香ばしい人が多いのはなんなんだ?
693 名前:デフォルトの名無しさん mailto:sage [2022/06/01(水) 23:51:24.24 ID:5AVQNMn+.net] 信者は香ばしいもんだろ
694 名前:デフォルトの名無しさん mailto:sage [2022/06/02(木) 01:26:39.73 ID:OV4goLPm.net] >>678 叩きもなにも、もはや誰も言語仕様の話はしていない。汚物連呼程度の煽りならスルーするのが賢明だ
695 名前:デフォルトの名無しさん mailto:sage [2022/06/02(木) 07:49:13.42 ID:0uHbICXr.net] Rustは素晴らしい言語ではあるが 頭が悪い側の一部のプログラマーが理解できない可能性ないのか?
696 名前:デフォルトの名無しさん mailto:sage [2022/06/02(木) 08:10:44.20 ID:BiTU5AOk.net] >>683 そう考えるRust狂信者は多そうだな。 Haskellの二の舞だわ。
697 名前:デフォルトの名無しさん mailto:sage [2022/06/02(木) 09:03:19 ID:Y3NDvf7Q.net] むしろ駄目プログラマーを上手く排除できるからありがたい 理想的な社会になる
698 名前:デフォルトの名無しさん mailto:sage [2022/06/02(木) 11:14:24.49 ID:kLxnMhNJ.net] 駄目プログラムがRustに置き換わるだけで何の解決にもなっていないのでは?
699 名前:デフォルトの名無しさん mailto:sage [2022/06/02(木) 11:16:44.55 ID:A+oZ2GoP.net] 一番排除できてありがたいのは、癖のあるC++プログラマーw
700 名前:デフォルトの名無しさん mailto:sage [2022/06/02(木) 11:51:30.38 ID:ZMFIZVkF.net] 例えば駄目プログラムの典型として 「データ構造スパゲティ」 GC言語だとそれでも動いてしまうがメンテしにくい、バグ入り込みやすい、デバッグしにくいなど、当然問題ありまくり C/C++だと解放忘れや解放後利用や多重解放などが入り込みがちで難解になるため普通は避けるが、避けない人も出てきてはまる Rustだとコンパイルが通らないことで、それら諸問題を避ける形になることが多い
701 名前:デフォルトの名無しさん mailto:sage [2022/06/02(木) 13:29:24.85 ID:C1W9vuQS.net] スパゲッティか~ おいしそうだねえ~
702 名前:デフォルトの名無しさん mailto:sage [2022/06/02(木) 13:51:42 ID:2I6UvhVY.net] >>688 データ構造がスパゲッティでも、Rustのルールに則っていれば、動いてしまうんじゃないの? Rustだって、設計の良し悪しまで判断できないと思うんだが。
703 名前:デフォルトの名無しさん mailto:sage [2022/06/02(木) 14:01:04 ID:vo8qdvVO.net] 何でもRcで囲めば簡単にスパゲッティデータ構造作れそう
704 名前:デフォルトの名無しさん mailto:sage [2022/06/02(木) 14:43:28 ID:wPySDGOC.net] >>685 まぁ確かに Ruby募集すればスクール卒が集まるし、PHP募集すれば障害者雇用枠が集まるしな そういうこと
705 名前:デフォルトの名無しさん mailto:sage [2022/06/02(木) 15:05:39 ID:MwnGmD5s.net] >>692 そういうのはRuby募集するときにRustスキル必須にすればいいけど、そんなことをしたらコスト上がるだろ。 コスト以上の売上を上げられるのかね?
706 名前:デフォルトの名無しさん mailto:sage [2022/06/02(木) 15:46:11.94 ID:wPySDGOC.net] >>693 何当たり前のこと言ってるんだ? 便所掃除に大卒雇うわけないだろ? そういうこと
707 名前:デフォルトの名無しさん mailto:sage [2022/06/02(木) 18:38:30.38 ID:aZCO8NlO.net] >>687 C++ はひどい言語だ。これは、多くの平均以下のプログラマーが使ってるために さらに輪をかけてゲロゲロになっていて、どうしようもないゴミが 簡単に生産されるようになってる。正直いって、C を選ぶ理由が C++ プログラマーを 追っぱらうため *だけ* だったとしても、それ自体、C を使う強力な理由になりうる。 C++ はトンでもなく悪い設計の元になりうる。どうせこの言語ではいつも STL やら Boost やら、その他ゲロゲロベロベロの「素敵な」ライブラリの機能を使って、 それがあんたのプログラムに「役立つ」んだろうが、以下のことが起きる: - うまく動かないときにもたらされる際限のない苦痛 (あと STL とか、特に Boost が 安定してるとか移植性があるとかいう奴は、どいつもこいつも大ウソつきで、 もはや笑えるレベルを超えている) - 非効率な抽象プログラミングモデルで、2年たった後にこれらが実はそんなに 効率的じゃなかったことに気づくケース。でもそのときにはすでに全部の コードがその素晴らしいオブジェクトモデルに依存していて、直すためには アプリ全体を書き直さなきゃなんない。 言いかえれば、唯一まともで、効率がよくて、システムレベルで使えて、移植性がある C++ ってのは、基本的に C で使える機能だけに限ったときなんだ。そして C だけに 限定するってことは、他の人がそれをめちゃくちゃにしないってことで、 ついでに沢山のプログラマが実際に低水準の問題を理解することができて、アホらしい 「オブジェクト・モデル」のたわごとを持ちこまないってことだ。 >正直いって、C を選ぶ理由が C++ プログラマーを追っぱらうため *だけ* だったとしても、それ自体、C を使う強力な理由になりうる。 >正直いって、C を選ぶ理由が C++ プログラマーを追っぱらうため *だけ* だったとしても、それ自体、C を使う強力な理由になりうる。 >正直いって、C を選ぶ理由が C++ プログラマーを追っぱらうため *だけ* だったとしても、それ自体、C を使う強力な理由になりうる。 >正直いって、C を選ぶ理由が C++ プログラマーを追っぱらうため *だけ* だったとしても、それ自体、C を使う強力な理由になりうる。 >正直いって、C を選ぶ理由が C++ プログラマーを追っぱらうため *だけ* だったとしても、それ自体、C を使う強力な理由になりうる。 >正直いって、C を選ぶ理由が C++ プログラマーを追っぱらうため *だけ* だったとしても、それ自体、C を使う強力な理由になりうる。 >正直いって、C を選ぶ理由が C++ プログラマーを追っぱらうため *だけ* だったとしても、それ自体、C を使う強力な理由になりうる。 >正直いって、C を選ぶ理由が C++ プログラマーを追っぱらうため *だけ* だったとしても、それ自体、C を使う強力な理由になりうる。 >正直いって、C を選ぶ理由が C++ プログラマーを追っぱらうため *だけ* だったとしても、それ自体、C を使う強力な理由になりうる。 >正直いって、C を選ぶ理由が C++ プログラマーを追っぱらうため *だけ* だったとしても、それ自体、C を使う強力な理由になりうる。
708 名前:デフォルトの名無しさん mailto:sage [2022/06/02(木) 18:58:22.84 ID:wPySDGOC.net] 型無し糞言語ユーザーはその場で○していいよ 公害だから
709 名前:デフォルトの名無しさん mailto:age [2022/06/02(木) 19:48:49.81 ID:YZ3xIu4V.net] キチガイ*だけ* 言語Rust
710 名前:デフォルトの名無しさん mailto:sage [2022/06/02(木) 21:04:45.84 ID:HUF3eecJ.net] >>690 ぐぅ正論w
711 名前:デフォルトの名無しさん mailto:sage [2022/06/02(木) 21:41:51.25 ID:WnYotmDJ.net] >>690 Rustでデータ構造がスパゲッティだと 参照や競合を解決するためにそれ用のを使わざるを得ないから その使われている部分が無理やりなのか必要なのかをチェックするだけで判別できる点は良いね
712 名前:デフォルトの名無しさん mailto:sage [2022/06/02(木) 23:25:41.34 ID:C1W9vuQS.net] そもそもスパゲッティデータ構造って定義はなに フローにおけるサイクロマティック複雑度みたいな指標あるんでしたっけ
713 名前:デフォルトの名無しさん [2022/06/03(金) 12:08:17.39 ID:xzoD2mhR.net] >>690 0か100で判断すんな。 他の言語よりマシって言ってるんだろ。
714 名前:デフォルトの名無しさん [2022/06/03(金) 12:18:20.21 ID:xzoD2mhR.net] 頭固いやつほど0か100でばかり判断しやがる。
715 名前:デフォルトの名無しさん mailto:sage [2022/06/03(金) 12:24:15.91 ID:zWyAdBA8.net] 具体性が無い話をいつまでも続けてんじゃね~
716 名前:デフォルトの名無しさん mailto:sage [2022/06/03(金) 12:32:07.86 ID:gfwA6c8+.net] せめてコード例を出せ
717 名前:デフォルトの名無しさん mailto:sage [2022/06/03(金) 12:44:43.82 ID:yhFti50j.net] ちょっと待て 俺たちプログラマは抽象化と常に隣り合わせになりながら生きてるはずだ
718 名前:デフォルトの名無しさん mailto:sage [2022/06/03(金) 12:48:02.40 ID:zWyAdBA8.net] じゃあ客観性が無い話をいつまでも続けてんじゃね〜
719 名前:デフォルトの名無しさん mailto:sage [2022/06/03(金) 13:58:15.04 ID:EO0p59TU.net] スパゲッティデータ構造wwで終わってる話
720 名前:デフォルトの名無しさん mailto:sage [2022/06/03(金) 14:31:49.94 ID:RXRy7t82.net] 昔のレベルの低い状況だったらよかったのかもしれんが、抽象バカはこれからはプログラマーとしてはやっていけないよ。 今はテストコード書くのが当たり前だから。
721 名前:デフォルトの名無しさん mailto:sage [2022/06/03(金) 14:36:17.21 ID:PVwM5tOu.net] まだスパゲッティデータ構造とかいう話をしているんかよ。新しいバズワードでも作りたいんかね。 一般的でない用語を使いたければ、せめて定義ぐらいはしろよ。
722 名前:デフォルトの名無しさん mailto:sage [2022/06/03(金) 16:26:17.35 ID:ypnnfw4Q.net] >>688 Rustにも進
723 名前:出してそれを体感するようになった Rustはデータ競合もコンパイラがチェックするから他の言語では気付かなかったことを把握して組めるようになった [] [ここ壊れてます]
724 名前:デフォルトの名無しさん [2022/06/03(金) 16:41:16.70 ID:VwiYiMNb.net] まさかおまいらやってないよな https://mevius.5ch.net/test/read.cgi/tech/1654051738/
725 名前:デフォルトの名無しさん mailto:sage [2022/06/03(金) 17:10:08.22 ID:oX46NC1r.net] 次スレワッチョイ付けとく?
726 名前:デフォルトの名無しさん mailto:sage [2022/06/03(金) 17:56:42 ID:yufR8mPg.net] >>711 実環境と同じで開発する Docker っていうんだぜ 最新の開発手法なんだが 逆に知らないのか?RUSTとか言ってるバヤイじゃないだらw
727 名前:デフォルトの名無しさん mailto:sage [2022/06/03(金) 18:36:29.92 ID:PVwM5tOu.net] >>711 受入側がテストケースを作るという話なら理解できるけど、そういう話じゃ無いんだろうなぁ。 >>713 それはOpsDevの話だから、ちょっと違う気がする。
728 名前:デフォルトの名無しさん [2022/06/03(金) 19:16:59.53 ID:os9nRGDZ.net] > スパゲッティデータ構造 「所有権の複製」と同じ独善的で哀れな響きを感じる
729 名前:デフォルトの名無しさん mailto:sage [2022/06/03(金) 20:43:36.50 ID:Obl8jI4y.net] データと環境の区別がつかないやつとか Dockerを最新開発手法だと思ってるやつとか DevOps知らないやつとか スパゲッティデータ構造wとか ここは底辺の巣窟だな
730 名前:デフォルトの名無しさん mailto:sage [2022/06/03(金) 21:05:02.43 ID:os9nRGDZ.net] 底辺というか単にアマチュアと思う 仕事で書いてるマがあんまいないでしょここ 学生さんか無職によるエアプの応酬でしょひたすら
731 名前:デフォルトの名無しさん mailto:sage [2022/06/03(金) 23:44:10.63 ID:gxOeTsOz.net] YouTube で有名な、雑食系エンジニア・KENTA の動画 EC2はもうオワコンです www.youtube.com/watch?v=G_ILES8fmf8 ほとんどの企業が、Docker, Kubernetes へ移行している。 自分でOS を管理してはいけない。更新などが面倒だから だからAWS でも、Elastic Container Service(ECS)ではなく、Fargate を使えと言ってる。 他には、AWS Lambda とか YouTube で有名な、くろかわこうへいのAWS入門書も出ている。 サロン内の数十人で書いたみたい 米国年収では最高峰のAWS Solutions Architect など、アソシエイト3冠でも狙えばよい Dockerなら、この本が簡単。 自宅ではじめるDocker入門[改訂版]、浅居 尚、2021/4
732 名前:デフォルトの名無しさん mailto:sage [2022/06/04(土) 03:17:04.19 ID:WvJ0avYJ.net] >>718 いやEKSのワーカーノードってEC2のインフラに乗っかってるやん 何言ってんだコイツ
733 名前:デフォルトの名無しさん [2022/06/04(土) 10:14:15.98 ID:vvbHqYcO.net] KEИTAはNGワード推奨
734 名前:デフォルトの名無しさん mailto:sage [2022/06/04(土) 12:59:06.25 ID:CyXkOFyS.net] 普通の荒らしならNGでも良いけど、これは広告黙認になっちゃう…
735 名前:718 mailto:sage [2022/06/04(土) 22:12:41.70 ID:qz14Jeu3.net] ECS(Elastic Container Service)・EKS(Elastic Kubernetes Service) については、 EC2・Fargate の2種類のデータプレーンがある ECS on EC2・ECS on Fargate EKS on EC2・EKS on Fargate
736 名前:デフォルトの名無しさん mailto:sage [2022/06/05(日) 00:38:35 ID:fbWW3RR4.net] >>722 さすがです 些末な言語でケンカしてる土方PGとはレイヤーも知識の深さも違いますね・・・
737 名前:デフォルトの名無しさん mailto:sage [2022/06/05(日) 03:13:32 ID:1HHUj8mf.net] >>722 ヒント:スレタイ
738 名前:デフォルトの名無しさん mailto:sage [2022/06/05(日) 10:32:21.99 ID:BAL8np4K.net] ヒントってなつかしいな
739 名前:デフォルトの名無しさん [2022/06/05(日) 12:43:13.05 ID:1HHUj8mf.net] それだけ昔も今もタイトルの読めない人が蔓延ってることだよ。
740 名前:デフォルトの名無しさん mailto:sage [2022/06/05(日) 12:57:34.82 ID:1HHUj8mf.net] 次も脈絡なくdockerとか言い出されたらちゃんと無視しようね
741 名前:デフォルトの名無しさん mailto:sage [2022/06/05(日) 13:04:45.18 ID:C6LzSewh.net] KEИTAの時点でKidsってわかるから
742 名前:デフォルトの名無しさん mailto:sage [2022/06/05(日) 13:45:25.71 ID:9C0C056E.net] なんかあの動画原稿読んでる感が強いんだけどゴーストライターが原稿書いてるなんて事ないよな 自分の書いた原稿ならそんなに棒読みにならんとは思うんだけど
743 名前:デフォルトの名無しさん mailto:sage [2022/06/05(日) 14:28:41.29 ID:BAL8np4K.net] プログラマはプログラムに忠実なんだよ
744 名前:デフォルトの名無しさん mailto:sage [2022/06/05(日) 19:33:39.96 ID:fbWW3RR4.net] やーいおまえらの年収、ケンタ氏の月収レベルw くやしくないんか?w
745 名前:デフォルトの名無しさん [2022/06/05(日) 19:42:08.90 ID:NPpCVuaP.net] はらたいらに負け
746 名前:デフォルトの名無しさん mailto:sage [2022/06/05(日) 20:41:09.63 ID:aIrlo+D0.net] スクラッチのPHP並にWEB開発が楽な次世代言語が欲しいんですよ 多分Rustだろうけど
747 名前:デフォルトの名無しさん mailto:sage [2022/06/05(日) 22:14:31.32 ID:1HHUj8mf.net] 自演臭がするから相手にしないように
748 名前:デフォルトの名無しさん mailto:age [2022/06/06(月) 00:16:37 ID:RzhuA7sN.net] 某スレで気持ち悪いオナニーコード書いて一生懸命しょーもないフィボナッチの話してるふりしながらダメ人間批判のアホどもへ ┏━━━━━━━┓ ┃// Λ_Λ ┃ ┃/ <`Д´>つ┃ ∧_∧m9 ノ ┃ < >し―J //┃ ダメ人間! ( O つ // ┃ し―J ━━━━━┛ 技術上の優劣は、人格や感情的表現とは一致しない。
749 名前:デフォルトの名無しさん mailto:sage [2022/06/08(水) 23:30:06.88 ID:V6NRl8ye.net] PHPer全員死なねえかな
750 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 09:49:22.66 ID:/CWj/UNa.net] お前ら元気ないな 五月病かい?
751 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 10:52:10.66 ID:nSw5Wtt+.net] 下らねえ煽りするよりコード書けよ
752 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 11:36:40.03 ID:gW5FFec0.net] Denoってts使うのやめるんか知らんかった https://qiita.com/Syoitu/items/244c6bf99a6b7bf5ab9c
753 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 11:48:08.84 ID:Ikjed3Z0.net] >>739 内部コードの話みたいね
754 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 14:02:26.40 ID:T6wrUfK/.net] rustも同じ運命になりそう
755 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 14:30:04.70 ID:gW5FFec0.net] Go→Rustになったのも遅いから理由だったしな
756 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 16:48:28.61 ID:HmxRmWBo.net] > TypeScriptはJavaScriptの改良版と見なされることもありますが、実際はそうではない。 > 他の言語と同じように欠陥があります、最も重要なものの1つは、コンパイル時間が遅いことです。 > 小さなプロジェクトでは、純粋なJavaScriptからTypeScriptに切り替えるときにコンパイル時間が大幅に増加することはないかもしれませんが、複雑な、例えばReactのような大規模なプロジェクトでは顕著になります。 > ランタイムのサイズが大きいことを考えると、DenoがTypeScriptを止めるのも当然のことです。 > > 開発中の型チェックは、コンパイル時にコストがかかります。 ようするにTypeScriptは巨大プロジェクトに向いてないのか Microsoftは巨大プロジェクトのノウハウなんて膨大に持ってるだろ、なんとかしろよ・・・
757 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 17:15:19.17 ID:Q3eIHQbE.net] 時間掛かるから型チェックやめまーす ってじゃあそのチェック何で代替すんねん 指さしヨシッでもすんのか? バカじゃねーの
758 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 17:26:46.05 ID:/CWj/UNa.net] テスト書くから必要ないって事だろ 文盲か(何故か変換できない)?
759 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 18:42:07 ID:R6kVrTwR.net] wasmにコンパイルされる専用言語が待たれるという説
760 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 19:13:02.17 ID:Lxou0O6d.net] TSにはインクリメンタルビルドの仕組みがなくてファイル変更のたび毎回フルビルドが必要なの?
761 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 19:29:52.04 ID:s2pWM27P.net] 本当に欲しいのは制約であって型ではないし
762 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 19:35:24.48 ID:Lxou0O6d.net] >>748 制約を明示したり強制したりするのにリーズナブルだから型が使われているんだと思うが 何で代替しようとしているの?
763 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 19:46:54.60 ID:DMnkzfH9.net] >>749 型は制約じゃないぞ 階層理論の産物さ 制約とはtrait systemのことさ
764 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 20:03:26.11 ID:CaCwxZ5g.net] 窓の杜: 「Rust」でOSの自作に挑戦! 低レイヤーシステム開発の解説書『Rustで始める自作組込みOS入門』が発売. https://forest.watch.impress.co.jp/docs/bookwatch/news/1416093.html
765 名前:デフォルトの名無しさん [2022/06/11(土) 20:15:54.30 ID:Kh7p4488.net] >>742 コンパイル時間でGoに勝てる言語ってある?
766 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 20:18:17.35 ID:gW5FFec0.net] >>752 出来上がったバイナリ(deno本体)の実効速度の話ね
767 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 20:38:23.65 ID:vVSWS2tb.net] >>752 DとGoはどちらが速い?
768 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 20:38:55.36 ID:Q3eIHQbE.net] >>745 例えばある関数がnumberだけ返すことをテストで網羅できんの?
769 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 20:55:28.16 ID:gW5FFec0.net] D言語って今ちょうどver2.100.0なんだね
770 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 21:05:03.93 ID:DMnkzfH9.net] 正直言ってD言語とかの存在価値がわからないんだが使っている人いるの?
771 名前:デフォルトの名無しさん [2022/06/11(土) 21:11:25.04 ID:Kh7p4488.net] >>753 何言ってんだこいつ Denoはコンパイル時間って言ってるんだが
772 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 21:14:34.94 ID:Q3eIHQbE.net] これだからトーシロはダメ
773 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 21:26:17.06 ID:gW5FFec0.net] >>758 Go→RustもTS→JS どっちも一貫してDeno自体の実行速度を最優先してるわけよ
774 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 21:48:50.29 ID:qsQNDkHz.net] tsで問題視してたのはコンパイル時間の方じゃね?
775 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 21:55:33.13 ID:N9Pa64KK.net] Denoのjsってそんなに大規模か? VSCodeなんかに比べたら全然大した量じゃないように見えるが ビルドパイプラインがヘボいんじゃね
776 名前:デフォルトの名無しさん [2022/06/11(土) 22:14:50 ID:Kh7p4488.net] >>760 文盲乙
777 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 22:17:19 ID:gW5FFec0.net] >>761 その時間ってもろホットリロードのタイムラグなわけじゃん
778 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 23:00:17.90 ID:Q3eIHQbE.net] Denoチームの連中が低学歴なんだろ バカばっか
779 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 23:13:10.68 ID:SJ0jyJTM.net] Rustのようにかなり強力にコンパイル時エラーでほとんどの問題を排除してくれる堅さとは異なり TypeScriptは型チェックしかしてくれず元のJavaScriptの緩さから本質的には変わっていない 本体はがっちりRustで作りあとはJavaScriptという方針は間違っていない
780 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 23:15:22.91 ID:Nh4QsFq2.net] 確かにRustのコンパイルが遅いのが嫌だという意見はわかる。”C++より早いだろ?”とか”嘘つき!Rust速い!”とかコメントしなくてあ、結構です 仕組み上トレイトの組み合わせで遅くなるのはわかるんだが、もう少しどうにかならんかの?
781 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 00:08:25.22 ID:GJbjpRb8.net] >>765 学歴コンプのある人はすーぐ学歴の問題にする
782 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 00:22:54 ID:WtY28DSr.net] >>768 ハーバードでMBA持ってるけどな F欄は口くせーから喋んなゴミ
783 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 00:34:08.70 ID:C1U3DU3t.net] 掲示板ではなんとでも言える
784 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 01:47:05.21 ID:mpYnOnxd.net] >>769 知性のかけらも感じさせないレスだわね
785 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 02:09:11.61 ID:p7K2g0W9.net] プログラミングにも理解があって英語ぺらっぺらな海外トップ学歴の経営人材なのに 日本語の匿名掲示板という狭い世界で推し言語の擁護にムキになってるとはご乱心だな
786 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 06:32:40.30 ID:V1ZBG4pG.net] >>755 当然
787 名前:デフォルトの名無しさん [2022/06/12(日) 06:42:11.19 ID:OtYNM0HI.net] Javascriptに対するTypescriptってCに対するC++みたいなもんだろ? その気になればある程度まともな型システムは使うことができる程度
788 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 08:25:07.16 ID:54GVQ0UL.net] 結局地がjsな以上互換性を保ちながら完全に型で覆うのは難しいよねって まぁPurescriptみたいになってもらっても困るんだが……
789 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 08:59:49.71 ID:Znbho8o6.net] JVMバイトコードに対するScalaみたいなもん Java書くより罠が多いけど圧倒的に便利 バイトコードを直接書く阿呆はいない こんな感じ
790 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 09:50:18 ID:6guykT66.net] さすがにそこまでじゃない JSをそれなりの規模で使いたければTS使った方が楽なのは確か
791 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 10:29:55.16 ID:UPLi/RM9.net] denoてどのくらいnodeからの移行が進んでるんだろ?
792 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 11:30:16.99 ID:C1U3DU3t.net] serialportとかちゃんと使えるならラズパイとかで使ってみたいな
793 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 12:13:55.79 ID:TLk1B+cK.net] >>778 進まないから今現在必死に最適化してるんだろう
794 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 13:11:27.34 ID:eghQJQYK.net] 少なくともそのQiitaには、Denoの実行速度が遅いからJavaScriptに移行した、とまでは書いてないと思うんだけど、なんか誤読してる人多い? Denoの実行速度が遅いからじゃなくて、Deno自体のビルド速度が遅くてDenoを開発する人にとって辛いから移行したんでしょ?
795 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 13:21:32.88 ID:Znbho8o6.net] いやそこ誤読してる文盲はおらんやろ・・・おらんやら?
796 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 15:26:48.02 ID:QJCkSZm+.net] typescriptのコンパイラはtypescriptで書かれてJavascriptにして実行されてるから遅いんだろう 言語としてはセルフコンパイルしたいし、いろんな環境で動かすためでもあるし でもrustとかで書いてもいいのでは
797 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 15:28:48.97 ID:QJCkSZm+.net] マシン語にしてるわけでもないし、処理としてはコンパイラとしては軽い方だから rustにしたら爆速になるのでは
798 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 15:49:11.35 ID:kUS96AVF.net] Kotlinとか確か開発者がロシアじゃなかったっけ?もうオープンソースだから米国的にはOKなの?
799 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 20:58:25.55 ID:+vN+62Vi.net] いち早くロシアの侵攻を批難する声明を出したから許されてるんだろう
800 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 22:01:47.21 ID:L2pGDO9p.net] >>786 いち早く出してねーよ ロシア政府なみの嘘つくな 最初のツイートはロシアのプロパガンダと同じ巧妙な内容で反感買いまくってから追加で声明出したんだろ
801 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 22:19:05.57 ID:e/a7Unpq.net] JetBrainsのサンクトペテルブルクのオフィスとブラハのオフィス(本社)の写真みたけどすげぇ格差だったわ ああいうの見ると建前上の本社を東京に置いてる中華企業と体質が同じに感じてもう一つ信用できない
802 名前:デフォルトの名無しさん [2022/06/13(月) 02:53:25.83 ID:asZan2yI.net] tsの変換や型チェック処理する機能はgoやrustで書き直すプロジェクト進行中だから そこは欠点じゃないよね
803 名前:デフォルトの名無しさん mailto:sage [2022/06/13(月) 03:23:11.66 ID:aNdPD0Bj.net] PHP+味付け程度にJSでシステム作ってる化石野郎でも応用効く言語教えやがれください
804 名前:デフォルトの名無しさん mailto:sage [2022/06/13(月) 03:50:52.66 ID:dm71PatD.net] またPHPの話してる
805 名前:デフォルトの名無しさん mailto:sage [2022/06/13(月) 05:19:59.34 ID:eNTeJ/va.net] PHPに勝ったところで次世代PHPにしかならないのに?
806 名前:デフォルトの名無しさん mailto:sage [2022/06/13(月) 07:43:09.16 ID:fjH64UU8.net] PHPってマジで話聞かなくなったよな 使ってるのって2010年代の旧システム?
807 名前:デフォルトの名無しさん mailto:sage [2022/06/13(月) 09:29:29.62 ID:dm71PatD.net] ワードプレスはもうPHPじゃなくなったのか?
808 名前:デフォルトの名無しさん mailto:sage [2022/06/13(月) 09:30:42.95 ID:eNTeJ/va.net] 次世代言語すげー
809 名前:デフォルトの名無しさん mailto:sage [2022/06/13(月) 19:42:18.44 ID:FiSspViM.net] Goにオプショナル型とスプレッド構文とmap,reduce,filterのコネクション系操作が入ったら最高なんだけど Go 2だとかで機能増やしてくれないかな
810 名前:デフォルトの名無しさん mailto:sage [2022/06/13(月) 19:52:35.02 ID:FiSspViM.net] Typescriptの糞なところ 標準ライブラリがゴミ、ゆえに依存が爆発的に増える 巨大node_modules、プロジェクトごとに作られるのが最高に糞 commonjsやらesmodulesやら統一されていないモジュール形式 prettierやらtsconfigやら大量の面倒な設定 サードパーティーのライブラリに向かってコードジャンプしても型定義ファイルに飛ぶせいでコードが読めない、ゆえにGithubを見に行く必要がある 例外の型定義がないので静的検査ができない、どこでエラーをどうハンドリングするべきかの判断が全くつかない、ゆえに全体をtry catchで囲むことになる この辺がすべてGoでは問題ないから、あとは少し機能増やしてくれたら文句ないんだよなー
811 名前:デフォルトの名無しさん mailto:sage [2022/06/13(月) 21:04:41.26 ID:fjH64UU8.net] GoのMap糞過ぎて全く読めない JSONをそのまま使えっておまけに型までつくTSさいつよってことなんよ
812 名前:デフォルトの名無しさん [2022/06/13(月) 21:39:05.94 ID:G3CRt2bF.net] 構造体作ってマッピングするのじゃ何がダメなの?必要なのだけ定義すればいいんだが? Typescriptだと型ガードしっかり書かないとただのなんちゃって状態になる雑魚
813 名前:デフォルトの名無しさん mailto:SAGE [2022/06/13(月) 21:47:26.95 ID:SDmJj53H.net] >>797 >サードパーティーのライブラリに向かってコードジャンプしても型定義ファイルに飛ぶせいでコードが読めない、ゆえにGithubを見に行く必要がある 「Atom」を開発終了に追いやった「Visual Studio Code」、月例更新でさらに強力に https://forest.watch.impress.co.jp/docs/news/1416263.html TypeScript開発では「TypeScript 4.7」が導入されたほか、待望の[ソース定義への移動]がサポートされた。100%の確度ではないが、型定義ファイル(*.d.ts)ではなく、JavaScriptによる実装部分へ直接ジャンプできる。 https://twitter.com/mattbierner/status/1517182624917340162 (deleted an unsolicited ad)
814 名前:デフォルトの名無しさん mailto:sage [2022/06/13(月) 22:06:28.03 ID:FiSspViM.net] >>800 おーこんなのあったんだ、ありがとー 適当に試してみたけどできないのも結構あるね
815 名前:デフォルトの名無しさん mailto:sage [2022/06/13(月) 22:32:02.90 ID:GDAgVCx4.net] 標準ライブラリ大きいのと小さいのどっちが良いのかね
816 名前:デフォルトの名無しさん mailto:sage [2022/06/13(月) 22:36:53.23 ID:q8SxO5f8.net] 大きくて、APIが安定していて、ゴミが少ないやつが良い スレタイの中だとGoだろうな
817 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 00:15:44.86 ID:FCklzJDr.net] goはpackageの命名が糞杉 _すら許さないからどいつもこいつも呪文みたいになって可読性最悪
818 名前:デフォルトの名無しさん [2022/06/14(火) 11:26:15.39 ID:Rf4XfD/C.net] Dも_を変な扱い
819 名前:オてたな [] [ここ壊れてます]
820 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 11:32:38.45 ID:8A+wXs8O.net] Effective Goでは、パッケージ名は1単語にしよう、って書かれてるけど、アンダースコアや大文字小文字が使えないわけではないよ どうせ1単語とかいう命名規約はあまり守られてないだろうし、つらいならそのへんの規約も破っちゃえば?
821 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 12:24:42.88 ID:yie2XOKe.net] アンダスコアはPythonが悪い
822 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 14:45:46.33 ID:Hct9Q+tn.net] いまだにgenrandom, gen_raondom, genRandom, GenRandomのどれがいいかわからん PythonやってるとgenrandomだがJavaScriptもやるからgenRandomも使う GoもやるとなったらGenRandomまで使わんといかん いったいどれがいいんだ? 誰か俺に教えてくれ
823 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 14:49:34.72 ID:0h5AdYzJ.net] 言語の推奨に従ってください
824 名前:デフォルトの名無しさん mailto:age [2022/06/14(火) 17:17:08.52 ID:zltAtr9K.net] CSSならlong-name-propertyだし、JSONならLong_Name_Property、SQLならLONG_NAME_PROPERTYまたは long_name_property、JSなど言語ならlongNamePropery、でも定数ならLONG_NAME_PROPERTY、CSVなどなら Long Name Propertyだ。 そして、JavaやC#、C/C++、PythonやGoでもRustでも命名規則(多くは悪魔でも推奨)のようなものがあり、歴史的な経緯と 作者の今日子な意思、プログラミングのしずらさ、あるいはシヤスサ、あるいはコードレビューマウントのために脈々と受け継がれる。 つまり、人類はいまだに命名の正解を得ていない・・・ モジュール snake_case 型 CamelCase トレイト CamelCase Enumのバリアント CamelCase 関数 snake_case
825 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 17:26:35.25 ID:OVbm/pyy.net] 言語内で閉じるなら慣習に従うだけだけど言語またがる時は迷うよね
826 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 17:49:20.30 ID:8A+wXs8O.net] 標準ライブラリは名前が綺麗なのに、自分で命名しようとすると難しくて悲しい
827 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 17:55:42.15 ID:jATTslXV.net] そうでもないぞ RustのThe Bookに出てくる乱数のほぼ標準ライブラリは非常に名前が汚い 馬鹿が考えたような名前と構造
828 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 17:58:02.15 ID:jATTslXV.net] Goも標準ライブラリが汚い 仕組みも複雑
829 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 17:58:54.42 ID:yie2XOKe.net] C++とJavaも大概だわ
830 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 18:01:35.42 ID:FCklzJDr.net] >>810 なおGoはlongnameproperty ガイジか?
831 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 18:02:29.74 ID:FCklzJDr.net] >>815 Goは後発の分際であの体たらく どんな頭弱が作ったのか顔が見てみてーわ
832 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 18:08:01.45 ID:jATTslXV.net] Goのstrconv::atoi()って 悲しくなるわ
833 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 18:13:47.77 ID:Ypv3OCUB.net] >>804 _ "github.com/mattn/go-sqlite3" >>806 だね、触ったこともない人が騒いでるだけ。とんでもねえアホ
834 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 18:18:15.24 ID:wSQCOwvw.net] >>818 std::num::strconv::float_to_str_bytes_common (´;ω;`)w
835 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 18:20:27.99 ID:jATTslXV.net] golang入門したころにファイルの読み書きや文字の扱いのライブラリを見て愕然としたな こういう世界がまだあるんだなって
836 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 18:31:08.14 ID:OVbm/pyy.net] >>817 goの作者知らんのか...
837 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 18:32:45.87 ID:FCklzJDr.net] >>819 golintでエラーだぞ おまえこそエアプだろカス PHPでも書いてろ
838 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 18:35:13.31 ID:jATTslXV.net] goの作者の一人は有名人過ぎるけどもう後進に道を譲れよよ思う
839 名前:デフォルトの名無しさん [2022/06/14(火) 18:40:13.93 ID:xmR5ySSw.net] >>821 file, err := os.OpenFile("foo.txt", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0777) これがキレイだとは決して思わんが.... let mut file = File::options().read(true).write(true).open("foo.txt")?; これもどうかと思うぞ?何故、直感的ではないoptionsでopenに繋げるチェーンなのか..確かにオプションの設定はpanicが起こらないから 言語的な理由(言い訳)は分かる。でもRustってオプション扱いを第二引数にしない思想があるんだろうか... >>822 デニス・リッチーとかC言語の作者とかだからC言語のライブラリと似た名前になるはある意味当たり前だよなあ
840 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 18:46:33.92 ID:jATTslXV.net] >>825 Rustの標準ライブラリが汚い理由はオーバーロードがない、デフォルト引数がないから
841 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 18:47:21.55 ID:8A+wXs8O.net] デニス・リッチーが直接に関わったという話は聞いたことないけど、ケン・トンプソンと勘違いしているのだろうか 親しい人物たちではある
842 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 18:47:26.18 ID:jATTslXV.net] そして弱点を補うためにマクロを使ってるから汚い
843 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 18:50:32.39 ID:FCklzJDr.net] >>822 有名と有能は違うぞ どこぞの通貨危機衰退先進国のゲリ首相は有名だが有能か?
844 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 18:54:01.24 ID:jATTslXV.net] 幼稚園児がいる模様
845 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 18:56:01.59 ID:jATTslXV.net] >>829 画像あるから普通に顔見てみたいなら見ればいいでちゅよ?
846 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 19:02:21.29 ID:OVbm/pyy.net] >>829 有名人だから顔なんてネットに溢れてるんだからとっとと見て好きなだけ罵倒してきなよ
847 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 19:15:33 ID:eqeTk7gF.net] Goのモジュールシステムシンプルでわかりやすいと思うけどな フォルダでパッケージ表すだけだし 名前で困るってのがよくわからないけど必要以上に作ってるんじゃないの? Rustのほうが複雑で意味不明だと思うんだが
848 名前:デフォルトの名無しさん [2022/06/14(火) 19:21:23.05 ID:bI70PJIL.net] Don't you know you know?
849 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 19:37:19.54 ID:nghM89d8.net] >>825 メソッドチェーンでオプション書くの大嫌い 単なるデータは普通にデータとして書かせてくれ
850 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 19:52:21.06 ID:0h5AdYzJ.net] >>825 君その話前にもRustスレでしてなかった?
851 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 19:54:38.26 ID:GHB3UZAZ.net] ケン・トンプソンなんかおまえ この業界に居たらまさに神様みたいな存在で それより上がおらんくらいのハッカーなんだから こんなクソスレで軽々しく名前出すのすら憚られるやろフツーに
852 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 20:00:51.53 ID:GHB3UZAZ.net] > ile, err := os.OpenFile( os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0777) > let mut file = File::options().read(true).write(true).open("foo.txt")?; File.open('foo.txt', 'w'){|f| ... } やっぱrubyがスッキリやね
853 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 20:30:21.52 ID:FCklzJDr.net] >>837 The 老害やな 長いものに巻かれろ、年長者は無条件に敬え、右に倣え、出る杭は打て、死なば諸共 これが衰退先進国糞バカ中世ジャップランド土人村の末路
854 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 20:46:16.55 ID:8A+wXs8O.net] 異次元すぎて逆にかわいい
855 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 21:16:23.17 ID:GHB3UZAZ.net] 滑稽を通り越した何かだな
856 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 21:39:51.47 ID:yie2XOKe.net] 老害ロールプレイ楽しいか
857 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 23:27:33.27 ID:jATTslXV.net] Rustは通常の言語仕様で欠落してる部分がある それをマクロで補っている
858 名前:デフォルトの名無しさん mailto:sage [2022/06/15(水) 00:03:02.45 ID:clxQJqr6.net] >>826 デフォルト引数やキーワード引数が欲しいのは分かるけどオーバーロードが欲しいのはなぜ?
859 名前:デフォルトの名無しさん mailto:sage [2022/06/15(水) 00:09:27.56 ID:a3eoLX8e.net] >>844 JAVA出身だから
860 名前:デフォルトの名無しさん mailto:sage [2022/06/15(水) 00:50:48.06 ID:pzXtsAzL.net] オーバーロードは直感的だから
861 名前:デフォルトの名無しさん mailto:sage [2022/06/15(水) 00:56:03.07 ID:pzXtsAzL.net] デフォルト引数が必要だと思うならそれはもう関数オーバーロードが必要だとおもっていることと同義だろ
862 名前:デフォルトの名無しさん [2022/06/15(水) 01:27:19.31 ID:SBK/Y+J6.net] >>825 C:f= open(out, O_WRONLY|O_CREAT|O_TRUNC, 0777); D:auto to = File("output.txt", "wb"); Erlang:{ok, Contents} = file:read_file( "input.txt" ), Fortran(2003):open(in, file="input.txt", status="old", action="read", access="stream", iostat=err) Basic(Free Basic/VB):Open "input.txt" For Input As #1 Nim:var f = open "output.txt", fmWrite Objective-C:NSData *data = [NSData dataWithContentsOfFile:@"input.txt"]; Perl:open my $fh_in, '<', 'input.txt' or die "$!"; Python:infile = open('input.txt', 'r') Tcl:set infile [open "input.txt" r] Rustは異質、ド変態はFortranとObjective-C。Swiftは知らん
863 名前:デフォルトの名無しさん mailto:sage [2022/06/15(水) 03:18:03.71 ID:x0I/jK+a.net] >>848 こう見るとPythonが一番美しいな 例外あるからエラー処理省略できるし これが良いかどうかはまた別の話として
864 名前:デフォルトの名無しさん mailto:sage [2022/06/15(水) 03:22:52.73 ID:tT/4QRGb.net] 一般的にデータを初期化する際にいくつもの数のオプション値指定が存在するものが多い デフォルト引数にしても1つ目と2つ目はデフォルト値でいいけど3つ目は指定したいなど歯抜けでわかりにくくなる そこで一般的にその問題を解決するオプション指定方法としてビルダー方式がある ビルダー方式では指定したいオプション値のみをビルダーに対してオプション指定メソッド(の必要ならチェーン)で指定していくものである あるオプション指定は同時に2つのデータを与えなければならない場合でもこのビルダー方式ではメソッド引数2個で矛盾なくシンプルに表せる さらに型チェックの厳しい言語ともこのビルダー方式は相性が良く各オプション指定メソッド別に曖昧なく厳格に型宣言できる ちなみにRustではこのビルダー方式の有用性&利便性が広まり後からこのビルダー方式に移行したものもあるほどである
865 名前:デフォルトの名無しさん mailto:sage [2022/06/15(水) 03:32:06.02 ID:tT/4QRGb.net] >>849 Rustは例外機構がないからもっとエラー処理がシンプル 「?」一文字付加するだけで(必要ならエラー自動変換しつつ)上位関数にエラー処理委任できる そのため例外機構がなくても記述がシンプルかつ同様のことが出来るだけでなくエラー処理忘れなどもコンパイル時に指摘してくれて安全
866 名前:デフォルトの名無しさん mailto:sage [2022/06/15(水) 06:09:36.05 ID:sEZPBRlz.net] こんだけ色々な言語が乱立するってコンピュータの世界はバベルの塔だわ
867 名前:デフォルトの名無しさん [2022/06/15(水) 15:47:16.86 ID:IEWflW3G.net] コンピューターはバビルの塔
868 名前:デフォルトの名無しさん mailto:sage [2022/06/15(水) 18:32:44.57 ID:oaz3/shQ.net] 賽の河原での石積みに 昔から例えられている
869 名前:デフォルトの名無しさん [2022/06/15(水) 19:56:50.2
] [ここ壊れてます]
870 名前:2 ID:IqYclFLA.net mailto: twitterの「スタバでMacを開くエンジニア」って奴ほんと嫌い qiitaの記事も大したこと書いていないわりに結構な頻度でバズってて流れて来るから目障りだわ 技術力ないから逆にわかってませんアピールを武器にしていっている印象受けるんだがエンジニア畑にああいうネタ系の自虐するノリほんまいらねえよ エンジニア畑でバズるの狙うなら純粋に技術力の高さで競っていけよって思う [] [ここ壊れてます]
871 名前:デフォルトの名無しさん mailto:sage [2022/06/15(水) 23:05:23 ID:a3eoLX8e.net] なおそのQiita記事に助けられてるもよう
872 名前:デフォルトの名無しさん mailto:sage [2022/06/15(水) 23:58:49.93 ID:NtuuvbZ6.net] 大したことないって書いてあるだろ…
873 名前:デフォルトの名無しさん mailto:sage [2022/06/16(木) 00:21:07.28 ID:N0TE7UEH.net] その大したことない記事に助けられてるからバカにされてるんだろアスペw
874 名前:デフォルトの名無しさん mailto:sage [2022/06/16(木) 10:40:11.20 ID:oOjZlu3s.net] コピペしてすぐ使えるコードが出ている Qiita記事は役に立つよ 具体的な手順が書いてない記事はゴミ
875 名前:デフォルトの名無しさん [2022/06/16(木) 10:47:19.76 ID:OyMwP3lE.net] qiitaもワイもアカウント持ってて投稿したりしてるぐらいだから別に否定しているわけではないんだが qiitaがクソだと言っている分けではなくてただこいつがqiitaに載せている記事すべてが糞だっていう意味を言っている 気になるんなら見とけよ内容もtwitter上を跋扈するいわゆる情報商材系サイトのそれに近くて技術的な要素を一切含んでいない https://qiita.com/SMAC
876 名前:デフォルトの名無しさん mailto:sage [2022/06/16(木) 11:28:53.21 ID:jHsLwKQ/.net] ここはお前の日記帳かよ というか「スタバでMacを開くエンジニア」って固有名詞かよ
877 名前:デフォルトの名無しさん mailto:sage [2022/06/16(木) 11:55:25.21 ID:4wdIdA1r.net] >>858 助けられてるって書いてるか?
878 名前:デフォルトの名無しさん [2022/06/16(木) 13:02:40.58 ID:uKxWv5Aj.net] Qiitaはごみ
879 名前:デフォルトの名無しさん mailto:sage [2022/06/16(木) 16:40:13.18 ID:N0TE7UEH.net] >>862 Twitter一生懸命見て彼の成長に嫉妬してる時点で、君の”負け”やで
880 名前:デフォルトの名無しさん [2022/06/16(木) 18:30:34.70 ID:OyMwP3lE.net] >>864 「エンジニア1年生必見おすすめ入門書!」「【20XY年度最新】無料プログラミング学習サービス」「基本情報技術者試験のための戦略的方法」みたいなしょうもない記事しか書いていない奴のどこに技術的成長を感じればいいのか疑問なんやけど お前はまさかこういった記事を見て勉強してんのか?(笑) お前が勝ち負け判断すんの?(笑) 少なくともSNSで頻繁に目障りな投稿をしている人が他の媒体でどのような活動をしているのか確認する行為自体を一生懸命にならないとするの達成できない時点でお前がこの一連の流れのどんな登場人物よりも劣ってること明白じゃんwwwwwwwww きっと自分の電話にかかってきた電話番号を迷惑電話だったのかどうかネットで調べて確認すると言った最低限な行為すらも日常生活の中でするのには精一杯になってるんやろなwこの低脳(笑)wwwwwwwwwww
881 名前:デフォルトの名無しさん [2022/06/16(木) 19:21:05.39 ID:hEUIHdUO.net] どうみても本人の自作自演 https://www.youtube.com/watch?v=IdBBGkiECc4
882 名前:デフォルトの名無しさん mailto:sage [2022/06/16(木) 20:03:31.12 ID:r+hk7hk0.net] >>864 成長…?
883 名前:デフォルトの名無しさん mailto:sage [2022/06/16(木) 20:50:21.92 ID:N0TE7UEH.net] うわぁ、必死杉内
884 名前:デフォルトの名無しさん mailto:sage [2022/06/16(木) 20:53:08.58 ID:arzDgCAq.net] なにこいつ 煽りアフィカス?
885 名前:デフォルトの名無しさん mailto:sage [2022/06/16(木) 20:58:13.91 ID:VGxDlt+C.net] デジタル人材の副業・複業採用決定数をプログラミング言語・スキル別で分析 ~副業・複業人材の登録が、前年度比3倍に。 調査レポートを公開~ https://prtimes.jp/main/html/rd/p/000000040.000053307.html
886 名前:デフォルトの名無しさん mailto:sage [2022/06/16(木) 22:42:24.28 ID:R+xkwjLU.net] >>869 スタバマックくんかも
887 名前:デフォルトの名無しさん [2022/06/17(金) 14:55:42.76 ID:Ld/FFEEi.net] >>868 レスバ判定員です 言い返せなくなってる時点でお前の負けやでwwwwww
888 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 15:04:06.85 ID:jyuIrjdj.net] 非常にしつこい
889 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 15:10:54.32 ID:2abskYGH.net] なんでワッチョイ無いんだよ
890 名前:デフォルトの名無しさん [2022/06/17(金) 17:27:59.16 ID:G79h5Zer.net] わざと曲解して話を盛るのが5chクオリティ
891 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 17:48:44.96 ID:q4amRkHc.net] >>872 Qiitaの若者の成長に難癖付けて2ch陰口で悦に浸ってるオッサンとか キモすぎにもほどがあるでんで もうちょっと客観的に自分を見つめ直した方がええで
892 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 17:52:34.99 ID:douM25C/.net] ええでんで
893 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 19:51:03.63 ID:6H4dK9M3.net] >>825 rustが汚く感じるのはビルダーパターンが気持ち悪いのか、ファイルのopenにビルダーパターン使うのが気持ち悪いのか、どちら?
894 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 21:08:38.74 ID:ueszn7cF.net] >>878 どちらでもない optionをopenするのが気持ち悪いだけ
895 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 21:38:00.10 ID:8YmvneAf.net] let mut stream = FileStream::builder().read(true).write(true).build("foo.txt")?; これならいいのか
896 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 21:48:55.86 ID:G5rhOs4/.net] Rustにはなんでデフォルト引数ないの? Kotlinみたいに名前付き引数もデフォルト引数も欲しい
897 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 21:49:12.87 ID:8YmvneAf.net] でもパス名が最後に来るの確かに思考の順序と一致しなくてウザいな どのファイルを開くかより先にモードを考えたことなんかなかった
898 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 22:02:17.99 ID:flaMOIXW.net] >>878 ソフトエンジニアはビルダーパターンは気持ちよすぎになるが 一方、ドカタは気持ち悪いになるってだけだろ 言語としては主ターゲットユーザーがソフトエンジニアかドカタって重要だからな Rustはソフトエンジニアがターゲットで、そうじゃない奴はRustじゃなくドカタ用言語使え ってこと。
899 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 22:12:15.35 ID:1Z6irghS.net] そうでなくて最後にopen()でビルダーが終了して実行そしてエラーが返る あと横に書くのではなく縦に書くほうが見やすいので推奨される ビルダー方式にしているのは複雑になりがちな 様々なオプション指定をわかりやすくするため 例えば 書き込み用を新規作成だが既にファイルが存在しているならばエラーとなるオープンならば let file = File::options() .create_new(true) .write(true) .open("output.txt")?; Windowsで全てクローズされたら自動削除される書き込みファイルを作成ならば use std::os::windows::fs::OpenOptionsExt; let file = File::options() .create(true) .write(true) .custom_flags(FILE_FLAG_DELETE_ON_CLOSE) .open("tmp.txt")?; Unix(Linux)でシンボリックファイルならFOLLOWしない(つまりオープン失敗となる)読み込みオープンならば use std::os::unix::fs::OpenOptionsExt let file = File::options() .read(true) .custom_flags(O_NOFOLLOW) .open("input.txt")?; それぞれ他のプログラミング言語で書くとどうなるかを考えてみよう
900 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 23:24:36.27 ID:1Z6irghS.net] あと余談だが >>884 のO_NOFOLLOW指定はUNIXのC言語プログラマーなら馴染みでも一般的にわかりくいという時 Rustではメソッド拡張が可能なことから 以下のように no_follow_symbolic_link() とわかりやすい指定ができるようにすることも可能 let file = File::options() .read(true) .no_follow_symbolic_link() .open("input.txt")?; この実現方法はRustの一般的なメソッド拡張と同じで 拡張用のトレイトを用意してその実装を与えればよい trait OpenOptionsUnixCustomExt { fn no_follow_symbolic_link(&mut self) -> &mut Self; } impl OpenOptionsUnixCustomExt for std::fs::OpenOptions { fn no_follow_symbolic_link(&mut self) -> &mut Self { self.custom_flags(O_NOFOLLOW) } } もちろんこの拡張用traitをuseした時のみ有効となる つまり既にある仕様を壊さずに拡張が可能 いずれにせよビルダー方式でのメソッドチェーン指定は 全てを引数で複雑もしくは長々と指定するよりもよっぽど好ましい方式
901 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 01:48:38.80 ID:ElTVdqXo.net] ビルダーパターンはオプション引数のある言語でも簡単に実現できるんだが 逆は一般的にハードルが高い(Rustならproc macroとかになる) ビルダーとオプション引数は本来はユースケースによって使い分けるものなので 使い分けられないようならその言語は機能的に劣っているということ
902 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 03:34:01.13 ID:qRZqKkc3.net] Rustは代数的データ型のOption型があるから特に困らないんじゃない? むしろOption型がないプログラミング言語はundefinedやnullやnilなどの排除すべき危険なものが存在していて安全じゃない
903 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 03:46:11.38 ID:1ZLmOyHM.net] 欲しいのはオプション引数というかキーワード引数? Noneなりnullなりが連続する関数呼び出しはつらいよね
904 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 03:49:38.33 ID:qRZqKkc3.net] デフォルト引数のことか C、Java、Go、Rust、Haskell、…とサポートしていないプログラミング言語は多いけど それらの言語が劣っている欠陥言語と言われることはないよ
905 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 07:13:04.48 ID:bAwBngwg.net] やっぱりカリー化が欲しいのよ
906 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 10:59:53.21 ID:W1b6m0i9.net] デフォルト引数はあったほうがいい 究極的にはPythonみたいに書けるC言語が欲しい それを目指したのがおそらくGoだと思うが
907 名前:デフォルトの名無しさん [2022/06/18(土) 11:19:30.38 ID:56BPbiHd.net] cpythonでええやん
908 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 11:24:27.43 ID:ZQWHh7s0.net] >>891 あのゴミみたいなsyntaxで目指してるとか鼻で笑うで
909 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 12:11:06.20 ID:i5hxcodT.net] >>891 Goには当然デフォルト引数は無い あと、GoはPythonとは真逆の思想
910 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 12:28:29.18 ID:1P56+GFt.net] Kotlinみたいにサポートしてほしい
911 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 12:37:40.53 ID:n5ZvcUIJ.net] RustもGoも標準ライブラリが良くない 気持ち悪い
912 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 12:41:20.81 ID:n5ZvcUIJ.net] >>889 欠陥言語なんてものはそもそもほとんどない デフォルト引数は新言語に人気が出てくると確実に要望が出てくる いつかは実装される 実装できる余地がある言語はいいけど言語仕様上実装不可な場合はどうしようもない
913 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 12:46:26.67 ID:pOm9NLXW.net] >>889 ある言語が他の言語に比べて劣っている部分があるということと その言語が欠陥言語かどうかは全く別の問題 もう少し論理的に物事を考えよう
914 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 12:52:00.37 ID:n5ZvcUIJ.net] Rsutは意味不明なんだよな struct初期化で名前指定して初期値入れてるのにデフォルト実装や名前付き引数がない 不思議
915 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 13:00:28.27 ID:7x85yRDf.net] Rustはソースコード上の情報多くしたい感じだからデフォルト引数は入らなさそう ソースコードの見た目をすっきりさせたいなら素直にPythonとか使うのがいいかと
916 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 13:08:33.19 ID:n5ZvcUIJ.net] デフォルト引数もなく関数オーバーロードがないから謎の関数がぼこぼこ増えるんだろうな ○○ ○○_with_XX ○○_by_YY みたいに
917 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 13:15:01.13 ID:n5ZvcUIJ.net] 言語を作った人間がデフォルト引数絶対に入れない!って言ってても その人が一線から引いて他の開発メンバーに任されたら速攻で入る
918 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 13:42:57.17 ID:7x85yRDf.net] Rustはすでに作った人は居なくなってるし 仕様決めるのも多数決とかじゃなく意見が割れるようなのは入らないからな コミュニティ全体が入れる空気にならない限り無理
919 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 13:44:38.50 ID:n5ZvcUIJ.net] 新しい元老院の出来上がりか
920 名前:デフォルトの名無しさん [2022/06/18(土) 13:57:51.20 ID:0HZmI7WS.net] Rustは複雑な引数はstructで渡しなさいという考えだから その方法の一つがビルダーパターンだけど、structとDefaultを組み合わせたほうが個人的には好き
921 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 14:03:46.44 ID:1P56+GFt.net] ..Default::default() にシンタックスシュガーあって短く書ければいいんだけど
922 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 14:46:02.16 ID:W1b6m0i9.net] 引数爆発の解決のアプローチはいろいろあるわな だがキーワード引数があったほうが爆発したときに楽なんだがな GoやRust的には構造体使えってことか
923 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 14:55:32.45 ID:vtBUlFGw.net] >>899 デフォルトは作ればあるよ オプション引数の代替策の一つとしても使える
924 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 14:56:30.79 ID:vtBUlFGw.net] あ、ガイシュツだった
925 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 17:55:33.35 ID:+lle12+G.net] >>903 >>902 Rustでは不可欠な機能が着実に次々と実現されていっており それら全て状況も議論も全てオープンに行われている 互換性、安全性、関連する影響がないことなど全て満たす必要があるためどの案件も時間がかかるが信頼できて安心できる 関数の引数の諸々の件も長くオープンに議論され続けているが様々な諸問題がでておりそれらを解決しうる仕様がまだ出来上がらずかなり先になるだろう そして色々な代替手段があるためこれを必須として現実に困っている人がいない問題でもある
926 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 18:43:27.93 ID:ZQWHh7s0.net] >>903 なんや、既に崩壊してる言語なのか ざまあねえな
927 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 19:21:21.77 ID:W1b6m0i9.net] Rustって創始者いないのなんでなの?
928 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 19:27:03.11 ID:1ZLmOyHM.net] >>912 創始者が抜けたのはバーンアウトしたかららしい
929 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 19:56:43.48 ID:ZQWHh7s0.net] >>912 修復不可能なデザインバグを見つけてしまったから逃げたんだろう
930 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 20:01:24.70 ID:9K3tt+Ez.net] Mozilla関係の組織っておんも歩けないような人が多いよね まともな人から辞めていくんだろうか
931 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 20:14:49.20 ID:ApP/hHwA.net] 燃え尽きて去ったRustの創造者はいまはどこで何をしているんだ? まさか、googleでGoしているってことないよな
932 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 20:18:43.54 ID:1P56+GFt.net] AppleでSwiftの開発をしてるらしいぞ
933 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 20:30:46.91 ID:aTjkq+5e.net] >>910 Rustコミュニティがオープンだとは全然思えない。async-stdとtokioなんか正にそう
934 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 20:40:14.11 ID:ZQWHh7s0.net] >>917 やっぱゴミはゴミに惹かれるんやね XウンコードとかいうゴミゴミのゴミIDEバンドルのゴミに惹かれるなんて やっぱゴミ
935 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 20:40:52.91 ID:n5ZvcUIJ.net] c++の規格団体がクソだったのと大して変わらない
936 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 20:46:04.24 ID:n5ZvcUIJ.net] >>910 apple信者の人たちと大して変わらんなw androidにしかない機能があっても必要ない、問題ない、困ってないと言い放つが実装されると大騒ぎして喜び 誇らしげに自慢する 何週遅れてんだよと
937 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 21:07:12.04 ID:G0PSkUdv.net] 全て状況も議論も全てオープンに行われていればまあこんな事になる
938 名前:けがないよなww 「The entire moderation team resigns, effective immediately. This resignation is done in protest of the Core Team placing themselves unaccountable to anyone but themselves.」 https://github.com/rust-lang/team/pull/671 [] [ここ壊れてます]
939 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 21:10:24.45 ID:FdDF61RI.net] >>921 気持ち悪いRust信者はこの板に1人いるだけだぞ 通称複オジこと、はちみつオジ
940 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 21:20:50.21 ID:ApP/hHwA.net] >>917 おいおい、ほんとなのか。 優秀な奴だろうからどっかが雇っているだろうと思っていたが。 appleならMozillaより激好待遇だろうな
941 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 21:36:02.59 ID:ZQWHh7s0.net] >>923 Qiitaで若者に嫉妬したりエアプRust信者したり大変だな
942 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 22:53:12 ID:WzwwMm2M.net] コミュニティの意見に向き合うのは難しい問題で、どの言語でも同じ Rust Foundationとか、Kotlin Foundationとか、コミュニティ向けに組織体制をちゃんとする努力があるだけマシだといつも思う
943 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 22:56:08 ID:eg6b2Ems.net] スタバマックくんw
944 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 23:36:58.06 ID:WzwwMm2M.net] そして批判の声が見当たらないコミュニティは逆に危険 ユーザーは意見を述べるモチベーションがなかったり、意見を聞き届ける環境すら整えられていない 言い換えるとカルト。
945 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 00:20:26.22 ID:Mk9KDawR.net] >>926 なんちゃらファウンデーションなんてそれはコミュニティに向き合うとか組織体制がちゃんとする努力をしているとは違う。後ろにスポンサーがいるかどうかが違うだけ 得てしてプラス面もあるが多くは大企業の意見がよく通る
946 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 00:58:59.69 ID:61bWOpc5.net] >>929 どの言語のコミュニティが理想だと思う?
947 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 02:05:01.40 ID:kfPGjv4I.net] なんだその質問ww
948 名前:デフォルトの名無しさん [2022/06/19(日) 02:09:16.77 ID:6XdwO9QI.net] ジャップは10年遅れでPython受け入れだしたからな Juliaも10年は遅れるよ バカなジャップだから
949 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 05:40:31.85 ID:SdXdUMni.net] Julia流行の隆盛とともに死すナムー(-人-) 今はJuliaとか言って、もう少し経ったらの言語マンセーするくせにさ
950 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 07:28:14.73 ID:YnIsF6Qk.net] 10年後にジャップランド土人村が残ってるかも疑わしい
951 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 09:42:08.66 ID:+2WAsQm8.net] 何で突然ジャップとか言い出した?選挙が近いから?
952 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 09:57:40.03 ID:KAsrUTco.net] >>934 ってどこの国の人なんやろな なんかウンコのにおいしてるけどw
953 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 10:15:25.21 ID:YnIsF6Qk.net] 今の日本の体たらくはジャップランド土人村と呼ぶにふさわしいよ 未だに「日本サイコー!」とか言ってる奴らの方がどうかしてる
954 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 10:30:27.88 ID:2cctUuao.net] 声の大きいクソユーザーのせいで言語がどんどん変わっていくC#
955 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 10:55:12.05 ID:KAsrUTco.net] >>938 具体的にはどういうとこ? 俺は最初からC#ダサいと思ってたけど
956 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 11:04:07.37 ID:PZvlYDex.net] >>939 具体的にダサいところあげてくれ ついでにダサくない言語も教えてくれ
957 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 11:07:05.21 ID:C4wP3ian.net] 単純にMicrosoftのソフトウェア開発能力がめちゃくちゃ高いからどんどん変わっていけてるだけだぞ 昔から巨大ソフトウェアをずっとたくさん作り続けてるだけあるよ 他の言語だってリソースさえあればあれもこれもやりたい、って言ってるのたくさんあるじゃん
958 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 11:11:04.94 ID:2cctUuao.net] 言語仕様が使いもしないパターンマッチよりにどんどん変わってる 学習コストが上がるだけなのに if (x is { Name.Length: 1 }) { Console.WriteLine("single-char Name"); }
959 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 11:13:34.22 ID:KAsrUTco.net] >>942 へーそうなん サンクスコ
960 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 11:15:07.77 ID:2cctUuao.net] x is { Name.Length: 1 } これが何を指しているか直観的にわかるように思えて実際は違っている
961 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 13:07:02.40 ID:Mk9KDawR.net] MicrosoftはTeamsのアップデートしすぎ、ほぼ毎日バージョンが変わる。マジで勘弁してほしい
962 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 13:32:37.74 ID:YdsUdLcR.net] C#は場当たり的に糖衣構文追加するもんだから BNFがとんでもない長さになってるな ここまで言語仕様汚くなった言語他に無いんじゃね?
963 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 13:39:49.73 ID:MGBoiv+i.net] さすがに C++ Perl Ruby には敵わないだろ
964 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 14:13:50.73 ID:vUT9u2r3.net] >>944 具体的に他の言語で書くとどういう記述に相当するもの?
965 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 14:16:23.55 ID:61bWOpc5.net] BNFで構文表現できてる時点で綺麗だよね
966 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 14:21:29.08 ID:Db+21BxG.net] BNFで表現できない文法はやめてくれ
967 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 14:37:30.12 ID:XPOA14Ne.net] >>947 Rubyは意外にシンプル
968 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 15:16:16.80 ID:YnIsF6Qk.net] >>951 シンプルでなくイージー 型無し糞言語代表だろ
969 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 15:23:17.11 ID:T+HLe5Kk.net] rubyに型がないとかw 恥を知れ恥を
970 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 17:07:15.35 ID:SjAidwyp.net] 恥を知れ恥をって一番恥ずかしい煽りだよな
971 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 17:08:50.63 ID:2cctUuao.net] 他の言語の定型文をそのまま日本語に持ってくるからそうなる 富士山は日本で一番高い山の一つですは誤訳
972 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 22:06:45.19 ID:VFAsiM2X.net] Rubyはスクリプト言語にしてはPythonに比べ型は厳格だが、なんにでもなれるメソッドなかったっけ?
973 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 22:28:00.46 ID:8/kH/R2d.net] #method_missing
974 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 12:03:09.79 ID:7+wjkIp4.net] >>952 型無し言語って何?
975 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 12:17:32.20 ID:G0GSIi1k.net] シェルスクリプトやアセンブリのことです
976 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 12:59:21.71 ID:EbOcYieG.net] シェルスクリプトにも変数の型はあるしアセンブリもレジストリの種類は意識しないといけない
977 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 13:09:02.41 ID:rr2OcjMu.net] 型なし言語って、誤用でしか用例を聞いた覚えがないけど、型なし言語とかいう用語はあるの? 文脈からして何を言いたいかはわかるんだけど
978 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 13:09:53.23 ID:rr2OcjMu.net] 値に型がない言語のことを型なし言語、って呼ぶのは正しいの?
979 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 13:52:48.64 ID:6L0FdSjR.net] 型無し言語じゃない 型無し糞言語だ 間違えるな痴れ者が 型無し糞言語3兄弟といえばRuby、PHP、Perl 業界の常識 未だこれ使ってる時代遅れのバカ老害どもは首吊って死んでええぞ
980 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 13:55:02.11 ID:4VWLMq9p.net] >>961 https://ja.wikipedia.org/wiki/%E5%9E%8B%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0#%E5%9E%8B%E3%81%AA%E3%81%97 型付けを更に厳密に定義した区分として型なし(英: untyped)という区分が存在する。 代表的な言語としてはSmalltalk[7]、BCPL、B言語、アセンブリ言語などがある。 Smalltalkでは高速化のため処理系依存で実行時に型検査することがあるものの言語的には型検査がなく、 動的型付け言語のように文字列に割り算をするといった不正な操作をしても処理系が型検査して停止する事は無い。 BCPL、B言語、アセンブリ言語などオブジェクト指向とは関係なく型を持たない言語では、 ハードウェアのワード長に依存した1種類の型のみを持つか、 言語を使う側でデータを参照するときにデータ幅や種類の解釈を決定することとなる。
981 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 14:10:59.58 ID:G0GSIi1k.net] >>960 bashのdeclareについては一旦忘れていただく方向でお願いします
982 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 14:23:54.46 ID:rr2OcjMu.net] >>964 ほんまや Brainfuckとかみたいな難解言語もだいたいuntypedかな
983 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 14:32:59.17 ID:njNeMAGl.net] >>963 が言っている型無し言語とは、一つの変数がいろいろな型の値を束縛できるってこと?
984 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 15:16:39.40 ID:gnE/PDYV.net] untypedは基本的にdynamically typedのこと アカデミック用語で実務者用語ではない 実務者が型なし言語と呼ぶのはtypeless languagesのこと 現代において動的型付け言語を型なし言語と呼ぶのは明らかな間違い
985 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 15:39:41.45 ID:rr2OcjMu.net] >>968 > untypedは基本的にdynamically typedのこと 出典がまったく示されていないか不十分です。内容に関する文献や情報源が必要です。
986 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 15:54:46.01 ID:4VWLMq9p.net] 型付けなんてプログラマにとっては基本の基本で おろそかにしていいものではないから > 型無し糞言語3兄弟といえばRuby、PHP、Perl これがいかにド素人で無教養で恥知らずな発言かは お分かりいただけてると思う
987 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 16:28:03.20 ID:G0GSIi1k.net] 複おじ怒りのマジレス
988 名前:デフォルトの名無しさん [2022/06/20(月) 18:29:27.28 ID:1agQsnkM.net] >>901 これがちょっと辛いんだよな。
989 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 18:53:41.48 ID:BnXOM/sm.net] 型無し言語と言えば型無しラムダ計算だろ。
990 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 19:04:42.99 ID:hXDnNrPc.net] 次スレ(リニューアル) Era 26 コンセプトは、現状の漠然とした実質未来最強言語決定戦という誰も得しない未来トレンドの断定を避けて、 次世代言語はまだ存在しない仮説を使って建設的な言語仕様の検討を促すことです。
991 名前:デフォルトの名無しさん [2022/06/20(月) 19:05:46.77 ID:hXDnNrPc.net] https://mevius.5ch.net/test/read.cgi/tech/1655719441/l50 ↑次スレのリンクです。もし興味があればどうぞ。 (一定数いる最強言語決定戦を続けたい層には不向きかもしれないので、 棲み分けなどに、もし良いアイデアがあればどうぞご自由になさいませ。)
992 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 19:24:15.90 ID:cgMFd80D.net] そういうのGitHubでやったほうがいいよ
993 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 19:52:16.37 ID:E2oosySA.net] >>972 今どきの言語ならそんなことは起きないんじゃないかな 例えばRustの標準ライブラリには同名のreplace()という関数が10個もあるけど (1) まず名前空間が分かれている 例えば str::replace() や Option::replace() など (2) 次にメソッドの場合は名前空間を明示する必要がない 例えば let s = "価格: 123円"; という文字列に対してはstr::を付けずに s.replace("価格", "値段"); // → "値段: 123円" (3) 更にジェネリックな引数も取れる 例えば文字列""ではなく文字''も指定可能 s.replace('円', "万円"); // → "価格: 123万円", 文字判定関数を指定することも可能 s.replace(char::is_numeric, "*"); // → "価格: ***円" このように様々な対象に対して様々な引数で用いられていても 同名のreplace()で曖昧になることもなくそれぞれを使うことができる 昔のように長い関数名を付けずに済むようになっている
994 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 20:07:59.34 ID:8GsqMDfw.net] 次スレ立てるのはもうそろそろかな
995 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 20:46:13.10 ID:6L0FdSjR.net] >>975 アスペっぽい ガイジ
996 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 21:02:14.54 ID:Hg6hQLhP.net] >>963 ガイジ乙!
997 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 21:08:22.86 ID:mSfgS0Wr.net] >>977 3つともオーバーロードやデフォルト引数はほぼ関係ない話じゃん 3つめがかろうじてオーバーロードに引っかかってはいるが論点が違う
998 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 21:24:31.48 ID:j7veV6LL.net] シャドーイングがOKで関数オーバーロードがNGって普通は逆じゃね?
999 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 21:29:29.90 ID:ofPdKV5n.net] >>982 その2つがどう関係あるのか説明してくれ
1000 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 21:39:32.57 ID:j7veV6LL.net] シャドーイング 同じ変数名で実際は完全に別物 関数オーバーロード 同じ関数名で引数が違う でも普通は同じ働き
1001 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 21:50:35.85 ID:lr2wAV+c.net] 引数の型が違うだけならジェネリクスでいいし、ジェネリクスで表現できないような 引数の違いがあるような場合はそもそも同じ関数名にすべきじゃないような気がする。 オーバーロードいらないよな。
1002 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:04:20.07 ID:j7veV6LL.net] せいぜい意味不明なワードがくっついた似たり寄ったりの関数を大量に作ってくれよ
1003 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:09:55.02 ID:xRbFgwNB.net] >>984 なるほどそういう意味か イミュータブルとムーブがデフォルトだとシャドーイングNGだと命名負荷が高くなりすぎるのよ オーバーロードやデフォルト引数/オプション引数ないとメソッドの命名負荷が高くなるのと似てる
1004 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:17:07.52 ID:G0GSIi1k.net] >>982 C++/Java/C#書いてる脳だとまあすんなり同意するけど OCamlだのHaskellだの書いてる脳で読むと「お前の普通なんか知らねーよ」って感じだな
1005 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:26:34.16 ID:GOjINbNj.net] >>982 効果が真逆という結論のようです > シャドーイングは同時に存在できるのが一つだけで曖昧さがなくプログラミングにおいてプラス効果 > オーバーロードは同時に異なるものが存在できるため可読性を下げたりミスを起こす機会を生じさせてマイナス効果 確かにシャドーイングが出来ない言語では例えば price_str = "398" price_int = int(price_str) とするかミスを生みやすい動的型付けで同じ変数名priceに入れるようです シャドーイングがいかに優れているかよくわかりますね
1006 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:30:15.50 ID:j7veV6LL.net] 書き込みする前に読み返したか? ふわっふわしてるぞ
1007 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:36:51.94 ID:j7veV6LL.net] Rsutは関数オーバーロードがないから int(price_str)できない
1008 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:44:52.02 ID:d/VymnYf.net] >>991 そういう時にメソッドではない不要なグローバル関数を設けるプログラミング言語は時代遅れ もしstrに対してintに変換する関数int()を用意するならばstrのメソッドとして用意する 君には>>977 を読み直すことを勧める
1009 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:52:38.23 ID:j7veV6LL.net] Rustは同様に abs(x)ができない 他の言語ではmath.abs()とかにある x.abs()と言う不思議な感じになる -1_i32.abs() は -1になる変な言語
1010 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:54:18.35 ID:GOjINbNj.net] >>991 Rustではintが多数あるため let s = "98765"; let a: i32 = s.parse()?; let b: u64 = s.parse()?; となります どちらも同じメソッドparse()で大丈夫です あなたが使っている言語では多数のint毎に別々の変換用の関数があるのですか?
1011 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:55:48.87 ID:j7veV6LL.net] >>994 出た 愚者の?
1012 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:59:31.50 ID:bmv2finQ.net] >>993 >int(price_str)できない >Rustは同様に abs(x)ができない それはどっちもできるよ
1013 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:59:45.45 ID:4VWLMq9p.net] >>993 i32::abs(-1)
1014 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 23:01:03.11 ID:j7veV6LL.net] parseは多分ジェネリック実装されてて戻り値の推定からジェネリック型決めてるんだろ? そっちのほうが不気味 そのparseだってどうせトレイトで実装してんだろ?
1015 名前:デフォルトの名無しさん [2022/06/20(月) 23:02:42.38 ID:MklghZCY.net] >>985 ジェネリクスはまた別物だろ。 ライブラリ無いからシステムコール利用する機能を提供しようとする。 例えば socket(2)でいいわ。 第3引数なんて使うことないからと第2引数までを取るAPIとして公開、後になって第3引数必要になった(例えばSCTP利用)ってなった場合、オーバーロードできないとAPI変える必要あるじゃん。
1016 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 23:03:17.12 ID:j7veV6LL.net] >>996-997 それは実質fabs()と変わらない
1017 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 64日 5時間 10分 42秒
1018 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています