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
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 ロブパイクが実質リタイアしたから通ったんじゃないかな
282デフォルトの名無しさん
2022/04/04(月) 21:28:48.99ID:dKoFZlg8 一応、大昔からジェネリクスは入れるとロードマップで予告はされてた
283デフォルトの名無しさん
2022/04/06(水) 03:19:36.92ID:kWgOKN13 ジェネリクスなんていらん、ていってるやつのほとんどがロートルジジイばっかりでわらう
284デフォルトの名無しさん
2022/04/06(水) 03:39:50.83ID:PLeFIjOG いや、ジェネリクス導入が遅すぎたこととそれが中途半端であることを問題視する人々が多数派
そのために全体のシンプルさを失い更なる中途半端な状況を招いている
そのために全体のシンプルさを失い更なる中途半端な状況を招いている
285デフォルトの名無しさん
2022/04/06(水) 03:46:30.81ID:wPZ6Wy+h コンパイラの実装を大幅に変えなくていいから
この仕様に落ち着いた感はあるよな
この仕様に落ち着いた感はあるよな
286デフォルトの名無しさん
2022/04/06(水) 08:16:27.53ID:+qYubc5F 大体がJava5でジェネリクスが導入されてから、自分で書いた奴ってどれくらいいるの?
居るなら自分のプロジェクトリポジトリ晒してみ?
とか書いてから
ArrayListに散々お世話になっていながら、その言いぐさはないよなーと反省
居るなら自分のプロジェクトリポジトリ晒してみ?
とか書いてから
ArrayListに散々お世話になっていながら、その言いぐさはないよなーと反省
287デフォルトの名無しさん
2022/04/09(土) 15:23:53.03ID:dkIcbWyn golang.org/x/text/encoding/japanese でshiftjisをデコードすると
不正バイトはU+FFFDに変換されるんだけど
エラーを返してほしいときはどうすればいいの
不正バイトはU+FFFDに変換されるんだけど
エラーを返してほしいときはどうすればいいの
288デフォルトの名無しさん
2022/04/09(土) 15:41:49.71ID:s1DYUnBK ちんちんシュッ!シュッ!シュッ!
289デフォルトの名無しさん
2022/04/09(土) 17:58:03.72ID:P2GNRI+e コードを見ても変換失敗時にエラーを返すロジックないし
ルーン '\ufffd' の変換結果をdstから探したら?
[..., 239, 191, 189, ...] という並びがあればエラーだと思うけど
https://go.dev/play/p/8ALF1MMIQPz
ルーン '\ufffd' の変換結果をdstから探したら?
[..., 239, 191, 189, ...] という並びがあればエラーだと思うけど
https://go.dev/play/p/8ALF1MMIQPz
290デフォルトの名無しさん
2022/04/09(土) 18:00:08.15ID:P2GNRI+e291デフォルトの名無しさん
2022/04/09(土) 18:01:35.73ID:P2GNRI+e292デフォルトの名無しさん
2022/04/09(土) 18:06:47.65ID:P2GNRI+e だめだplaygroundのURLがどこで間違ってるのかわからん
293デフォルトの名無しさん
2022/04/09(土) 18:09:17.78ID:9GFACAI5 playground側の問題かもしれんね
別のサービスでコード共有したら?
別のサービスでコード共有したら?
294デフォルトの名無しさん
2022/04/09(土) 18:18:21.65ID:dkIcbWyn https://github.com/golang/go/issues/18898
もともとエラーを返すようにしてたのをFFFDに置換するようにしたのね
> ルーン '\ufffd' の変換結果をdstから探したら?
それしかないかー
もともとエラーを返すようにしてたのをFFFDに置換するようにしたのね
> ルーン '\ufffd' の変換結果をdstから探したら?
それしかないかー
295デフォルトの名無しさん
2022/04/09(土) 18:38:01.40ID:P2GNRI+e296デフォルトの名無しさん
2022/04/09(土) 20:29:16.25ID:ALVqghU/ >>285
ジェネリクスなんて糞みたいなもののためだけにビルド速度落としたらgo使う意味がそもそもない。
ジェネリクスなんて糞みたいなもののためだけにビルド速度落としたらgo使う意味がそもそもない。
297デフォルトの名無しさん
2022/04/11(月) 18:36:29.35ID:E/+8nzoc golangの機能追加によるビルド速度低下なんて他の言語のコンパイルの遅さに比べれば毛の生えたようなものでしょ・・・
ビルド速度とは関係ないが、1.18から関数の呼び出しがスタック参照ではなくレジスタ引数で呼べるようになったので
実行速度が5%-15%改善してる。
ビルド速度とは関係ないが、1.18から関数の呼び出しがスタック参照ではなくレジスタ引数で呼べるようになったので
実行速度が5%-15%改善してる。
298デフォルトの名無しさん
2022/04/12(火) 08:34:50.45ID:rpFygdst 否定的意見じゃないんだけど
レジスタ渡しって%単位で効くもんなのかな?
実処理の5-15%がスタック渡しに費やされていたって話だよね
レジスタ渡しって%単位で効くもんなのかな?
実処理の5-15%がスタック渡しに費やされていたって話だよね
299デフォルトの名無しさん
2022/04/12(火) 15:46:20.46ID:3xd8M5tv 速度的にはキャッシュに乗る乗らないとか色々ありそうだから
定量的に測るのは難しそうだが
そもそもマシンコードの関数呼び出しがレジスタ経由でしょ
なので普通になっただけかと
定量的に測るのは難しそうだが
そもそもマシンコードの関数呼び出しがレジスタ経由でしょ
なので普通になっただけかと
300デフォルトの名無しさん
2022/04/13(水) 23:15:55.56ID:6kED4GhE そんなわけない、レジスタに乗らないデータは普通にスタックポインタレジスタでスタックに格納される。golangが
スタックだったのは実装が簡単になるからという理由が最も大きかった
スタックだったのは実装が簡単になるからという理由が最も大きかった
301デフォルトの名無しさん
2022/04/14(木) 02:13:38.39ID:YSgRDOi4 関数の引数をレジスタ渡ししても
その関数内で別の関数を呼ぶときにスタックへ退避しなければならない
だからC言語でも引数はスタックに積んで渡す
その関数内で別の関数を呼ぶときにスタックへ退避しなければならない
だからC言語でも引数はスタックに積んで渡す
302デフォルトの名無しさん
2022/04/14(木) 02:38:48.48ID:dvnOt0Zc たしか処理系がどのABIを採用しているのかによるんだと思うし、そんな十把一絡げにC言語やらの話を一般化されて話されてもツッコミどころが多い
__fastcall宣言とか使うとまたさらに挙動かわるし
__fastcall宣言とか使うとまたさらに挙動かわるし
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国大使館、ついにXで尖閣諸島が領土と主張「何を言おうと釣魚島が中国に属する」に反発続々 [パンナ・コッタ★]
- 高市首相告白「『なめられない服』を選ぶことに数時間を費やしました」「外交交渉でマウント取れる服、買わなくてはいかんかもなぁ」★2 [ぐれ★]
- 首相官邸前で「戦争あおるな」 台湾有事巡る答弁に抗議 ★2 [蚤の市★]
- 【野球】「地上波で放送しないWBC」は2軍選手中心で十分! 今こそネットフリックスに『ノー』を突き付けてほしい 江本氏が提言 [冬月記者★]
- 『DOWNTOWN+』会員数50万人突破で見えてきた 松本人志の“月収4ケタ万円”驚愕収入 [阿弥陀ヶ峰★]
- 国民・榛葉氏「中国焦ってる」 ★2 [ぐれ★]
- 【実況】博衣こよりのえちえちゼルダの伝説 ムジュラの仮面🧪
- 高市早苗、車のナンバーに37-77を愛用しているのが中国人に見つかる。盧溝橋事件の1937年7月7日を記念してか [624898991]
- 【悲報】高市政権関係者「閣僚には円安が何かよくわかってない人がいる」「総理もデメリットを理解してない」🤤 [359965264]
- 【悲報】イタリア、終わる… 世界屈指の少子高齢化社会に経済停滞、深刻な地方過疎化、国民にもあきらめムード蔓延… [452836546]
- 【悲報】国連、日本を「先進国」から「高所得国」へ再分類、事実上の格下げ [769931615]
- 高市早苗、クマ対策に7400億円 [667744927]
