タグ

関連タグで絞り込む (3)

タグの絞り込みを解除

Rustに関するzetamattaのブックマーク (13)

  • 実装言語を「Go」から「Rust」に変更、ゲーマー向けチャットアプリ「Discord」の課題とは

    ゲーマー向けの無料音声テキストチャットアプリケーション「Discord」を開発、提供するDiscordは2020年2月5日(米国時間)、アプリケーションを支える基盤サービスの一つである「Read States」をRust言語で再実装し、その結果サービスのパフォーマンスが大幅に向上したと公式ブログで明らかにした。 Read StatesサービスはこれまでGo言語で実装されていた。それにもかかわらず、なぜRead StatesをRustで再実装しようとしたのか、どのように再実装したのか、再実装によってどのようにパフォーマンスが向上したかを解説した。 Rustで再実装した背景とは Read Statesサービスの目的は、Discordユーザーがどのチャンネルのどのメッセージを読んだのかを追跡することだ。つまり、ユーザーがDiscordに接続したり、メッセージを送信したり、メッセージを読んだりする

    実装言語を「Go」から「Rust」に変更、ゲーマー向けチャットアプリ「Discord」の課題とは
  • 必修言語Rustの他己紹介 - OPTiM TECH BLOG

    あけましておめでとうございます。オプティムの齋藤です。 R&Dに所属している新卒2年目社員で、トマト && 眼底 && SREな仕事の日々を過ごしています。 好きな言語設計者はアンダース・ヘルスバーグです。 昨年末にRust 2018がリリースされ、今年はいよいよRust格的な普及が期待されます。 そこで、リリース当初のRust 1.0から使っている私が、 Rustをよく知らない方向けに良い点、悪い点の双方からRustの紹介をしようと思います。 なお、ここで紹介する内容は執筆時点での最新の言語仕様であるRust 2018を反映しています。 なぜRustなのか? 皆が愛する言語 ネイティブにコンパイルされる マルチプラットフォーム Cとの相互運用 高い安全性 ゼロコスト抽象化 けっこう速い 柔軟な型推論 安全なマクロ ジェネリクス デフォルトで代入がムーブ ドキュメントが豊富である パッ

    必修言語Rustの他己紹介 - OPTiM TECH BLOG
  • Rust より C++ が優れている 12 のポイント - uchan note

    若干釣りタイトルですが,私が「Rust にはない C++ の良さ」を募ったところ,12 個ほどの優れている点が報告されたので,まとめてみます. 背景 私は 2018/10/08 開催予定の技術書典5で,『C++でできる!OS自作入門』と題して,Clang+LLD で C++ を使って OS 開発する際の注意点とか C++ の活用例を解説する同人誌を書こうと思っています. その下調べもかねて,このようなツイートをしました. C++好きな人!ぜひ,RustにはないC++の良さを教えてください!— C++でOS自作 技術書典5 お05 (@uchan_nos) 2018年8月24日 そうしたら知り合いからこんなリプが飛んできました. これ、まとめてblogにして!— shoma (@shoma) 2018年8月24日 一部の人に参考になるかもしれないのでまとめることにしました.ただしネタ多めです

    Rust より C++ が優れている 12 のポイント - uchan note
  • 第二プログラミング言語として Rust はオススメしません Nim をやるのです - 強まっていこう

    これから Rust 触ってみようかなぁと思っている方。やめておきましょう。プログラミングが嫌いになりますよ。 Nim をやりましょう。 すでに Rust に挑んで心ぶち折れた方。 Nim をやって心の傷を癒やしましょう。 Rust がディスられる!小癪な!と思っている方。 Nim をやるのです(天に轟く反響音)。 Nim の魅力を Rust と比較しつつ皆様へお伝えしましょう(両手を広げる)。 さぁ、みんな、Rust なんて捨ててさっぱり人気が無い Nim をやるのです(ドドメ色に輝く)。 行末のセミコロンが必要ない タイプ数がもりもり減ります。 Rust にはもちろん必要です。 main が要らない スクリプト言語感覚でいきなりコードを書けます。 Rust は main が必要です。 標準出力への文字列出力が楽 Nim では echo で改行付きの出力ができます。shell と同じですね

    第二プログラミング言語として Rust はオススメしません Nim をやるのです - 強まっていこう
  • RustのマクロだけでBASICっぽい何かを作った - Qiita

    書くまでの流れ ふとTiny BASICを書きたいと思った ちょうど達人プログラマーを読んで、ミニ言語を作れ、というTipがあったからかもしれない Rebuild.fmではそんなのやめとけ!と言われていたような気もするけれど、ちょっとやってみるか! ↓ どうやらパーサコンビネータ(Geal/nomやMarwes/combine)を使うといい感じらしい ↓ 全然知識は無いが、いい勉強になりそう nomのサンプルを動かしたり、Qiitaの記事(Rustのパーサコンビネータnomを使ってみよう)を真似する ↓ nomで使う大量のマクロに面らう これ、もうミニ言語、もとい、DSLじゃねーか! ↓ 上記の記事を書いている人が、Rustのマクロを覚えるも書いていた なので、マクロに体を慣らそうと考える ↓ Rustのマクロ、薄々気づいてはいたけどめっちゃ強力だな (Lispの影響なのだろうか?) B

    RustのマクロだけでBASICっぽい何かを作った - Qiita
    zetamatta
    zetamatta 2017/05/14
    ちょっと、これ、まじ、やばすぎるだろー
  • Rust は何が新しくないのか - ろじかるんるんものがたり

    disclaimer 追記で注意書き足すのはどうなんでしょうね。ということで追記です。 別にギョムでガンガン書いてるとかではないです。 ノミコンの方も含めてドキュメント全部読んだ、API 一通り眺めた、型推論というかリージョン推論部分の概要眺めた、関連する論文読んだ、言語触った、程度の人間が書いてます。 正しくない、不正確な部分もあると思います。 雑です、すいません。 TL;DR 的には、C++ 置き換えるための言語として作られたので当然 C++ にあった概念引き継いでますよみたいな話です。 以下追記前の元の全文。 以下の記事が結構人気と聞きました。 Rustは何が新しいのか(基的な言語機能の紹介) - いもす研 (imos laboratory) ここでは、記事中の「新しくない」部分を historical な話を交えて説明する形で何か書きたいと思います。 記事を否定するようなものでは

    Rust は何が新しくないのか - ろじかるんるんものがたり
    zetamatta
    zetamatta 2017/01/29
    C++ のライブラリレベルで実現されていた機能を中心に
  • Rustは何が新しいのか(基本的な言語機能の紹介) - いもす研

    Rust は、Firefox を開発する Mozilla が開発し、次世代ブラウザの開発に使っているプログラミング言語です。借用検査という概念を導入することによりメモリ安全およびデータ競合安全をコンパイラが保証する言語であり、2015年中頃の安定版のリリースあたりから次第に注目を集めるようになりました。 メモリ安全とは、メモリの範囲外アクセスや二重解放、ヌル参照、未初期化領域へのアクセスがない状態を表します。ただし、Rust の言うメモリ安全とは、メモリリークをしないことを保証するものではありません。 データ競合安全とは、あるひとつのオブジェクトに対しての読み込みおよび書き込みのが同時に起き結果が不定になる状態にならないことを表します。競合状態とは異なります。 無名関数という概念を様々な言語が次々と導入したように、プログラミング言語は相互に影響を及ぼし徐々に変化しています。Rust は「寿

    zetamatta
    zetamatta 2017/01/27
    これ、わかりやすい
  • RustとDNSの1年 | POSTD

    (注:2016/09/28、いただいたフィードバックを元に翻訳を修正いたしました。) この記事は、RustDNSの使い方を皆さんにお教えするためのものではありません。むしろ、私がDNSクライアント/サーバをRustで開発した時に面白いなと思った点について書く日記のようなものです。 約1年半前のことですが、私は史上最高とも言えるプログラミング言語と出会いました。それは私がGo言語を学んでいる最中のことでした。Goは学習していて楽しい言語で、Java出身の私は特にひとつの点を素晴らしいと評価しました。それは、シングルバイナリをコンパイルできるし、それをデプロイしたり実行するのも早くて簡単だという点です。正直言って、Goでプログラムを書いて初めて、C言語のスタティックバイナリをどれほど気に入っていたか気付いたのです。クラスパスはないし、デフォルトのメモリ設定をいじることもなく、デフォルトのガベ

    RustとDNSの1年 | POSTD
  • Rust から ImageMagick 呼び出してみる - @hadashiA

    Rustがかなりかっこいいのですこし触っています。 Rust はまるで、めちゃめちゃ易しくなったc++かのようです。メモリリークやその他の危険が扱いやすくなったし、シンタックスも今風だ。関数型言語由来のパターンマッチやOptional/Eitherのエラー処理などすげーセンス良い機能が搭載された一方、メモリのようすが透明でなんでもできてどこでもリンクできるパワーはc++並みです。 Rustは、c/c++みたく、明示的に指定しないかぎりすべての変数はスタックに実体があるので、参照やヒープを使うときにこそ記号めいたものを書くという世界観です。これは、僕が普段さわっている、オブジェクトが基ヒープの参照で、ランタイムがGCしてくれるってな世界観とはまったく逆なので、その辺はやはりすこし難解にかんじます。でも慣れると楽しいです。 Rustはサーバ用途としても強そうだし、ネイティブなプラットフォーム

    Rust から ImageMagick 呼び出してみる - @hadashiA
  • Rust By Example Has Moved

    Rust by example has moved! Its new home is at https://doc.rust-lang.org/stable/rust-by-example. This website is sponsored by JOJOChips.com.

  • Rust 基礎文法最速マスター (rust 0.7 編) - gifnksmの雑多なメモ

    警告 (2014/1/25 追記) 以下の記事ですが、今となっては通用しない記述が多く含まれています。 0.7 から現在までに行われた大きな変更としては、思いつくだけでも 言語組み込み機能としての managed box が非推奨になった (将来削除され、ライブラリによる実装と置き換わる) rusti ツールが削除された というものがあります。 おそらく、文中のコード例はコンパイルすら通らなくなっていることでしょう。 また、今後も 1.0 に向け大きな変更が予定されています (DST や GC の実装など)。 文中の、言語の基的なコンセプトに関する部分はかろうじて現在でも通用すると思いますが、その他の部分についてはきちんとメンテナンスされている文章 (公式のドキュメントなど) を参照してください。 以下、オリジナルの記事です。 ブログ移転後の最初の記事っということで、最近僕がハマっている

    Rust 基礎文法最速マスター (rust 0.7 編) - gifnksmの雑多なメモ
  • GitHub - tomaka/hlua: Rust library to interface with Lua

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - tomaka/hlua: Rust library to interface with Lua
    zetamatta
    zetamatta 2015/07/15
    曰く「Rust library to interface with Lua」
  • Rustを学びシステムレベル言語を理解すること - ワザノバ | wazanova

    https://www.youtube.com/watch?v=ySW6Yk_DerY Rustについては「Rustのあれこれ」で少し触れましたが、Yehuda Katzが、Skylightの一連のブログとGoGaRuCo2014の講演で、「ハイレベル言語のプログラマーがシステムレベルの言語を学ぶチャンス」という観点で紹介しています。 主なポイントとしては、 プログラミング言語の特性は変わることがないとか、プログラミング言語のパフォーマンスと生産性は常にトレードオフであるという考え方は、JavaScriptにおいて、生産性が少し改善されつつ同時にパフォーマンスが大きく向上してきたという事実から、必ずしも正しくはない。 Rustは、セグメンテーション違反が起きないという意味での安全性と、どこにメモリを置くか直接コントロールできる仕様を両方兼ね備える。 Rustを学ぶということは、ハイレベル言

  • 1