タグ

RubyとGo (programming language)に関するlibkazzのブックマーク (3)

  • golang の並列処理を Ruby と比較しながら学ぶ

    一ヶ月ほど前に社内のインフラ共有会でタイトルの話をしました。記録の ために記事を書いておきます。 Gist に置いてある ので、コードは git clone で取得可能です。 $ git clone https://gist.github.com/c0a4234a5264c89655c40adcf7c27cb2.git Ruby# 例えば Ruby で 30 個の処理をするコードがあったとします。こんな素朴 なコードです。それぞれ 3 秒かかる処理が 30 あるので、とても遅いです。 Thread を使って 5 並列にしました。明らかに速くなりました。 ついでにそれぞれの結果(というほどのものではありませんが)を results に代入し、最後にまとめて表示しました。 results は共有リソースになるので、Thread::Mutex#synchronize でロッ クをかけて安全に書き

  • クラスとオブジェクトの関係性(Go 言語編) - Qiita

    面白い記事を見つけたので。 クラスとオブジェクトの関係性 これを Go 言語に置き換えて語り直してみます。なお,私の個人ブログでもオブジェクトについて解説しているので,こちらも参考にどうぞ。 Go 言語における「オブジェクト」 — プログラミング言語 Go | text.Baldanders.info インスタンスの生成と Functional Options パターン — プログラミング言語 Go | text.Baldanders.info たい焼きの型(クラス)を作ってみる 「クラス」とは 名前,属性,操作 の3つの情報を持つ構造を定義したものです。「クラスとオブジェクトの関係性」の「たい焼き」クラスを例にすると 名前: Taiyaki 属性:(なし) 操作: atama shippo という構造を指します。言い方を変えるなら上記の構造を記述できるものであればクラスとして定義できます

    クラスとオブジェクトの関係性(Go 言語編) - Qiita
  • RubyKaigi 2016 基調講演レポート Ruby3 Typing | Goodpatch Blog

    RubyKaigi 2016が始まりました!スポンサーであるグッドパッチもエンジニア数名で京都に来ています。 早速、今朝発表されたRubyの父Matzによる基調講演のレポートをお送りいたします。 Ruby3の柱 東京オリンピックの年にリリースすることを目指して開発されているRuby3には大きく3つの柱があります。 型(Typing) パフォーマンス(Performance) 並列処理(Concurrency) 今回の基調講演は、この中のひとつ「型」についての話です。 プログラミング言語の変遷 まずはじめに、プログラミング言語の「型」という側面についての振り返りがありました。 プログラミング言語にも時代によって流行りがあり、それは振り子のように繰り返されています。 かつては動的言語のSmalltalkやLispがあり、次に静的言語のJavaが流行し、JavaScriptRubyのような動的

  • 1