[過去ログ] Go language part 2 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
11
(2): 2017/11/12(日)02:48 ID:miP6tQAF(1/16) AAS
てか、staticメソッド無しかよ!これどうなのよ?
ファクトリ作りたいんだが、まさか外に転がせと?ひどくね?
とりあえずクラスメソッドをインスタンスnilで呼んでみたがアウトだし。

なんかもう、色々酷い。
この言語は多分、ベタにしか書けないし、それをよしとする言語だ。
Cだと思えばそんなものだとも思えるが、これは逆に言うと、
Cしかやってないか、Cで何も問題を感じない奴が使う言語だね。
確かにこれだとC並みの速度は出るだろうが、これでは開発効率もC並みでしかない。
新しい言語と言うよりは、新しいBetterCの提案、と考えるべきなのか?

というか、これまで20年ほどでだいぶ積み上げたソフトウェア産業の資産、
省7
12: 2017/11/12(日)03:04 ID:miP6tQAF(2/16) AAS
>>10
> queryの結果から構造体をコード生成する方法があると良いんだけど
evalだね。Goには当然ないが。

C#でLINQでevalモドキを作っていたのがあったはずだが、
(心はC++のExpressionTemplateみたいなノリで、
演算子と評価順をデータとして記録しとけば、式程度ならデータ側だけで出来る、というもの)
それと同じノリで上手くいけるか、だね。
フィールドのオフセットさえ決まればそれは構造体なわけで。
ただ一般的にはオフセットはコードに静的に埋め込まれているから、
回避するにはオブジェクト指向の仮想関数テーブル(vtbl)みたいな仕組みが必要になる。
省3
16
(1): 2017/11/12(日)10:28 ID:miP6tQAF(3/16) AAS
>>13
お、ポインタレシーバならnilで受けられるのか?
しかしまあ、ベタで書くことにした。
というか、どうもその手の「ちょっと綺麗に書くテクニック」を全力で否定するノリのようだし。

なまじ隠蔽出来るから無駄に肥大化するのであって、管理が厳しくなったらパッケージを分けろ、なんだろ、多分。
まあ分からなくもない。
JavaScriptの関数スコープは最初は戸惑ったが、結局のところ関数を小分けにすればいいだけであって、
Cとかはなまじブロックスコープなんてあるから無駄にでかい関数になってしまうのも事実だ。
Nodeのコーディングルールなんて段々短くなってて、どうも今は「関数は10行にしろ」と言っているようだし。
(以前は19行だったと思った。今ググったら15行(多分更新されてないだけ)ってのはあった)
省6
18
(1): 2017/11/12(日)11:07 ID:miP6tQAF(4/16) AAS
>>17
いやまだ終わってないんだなこれがw
道草食いまくってるからだが。

ただ、GoはWebには不向きというか、新規機能追加等で変更を迫られた場合、
PHP/JavaScript等と比べて3-5倍のコード変更が必要になりそうだ。
そしてこの、変更時のコード量がCと比べてほぼ同量だ。だから開発効率はかなり悪い。
パッケージが揃っているからとっつきやすいだけで、
(ライブラリを熟知している)バリバリのC++使いにとっては魅力はほぼ無いだろう。
とはいえ、「とっつきやすいC」という存在価値があるのかもしれない。
というか、C++は取っつきにくすぎる。あれは完全に暴走してる。Linusが毛嫌いしているのも分かる。
省7
26
(1): 2017/11/12(日)15:10 ID:miP6tQAF(5/16) AAS
つーか、これ、構造体のメンバ名を都合3回書く必要があるじゃねーかよ!
度を超したクソッぷりにビビる。つーか、お前らマゾなのか?

1回目:type struct 内 ← うーん、まあ静的言語なら仕方ないか
2回目:rows.Scan 内 ← 速度の為なら仕方ないか、、、
3回目:メンバ名は大文字で始めてjsonタグをいちいち書け ← 死ね

PHPやJavaScriptでは1回も書かなくていいんだぜ!
さすがにこれには切れたよマジで。
外部リンク:qiita.com
31
(2): 2017/11/12(日)18:57 ID:miP6tQAF(6/16) AAS
前スレ>>977

まさか3回も書かされるとは思っていなかったから今更ながらxoを試した。
が、これもちょっと冗長だな。
標準で go generate がついている時点で、公式も糞っぷりを認めてる。
ASTとか完全に屋上屋を架してる。
ろくな解がない。

構造体メンバを1回書くところまでは許すとして、
Scanは構造体を受けろ、JSONはlowerCamelスイッチをつけろ、ってとこだね。
36
(1): 2017/11/12(日)19:30 ID:miP6tQAF(7/16) AAS
>>32
構造体で受けるだけならそうだね。
ただ、毎回リフレクションはかなり厳しいから、うまくキャッシュしてくれるかどうか。
refrectを見る限りシグニチャは発行してくれないっぽいし。
ポインタ演算を禁止しているから、CみたいにOffsetofの結果を配列でキャッシュできないのも残念な所だね。
使うときは速度/ソース確認必要といったところか。

今回は速度の味見だし、とりあえずベタで書いた。
ただ2回書きまでは覚悟してたが、3回とはね、、、
38
(2): 2017/11/12(日)19:37 ID:miP6tQAF(8/16) AAS
>>35
さすがにGo歴1週間もないのに投げないよ。背景等もよくわからんし。
てか、同意するなら誰か投げてどうぞ。

てか、Go信者はこの言語のどこに惹かれてるんだ?
特に目立ったメリットはないような。
41
(2): 2017/11/12(日)19:44 ID:miP6tQAF(9/16) AAS
>>37
日本語でおk

おまえには日本語が通じず、話が空回りするから無視してる。
map/リフレクションを使わない理由は俺は既に>>6で言っているし、
それはむしろ一般論だから、他の人もそれをふまえて話をしている。
おまえだけ空回りしてるんだよ。そしてそれが荒らし行為なんだよ。

煽るとか、そういう表面的な行為は大した問題ではないんだよ。
おまえは馬鹿だからそれも分からない。マジで死ね。
45
(1): 2017/11/12(日)19:47 ID:miP6tQAF(10/16) AAS
>>39
いや、正直、そういう文化なのかな?とちょっと思ってました。
てかなに?今時の若者はASTとかでさくっとコード生成しちゃうもんなの?
俺はlexとかbisonとかは触らずにきてるんだけどさ。
49
(1): 2017/11/12(日)20:06 ID:miP6tQAF(11/16) AAS
>>43
go fmtとか、パッケージ管理/ディレクトリ構造が言語に密着とか、確かにいい割り切りっぷりではある。
しかし他挙げてくれた点も、Go言語自体ではなくて、エコシステムの話だよな?
いやもちろんエコシステムも重要なんだが。

gorutineはパンダだろ。その意見(最初だけしか使ってない)は割とよく見るよ。

> コード生成によるメタプログラミング
まあCのマクロやC++のテンプレートよりはましかも。ソースが直接見えるという点で。
52
(1): 2017/11/12(日)20:10 ID:miP6tQAF(12/16) AAS
>>47
goroutine+channelがはまったケースか。
それなら分かるとして、ただ、そもそもこれがはまるケースがほぼないよな?
55
(1): 2017/11/12(日)20:19 ID:miP6tQAF(13/16) AAS
>>51
> 正規表現で変更とかよりよっぽど安心できる。
確かに。自前よりは公式解釈済みの構文木をもらえた方が100倍いい。
しかしそれ、渡されましても、、、ってのが普通だと思うが。
てか、これ見せてる言語ってこれまであったっけ?
最近はflycheckみたいなリントも流行ってるみたいだし、見せる方向なのか?
62
(2): 2017/11/12(日)20:47 ID:miP6tQAF(14/16) AAS
>>57
まじかよ!JavaScriptならevalできるし無限増殖できるぜ!って思ったけど、
俺が思ってたASTのフォーマットとものすごく違ってた。
これ完全に文字ベースだよな。
もうちょっとファンクションベースなものを期待してた。
メトリックスをASTから抜いたツールもあるようだが、これ相当死ねるだろ。
外部リンク:azu.github.io
まああくまでパースした直後のデータで、だからこそすべての用途に使えるってことなんでしょうな。
ただ、ここからコード生成も相当死ねると思うが。
65
(1): 2017/11/12(日)21:02 ID:miP6tQAF(15/16) AAS
>>56
interfaceのプロパティってのは何に使うんだ?

俺は一応、Goのインタフェースシステム「実装してたらその型として使える」はありだと思っている。
平べったいダックタイピングというか、C++のtemplateを野良で転がしているのに近い。
貧弱かどうかって所まではまだ味見できてないから分からない。

直和や直積(でいいのか?)は別名でテンプレート書け、って文化なんだろ多分。
割とベタが好きな言語なんだと思うよGoは。
68: 2017/11/12(日)21:22 ID:miP6tQAF(16/16) AAS
>>65の訂正
× 別名でテンプレート書け
○ 別名でインタフェース書け
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.031s