Go language part 4

■ このスレッドは過去ログ倉庫に格納されています
2020/11/16(月) 04:14:40.64ID:fB5+0hxC
Goについて扱うスレッドです。
GoはGoogleによって開発された言語です。

公式
https://golang.org

公式ドキュメント
https://golang.org/doc/

公式外パッケージドキュメント
https://godoc.org

ブラウザ上で試し書き
https://play.golang.org


※前スレ
Go language part 3
https://mevius.5ch.net/test/read.cgi/tech/1571315884/
2020/11/17(火) 13:20:20.82ID:H0+H5RuJ
全部Gopherくんがキモいのが悪いわ
2020/11/17(火) 14:21:13.31ID:m07xvYc5
年寄りはオライリー表紙で慣れてるから平気
2020/11/17(火) 15:14:43.85ID:TJ9hBTBs
>>42
さすがにGoスレで多値返却知らないやつはいないてw

可読性の観点で同じパターンと認識してるのかどうかの違い

ちなみにタプルではないよ
2020/11/17(火) 15:31:54.39ID:m07xvYc5
>>45
型としてのタプルではないから確かに無いといえば無いね
順序を持って並んだ変数の組、という物は構文としてタプルと表現すべきかと思ったので

タプル型って特に使い道思い付かないし要らんよな?

とか思ってたらissuesの#41148でタプルをチャネルで送りたいとかあったわ
なるほど
47デフォルトの名無しさん
垢版 |
2020/11/17(火) 19:53:06.72ID:OUvi357j
>>35, >>37
これマジ?
GolangやめてRustやります
2020/11/18(水) 03:18:00.14ID:8xI/s5G3
Rustなんて数年経ったらScalaと同じでただの負債になるだけなのによくやる気になるな
個人で趣味程度にやるなら良いと思うけど
2020/11/18(水) 03:46:26.68ID:uoM+CD8t
RustはMSが正式採用してから始める、で遅くないと思う
2020/11/18(水) 08:34:38.41ID:pNzxwTD4
RustはOS寄りな案件に突き進むんじゃないか?
シェルじゃなくカーネル
>>39にあるようにGC不要であるという強みはドライバ記述に最適ということを意味するから
2020/11/18(水) 10:09:02.25ID:hkPPdx4I
負債になるのはGoだろワロタwwww
2020/11/18(水) 10:16:42.11ID:mXWQ9M3+
Rustは人類が使いこなすには150年くらい早い
2020/11/18(水) 11:15:56.54ID:ynuaTlxN
小学生レベルでも読み書きできるGoは負債になりにくいだろ
Rust使ってるやつは奴隷身分の癖にアーティストぶって負債を生むウンコマン
2020/11/18(水) 12:39:37.96ID:hzlSiPtI
Goはあまり変なフレームワーク使ったりしなくて標準ライブラリが基本なので、その意味では負債化する要因が少ない
廃れるのは言語よりも先にフレームワークだからね
2020/11/18(水) 15:19:46.84ID:hkPPdx4I
Rubyは廃れたけど
Railsが元気なお陰でバッテリーとして生かされてるじゃん
2020/11/18(水) 17:00:36.82ID:tJL+sE6k
いいかわるいかは別にして >>53 は真理
たとえば Lua なんて糞言語もいいとこだがいまだに
ゲーム組み込みスクリプトとしてちょこちょこ使ってるケースがある
2020/11/18(水) 17:31:04.33ID:vHQTDRO5
COBOLが負債化した原因は小学生レベルじゃ読み書きできないからなのか?
2020/11/18(水) 19:44:02.33ID:/Jz+NzoF
go2でジェネリクス入ったら今のコードは負債になりそうだけどな
59デフォルトの名無しさん
垢版 |
2020/11/18(水) 20:00:40.72ID:ngyywPmD
お前ら負債負債って言ってるけど、そもそも「負債」の定義は?
2020/11/18(水) 20:07:05.16ID:/U1Y9I1j
その言語のコード資産の価値を(最新の言語だったら発生しないはずの無駄な)維持費が上回り始めた状態だろうな
2020/11/18(水) 21:12:40.25ID:pNzxwTD4
負債ってヨタ話なんて信用なんねー
損益分岐点越えたら切り替えるのが当然
「政治」的な問題だよくだらない
2020/11/18(水) 22:27:03.20ID:vHQTDRO5
先週はイテレータ知らんやつばっかりで
今週は技術的負債知らんやつばっかりなの?

既存システムへの機能の追加変更時に
クリーンなシステムであれば必要ないであろう作業が
著しく多く必要になるものを負債と呼んでる

相対的なものだから単一指標で数値化することはできないんだけど
「あのシステムの修正は面倒だからやりたくない」と感じる度合いと正の相関がある
2020/11/18(水) 23:28:09.15ID:pNzxwTD4
>>62
それが「政治」的問題
技術的な問題じゃないね
2020/11/19(木) 08:13:34.58ID:r3/rn3nu
wikipediaくらい見ようぜ。
Technical debt (also known as design debt[1] or code debt, but can be also related to other technical endeavors) is a concept in software development that reflects the implied cost of additional rework caused by choosing an easy (limited) solution now instead of using a better approach that would take longer.[2]
2020/11/19(木) 11:43:00.50ID:HmqfGRuh
だから技術的な問題じゃないと再度主張
一般的なプロジェクトマネジメントとかのスレに行け
2020/11/19(木) 15:50:31.22ID:FmUN+YYe
>>65
君が技術的な問題じゃないと思うのは自由だけど自分勝手な定義を人に押し付けるのは止めようや
2020/11/19(木) 17:43:38.54ID:HmqfGRuh
>>66
こっちこそお返しするよ
2020/11/19(木) 18:21:20.90ID:t4OE0bZ/
技術選択や設計選択の問題は多分に組織的要素や人的要素を含むものなのにね

その辺りの要素を考慮しなくていいのは末端の作業員だけ
2020/11/19(木) 19:24:28.21ID:HmqfGRuh
ここが何のスレだか言ってみろ
プロジェクトマネジメントのスレに行けと
70デフォルトの名無しさん
垢版 |
2020/11/19(木) 19:57:06.69ID:30asaVkd
技術的負債をどう返済するかがプロジェクトマネジメントやろ
元々は「Goは他言語と比べてどれだけ負債化しにくいか」という話じゃなかったか?

技術的負債の発生要因はプログラミング言語のバージョンアップ以外にも色々あるけど
2020/11/19(木) 20:59:58.99ID:DgF0DEOT
プロジェクトマネジメントじゃなくてエンジニアリングマネジメントだろ
自社サービスだと、こういうのを技術的な問題と思ってない奴はまずいない
2020/11/19(木) 21:34:12.71ID:aa9bIrjJ
おまいらってほんとマネジメントとかそういうの好きだよな
2020/11/19(木) 22:14:44.29ID:UQ7DwHyP
>>68
末端の作業員にも使われる言語になったということ
日本でも労働者言語としての地位が定着してきたのかな
74デフォルトの名無しさん
垢版 |
2020/11/20(金) 00:57:26.75ID:6TMCzLQ7
で、実際にメインの仕事で使ってるんだろうな?
2020/11/20(金) 01:38:39.30ID:kwwa9bjA
>>72
単にGoについて話すことがないだけなんだが…
76デフォルトの名無しさん
垢版 |
2020/11/20(金) 02:38:09.83ID:YhokOqrJ
間違った英語で日本人として恥ずかしい…
go getじゃなくてgo to getだろ…
2020/11/20(金) 09:09:20.30ID:GA99wsWD
>>72
上流工程(キリッ
2020/11/20(金) 12:49:28.87ID:27JFXKUI
>>71
これは激しく同意する
上流/下流とか関係ない
2020/11/21(土) 11:02:08.02ID:7G4VCfLW
>>54
Goが負債化する要因は、コードがコピペだらけになって膨らむことだよ。
Goはコードを絞る手段を提供していない。だから俺はGoを使わないことにした。
長期的にメンテナンスする場合にコストが跳ね上がる。
これが顕在化するのはこれからだね。

逆に、動けばいい使い捨て用途の高速版Pythonと見るなら、全く問題ない。
だから完全に廃れるって事もない気もするが、大規模開発向けのメインストリーム言語として使われることもないね。
今もシェアなんて君らが馬鹿にしているRubyと比べてもゴミ以下でしょ。

自分が使っている言語が廃れるのが嫌なだけなら、今一番無難なのはC#だよ。
勿論Goより仕様が大きいから全部勉強するつもりなら時間がかかるけど、
Goが持っている機能だけ使うつもりならGoの修得と手間はほぼ同じ筈だが。
2020/11/21(土) 11:20:43.86ID:W0C1PBHz
自社サービス系に関して言うと、C#はエンジニアがWin系の人間に限られてしまうために採用活動で苦労することになり、追加の人的コストが発生する
その意味では負債だ
C#は変わりつつあるとはいえ有名なSaaSとかでも開発環境はやっぱりWindowsとVSとIISだったりするので、Web畑のエンジニアには敬遠される
これ実話な
2020/11/21(土) 12:12:26.36ID:cuTXIdQY
C#ね……w
どういうところで働いてる人がGoを批判してるのかがよくわかったよ
2020/11/21(土) 13:07:07.90ID:jkMYYUpW
新形のmacでHello Worldできたよ
2020/11/21(土) 14:25:13.11ID:7G4VCfLW
>>80
俺が言ってるのは純粋に言語についてだ。

ただ現実的に採用で困る、というのは大きな意味があるが、
それ言ったらGoもWebエンジニアにとってはGoは新規に学ばなければならない言語であって、
PHP/JSと比べたらGoなんて話にならんだろ。
Go選ぶ時点で間違いだよ。

あと、Goにもある機能の範囲だけC#を学ぶだけなら労力は同じだよ。
ただしPHP/JSのエンジニアの方がネットワーク周りの「知識」があるから促成はできるが、
「プログラミング」は技能に近く、一朝一夕には上達しない。
だから、「正しくプログラミング出来るGo技術者」を育成するとして、
PHP/JS等Web周りの知識がある奴にプログラミングを教えるのと、
C#/Java/C++等プログラミング出来てる奴にWeb周りの知識を教えるのとでは、
一通り座学してあとはググりながらやれ、で済む後者の方が断然簡単だ。
ただしWeb系の場合はプログラミングが大して難しくない範囲で収まるから、
PHP/JSからの促成組で何とかなるもの事実だとは思うが。
ぶっちゃけ、他言語は多機能すぎて、そこまで必要ないからこそ、簡素版のGoが使われる余地があるわけでさ。

そしてまあ、C#がWindows/VS/IISなのは多分事実だろう。
それでWeb系はLinux/VSCode/Apache/Nginxで、それ以外は絶対に嫌なのか?
ならEmacs/Vimと同じで永久に交わることはないだろうね。
2020/11/21(土) 14:29:31.55ID:r9GjlBBW
また発作が始まったか
2020/11/21(土) 15:40:45.57ID:gJix52fj
>>79
コピペだらけになるって、それはその程度のスキルだからじゃないか?
2020/11/21(土) 15:41:39.64ID:gJix52fj
>>83
論点がブレてるんだけど。
もう少しまとめて話せよ。
雑談はネグれ。
87デフォルトの名無しさん
垢版 |
2020/11/21(土) 18:07:10.42ID:N6OL6Sv5
Gopherは他の言語やったことないから自分の使ってるGoが一番だと思ってるんだよ
つまりGopherには何をいっても馬の耳に念仏だよ
2020/11/21(土) 18:23:49.86ID:U5RwLwtV
C#バランスいいよね
Windows/IIS縛りがネックだったけどそれがなくなったから徐々にシェア広げていくと思う
89デフォルトの名無しさん
垢版 |
2020/11/21(土) 18:47:30.43ID:zNfRz+cU
Safari, the new IE
Gopher, the new Rubyist
90デフォルトの名無しさん
垢版 |
2020/11/21(土) 18:49:07.04ID:zNfRz+cU
C# Gaiji, the new Ruby Gaiji
2020/11/21(土) 19:01:54.31ID:7G4VCfLW
>>87
ただそれは最近はどの言語スレもだよ。勿論C#スレでも。
それを俺は信者化と言っている。

当たり前だけど、どの言語にもそれなりに糞な点はある。
もしそれが無く、他と比べて圧倒的に素晴らしければ、簡単に覇権を取ってる。
それは1993頃のC/C++であり、Cで72%、C++で20%だからC/C++で92%だ。
(その頃のC++なんて今のC++から見れば「それはCだよ」と言われる程度でしかない)
https://www.youtube.com/watch?v=Og847HVwRSI
今はシェア25%弱の言語が3つ並んでいる状況なのだから、言ってしまえば「どれも大して変わらない」んだよ。
だから他言語に糞な点があれば、同程度には自分のお気に入り言語にも糞な点があるに決まってる。
この単純な論理を認められないのは、信者だからだよ。
ただこれは既に言ったとおり、Goスレだけの話ではなく、C#も他も同じ感じだけど。
2020/11/21(土) 20:04:41.58ID:Lvew8AXV
どんなにここでC#の良さをアピールしても現実世界じゃ古臭い会社やUnityでしか使われないゴミ言語なんだよ…
今後Goみたいに流行るといいね…
2020/11/21(土) 20:18:13.34ID:NFh21L0W
Javaよりはいい言語なんだけどねぇ
でもJavaと同じ戦場だから……

GoやRustは狙ったのか利用シーンがズレてるんで居場所がある
2020/11/21(土) 20:26:30.28ID:uuh/pdI7
それだけcppが好きならずっとcpp使ってろよ。
グリーンスレッドも知らなかった分際で。
2020/11/21(土) 20:29:37.15ID:7G4VCfLW
>>92
それが信者の観点だよ。
C#の方がGoよりは1000倍以上流行ってる。
それはシェアからもエコシステムからも明らかだ。
もっともお前らはJavaも流行ってないと言い切るくらい信者なのだとは思うが。

Goはそもそも流行る要因がない。他言語を使える奴が、わざわざGoを使う理由がないから。
だから今後とも今までどおり低空飛行だよ。
新規流入は初心者だけで、エコシステムも今までどおり回りもしないまま。

Rustはその点、明らかにピーキーで、Rustじゃないと駄目な理由が明確にある。
だからわざわざ使う理由にもなるし、今後はしばらくは確実にシェアは増えると思うよ。
ただどこまで行くかは謎だ。FFは死んでしまったし。あれRustのせいだと言っている奴がいるけど、俺もそう思うし。
2020/11/21(土) 20:56:03.41ID:r9GjlBBW
>>95
アンタは C# の信者だなw
2020/11/21(土) 21:05:41.22ID:7G4VCfLW
>>96
どこがだよ。そもそも俺はC#は使ってないし。
>>91の動画見てみろよ。Goなんて一度も出てこない。
Rubyは最後落ちるが健闘した方だ。少なくともGopherに馬鹿にされる理由はどこにもない。
サーバーシェアでもGoなんてゴミ以下だろ。
CやLispをサーバーに使ってるなんて聞いたこと無いが、Goはそれ以下だぞ。
https://w3techs.com/technologies/overview/programming_language
2020/11/21(土) 21:09:38.97ID:ymMOmJrr
GoはMicroserviseとCLIが主戦場
JVMやCLRに依存したくなくて軽量でサクサクコンパイルしたいユーザー層向け

ただGo2が残念な結果になりそうなのとUSで下火になってきてるのを見ると先は明るくない
2020/11/21(土) 21:11:54.51ID:ymMOmJrr
>>97
フロントエンドとしては使われないからそこには数字出てこないでしょ
2020/11/21(土) 21:11:58.30ID:r9GjlBBW
使ってもいないのに1000倍以上流行ってるってよく分かるなぁ〜スゴイスゴイ
2020/11/21(土) 21:23:42.90ID:uuh/pdI7
他言語も使うしC#も結構書くけど、Go書くことも多いぞ。
何一つ処理系もランタイムもインストールする必要ないから、展開めっちゃ楽だし。1ファイルだし。
デカイって言っても.net coreのscdほどデカくもないし。

というかGoのエコシステムって結構しっかりしてると思うけど。
awesome goとawesome dotnet見比べてがっかりしなければ良いけど。
2020/11/21(土) 21:24:09.33ID:7G4VCfLW
>>99
いやそれはバックエンド限定の話だぞ。
なおフロントエンドなんて言うまでもなくJSの一強だ。その下をつつけば出てくるが、以下。
https://w3techs.com/technologies/overview/client_side_language

前も思ったが、お前ら違う世界に生きてるよな。
2020/11/21(土) 21:29:36.25ID:r9GjlBBW
この辺りを読んでおけばいいんじゃない

Go Case Studies https://go.dev/solutions#case-studies
Go Use cases https://go.dev/solutions#use-cases
2020/11/21(土) 21:36:38.77ID:7G4VCfLW
>>103
それはおまえらみたいな初心者は騙されるのかもしれんが、逆なんだよ。
シェアが低いからこそ受注案件を宣伝する必要があるし、
それをやっている時点でまだ数えられるほどしかない、ということなんだよ。

実際、PHPでそんなのやってないだろ。多すぎて無理だし。
2020/11/21(土) 21:42:04.93ID:r9GjlBBW
中身1文字も読んでないだろw
2020/11/21(土) 22:03:31.19ID:uSTcEold
>>102
フロントエンドはフロントエンドサーバーのことだよw

クライアントサイドがJSなのは当たり前
こんな話が通じないとは確かに違う世界に生きてるな
107デフォルトの名無しさん
垢版 |
2020/11/21(土) 22:07:14.19ID:YDtC2x5c
ことば遊びしはじめたwww
フロントエンド←→バックエンド
クライアントサイド←→サーバーサイド
はい、では「フロントエンドサーバー」の定義からどうぞ〜😆👍➰
108デフォルトの名無しさん
垢版 |
2020/11/21(土) 22:39:09.79ID:N6OL6Sv5
>>95
FFって何?w
2020/11/21(土) 22:44:11.34ID:mMQUj5g8
>>107
冗談抜きで知らないんだね

フロントエンドってのはアプリのプレゼテーションレイヤーのこと
プレゼンテーションレイヤーを管理するサーバーがフロントエンドサーバー
Webアプリなら基本的にWebのUIを返すサーバー

クライアントサイドとの違いが理解できたかな?
110デフォルトの名無しさん
垢版 |
2020/11/21(土) 22:53:03.99ID:YDtC2x5c
>>109
そういうのは99.99%の人はBFFと言う。
BFFのfor Front-end、これなんのことか分かる?w
クライアントサイド、ブラウザで動くJSのことだよバーカwww

あのさあ、フロントエンド、なんて一般的な英単語なんだから分野によって指すものが違うのは当たり前なわけよw
例えばコンパイラ構成にもフロントエンド/バックエンドって用語は使われるわけ。
コンパイラ構成の文脈で「バックエンド?ああサーバーのことね!」なんて文脈無視した理解する馬鹿はいないわけ。普通。
ところがここにいたわけ。それがお前wwwww
Webの分野ではフロントエンドはクライアントサイドのことなんだよバーーカwwwww
さすがに腹痛ぇわwwwwwwww
111デフォルトの名無しさん
垢版 |
2020/11/21(土) 23:03:16.63ID:zNfRz+cU
BFFで通ってるものを「フロントエンドサーバー」とか言っちゃってたわけ?
オレオレ用語にしてもセンスなさすぎィ…
今IT用語辞典でBFF必死に調べてそうw
恥ずかしいオレオレ用語晒す前にもちょっとは調べりゃよかったのにw
2020/11/22(日) 00:30:47.49ID:fxOCHIgd
>>110
残念だけどBFFの解釈も間違えてるよ
Webアプリの開発やったことないんだろうけどさすがに少しは勉強したほうがいい
2020/11/22(日) 00:57:12.00ID:XUuDe+rV
BFFはAPIをホストするところであってUIをホストするところじゃない

クラシックな3階層に当てはめるとアプリケーションサーバーの一部
114デフォルトの名無しさん
垢版 |
2020/11/22(日) 01:09:14.57ID:ujQ9d+0r
ふ、フロントエンドサーバーwww
それバックエンドにあるわけ?w
115デフォルトの名無しさん
垢版 |
2020/11/22(日) 02:14:58.26ID:x3iNgzKv
フロントエンドサーバーっての俺も初めて聞いた。
こうやってオレオレ用語ができていくのか。
2020/11/22(日) 20:37:18.20ID:Gg4y3mjc
俺はフロントエンドサーバ使ってるけどな
ページにリクエストが来たときフロントエンドサーバでJavaScriptを1から生成してブラウザに返してる
ITの世界でも鮮度は大事だからなるべく出来たてのスクリプトを提供したいんだよね
思いやりの気持ちを持たない現代のガキに足りない精神を維持するためにもフロントエンドサーバは大事だよ
2020/11/22(日) 20:57:45.11ID:PbD2huCE
その「ページにリクエストを送っているもの」がフロントエンドなんじゃないかなぁ
2020/11/22(日) 21:01:28.91ID:Q6nSdh4a
>>116
わかる
自分も思いやりの精神を忘れないために画像は全部リクエストが来る度に作ってる
1日10件ぐらいしか対応できないけどリクエストが来たらPhotoShopをすぐに開いて画像を作ってフロントエンドサーバに格納してる
職人の心を忘れちゃダメだよね
2020/11/23(月) 00:51:47.46ID:nsFhHMUZ
メルカリの人のプレゼンとか見てみなよ
フロントエンドをどういう意味で使ってるか分かるから
https://youtu.be/zYAt569F9qA?t=1057
2020/11/23(月) 11:58:12.66ID:I/OioR1r
イテレータ、技術的負債、フロントエンド/バックエンド

お前ら一般常識知らなすぎ
2020/11/28(土) 16:04:02.74ID:QqsJcBJb
>>119
バックエンドフォーフロントエンドとか
こんがらかってきてファックって言いかけてるw
2020/11/28(土) 17:06:17.86ID:VjX5tYGz
>>121
1週間前の無知な自分に気付けて良かったじゃない
Fuck my ignorance! Grazie mille, 5ch amici!!
2020/11/28(土) 17:27:49.95ID:P/o6eg3s
無知な私め!どうもありがとう、5chの友よ!!
かな?
amiciはイタリア語っぽい
友達の男性複数形かな
Grazie milleは何語だろう?
千のありがとう→Thanks a lotみたいな意味だと思うけど…
2020/11/28(土) 19:40:17.08ID:/wKXXO7j
dataA, err := getDataA()
if err != nil {〜

dataB, err := getDataB()
if err != nil {〜

ってやりたいんだけど
Bの方のerrが二重定義だから怒られる


var dataB []DataB
dataB, err := getDataB()
if err != nil {〜

ってやると、VSCodeに「dataB []DataB declared but not used」って怒られる


こういう場合ってどうするのがセオリー?
2020/11/28(土) 20:39:03.39ID:NVwbGZ0v
>>124
前半は、そんなエラーにはならない
https://play.golang.org/p/A3Qg-byXg0p

後半はdataBを使用する部分を書いていないだけ
2020/11/28(土) 20:41:31.11ID:NVwbGZ0v
>>124
よく見ると、後半は二重定義になるから未使用警告にはならない
見直すこと
2020/11/28(土) 20:45:20.86ID:/wKXXO7j
>>125
大変失礼しました…
仰るとおり、dataB使う処理書いてないで怒られてるだけでした
2020/11/29(日) 22:16:54.79ID:QBDMVTbr
ここでバイク乗りがこそっとフォークエンドも混ぜておきますね
2020/12/01(火) 03:32:25.87ID:kDI+DBO4
めちゃくちゃ腹立わ
Go推すまで密林不買だな

AWS、プログラミング言語「Rust」を重視する理由示す--エンジニア採用中 - ZDNet Japan
https://japan.zdnet.com/article/35163089/
2020/12/01(火) 06:13:35.60ID:XaRGN9iL
GoとRustは利用分野が違うから関係ないよ
2020/12/01(火) 19:16:04.40ID:ti2Ftdsd
>>130
どっちも高級C言語という立ち位置だと思ったが違うのか
2020/12/01(火) 19:42:27.34ID:i0yB1bMz
>>131
RustはモダンC
Goにその役割は無理
別に悪いことでもないと思うが
「なんでもGoでできる!Goサイキョ!!」
とか言ってたらRubyみたいに鼻摘み者になるので注意
2020/12/01(火) 20:16:43.83ID:XaRGN9iL
>>131
関数呼び出し機構が違うため、Goにはドライバなど低レベル処理が書けない
その代わりにGoは超軽量なgoroutineと可変なスタックを手に入れた

これによりWebAPIなどサーバプログラムで数百万の同時接続でもヘタレない性能を叩き出す
プログラム内プロセスと言えるスレッドに並列処理を頼る他の言語ではメモリ消費の問題で、この性能を求めるのは非現実的
コンテキストもデカけりゃスタックもデカいため
2020/12/01(火) 20:34:12.24ID:XaRGN9iL
>>131
前にGoからRustにシステムリプレースした会社の話があったが、これはまた話が違う
GoはJavaなどと同じくガベージコレクト(GC)機構を持ってる
時々発生するGCの時にはms単位で他の処理が遅延する
この遅れを嫌ったためGCを使わないRustで処理時間の安定を計ったため
RustではGCではなく所有権という特殊な考え方でメモリを管理している
135デフォルトの名無しさん
垢版 |
2020/12/06(日) 23:01:31.14ID:AwVmewJw
>>131
Goはそういう低レイヤーなことは危険だから使えないようにしますって感じの言語
2020/12/06(日) 23:39:26.16ID:5daNiVgY
ごー言語勉強しようと思うんですがフルスタックだとどのフレームワークがメジャーですか?
2020/12/07(月) 00:39:23.46ID:YZYC0EGy
俺はecho使ったけど、特にバニラでも問題はない感じ
パラメータの解析とかCORS実装とかで多少は便利になる
テンプレートはこれどこか改善されてる?
2020/12/07(月) 02:15:31.25ID:4YXFG9nR
>>136
フルスタックなフレームワークを使うこと自体がGoではメジャーではない
2020/12/07(月) 04:04:40.95ID:AM6MusHZ
>>136
答えとしてはGinかRevelと思うけど
実態は>>138の通り
2020/12/08(火) 04:39:06.45ID:VDGXYHkl
趣味でプログラミングしてるんだけど今はPythonとc++/C#あたりを触ってる
goも勉強したらPythonの代わりとして使えるのかな?
それとも趣味レベルなら覚えるだけ無駄?
2020/12/08(火) 07:51:23.78ID:xomfKp6r
>>140
趣味レベルならばオススメできない

Pythonは拡張に拡張を重ねた巨大な仕様で一つのやりたいことに色々な書き方ができるので、初心者でも自由に書ける言語
専業プログラマーでない研究者でも楽に望むままのプログラムを書けるため、利用者が桁違いで膨大なライブラリが日々作られ続けてる


Goは不自由な仕様のかわりに大量の非同期処理などを高速に処理できる
これは使いどころが限られるし、利用者も限られる
ただし使いどころでは驚異的な性能を誇ることが存在意義
2020/12/08(火) 10:33:58.70ID:p9ADjhn4
ginでオレオレwebアプリを勉強がてら作ってるのだけどtemplateベタ書きなmvcっぽいので参考サイトやリポジトリないですか?
日本語だとjson返すAPIばかりなので英語でもいいので
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況