タグ

golangに関するtsekineのブックマーク (13)

  • Re: Go にジェネリクスがなくても構わない人たちに対する批判について - kmizuの日記

    先日自分がGoについてつぶやいたものが、id:methaneさんに捕捉されていて、それに対する反論記事 methane.hatenablog.jp があがっていたので、それに対する所感を書いてみました。(2017/09/22 追記):cocoatomoさんから指摘があったのですが、引用元は全て id:methane さんの、上記ブログエントリの文章です。雑多な感想に関して反応しているものではないです。 前置き Goや言語批判に関するスタンスを誤解されると嬉しくないので、最初に書いておきます。 Goの言語仕様はあまり好きではないけど、Goユーザーを見下したり、馬鹿だとかそういう風には思っていない 言語仕様批判とユーザー批判は別の話ですが、しばしばいっしょくたにされて、糞言語Xを使うユーザは糞だ、みたいな主張がされることがあるので、 そういう意図はないという表明です。 Goユーザーの中で、ジェ

    Re: Go にジェネリクスがなくても構わない人たちに対する批判について - kmizuの日記
  • Go にジェネリクスがなくても構わない人たちに対する批判について - methaneのブログ

    なんども繰り返される話でうんざりなんだけど、繰り返されるたびに反論するのもアレなので、URL貼れるように記事にしておく。 Goが頑なにジェネリクスいらないというだけ他の言語勢から失笑買ってるというのは自覚して— {{alert()}} (@mizchi) 2017年9月19日 頑なに要らないと言ってる人が具体的にどの発言のことを差してるのか分からないけど、コア開発者たちはツールチェインやランタイムの進化を優先していただけで頑なに拒否してたりはしません。今はツールチェインやランタイムが大分進化したから、Goの適用範囲を広げるためにジェネリクスを含めて機能追加も検討し始めようかっていうフェーズです。 あとどの言語にもちょっと公平的な見方ができなくなった痛いファンはいるもので、そういった人たちをいちいちあげつらってこういう言い方で失笑するのは、別に止めはしないけど自分の格を下げるだけだと思う。

    Go にジェネリクスがなくても構わない人たちに対する批判について - methaneのブログ
    tsekine
    tsekine 2017/09/20
    そもそも静的な型付け面倒、LL万歳、今ならPythonだよね →颯爽と登場するPEP0484 シュッ!(* ̄・ ̄)ノ ≡旦~~ ヘイ!Typing オマチ!!
  • オススメの標準・準標準パッケージ20選

    Takuya UedaSouzoh, Inc. (affiliated by Mercari, Inc.) - Go Engineer

    オススメの標準・準標準パッケージ20選
  • Big Sky :: Re: Go言語感想文

    幾らか言いたい事があったので。 Go言語感想文 - なるせにっき 序 最近、敵情視察を兼ねた仕事ととしてGoでアプリケーションを書いていた。このアプリケーションがどんなものかはそのうち id:tagomoris さんがどこかで話すと思うけれど、この コンポーネント ... http://naruse.hateblo.jp/entry/2017/06/02/203441 GoroutineとChannel Goroutineはようするにスレッドなんですが、文法と実装の支援でより気軽に使えるのが他の言語との違いでしょうか。なので、Goroutineをどれだけほいほい使うべきかというコスト感覚を身につけることがとても大事な気がします。Rubyなどとは気持ちを切り替えていく必要があるでしょう。ぼくはまだ切り替えきれていません。 Goroutine はスレッドではありません。Goroutine はコ

    Big Sky :: Re: Go言語感想文
  • Go言語感想文 - なるせにっき

    序 最近、敵情視察を兼ねた仕事ととしてGoでアプリケーションを書いていた。このアプリケーションがどんなものかはそのうちid:tagomorisさんがどこかで話すと思うけれど、このコンポーネントがOSS化される予定はいまのところないので、そこで得た知見をここにまとめておくことにする。 GoroutineとChannel さて、GoといえばGoroutineとChannelですね。 Goroutineはようするにスレッドなんですが、文法と実装の支援でより気軽に使えるのが他の言語との違いでしょうか。なので、Goroutineをどれだけほいほい使うべきかというコスト感覚を身につけることがとても大事な気がします。Rubyなどとは気持ちを切り替えていく必要があるでしょう。ぼくはまだ切り替えきれていません。 もう一つがChannelですね。これは端的にはメッセージキューです。 Goは前述の通り同時に動く

    Go言語感想文 - なるせにっき
  • Go並行処理パターン

    https://classmethod.connpass.com/event/55140/ の発表資料 Goの並行処理に必要な幾つかの機能と、それをつかったサンプルをご紹介

    Go並行処理パターン
  • なぜContextを構造体に含めてはいけないのか、またそれが許される状況について #golang - Qiita

    はじめに Goのcontext.Context はリクエストスコープにおいてキャンセルの情報の伝播や値の受け渡しに利用するためのものですが、使う上でいくつかの注意が必要です。 Go Doc - Package contextに以下のような一文が存在します。 Do not store Contexts inside a struct type; instead, pass a Context explicitly to each function that needs it. The Context should be the first parameter, typically named ctx: Contextは構造体の中に保存せずに、Contextを必要としている関数に渡してください。コンテキストは変数名ctxとして第1引数に渡すべきです。 func DoSomething(ctx

    なぜContextを構造体に含めてはいけないのか、またそれが許される状況について #golang - Qiita
  • Go言語と並列処理(2)

    今回は、Go言語の並行・並列処理のかなめともいえるgoroutine(ゴルーチン)周りを掘り下げていきます。 goroutineは、前回の記事で軽く触れたように、軽量スレッドと呼ばれるものです。 そこで、まずはこの軽量スレッドと通常のOSのスレッドがどう違うのかを説明します。 そのうえで、goroutineの低レベルな機能を扱うためのruntimeパッケージ、 goroutineのデータ競合を発見するRace Detecter、 さらに高度な非同期処理を書くときに必要になるsyncパッケージおよびsync/atomicパッケージの使い方を紹介します。 スレッドとgoroutineの違い スレッドとは、プログラムを実行するための「もの」であり、OSによって手配されます。 プログラムから見たスレッドは、「メモリにロードされたプログラムの現在の実行状態を持つ仮想CPU」です。この仮想CPUのそれ

    Go言語と並列処理(2)
  • Contextアンチパターン

    golang.tokyo#5でのLT資料です。

    Contextアンチパターン
  • Datastore/Go のデータ設計と struct の振る舞いについて

    2. 自己紹介 twitter : pospome blog :pospomeのプログラミング日記 職種 : サーバサイドエンジニア 興味  : クラス設計全般, DDD アイコン:羊じゃなくてポメラニアン その他 :「ポメ」って呼んでください。

    Datastore/Go のデータ設計と struct の振る舞いについて
  • GAE/Go の勘どころ

    golang.tokyo #5

    GAE/Go の勘どころ
  • Go言語のリアルタイムGC 理論と実践 | POSTD

    (編注:誤訳、意味の分かりづらい訳を修正しました。リクエストありがとうございました。) 毎日、Pusherは数十億のメッセージをリアルタイム、つまり送り元から宛先まで100ms未満で送信しています。どのようにしてそれを可能にしているのでしょうか。重要となる要因はGoの低レイテンシのガベージコレクタです。 ガベージコレクタはプログラムを一時停止させるものであり、リアルタイムシステムの悩みの種です。そのため、新しいメッセージバスを設計する際には慎重に言語を選びました。Goは 低レイテンシを強調している ものの、私たちは懐疑的でした。「当にGoを使えば実現できるのか? もしできるならどうやって?」 このブログ記事ではGoのガベージコレクタを、どのように機能し(トリコロールアルゴリズム)、なぜ機能し(こんなに短いGCによる一時停止時間の実現)、そして何よりも、それが機能するのかどうか(GCによる

    Go言語のリアルタイムGC 理論と実践 | POSTD
  • golang と Generics と吾 - Qiita

    吾はGoでGenericsがないことに関してはわりと肯定的な立場ではあるのだが、流石に「golang と Generics と私 」の記事の例はどうかと思ったので、畳み込みfold関数を例にGenericsが解決する問題を例示してみようと思う。 なぜfoldかというと、 List<T> の要素を加算して集約する処理を書くなら普通はfoldで実装するし、foldがあればmapもfilterも実装できるので。 javaで畳み込み Stream APIで用意されてるreduceで一発です List<Integer> list = Arrays.asList(1, 2, 3); // listの加算とか畳み込みで一発ですよ int result = list.stream().reduce((a, b) -> a + b).get();

    golang と Generics と吾 - Qiita
  • 1