タグ

rustに関するCLSmoothのブックマーク (9)

  • 「Go言語でつくるインタプリタ」をRustで実装しました。 - Sansan Tech Blog

    はじめに こんにちは。DSOC 研究開発部 Architect Group Data Direction Teamの有山です。 気温が上がってきて夏っぽくなってきましたね。毎年夏用にTシャツを集めるのが趣味なのですが、今年は個人的にブームが再燃してるGOODENOUGH*1を古着で集めようかなと考えています。 ところで皆さんは普段何の言語を書いていますか? Data Direction Groupでは主にPythonを使用していますが、ある時から四則演算の計算順序やif文の条件分岐はどうして正しく動くのだろうと疑問に思うようになり、実際に正しく動かしているシステムを理解してみたくなりました。色々検討した結果、「Go言語で作るインタプリタ」というが内容的にも分量的にもちょうどよく、これを読み進めることにしました。 初めは読みながらコードを写経していましたが、複雑なロジックについては理解した

    「Go言語でつくるインタプリタ」をRustで実装しました。 - Sansan Tech Blog
  • CADDiの技術的変遷、C++からRustへ|いなむのみたま

    どうも、CADDiでC++エンジニアとして働いております、いなむのみたまと申すものです。雇用されてからずっと、3次元CADの解析というR&D的なことをやっています。 教職をやめてエンジニアとしてCADDiに転職してから1年半ほど経ちました。今回はCADDiの技術的な変遷をお話しようと思う。 どうでもいいけどnoteがくそ使いにくい。二度と使いたくない。 基礎知識CADDiは板金・金属加工の発注をお受し、製造管理、お届けまで行うサービスです。 エンジニア向けのページがありますので技術的なことの現状はここを見るとわかります。 実は、CADDiには「3次元データでの自動お見積り」というものがあります。自動見積りは大きく分けて2段階あり、一つが形状解析から工程を割り出す部分、もう一つが工程から見積り金額を割り出す部分です。私は前者の3次元データの形状解析を実装しています。 割と最近(2019年8月

    CADDiの技術的変遷、C++からRustへ|いなむのみたま
  • Rustに100日触れてわかったこと - Qiita

    Rustは「学習コストが高い?」「関数型プログラミング言語?」 と思っていた私が、実際にRustに触れてみて得られた知見をまとめました。 プログラミング言語の多くの課題を解決してくれる言語 Rustは「安全性」「速度」「並列性」を考慮して設計されています。 言語セマンティクスを強く定義し(Ownershipやlifetime 後述)、ネットワークコネクションなどのリソース管理全般に関するバグを、コンパイル時に発見してくれることで実現しているといえます。 最初はコンパイルが厳しくて「書いたコードはあってるはず...」 と、陥るほどに暗黙的な印象を感じます。コンパイルの厳格さは、人間が間違えないようにするために、静的に解析できる情報をなるべく多く与え、機械的に検証するためだと考えます。 ひと言でまとめると「コンパイルへの押し付け」です。 安全性に重きをおきながら、zero cost abstr

    Rustに100日触れてわかったこと - Qiita
  • Rustは何が新しいのか(基本的な言語機能の紹介) - いもす研

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

  • Rust vs. Go

    This post is a head-to-head comparison of Rust vs. Go for NTPsec’s purposes. Read it bearing in mind that the NTP codebase has an unusual combination of traits - not as hard-core a systems-programming problem as an OS kernel, but with some critical regions that are soft realtime. This is an outside view, written after I had programming experience in Go but before I had any in Rust. The Rust parts

  • ぱっと使えそうなRust製のツール - kubo39's blog

    cargo installで入れられそうなやつを雑にまとめてみた。 ripgrep(rg) - はやいgrep、あるいはag。 xsv - CSVツールキット。 alacritty - 速いらしいターミナルエミュレータ。 parallel - GNU parallelのRust版。 coreutils - GNU coreutilsのポート。使えないオプションや未実装のものも結構ある。 oxipng - pngファイルのサイズ圧縮。 rpc-perf - twitter製のrpcのベンチマークツール。memcachedの設定いじったときとか。 watchexec - ファイル変更にhookしてコマンド実行するユーティリティ。 flow - logのリアルタイム解析。 exa - lsのRust実装。デフォルトでいい感じになっているがコマンド体系が違うので慣れずに使わなくなってしまった。gi

    ぱっと使えそうなRust製のツール - kubo39's blog
  • Rust Programming Language

    A language empowering everyone to build reliable and efficient software. Performance Rust is blazingly fast and memory-efficient: with no runtime or garbage collector, it can power performance-critical services, run on embedded devices, and easily integrate with other languages. Reliability Rust’s rich type system and ownership model guarantee memory-safety and thread-safety — enabling you to elim

    Rust Programming Language
  • Rustを学びシステムレベル言語を理解すること - ワザノバ | wazanova

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

  • LinuxコミュニティはRustを受け入れた

    私が最近注目しているプログラミング言語がある。Rustだ。Rustとは、錆のことである。何が錆なものか。JJだ。 RustはMozillaが開発しているプログラミング言語である。恥ずかしいことに私はRustの存在をつい最近まで知らなかった。私がRustの存在を知ったのはkernelvmでのことである。発表をustで聴いたあと自分で調べるとなるほどこれは私の望んでいた言語だと思った。そしてそれは、Linuxコミュニティが望んでいた言語でもあったのだ。 昨今、Go言語なるものが流行っている。も杓子もDockerの実装言語として採用されているためだ。しかし、Goは私のテイストに合わない。プログラミング言語というのは、異性のようなもので、一目見ただけで良いとか悪いとか感じるものである。これがまさにテイストということであり、言語にこだわりがないなんて人は、「誰でも良い」と言ってるようなものである。

    LinuxコミュニティはRustを受け入れた
  • 1