Go language part 2
■ このスレッドは過去ログ倉庫に格納されています
>>246
それはオライリー片手にやったけど、外に出せるようなレベルまで作り込むつもりはないw ちょっとしたものならgorilla/muxだけでやってる goaの肝はコード生成だから、結構素直なコードが生成される。
そのコード次第も勉強になる。
web apiの作法をむしろ教えてもらった。 変数への代入に := を使うか = を使うかはどうやって判断するのだろう
例えば for i := 1 は普通に for i =1 ではダメなのか var unko = 1
unko := 1
下は上の省略形だと理解してるけど >>254
ループ変数のiが先に宣言されてれば後者で良いけど、特別な理由が無い限りは使わないな
indexの値から開始したい場合、for i := indexとした方が良いだろ :=を代入にあえて使う言語は=には透過性の意味を、:=には定義の意味を持たせて数学寄りにしてるだけだと思ってたが Cしか経験ないのに
Go言語でつくるインタプリンタとか
買ってしまった 奇遇だな、1週間くらい前にその本をAmazonのほしいものリストに入れたわ 失礼
インタプリタじゃなくてインタプリンタを作るのか 俺もその本読んでるけど難しいわ
Token tokenToken とか、冗談だろみたいな記述がゴロゴロ出てくる
型強制言語はこれが嫌なんだよなー
本質的なロジックに関係ないキーワードでコードが埋め尽くされる goって仕様がシンプルで習得しやすいって触れ込みだけど意外と複雑だよね。
直交性が低い「ここだけのルール」みたいなのが意外と多くて辟易する。なんだよrange節って。 すごく頭の良い人が合理性だけでデザインしちゃった感はある。直感的じゃない。
エンジニアだけで作った、便利だけど死ぬほど使いにくいWebサービスみたいな感じ。
まあそれでも他の最近の言語に比べりゃ覚えなくちゃいけないことの絶対量は少ないよ 色々な意味で異質だから慣れるまでは面食らうかもね
慣れてしまえばそんなことはなくシンプルで良い言語 夏休み使ってGo入門したけど、良いなこれ
なんかのCUIツールでも作ってみたくなったけどアイデアはない 上の長文合戦全部読んできたけど、結局Goってバカでも使いやすくするために文明の利器を捨てたプリミティブな言語ってことなんだな
と思ったら>>270って書かれてるし、合理性のために無駄を削ぎ落とした言語なのか? プログラマーに期待する事をやめた言語かな
どうせバカしかいないんだから
管理・使い分けが必要な要素は与えない触らせない 実用的でいいんだよ。言語オタクな人には物足りないだろうけど インタプリタはないのかなあ
いちいちコンパイルすんのめんどくさい 二者択一じゃなくてswiftやkotlinみたいにREPLもあったら良かったってことじゃないの。 >>280
go run
じゃダメかね。コンパイルと実行を続けてやってくれる goが生まれた経緯を調べるとなんでああいう言語が生まれたかわかる。
要は実用性重視で、過去の言語仕様見直して、削られるだけ削った言語と言える。
たぶん1番の使命はコンパイル速度を早くすることかな。 そういや昔Delphiが最速のコンパイラとか言われてた時代が懐かしいな >>285
削って大丈夫な部分は全て削った感じよな
個人的にはいくらなんでも削りすぎな気もするけど、やるからにはそれくらい徹底しないとダメなんだろうな >>280
Go言語でつくるインタプリンタ
を読んでGoのインタプリンタを作ればいい >>287
そうかな?
やたら省略形とかシンタックスシュガーが多かったり、同じ構文で別の意味に用いられたり、
最近の言語にしてはけっこうごちゃごちゃしてるという印象なんだが。個人的には。 scala,rust,haskellとかむずい(;_;) それは2000年頃のJavaのポジションか。ワイはペーペーで高給は取れなかった >>289
予約語の数とか見てみればわかると思うが。 予約語の数は一つの目安だけどそれがすべてじゃあないよね。
記号はカウントされていないし他言語なら予約語になりそうな定義済み識別子がごっそり抜けている。
それよりも>>289で言いたかったのは、例えば型アサーションの構文に型名じゃなくて
予約語のtypeを渡したら型switch内で使えるとか、そういう一貫性の無さからくる複雑さ。
同じような構文に機能を詰め込むから表面上は予約語が増えたりしないわけ。 返り値型宣言したらreturnだけで値が返るとかか。
あれはいらんね >>294
一貫性がないというより他の言語には無い書き方が引っかかるって感じじゃ無いかな?
それは理解できる。 どこをどう読んだらそうなるw
型アサーションの括弧に渡すものが型名のみに限定されていればシンプルだったのに、
それがswitchの中でだけ予約語のtypeを使うことが許されていたりするから一貫性がないって
言っているんだよ。 /\___/\
/ / ヽ ::: \
| (●), 、(●)、 | / ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ,,ノ(、_, )ヽ、,, | < まーたはじまった
| ,;‐=‐ヽ .:::::| \_______
\ `ニニ´ .:::/
/`ー‐--‐‐―´´\ もともとグーグルの天才たちが内輪で使うために作った言語だろ?
Cと同じで、俺ら凡才には理解できない・向かない部分があるのは仕方ないと思う >>297
それに引っかかるのってせいぜい数時間だよね。
俺は仕事でさわるコードの一貫性のなさに苦しんでるけど、そっちのほうがしんどい。 一貫性が無いのは事実なのにズレた話で絡み続けるのはなんなんだ
場当たり的な構文糖衣も多いのに削るだけ削ったとか嘘もいいとこだろ
妙な幻想持ちすぎ 話の腰をブチ折ってすまんが、「Go言語でつくるインタプリタ」の
最終章のマクロ展開(expansion)のトコ、マクロを再定義しても元
の定義で展開されちゃうんだけど、誰か試した奴おる? >>302
気に入らない事どんどん上げていきなよ。
他にはどんな問題を感じてんの? やっぱりGo言語来そうだね。
だがGoogleでしか使えないのが心配。 Google様に逆らったらインターネットに住めなくされちまうだ >>306
一応、念のため確認しておくけど、GASと混同してないよね? >>314
え、まじで何の話をしてるか分からないからどういう意味なのか教えて >>308
Googleのクラウドでしか使えないと思った >>316
awsのlambdaとかで使えないのかと思っただけ ああそういうことね
なんか、割と根本的なところをあまり理解してなさそうだね Node.jsとかPythonとかとは根本的に違うの? はいはい初心者は退散しますよ
せいぜい威張っててください
下らねえ ちなみにNodeとかPythonとかとはすごく大きなところで違いがあって、それがGoたんの大きな大きな特徴の一つだったりする。 いつまでたっても具体的な噺が出てこないところを見ると
あまり詳しい人はこのスレにはいないようだな 素直に教えてくれって言えよw
もうここまで来たら誰も教えてくれないだろうけどw もったいぶって言わないってことは
そいつにとってそれが限界だってこと 実はGo言語のマスコットがとても可愛いんだ
それが大きな違いだな >>336
Pythonの間抜けそうな蛇よりははるかに可愛いだろ マスコットで言えばD言語もかなり人気だけど言語自体を使ってる人って殆ど見たことないよね D言語なんて存在は知ってるけどHello Worldすら書いたことがない Plan9とGoは作ってる人が一緒(ケン・トンプソン)だからかな? プロファイリングが簡単にできるのもいい…あるプログラムを調べて
いたら、整数値の 2^n 乗を計算するのに math.Pow() 使ってる部分が
あって、そこを直すだけで 15% 高速に Plan9インストールしたことあるのはこのスレでは俺ぐらいだろうな >>344
むむ。お主やるな。
BeOSなら俺もある。ブラウザが不安定で使い物にならなかった。 >>345
どちらも一応うごいた
くらい・・・
BeOSのほうがPlan9よりはうごいた
かな ■ このスレッドは過去ログ倉庫に格納されています