So-net無料ブログ作成

リアルで偉そうなことを言えないから、ネットで横柄になるんだろうな。 [プログラミング]

Golangで構造体のスライスのポインタについて、調べていたときの事。
構造体のスライスと言う点で二つが絡んできて面倒なのだが、良く使うパターンであることは確かだろう。構造体を単体で扱うことの方が少ない気がするし。でもそういうサンプルは少なかったりする。んで、下記で根本的に解決はした。

http://qiita.com/ruiu/items/e60aa707e16f8f6dccd8

ここを読んでわかったのは、単純な構造体はコピー渡しだけど、スライスは参照渡しになるんだねということなんだが、技術文章でこういう風に何でこんなこともわからないんだ、みたいな言い方が良くある。

私の言うことは正しいから、良くありがちなことをけなしても良いのである、みたいな知っているものの驕りを感じるんですよね。特に技術者関係に多いんだわ、昔から。初心者を平気でタコ呼ばわりする風習があって、そういうやつに限って他のことを大して知らないタコツボに入り込んでしまっていることも多い。

なんで、私は正しいことを知っていて周りは間違っている、みたいな言い方しか出来ないのか理解できない。言い方があるだろうと思うんだけど、往々にして社会不適応な人間がコンピュータ技術者に多いのは予想が付くところだ。少なくとも営業の仕事など振れない。

でも、まとまった情報として、
文字列、インターフェイス、チャネル、マップ、スライス
が始めっから参照形式の変数だ、と書いてあるというのは有用だ。本家のリファレンスに明示的にまとまっていないから、みんなが勘違いする可能性が出てきているという事だ。

ただ何度も言うように、「Goでxxxのポインタを取っているプログラムはだいたい全部間違っている」みたいに自己顕示欲プンプンな題名からわかるように、糾弾するような言い方は頭が悪い。頭が悪いと言う言葉は悪いが、知識があるが頭の良い言い回しではない、ということだ。しかし、ちょっとだけ知っていることが多いだけでどうしてこうも高慢な言い回しになるのか訳がわからない。ポインタの使い方が間違っていることがほとんどなので気をつけて、程度の表現にとどめられないこと自体がヒューマンスキルが足りていないと自分で喧伝しているようなものだ。

GoでC言語を知らずにやっていたら、あえてはまらないであろう軽微な罠なので、それほど実害があるわけでもない意味のないポインタのポインタみたいなものに目くじらを立てる意味もないと思うのだが。まぁ確かに可読性は下がるよ。でも、著しく実行速度が落ちるわけでもないから、ポインタを使えなくて問題が出るよりか随分ましな気はするんだけど。

まぁ僕としては知ることが出来てありがたかったんだけど、教えてもらっておいて文句言うな、と言う人もいると思うんだけど、世の中には表現の仕方が残念な人がこうも多いのかと言うことで。

タグ:Golang
コメント(0) 
共通テーマ:パソコン・インターネット

コメント 0