Goについて扱うスレッドです。
GoはGoogleによって開発された言語です。
公式
https://golang.org
公式ドキュメント
https://golang.org/doc/
公式外パッケージドキュメント
https://godoc.org
ブラウザ上で試し書き
https://play.golang.org
※前スレ
Go language part 4
https://mevius.5ch.net/test/read.cgi/tech/1605467680/
探検
Go language part 5
■ このスレッドは過去ログ倉庫に格納されています
2022/02/27(日) 07:43:20.04ID:uWHjNeVw
182デフォルトの名無しさん
2022/03/11(金) 21:27:24.13ID:uv7nfwNg183デフォルトの名無しさん
2022/03/11(金) 21:36:55.19ID:o63L8Mvt184デフォルトの名無しさん
2022/03/11(金) 21:58:49.55ID:qrl8XqzC >>180
ただGoだと何も「新しくは」できなくね?
ガチ鯖はJavaで、ライト鯖はPHPで既に書けるなら、Goが他に活躍してる分野って何?
今時のデスクトップアプリはGUI無しとかあり得ないから、CLIアプリとか?ならJavaで全く問題ない。
Javaが動かせない貧弱環境(=非x86、非linux、つまり大体組み込み)ならC一択だし。
>>181
> C++は (中略) 今となっては学ぶべきでない言語として大方のコンセンサスがあります
これはない。お前の周りがトチ狂ってるだけ。Rust界隈はそうなのかもしれんが。
俺はRustは最終的に死ぬと思ってる。
C++とはコミュニティの規模が多分4桁違うし、FireFoxを殺したのはRustだし。
(まあ俺はGoも最終的に死ぬと思ってるんだが)
初心者は「全機能を使いこなす事が必要」だと思ってるみたいだが、これは明確な間違いで、
C++なんて全部入りなんだから全機能なんて使ってる奴は居ない。
(例えばインラインアセンブラも普通に出来るが、常用されても困るわけだし)
C++は元々「必要な機能を選んで使う」思想で、
初心者は「何が必要で何が不要か」判断出来ないから適切に使うのはかなり無理。
で、そういう奴は大体C++の悪口を言う事になるわけだが、ほぼ「肥大化してる」だけだろ。
それはお前が適切に取捨選択出来ないだけだ馬鹿タレ、でしかない。
ただGoだと何も「新しくは」できなくね?
ガチ鯖はJavaで、ライト鯖はPHPで既に書けるなら、Goが他に活躍してる分野って何?
今時のデスクトップアプリはGUI無しとかあり得ないから、CLIアプリとか?ならJavaで全く問題ない。
Javaが動かせない貧弱環境(=非x86、非linux、つまり大体組み込み)ならC一択だし。
>>181
> C++は (中略) 今となっては学ぶべきでない言語として大方のコンセンサスがあります
これはない。お前の周りがトチ狂ってるだけ。Rust界隈はそうなのかもしれんが。
俺はRustは最終的に死ぬと思ってる。
C++とはコミュニティの規模が多分4桁違うし、FireFoxを殺したのはRustだし。
(まあ俺はGoも最終的に死ぬと思ってるんだが)
初心者は「全機能を使いこなす事が必要」だと思ってるみたいだが、これは明確な間違いで、
C++なんて全部入りなんだから全機能なんて使ってる奴は居ない。
(例えばインラインアセンブラも普通に出来るが、常用されても困るわけだし)
C++は元々「必要な機能を選んで使う」思想で、
初心者は「何が必要で何が不要か」判断出来ないから適切に使うのはかなり無理。
で、そういう奴は大体C++の悪口を言う事になるわけだが、ほぼ「肥大化してる」だけだろ。
それはお前が適切に取捨選択出来ないだけだ馬鹿タレ、でしかない。
185デフォルトの名無しさん
2022/03/11(金) 22:23:28.57ID:wdcjWAJU >C++は元々「必要な機能を選んで使う」思想で、
>初心者は「何が必要で何が不要か」判断出来ないから適切に使うのはかなり無理。
一人で使う分には自分が理解したところから使えばいいんだがチーム開発だと悩ましいよな。
書いた本人以外理解が難しいコードなんてのも簡単に量産されるし。
>初心者は「何が必要で何が不要か」判断出来ないから適切に使うのはかなり無理。
一人で使う分には自分が理解したところから使えばいいんだがチーム開発だと悩ましいよな。
書いた本人以外理解が難しいコードなんてのも簡単に量産されるし。
186デフォルトの名無しさん
2022/03/11(金) 22:27:06.80ID:/JvA5shV >>184
そこは冷静になって純粋に言語機能をC++とRustで比べてみればいいんじゃないか
言語としてはC++が勝っている点がほぼなくC++の様々な欠点をRustが改善解消
だからこそ大手IT各社が揃って共同でRust foundationを起ち上げるなど垣根を超えて惚れ込んでいる
そこは冷静になって純粋に言語機能をC++とRustで比べてみればいいんじゃないか
言語としてはC++が勝っている点がほぼなくC++の様々な欠点をRustが改善解消
だからこそ大手IT各社が揃って共同でRust foundationを起ち上げるなど垣根を超えて惚れ込んでいる
187デフォルトの名無しさん
2022/03/11(金) 22:57:33.99ID:qrl8XqzC >>185
だから「コーディングルール」で切るんだよ。
つか、多分、C++とそれ例外では「コーディングルール」自体の意味が違う。
C++のは機能も使い方も制限する。Goとかだと見た目だけだろ。
(Goの場合は見た目もディレクトリ構成も画一だからもしかして何もない?
googleもC++/JS/PythonはあるがGoのはなさそう)
C++に問題があるとすれば、「難しいコードを書くことに何らブレーキがない」事で、
これをコーディングルールで補ってる。
C++以外の言語は「使うべきでない機能はそもそも入れない」で、これは正しいが、
後出しじゃんけんじゃないと無理。
>>186
言うてRustってC++で廃止されたauto_ptrを焼き直しただけだろ。
ヒープの生存期間をスタックと連動させるのはいいが、それはCでも書けるしCだと基本だった手法。(ただし手動)
だからRustで生成されるコードはC++でも書けてしまう。
そしてRustは境界チェックがある分だけ遅い。よって最終的に勝てる理由がない。
この点FireFoxの連中は大馬鹿もいいところで、スピード競争してるのに速度優位性がない言語を選んだ時点で自殺だった。
RustはCの代替になろうとしていて、勿論ネイティブバイナリを吐くわけだが、
これを潔く諦め、Cのコードを吐く(TS/JSの関係と同じ)だったら、覇権とれたかもとは思うけど。
この方法だと組み込み全分野に無理なく浸透していけるし。
(ただしこれだとC++の代替にしかならないから気に入らないのだろうけど)
RustでOS書こうとしてる馬鹿もいるだろ。誰も使わないよ。
Linuxより速くて小さい物を提供出来る技術的理由がないし、
仮にそれが出来てもCでも書けてしまうからLinuxももっと小さくなり、永久に追いつけない。
Rustには生き残る理由がない。
だから「コーディングルール」で切るんだよ。
つか、多分、C++とそれ例外では「コーディングルール」自体の意味が違う。
C++のは機能も使い方も制限する。Goとかだと見た目だけだろ。
(Goの場合は見た目もディレクトリ構成も画一だからもしかして何もない?
googleもC++/JS/PythonはあるがGoのはなさそう)
C++に問題があるとすれば、「難しいコードを書くことに何らブレーキがない」事で、
これをコーディングルールで補ってる。
C++以外の言語は「使うべきでない機能はそもそも入れない」で、これは正しいが、
後出しじゃんけんじゃないと無理。
>>186
言うてRustってC++で廃止されたauto_ptrを焼き直しただけだろ。
ヒープの生存期間をスタックと連動させるのはいいが、それはCでも書けるしCだと基本だった手法。(ただし手動)
だからRustで生成されるコードはC++でも書けてしまう。
そしてRustは境界チェックがある分だけ遅い。よって最終的に勝てる理由がない。
この点FireFoxの連中は大馬鹿もいいところで、スピード競争してるのに速度優位性がない言語を選んだ時点で自殺だった。
RustはCの代替になろうとしていて、勿論ネイティブバイナリを吐くわけだが、
これを潔く諦め、Cのコードを吐く(TS/JSの関係と同じ)だったら、覇権とれたかもとは思うけど。
この方法だと組み込み全分野に無理なく浸透していけるし。
(ただしこれだとC++の代替にしかならないから気に入らないのだろうけど)
RustでOS書こうとしてる馬鹿もいるだろ。誰も使わないよ。
Linuxより速くて小さい物を提供出来る技術的理由がないし、
仮にそれが出来てもCでも書けてしまうからLinuxももっと小さくなり、永久に追いつけない。
Rustには生き残る理由がない。
188デフォルトの名無しさん
2022/03/11(金) 23:09:09.74ID:egx2H9Pr このおっさん勢いあるスレならどこでも湧くな。そして偏った知識で見境なく喧嘩ふっかける。かまってちゃんが過ぎる。
189デフォルトの名無しさん
2022/03/11(金) 23:13:16.62ID:/JvA5shV190デフォルトの名無しさん
2022/03/11(金) 23:43:25.63ID:qrl8XqzC >>189
エコーチェンバーが欲しいのなら他言語スレに出てくるべきではないよ。
Rustが提供してる機能は結局のところ、プログラマの補助でしかない。
Rustで書かないと実現出来ないコードなんて存在しない。
元祖馬鹿向けCはJavaで、大ヒットして覇権を取った。
ただし関数ポインタが無かったのでGUIには全くフィットせず、そこは全滅してる。
とはいえ覇権言語であり、現在でも1/3はJavaだろ。
2代目馬鹿向けCがGoで、これもそこそこヒットしてる。(とはいえC/C++の規模からするとゴミだが)
RustなんてGo以下のゴミだし、そもそも人数は馬鹿>>>選ばれし勇者なんだから、
ずっとGoよりもゴミのままだと思うけど。
んで、元祖選ばれし勇者にはC/C++で十分だし。
俺はRustはC++のコーディングルールの一部になると見てるし、そうなる事を望んでる。
エコーチェンバーが欲しいのなら他言語スレに出てくるべきではないよ。
Rustが提供してる機能は結局のところ、プログラマの補助でしかない。
Rustで書かないと実現出来ないコードなんて存在しない。
元祖馬鹿向けCはJavaで、大ヒットして覇権を取った。
ただし関数ポインタが無かったのでGUIには全くフィットせず、そこは全滅してる。
とはいえ覇権言語であり、現在でも1/3はJavaだろ。
2代目馬鹿向けCがGoで、これもそこそこヒットしてる。(とはいえC/C++の規模からするとゴミだが)
RustなんてGo以下のゴミだし、そもそも人数は馬鹿>>>選ばれし勇者なんだから、
ずっとGoよりもゴミのままだと思うけど。
んで、元祖選ばれし勇者にはC/C++で十分だし。
俺はRustはC++のコーディングルールの一部になると見てるし、そうなる事を望んでる。
191デフォルトの名無しさん
2022/03/11(金) 23:50:45.41ID:/JvA5shV >>190
C/C++の欠点はメモリ安全性等の欠如により発生する欠陥の多さであるとグーグルとマイクロソフトが意見を同調している
そこへ現れたRustはコンパイルが通ればメモリ安全性やデータ競合ゼロを保証するため彼らにも歓迎され用いられている
C/C++の欠点はメモリ安全性等の欠如により発生する欠陥の多さであるとグーグルとマイクロソフトが意見を同調している
そこへ現れたRustはコンパイルが通ればメモリ安全性やデータ競合ゼロを保証するため彼らにも歓迎され用いられている
192デフォルトの名無しさん
2022/03/12(土) 00:13:31.67ID:JgaGU6xu >>191
C/C++の欠点は「馬鹿が『ひとりでも』混ざるとどうにもならない」事だよ。
ただ、静的解析で何とかなるものなら、「全部入り」のC++にもいずれは導入される。
現在C++は3周遅れ(9年遅れ)程度だから、
9年のうちに優勢になれば勝ちだが、これは多分無いでしょ。
C/C++の欠点は「馬鹿が『ひとりでも』混ざるとどうにもならない」事だよ。
ただ、静的解析で何とかなるものなら、「全部入り」のC++にもいずれは導入される。
現在C++は3周遅れ(9年遅れ)程度だから、
9年のうちに優勢になれば勝ちだが、これは多分無いでしょ。
193デフォルトの名無しさん
2022/03/12(土) 00:39:34.87ID:MeH0OP6r >>192
ところがC++には不可能
Rustには簡潔な借用ルールとライフタイムがあるために成立している
さらにRustにはunsafe操作の分離という導入もありこれが安全性の保証に大きく寄与している
ところがC++には不可能
Rustには簡潔な借用ルールとライフタイムがあるために成立している
さらにRustにはunsafe操作の分離という導入もありこれが安全性の保証に大きく寄与している
194デフォルトの名無しさん
2022/03/12(土) 01:12:13.25ID:jQJpzSFj Go の G の字もないなw
195デフォルトの名無しさん
2022/03/12(土) 01:23:48.74ID:SUJjbHcC 次スレまで待とうかと思ってたけど流石にワッチョイスレ作った方がいいか?
完全にスレが崩壊してる
完全にスレが崩壊してる
196デフォルトの名無しさん
2022/03/12(土) 01:28:54.16ID:JgaGU6xu >>193
> ところがC++には不可能
『今の』C++にはね。
ただ、C++の場合は少しでもその方がコード効率がよくなる、とされると採用される。(ので良い物はいつか採用される)
それが「全部入り」
> 安全性の保証
要するに補助輪でしかない。Rustのは全部これ。
> 簡潔な借用ルールとライフタイム
これは俺は筋が悪いと思ってるけど。
プログラマに生存期間をマニュアルで管理させてるだけ。(これはCと同じ)
そしてRustの場合はこれの整合性を静的に解析出来る。(これはC++にはない。が、コンパイラ側で対処出来る話。そのうち導入される)
だいたいそもそも「貸し借り」なんてやってる事自体、
一般的プログラミングにおいての生存期間と合致してないからであって、根本的に筋が悪い。
そもそもプログラマは管理したいとは思ってないから、GCの方が筋がいい。
GCだと駄目な件については、例えば以下なら、(このブログは有名なので色々言われてるようだが)
https://blog.discord.com/why-discord-is-switching-from-go-to-rust-a190bbca2b1f?gi=bd6f6b9c5be3
そもそも大量の生存オブジェクトが存在する場合はGCには不向きなので、
Goについてなら例えば「GC非対象の変数宣言」構文が用意出来れば済んだ話。
(この思想がGCとフィットしないから一般的に導入される事はないが、
VC++ならnew/gcnewでGCなし/ありを切り替えられるし、俺はこれで十分だと思うよ)
まあ心配しなくても、所有権の貸し借りが素晴らしいってことになれば、C++にも確実に導入される。
そのときRustは死ぬよ。その猶予が9年間。
> ところがC++には不可能
『今の』C++にはね。
ただ、C++の場合は少しでもその方がコード効率がよくなる、とされると採用される。(ので良い物はいつか採用される)
それが「全部入り」
> 安全性の保証
要するに補助輪でしかない。Rustのは全部これ。
> 簡潔な借用ルールとライフタイム
これは俺は筋が悪いと思ってるけど。
プログラマに生存期間をマニュアルで管理させてるだけ。(これはCと同じ)
そしてRustの場合はこれの整合性を静的に解析出来る。(これはC++にはない。が、コンパイラ側で対処出来る話。そのうち導入される)
だいたいそもそも「貸し借り」なんてやってる事自体、
一般的プログラミングにおいての生存期間と合致してないからであって、根本的に筋が悪い。
そもそもプログラマは管理したいとは思ってないから、GCの方が筋がいい。
GCだと駄目な件については、例えば以下なら、(このブログは有名なので色々言われてるようだが)
https://blog.discord.com/why-discord-is-switching-from-go-to-rust-a190bbca2b1f?gi=bd6f6b9c5be3
そもそも大量の生存オブジェクトが存在する場合はGCには不向きなので、
Goについてなら例えば「GC非対象の変数宣言」構文が用意出来れば済んだ話。
(この思想がGCとフィットしないから一般的に導入される事はないが、
VC++ならnew/gcnewでGCなし/ありを切り替えられるし、俺はこれで十分だと思うよ)
まあ心配しなくても、所有権の貸し借りが素晴らしいってことになれば、C++にも確実に導入される。
そのときRustは死ぬよ。その猶予が9年間。
197デフォルトの名無しさん
2022/03/12(土) 03:16:10.27ID:JxEFMwOe198デフォルトの名無しさん
2022/03/12(土) 04:40:23.33ID:ykq+YJH5 VScodeで自前のパッケージを使おうとしたら、importの追加のクイックフィックスが出ないんだけど
これって昔からだっけ?
これって昔からだっけ?
199デフォルトの名無しさん
2022/03/12(土) 04:49:23.73ID:ykq+YJH5 あ、違うわ
プロジェクトのルートに置いてると /cmd/internal 以下のパッケージは参照できないみたい
なんだこれ?こんなルールあったっけ?1.17.7
プロジェクトのルートに置いてると /cmd/internal 以下のパッケージは参照できないみたい
なんだこれ?こんなルールあったっけ?1.17.7
200デフォルトの名無しさん
2022/03/12(土) 04:52:53.03ID:ykq+YJH5 外部パッケージの参照の仕様はまあ仕方ないんだけど
なんで内部パッケージで相対参照できなくなったんだろう
どっかにブログとか理由の解説ない?
なんで内部パッケージで相対参照できなくなったんだろう
どっかにブログとか理由の解説ない?
201デフォルトの名無しさん
2022/03/12(土) 05:00:12.51ID:ykq+YJH5 ディレクトリ名とpackageでの宣言、二重に記述しないとまともに動かないパッケージ名ルール
物凄く不満
それでいてcmdとかのディレクトリだろうがmainはmainパッケージだし
一貫性よりも何か重要な理由があるのか?
物凄く不満
それでいてcmdとかのディレクトリだろうがmainはmainパッケージだし
一貫性よりも何か重要な理由があるのか?
202デフォルトの名無しさん
2022/03/12(土) 06:14:51.35ID:f9B4ek7q ITの9年は長いでよ、ロートルには短いかもしれんが。
そして30年という長い年月を持ってしてもC++はLinuxカーネルに入れなかったのにRustは入った。この違いよ
そして30年という長い年月を持ってしてもC++はLinuxカーネルに入れなかったのにRustは入った。この違いよ
203デフォルトの名無しさん
2022/03/12(土) 08:30:46.88ID:JgaGU6xu >>202
> ITの9年は長いでよ、ロートルには短いかもしれんが。
長いという程長くもない。お前もオッサンになれば分かる。まあこれはさておき、
実際、現在のプログラミング言語のアイデアは既に80年代に出尽くしており、
今はそれを実装していってるだけ、とは言われてるだろ。言う程進化はしてない。
Rustだって何一つ「新しいアイデア」はないだろ。
> Rustは入った
ググってみたが、まだforkして勝手に起こしただけじゃね?
> https://japan.zdnet.com/article/35174333/
> https://thenewstack.io/rust-in-the-linux-kernel-good-enough/#:~:text=When%20we%20first%20looked%20at%20the%20idea%20of,the%20standard%20C%20normally%20used%20in%20Linux%20development.
多分知らないのだろうけど、オブジェクト指向最盛期(2005頃)には、
・Linuxのコードを『安全な』オブジェクト指向で書き直そう!
というプロジェクトはあった。今はググッても出てこない程跡形もないが。
これと同じだよ。
安全に書き直したコードは、書き直してないコード(既に世界中で使われてる)よりバグが多いから意味がない。
この反省を踏まえてRustは「書き直すわけではない」というスタンスのようだが。
LinusはC++の依存性を持ち込む文化を毛嫌いしている。だからC++は入らなかったが、Rustも同じ。
Rustのコードを入れれば、Rustが読み書き出来ないと参加出来なくなり、つまり開発人数がコミュニティ規模に比例して小さくなってしまう。
今現在のRustのコミュニティ規模なんて、C/C++からすると多分4桁くらい小さいだろ。それは開発人数を1/10000に削るのと同じ。
(C++ではコードそのものの依存性が問題だが、Rustの場合は他言語への依存が問題)
馬鹿じゃなければやらないし、Linusは馬鹿ではないと思うけど。
まあRustの連中はすさまじいエコーチェンバーの中で生活してる事は分かった。
> ITの9年は長いでよ、ロートルには短いかもしれんが。
長いという程長くもない。お前もオッサンになれば分かる。まあこれはさておき、
実際、現在のプログラミング言語のアイデアは既に80年代に出尽くしており、
今はそれを実装していってるだけ、とは言われてるだろ。言う程進化はしてない。
Rustだって何一つ「新しいアイデア」はないだろ。
> Rustは入った
ググってみたが、まだforkして勝手に起こしただけじゃね?
> https://japan.zdnet.com/article/35174333/
> https://thenewstack.io/rust-in-the-linux-kernel-good-enough/#:~:text=When%20we%20first%20looked%20at%20the%20idea%20of,the%20standard%20C%20normally%20used%20in%20Linux%20development.
多分知らないのだろうけど、オブジェクト指向最盛期(2005頃)には、
・Linuxのコードを『安全な』オブジェクト指向で書き直そう!
というプロジェクトはあった。今はググッても出てこない程跡形もないが。
これと同じだよ。
安全に書き直したコードは、書き直してないコード(既に世界中で使われてる)よりバグが多いから意味がない。
この反省を踏まえてRustは「書き直すわけではない」というスタンスのようだが。
LinusはC++の依存性を持ち込む文化を毛嫌いしている。だからC++は入らなかったが、Rustも同じ。
Rustのコードを入れれば、Rustが読み書き出来ないと参加出来なくなり、つまり開発人数がコミュニティ規模に比例して小さくなってしまう。
今現在のRustのコミュニティ規模なんて、C/C++からすると多分4桁くらい小さいだろ。それは開発人数を1/10000に削るのと同じ。
(C++ではコードそのものの依存性が問題だが、Rustの場合は他言語への依存が問題)
馬鹿じゃなければやらないし、Linusは馬鹿ではないと思うけど。
まあRustの連中はすさまじいエコーチェンバーの中で生活してる事は分かった。
204デフォルトの名無しさん
2022/03/12(土) 08:34:30.70ID:SV7jSkht Rustスレで相手してもらえないからってこっち来るの止めてもらっていいですか
205デフォルトの名無しさん
2022/03/12(土) 09:40:04.46ID:aEfI8PjB 何を勘違いしているのか知らんが、俺のこのスレの直前の書き込みは>>104
206デフォルトの名無しさん
2022/03/12(土) 12:00:36.41ID:MMCseHWC cppの話はcppスレでやれよ。
しかしgcnewってC++/CLIの話じゃないの?
しかしgcnewってC++/CLIの話じゃないの?
207デフォルトの名無しさん
2022/03/12(土) 12:22:07.70ID:EqbJSpHR gcnewってなんだこれ、.Net専用とはいえなかなか邪悪な代物だな……
208デフォルトの名無しさん
2022/03/12(土) 12:34:33.53ID:ARhhT+a7 >>196
それは知識が足りていない
借用ルールの借用とは当然ポインタを含む概念でありC++でも借用は普通に行われている
そして借用をよく見ると読み取りのみの借用と書き換えもありの借用の2種類がある点はどの言語でも同じ
読み取りの借用がある状況で書き換えの借用を許せばデータ競合が起きることはわかるだろ?
もちろん書き換え借用がある状況で読み取り借用を許してもデータ競合が起きうる
一方で読み取り借用だけならば複数の読み取り借用を許してもデータ競合は起きない
つまり『multiple reader XOR single writer』となりこれが借用ルールだ
もちろん全てのプログラミング言語においてこの借用ルールに違反するとデータ競合が起きうる
Rustはこの借用ルールに違反がないかどうかをコンパイル時に判定できる言語仕様となっている
だからRustはメモリ安全性だけでなくデータ競合安全性も保証することができるわけだ
それは知識が足りていない
借用ルールの借用とは当然ポインタを含む概念でありC++でも借用は普通に行われている
そして借用をよく見ると読み取りのみの借用と書き換えもありの借用の2種類がある点はどの言語でも同じ
読み取りの借用がある状況で書き換えの借用を許せばデータ競合が起きることはわかるだろ?
もちろん書き換え借用がある状況で読み取り借用を許してもデータ競合が起きうる
一方で読み取り借用だけならば複数の読み取り借用を許してもデータ競合は起きない
つまり『multiple reader XOR single writer』となりこれが借用ルールだ
もちろん全てのプログラミング言語においてこの借用ルールに違反するとデータ競合が起きうる
Rustはこの借用ルールに違反がないかどうかをコンパイル時に判定できる言語仕様となっている
だからRustはメモリ安全性だけでなくデータ競合安全性も保証することができるわけだ
209デフォルトの名無しさん
2022/03/12(土) 12:59:10.90ID:6Ov0/1Y8 荒らしまくるRusterと不愉快仲間たち
210デフォルトの名無しさん
2022/03/12(土) 13:13:55.79ID:4DPn029u 最近他のどのプログラミング言語スレいってもRustの書き込みあるな
飛ぶ鳥を落とす勢いとはこのことか
そういえばJavaが出現した頃、C++erがよくJava厨に噛み付いてたっけ
飛ぶ鳥を落とす勢いとはこのことか
そういえばJavaが出現した頃、C++erがよくJava厨に噛み付いてたっけ
211デフォルトの名無しさん
2022/03/12(土) 13:17:12.31ID:IpH8+wiy >181 >186 >187 >190 >191 >193 >196 >197 >202 >203 >208 >210
>>96
荒らしに反応するやつも荒らしだからな。誘導だけしろよ。
>195
早いところワッチョイ立てようぜ。
NGが捗る。
>>96
荒らしに反応するやつも荒らしだからな。誘導だけしろよ。
>195
早いところワッチョイ立てようぜ。
NGが捗る。
212デフォルトの名無しさん
2022/03/12(土) 13:29:40.57ID:JgaGU6xu >>96 読んでみたが、なるほどここと同じような話が展開されてる。
ただ、C11に移行しようとしてるじゃないか。 >>202
> https://mevius.5ch.net/test/read.cgi/tech/1638086359/542
> トーバルズ氏、Linuxカーネルを「C89」から「C11」コードに移行する準備
> https://japan.zdnet.com/article/35184296/
このペースならあと10年はRustなんて入らないね。
>>208
> それは知識が足りていない
これはその通り。俺はRustやる気はないし、借用だ何だかんだの顛末を見て、様子見する事にした。
C++で既に慣らした奴ですら戸惑うのは、
自然な(直感的な)ライフタイムと言語の管理機能がマッチしてないからだよ。
そもそも俺はCでもメモリリークに困った事はない。
ただこれは「困らない範囲でやってる」(=ごくごく安全運転に徹してる)からであり、俺が賢いわけではないが。
この辺の「安全運転を強いられる」のが嫌でC++的にやりたいのも分かるし、Rustも良い実験だとは思うが、
余計な事を考えて、しかもそれでコンパイルが通らない事に悩まされるのは、そもそも設計が悪いからだよ。
つか、そんな事で悩むくらいならGCの方がいいから、実際ほぼ全部の言語はGC持ってるわけだし。
GCの問題点は色々あるけど、discordについては、Goに「GC非対象」を明示する構文があればGoのままで行けてたはず。
何も考えたくないんだよ、っていうGCの思想に反するけど。
Goはポインタのキャストって出来たっけ?出来るのなら、自前で大きめに確保して(数百MB)、
そこから小分けするmalloc/freeを用意してやれば済む。(現行の機能だけで出来る)
システムプログラミング言語だ!OSだって書けるんだ!って言ってるんだから、まあ何とかなるんだろうけどさ。
>>207
魔合体されてるVC++が見た目異様なだけで、
gcnewは単にgc対象ヒープから取るだけ。使い方はGC言語のnewと同じ。
(&*が既に使われてるから%^になってて初見で拒絶されるのは仕様)
ただ、C11に移行しようとしてるじゃないか。 >>202
> https://mevius.5ch.net/test/read.cgi/tech/1638086359/542
> トーバルズ氏、Linuxカーネルを「C89」から「C11」コードに移行する準備
> https://japan.zdnet.com/article/35184296/
このペースならあと10年はRustなんて入らないね。
>>208
> それは知識が足りていない
これはその通り。俺はRustやる気はないし、借用だ何だかんだの顛末を見て、様子見する事にした。
C++で既に慣らした奴ですら戸惑うのは、
自然な(直感的な)ライフタイムと言語の管理機能がマッチしてないからだよ。
そもそも俺はCでもメモリリークに困った事はない。
ただこれは「困らない範囲でやってる」(=ごくごく安全運転に徹してる)からであり、俺が賢いわけではないが。
この辺の「安全運転を強いられる」のが嫌でC++的にやりたいのも分かるし、Rustも良い実験だとは思うが、
余計な事を考えて、しかもそれでコンパイルが通らない事に悩まされるのは、そもそも設計が悪いからだよ。
つか、そんな事で悩むくらいならGCの方がいいから、実際ほぼ全部の言語はGC持ってるわけだし。
GCの問題点は色々あるけど、discordについては、Goに「GC非対象」を明示する構文があればGoのままで行けてたはず。
何も考えたくないんだよ、っていうGCの思想に反するけど。
Goはポインタのキャストって出来たっけ?出来るのなら、自前で大きめに確保して(数百MB)、
そこから小分けするmalloc/freeを用意してやれば済む。(現行の機能だけで出来る)
システムプログラミング言語だ!OSだって書けるんだ!って言ってるんだから、まあ何とかなるんだろうけどさ。
>>207
魔合体されてるVC++が見た目異様なだけで、
gcnewは単にgc対象ヒープから取るだけ。使い方はGC言語のnewと同じ。
(&*が既に使われてるから%^になってて初見で拒絶されるのは仕様)
213デフォルトの名無しさん
2022/03/12(土) 13:30:00.30ID:JgaGU6xu214デフォルトの名無しさん
2022/03/12(土) 13:48:18.60ID:ARhhT+a7 >>212
全てのプログラミング言語の中で
コンパイラメッセージが最も親切でわかりやすく修整点も具体的に指摘してくれるのがRustコンパイラ
この状況でどうしてもコンパイルが通らないのだとしたら知能がよっぽど低いのではないだろうか?
標準的な知能があれば問題とならないような点でつまずいたのかね
全てのプログラミング言語の中で
コンパイラメッセージが最も親切でわかりやすく修整点も具体的に指摘してくれるのがRustコンパイラ
この状況でどうしてもコンパイルが通らないのだとしたら知能がよっぽど低いのではないだろうか?
標準的な知能があれば問題とならないような点でつまずいたのかね
215デフォルトの名無しさん
2022/03/12(土) 18:45:21.44ID:IpH8+wiy216デフォルトの名無しさん
2022/03/13(日) 17:26:43.65ID:fVzSesSr ワッチョイ無いとほんと不便ね
217デフォルトの名無しさん
2022/03/15(火) 11:20:02.60ID:9ud1N6mP Goってどうやって勉強すればいいの?
218デフォルトの名無しさん
2022/03/15(火) 11:47:39.11ID:UpdRUhUR >>217
Goに限らんけど俺の場合は実際に動くコードの載ってる本で写経しつつ読み進めるのが一番短時間で覚えるみたい。
俺って頭じゃなく体で覚えるタイプなのかも。
結局、文法的なものは他の言語触った経験あれば新しい言語も難しくないんだけど、キーワードの要不用やライブラリやそれの使い方とか、その辺記憶するのが一番面倒。
Goに限らんけど俺の場合は実際に動くコードの載ってる本で写経しつつ読み進めるのが一番短時間で覚えるみたい。
俺って頭じゃなく体で覚えるタイプなのかも。
結局、文法的なものは他の言語触った経験あれば新しい言語も難しくないんだけど、キーワードの要不用やライブラリやそれの使い方とか、その辺記憶するのが一番面倒。
219デフォルトの名無しさん
2022/03/15(火) 11:58:47.19ID:9ud1N6mP220デフォルトの名無しさん
2022/03/15(火) 12:36:58.99ID:sRZMI6dS 標準的なソースコードを集めたコードサンプル集とかあればいいんだけどな。
221デフォルトの名無しさん
2022/03/15(火) 13:34:26.14ID:DIDzUA9i ハイエンドというほどじゃないが、みんなのGo第二版はよく参考にしてる
flag使ったときとか
でも言いたいのは多分、ファイル読み込みとかごく基本のコード断片だろなー
flag使ったときとか
でも言いたいのは多分、ファイル読み込みとかごく基本のコード断片だろなー
222デフォルトの名無しさん
2022/03/15(火) 14:08:20.21ID:/twmJcjK https://qiita.com/takehanKosuke/items/9034e3d993df337eb669
こういうのの巨大なバージョン、誰かgitに公開してたりしないかね
こういうのの巨大なバージョン、誰かgitに公開してたりしないかね
223デフォルトの名無しさん
2022/03/15(火) 15:44:18.88ID:DIDzUA9i テーブルドリブンテストはなんか標準かでGenerateされるようになったね
224デフォルトの名無しさん
2022/03/15(火) 15:45:27.48ID:DIDzUA9i テスト対象の呼び出しまで完璧にサポートされてて便利すぎる
225デフォルトの名無しさん
2022/03/16(水) 12:58:38.59ID:7fdw8GJ5 Go 1.18 is released!
https://go.dev/blog/go1.18
https://go.dev/blog/go1.18
226デフォルトの名無しさん
2022/03/17(木) 00:28:51.50ID:+BzvG1OL ジェネリクス使ったmapやsliceのユーティリティが乱立するのかな
227デフォルトの名無しさん
2022/03/17(木) 00:57:28.83ID:R5Hf13zE やっっっとジェネリクス医薬品きたのかよ
どれどれどんな塩梅よ
どれどれどんな塩梅よ
228デフォルトの名無しさん
2022/03/17(木) 01:41:25.22ID:bsoficKO229デフォルトの名無しさん
2022/03/17(木) 01:44:14.40ID:+BzvG1OL やっとこういうのできるようになったか
https://github.com/samber/lo
https://github.com/samber/lo
230デフォルトの名無しさん
2022/03/17(木) 03:24:50.03ID:OxdqHDsn231デフォルトの名無しさん
2022/03/17(木) 22:55:16.78ID:fLlxA/2d GoCVのWindows版一生動作しなくて泣いてる
動作してる人がいたらmingwとgocvのバージョンの組み合わせとか教えてほしい
動作してる人がいたらmingwとgocvのバージョンの組み合わせとか教えてほしい
232デフォルトの名無しさん
2022/03/19(土) 14:59:48.35ID:lmd9ivJq233デフォルトの名無しさん
2022/03/27(日) 19:47:35.42ID:4kGrQ90w 今更案件に採用したいとの連絡が来やがった。
もう他に決まっちゃったよ…
もう他に決まっちゃったよ…
234デフォルトの名無しさん
2022/03/27(日) 20:03:34.05ID:AzR4xInv go案件一回だけ行けたことあるけど
バージョンが古くてきつかった記憶あるなぁ
下手にでかいシステムだとそういうのあるんだよな
バージョンが古くてきつかった記憶あるなぁ
下手にでかいシステムだとそういうのあるんだよな
235デフォルトの名無しさん
2022/03/28(月) 00:04:31.98ID:9wMV4I/Y もう go modules 無しで開発できる自信がない…
236デフォルトの名無しさん
2022/04/01(金) 09:14:02.94ID:Z5kUzNXs 構造体のブランクフィールド
struct {
_ int
}
って、どこかのソースで使ってるのって見たことある?
struct {
_ int
}
って、どこかのソースで使ってるのって見たことある?
237デフォルトの名無しさん
2022/04/01(金) 10:24:23.29ID:Z5kUzNXs 1.18 で ~T って、T を実装している型という認識で正しいのかな?
238デフォルトの名無しさん
2022/04/01(金) 15:58:41.67ID:Z5kUzNXs 1.18 の言語仕様読んでるけど
ジェネリックスいらんわホントに
HTMLコメントでは書き足りてないとか、ホントにホントに…
ジェネリックスいらんわホントに
HTMLコメントでは書き足りてないとか、ホントにホントに…
239デフォルトの名無しさん
2022/04/01(金) 16:36:14.26ID:CvDUeZYP >>238
どう言う意味でいらない?
どう言う意味でいらない?
240デフォルトの名無しさん
2022/04/01(金) 17:16:02.47ID:Z5kUzNXs >>239
ジェネリックス入れる上では仕方のない事なんだけど、
型関係の言語仕様が山になって追加されてた
spec の単純行数にして
1.17 - 2823 行
1.18 - 3265 行 (+442行)
ジェネリックス入れる上では仕方のない事なんだけど、
型関係の言語仕様が山になって追加されてた
spec の単純行数にして
1.17 - 2823 行
1.18 - 3265 行 (+442行)
241デフォルトの名無しさん
2022/04/01(金) 17:22:16.71ID:Nf7Dhk5p これからガンガンでかくなるはずなので、これに耐えられないなら早く逃げてくださいね
お疲れさまでした
お疲れさまでした
242デフォルトの名無しさん
2022/04/01(金) 17:23:53.64ID:Z5kUzNXs243デフォルトの名無しさん
2022/04/01(金) 17:39:03.75ID:LyJwVbZX244デフォルトの名無しさん
2022/04/01(金) 18:48:56.14ID:Z5kUzNXs >>243
初学者が仕様書を読むとき、ハードルがかなり上がってしまう
何故かというと、至るところで型統一やらジェネリクスの用語の汚染が進んでいるから
もう、初心者には1.17の仕様書で勉強させるべきに思える
初学者が仕様書を読むとき、ハードルがかなり上がってしまう
何故かというと、至るところで型統一やらジェネリクスの用語の汚染が進んでいるから
もう、初心者には1.17の仕様書で勉強させるべきに思える
245デフォルトの名無しさん
2022/04/01(金) 18:51:47.52ID:LyJwVbZX246デフォルトの名無しさん
2022/04/01(金) 18:55:28.61ID:LyJwVbZX247デフォルトの名無しさん
2022/04/01(金) 19:00:06.78ID:Z5kUzNXs あと珍妙に思えるような気もしなくもない文章が
The result of constraint type inference
is final substitution map M
from type parameters P
to type arguments A
where no type parameter P appears in any of A.
引数Aから型パラメータPがなくなるまで置換するマップMを制約型推論の最終結果とする、でいいのかなあ
The result of constraint type inference
is final substitution map M
from type parameters P
to type arguments A
where no type parameter P appears in any of A.
引数Aから型パラメータPがなくなるまで置換するマップMを制約型推論の最終結果とする、でいいのかなあ
248デフォルトの名無しさん
2022/04/01(金) 19:06:19.64ID:Z5kUzNXs249デフォルトの名無しさん
2022/04/01(金) 20:49:31.03ID:5iHnQC+v プログラム作る側からすると便利なライブラリが増えるからいいと思うわ
250デフォルトの名無しさん
2022/04/01(金) 21:03:43.90ID:Nf7Dhk5p map/reduce/filterみたいな操作をたくさんするとき、マジで面倒だったしジェネリクスあればいろんな場面で助かる
251デフォルトの名無しさん
2022/04/01(金) 21:14:52.99ID:jxgGur0i252デフォルトの名無しさん
2022/04/01(金) 23:17:37.92ID:Z5kUzNXs253デフォルトの名無しさん
2022/04/01(金) 23:32:09.14ID:Z5kUzNXs とにかく読みづらい仕様書になっちまった!
と言いたい
と言いたい
254デフォルトの名無しさん
2022/04/01(金) 23:56:13.72ID:auc7zK9Q そうですね
もうGoを使うのはやめたほうがいいですよ^^
もうGoを使うのはやめたほうがいいですよ^^
255デフォルトの名無しさん
2022/04/02(土) 00:13:08.30ID:YOvjIKEd 初心者は仕様書なんか見ない
256デフォルトの名無しさん
2022/04/02(土) 01:04:35.98ID:m+vvtGqp システムプログラミングしかしてないので
あんまりいらないけど
Web系とかはあったろうが便利なんじゃないだろうか
コレクションの中身が何の型かって基本的なことがわからないのはキツいよ
あんまりいらないけど
Web系とかはあったろうが便利なんじゃないだろうか
コレクションの中身が何の型かって基本的なことがわからないのはキツいよ
257デフォルトの名無しさん
2022/04/02(土) 02:22:24.01ID:xHH5TZmF Goでコレクションなんか使うか?
プロダクション運用してるけどsliceとmapしか使ったことないわ
プロダクション運用してるけどsliceとmapしか使ったことないわ
258デフォルトの名無しさん
2022/04/02(土) 05:33:45.87ID:tnnDyMVL259デフォルトの名無しさん
2022/04/02(土) 06:10:04.85ID:BAqmRjl3260デフォルトの名無しさん
2022/04/02(土) 06:14:33.15ID:BAqmRjl3261デフォルトの名無しさん
2022/04/02(土) 06:20:24.88ID:tnnDyMVL >>259
ANSIとかISOとか持っているやつがそんなに居るかね。
ANSIとかISOとか持っているやつがそんなに居るかね。
262デフォルトの名無しさん
2022/04/02(土) 06:27:00.86ID:BAqmRjl3263デフォルトの名無しさん
2022/04/02(土) 12:45:39.96ID:BAqmRjl3 たまには仕様書も読みなおすと新鮮
いつの間にか妙ちきりんなルールが追加されてたりするし
_ &= flag というように、算術代入の左辺に空白識別子は置けません、とか誰得?
NOOPだとばかり思ってたけど変わったのか(わざわざ確認する気もない
いつの間にか妙ちきりんなルールが追加されてたりするし
_ &= flag というように、算術代入の左辺に空白識別子は置けません、とか誰得?
NOOPだとばかり思ってたけど変わったのか(わざわざ確認する気もない
264デフォルトの名無しさん
2022/04/02(土) 13:41:36.50ID:m+vvtGqp おじさん消えて
265デフォルトの名無しさん
2022/04/02(土) 14:52:46.43ID:YPKLSNfQ 日本の製造業何十社から、トップが集まった、MISRA-C 研究会でも言ってた
日本には、C の仕様書に詳しい香具師はいない!
だから、仕様書で議論する事ができないので、
組込み開発者におくるMISRA‐C:2004―C言語利用の高信頼化ガイド、MISRA‐C研究会、2006
という本が書かれた
これが実際のコーディングルールのバイブル
抽象的な仕様書で、議論をしない事。
必ず、具体例・コードで議論する事
これが大原則
仕様書で議論するのは、現実的じゃない。
江添のC++ 本を見ても明らか
仕様書を表現した無数のコード例が書いてあるけど、細部は省略しますばっかり。
細部まで突き詰めていくと、切りがない
江添レベルの人間が、日本に2人もいないので、仕様書で議論することは無理
日本には、C の仕様書に詳しい香具師はいない!
だから、仕様書で議論する事ができないので、
組込み開発者におくるMISRA‐C:2004―C言語利用の高信頼化ガイド、MISRA‐C研究会、2006
という本が書かれた
これが実際のコーディングルールのバイブル
抽象的な仕様書で、議論をしない事。
必ず、具体例・コードで議論する事
これが大原則
仕様書で議論するのは、現実的じゃない。
江添のC++ 本を見ても明らか
仕様書を表現した無数のコード例が書いてあるけど、細部は省略しますばっかり。
細部まで突き詰めていくと、切りがない
江添レベルの人間が、日本に2人もいないので、仕様書で議論することは無理
266デフォルトの名無しさん
2022/04/02(土) 15:00:01.25ID:YPKLSNfQ generics は、Rust にもあるから
267デフォルトの名無しさん
2022/04/02(土) 16:04:50.21ID:4HZvLFXe またジジイが暴れてんのか
268デフォルトの名無しさん
2022/04/02(土) 16:31:43.87ID:BAqmRjl3 じゃ、どういう話題なら気に入るのかね若い人
269デフォルトの名無しさん
2022/04/02(土) 16:33:42.78ID:vRBLByq+270デフォルトの名無しさん
2022/04/02(土) 17:47:27.46ID:K3ABhaa3 最近マシにになったと思ったが我慢できないのかな?
Go Nimスレに閉じこもっててくれ
そこは好きに使っていいから
個別スレでは大人しくしといて
Go Nimスレに閉じこもっててくれ
そこは好きに使っていいから
個別スレでは大人しくしといて
271デフォルトの名無しさん
2022/04/02(土) 18:14:01.71ID:+a+ANJVh >266 >269 >270
>96
餌与えんな。
>96
餌与えんな。
272デフォルトの名無しさん
2022/04/02(土) 18:30:53.19ID:FvAcb10F MISRA出してくるのも相当おかしいけどな。
273デフォルトの名無しさん
2022/04/03(日) 08:15:05.26ID:YAESyHF/274デフォルトの名無しさん
2022/04/04(月) 01:10:11.27ID:2YLoUSsE 1.18の言語仕様はどこで公開されてるの?
275デフォルトの名無しさん
2022/04/04(月) 08:08:03.11ID:dKoFZlg8276デフォルトの名無しさん
2022/04/04(月) 08:11:46.50ID:GOjfDlOJ277デフォルトの名無しさん
2022/04/04(月) 08:24:54.17ID:dKoFZlg8 定数、変数、型やらの基本的な言語仕様で型パラメータやらコア型とかのジェネリクス関連の概念も持ち込んで記述する必要がある
けれどもライブラリ、それも今までinterface{}を引数に持ってたような関数を書いてたライブラリにしか関係ない概念を何故か皆が学ばないとならなくなった
単純に仕様書の行数から、学習コストは10%悪化したと見なせる
ジェネリクスは項として別枠に記述して、そこで定数やらでのジェネリクスの影響について書いてもらいたかった
けれどもライブラリ、それも今までinterface{}を引数に持ってたような関数を書いてたライブラリにしか関係ない概念を何故か皆が学ばないとならなくなった
単純に仕様書の行数から、学習コストは10%悪化したと見なせる
ジェネリクスは項として別枠に記述して、そこで定数やらでのジェネリクスの影響について書いてもらいたかった
278デフォルトの名無しさん
2022/04/04(月) 08:27:50.29ID:dKoFZlg8279デフォルトの名無しさん
2022/04/04(月) 09:23:36.60ID:2YLoUSsE >>275
なるほど、ココ読んでみるよ。
なるほど、ココ読んでみるよ。
280デフォルトの名無しさん
2022/04/04(月) 09:37:43.77ID:iJ6pcz9H Goの長所はシンプルさ
その長所を劣化させてまで今さら導入すべきものではない
どうしても必要なものならば最初から仕様に含めるべきだった
その長所を劣化させてまで今さら導入すべきものではない
どうしても必要なものならば最初から仕様に含めるべきだった
281デフォルトの名無しさん
2022/04/04(月) 16:06:42.84ID:yu8UGqfF ロブパイクが実質リタイアしたから通ったんじゃないかな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★12 [BFU★]
- 首相官邸前で「戦争あおるな」 台湾有事巡る答弁に抗議 ★3 [蚤の市★]
- 高市政権の経済環境、アベノミクスと対極 インフレ・円安・金利上昇 [蚤の市★]
- 【野球】「地上波で放送しないWBC」は2軍選手中心で十分! 今こそネットフリックスに『ノー』を突き付けてほしい 江本氏が提言 [冬月記者★]
- 中国・国連大使「日本側は反省せず、発言の撤回拒否」 書簡を国連事務総長に送る [♪♪♪★]
- 【NHK】受信料の未払い督促を10倍に強化… 支払い拒否が続くと民事手続きも 「カーナビも受信料いただきます」方針 [冬月記者★]
- 【静岡】道路に生コンがこぼれる [696684471]
- 小野田大臣「それ正式なデータですか?報道ベースですよね」(10万いいね) [237216734]
- 日本人がよくやる「誤解を招いた」という発言、中国語ではあなたが間違っているという意味で翻訳されますます火に油を注いでる模様 [709039863]
- 🏡🏡😅🏡🏡
- 【実況】博衣こよりのえちえちゼルダの伝説 ムジュラの仮面🧪 ★2
- 映画『国宝』を見た韓国兄さん、とんでもなく鋭い批評をしてしまう。「日本は本当に奇妙な国」 [242521385]
