タグ コンパイラ
人気順 10 users 50 users 100 users 500 users 1000 usersコンピュータをゼロから作る『コンピュータシステムの理論と実装』の第2版が発売されました #nand2tetris | DevelopersIO
NANDゲートからCPU、OS、コンパイラまで。コンピュータの仕組みを実践的に学べる名著の改訂版が登場 プログラムがどのように実行されるのか、気になったことはありませんか? そんな好奇心旺盛なエンジニアにぴったりなのが 『コンピュータシステムの理論と実装(通称Nand2Tetris本)』 です。 https://www.amazon.co.jp/dp... 続きを読む
コンピュータシステムの理論と実装 第2版
コンピュータシステムをゼロから作って学ぶベストセラー書の改訂第2版。コンピュータを理解するための最善の方法はゼロからコンピュータを作ることです。コンピュータの構成要素は、ハードウェア、ソフトウェア、コンパイラ、OSに大別できます。本書では、これらコンピュータの構成要素をひとつずつ組み立てます。具体的... 続きを読む
JavaScript/TypeScriptからWebAssemblyやネイティブバイナリを生成するコンパイラ「Porffor」の開発が加速へ、開発者がフルタイムで取り組み
「Porffor」は、JavaScript/TypeScriptをWebAssemblyバイナリやネイティブバイナリへとコンパイルする実験的なツールであり、これまでにない2つの特徴を備えています。 1つ目はJavaScript/TypeScriptをコンパイルしてWebAssemblyバイナリやネイティブバイナリを生成しようとしている点です。 これまでもJavaScript/TypeS... 続きを読む
Rustで作るプログラミング言語—— コンパイラ/インタプリタの基礎からプログラミング言語の新潮流まで
この本の概要 小さなプログラミング言語から本格的なプログラミング言語へ……ステップバイステップでの開発を通して,プログラミングそのものへの理解を深めよう! こんな方におすすめ コンピュータサイエンス,とくにプログラミング言語そのものやコンパイラについての素養を得たいと考えている人 他言語でのプログラミ... 続きを読む
なぜSQLiteはバイトコードを使うのか
以前にデータベースを自作しようとして、SQLiteのアーキテクチャを見てみたらVMだったことに疑問を感じ、それをツイートしたところ作者からリプをもらいました。 作者いわく、次のような背景があったとのことでした。 SQLiteを作った当初はデータベースエンジンのことをよく知らないがコンパイラのことをよく知っていた ... 続きを読む
TechFeed Experts Night#27 〜 フロントエンドフレームワーク最前線 (Svelte)
このPDFは、Svelteというフロントエンド開発フレームワークに関する最新情報を提供するプレゼンテーションの内容をまとめたものです。主な内容は以下の通りです: 【Svelteとは】 HTMLのスーパーセットを使った、コンパイラを活用するフレームワークで、軽量なランタイムをエンドユーザーに提供します。 【チームの強化... 続きを読む
最終出社日でした - @watson1978 の日記
今日はReproでの最終出社日。思い返せば 30 歳も過ぎてから Ruby とどう関わっていくかという人生だった。 MacRuby (2010年~) 暇つぶしに Mac OS X のアプリを作ってみようかと思い立った時に出会ったプロジェクトだった。 今のように Swift や clang というコンパイラもなく、 Objective-C 言語というとにかく [] を... 続きを読む
Ruby 3.3 YJITのメモリ管理とRJIT 〜すべてが新しくなった2つのJITを使いこなす | gihyo.jp
Ruby 3.3リリース! 新機能解説 Ruby 3.3 YJITのメモリ管理とRJIT 〜すべてが新しくなった2つのJITを使いこなす 2024年12月25日、Ruby 3.3.0がリリースされ、様々な新機能が加えられました。本連載では実際に携わった皆さんにその新しいRubyをご紹介いただきます。 RubyはJust-In-Time(JIT)コンパイラという機能を備え... 続きを読む
「//このコメントを消したら動かない」は大体Shift_JISの2バイト目が原因で発生する - Qiita
TL;DR Shift_JISにしただけでコンパイラが通らなくなる恐ろしい事件とその回避法について。 \ (¥)のASCIIコードは0x5c 表、能はダメ文字 UTF-8は神 Shift_JISやめろ \を改行とみなすかどうか C言語のコンパイラの仕様によっては\を改行と解釈しコメントが続くと解釈します。この辺りはWindowsのgcc/g++とMac/Linuxのそれ... 続きを読む
Ichigo Lispコンパイラ完全解説
Ichigo Lispコンパイラ完全解説 はじめに この記事では私がWebAssemblyで書いた Ichigo Lispという LISP 1.5実装のコンパイラのソースコードをすべて解説する。 というのも、最近とあるコンパイラの本を読んで 「説明が特定の実装に基づいてる割にそのソースが一部しか載ってない」 という不満を感じたのだが、自分で書... 続きを読む
Pythonの高速なスーパーセットをうたう新言語「Mojo」、コンパイラなど公開、ローカル環境で利用可能に
Pythonの高速なスーパーセットをうたう新言語「Mojo」、コンパイラなど公開、ローカル環境で利用可能に Modular社はPythonの高速なスーパーセットだと同社が位置づける新言語「Mojo」を、ローカル環境で実行可能にするコンパイラなどのツール群を公開しました。 Mojo is now available for download locally to your mac... 続きを読む
低レイヤ技術を間接的に仕事で生かしてきた経験の共有。元Linuxカーネル開発技術者の場合 - 覚書
はじめに ITの世界で「低レイヤ技術」と呼ばれるものがあります。明確に定義されているわけではありませんが、アプリケーションのような直接エンドユーザに触れる部分ではなく、しかもなるべく生のコンピュータに近い部分、たとえばOSカーネルやコンパイラ、CPUを開発する技術などがあります。これらの技術に明るい人は... 続きを読む
PythonでC/C++に匹敵する実行速度を実現 米MITなどコンパイラ「Codon」開発
Innovative Tech: このコーナーでは、テクノロジーの最新研究を紹介するWebメディア「Seamless」を主宰する山下裕毅氏が執筆。新規性の高い科学論文を山下氏がピックアップし、解説する。Twitter: @shiropen2 Pythonは人気な言語だが、実行速度が遅いため、速さを求められる環境になると違う言語が採用される。この研... 続きを読む
AI研究者に「最も実社会で成功したAIって?」と聞いたら意外な答えが返ってきた「AIという感覚消えつつある」
西村 賢🐠Coral Capital / Ken Nishimura @knsmr AI研究者の友だちに「AI研究の最大の社会実装の成功って何?」と聞いたら「乗換案内かな」という回答。経路探索がAIという感覚は僕らにはもうない。コンパイラがAIとも思っていない。同様に深層学習の画像認識も、早々とAIという感覚は消えつつあるような。魔法のように... 続きを読む
やっぱりコンパイラが書きたい。渡米後にRuby JIT開発を趣味から仕事に変えた私のキャリア戦略 - Findy Engineer Lab - ファインディエンジニアラボ
国分崇志(@k0kubun)と申します。プログラミング言語Rubyのコミッターとして活動しています。2019年からシリコンバレーで働いており、2022年からShopifyという会社でRubyのJust-In-Time(以下、JIT)コンパイラをフルタイムで開発しています。 長い間趣味でやっていたコンパイラの開発を仕事にしたのは、現職が初めてで... 続きを読む
char* を Go の string に変換するテクニック
はじめに Go には cgo と呼ばれる、Go からC言語を扱う為の機能があります。go build を実行すると、内部でC言語のコンパイラが実行され、ソースの一部が Go に取り込まれます。 cgo とは まずは以下を見て下さい。 //go:build ignore // +build ignore package main /* int add(int a, int b) { return a + b; } */ imp... 続きを読む
自作したRISC-V向けCコンパイラでセルフホストまでこぎつけた - 詩と創作・思索のひろば
低レイヤを知りたい人のためのCコンパイラ作成入門 まさに低レイヤのことが分かっておらず、以前から気になっていたこの本。取り掛かってみたところ思いのほかスイスイ進められて、勢いに乗ってセルフホスト(自分が書いたコンパイラで自分自身をコンパイルするところ)までいけたので記念に書いておく。正確には C コン... 続きを読む
米国家安全保障局、CやC++からメモリ安全なプログラミング言語への移行を推奨する文書を公開
同ガイダンスは、近年のサイバーセキュリティ脅威の多くに利用されている、ソフトウェアのメモリ安全性の悪用を防ぐことを目的としており、組織におけるソフトウェアの開発にあたっては、可能な限りメモリ安全なプログラミング言語を使用するとともに、コンパイラのオプション、ツールのオプション、OS構成といったコー... 続きを読む
JavaScriptにセミコロンは入れるのか?入れないのか? - Qiita
結論 どちらでもいい セミコロン付けても付けなくても落とし穴はある ESLintを利用することで落とし穴を検知できる 私はセミコロンつけない派 自動セミコロン挿入とは 自動セミコロン挿入(automatic semicolon insertion) この仕組みのおかげでセミコロンを使わなくてもコードを書くことができ、コンパイラが行末を察し... 続きを読む
ZigはCMakeの代替となるか
既存のプロジェクトで使用しているコンパイラを置き換えるだけで、Zigに付属しているCコンパイラを利用できる。 クロスビルドが標準で可能 上でも述べた通り、Zigは標準でクロスコンパイルが可能である。 Zig libcのTaget一覧 ❯ zig targets | jq ".libc" [ "aarch64_be-linux-gnu", "aarch64_be-linux-musl", "aarch64_... 続きを読む
ロボ太 on Twitter: "普段からコンパイラをいじめてると、「どうやったらコンピュータが困るか」が、なんとなくわかるようになるんですよね…… https://t.co/vQzX2aN8p8"
普段からコンパイラをいじめてると、「どうやったらコンピュータが困るか」が、なんとなくわかるようになるんですよね…… https://t.co/vQzX2aN8p8 続きを読む
マイクロソフト、次の.NET 7にネイティブコンパイラを搭載する見通しを明らかに
マイクロソフトは現在開発中のフレームワーク「.NET 7」で、ソースコードからターゲットプラットフォームに対応したネイティブバイナリをコンパイル時に生成するAOT(Ahead of Time)コンパイラを搭載する見通しだと、「Announcing .NET 7 Preview 3」で明らかにしています。 AOTコンパイラ、すなわち事前コンパイラとは... 続きを読む
コンセプトから理解したいRust (願望) Trait編 - Qiita
はじめに この記事は下記イベントでの私の発表を、スライドだと、コードやコンパイラのエラーメッセージ、リンクのテキストが取得しづらいため。文字に書き起こしたものになります。 「コンセプトから理解するRust」という本 初期のLearning Curveがキツめと言われているRust、私も七転八倒しながら、あれこれとキャッチ... 続きを読む
コンパイラが作ったバイナリをつなぎ合わせるプログラム 「lld」の作者が語る、リンカの仕組み
Kernel/VM探検隊はカーネルや仮想マシンなどを代表とした、低レイヤーな話題でワイワイ盛り上がるマニアックな勉強会です。植山氏は、制作中のリンカである「mold」について発表しました。全2回。前半は、リンカの概要について話しました。 LLVMのリンカ「lld」オリジナルの作者 植山類氏:植山類です。今僕が作っている... 続きを読む
【C#】マルチスレッド関連操作の詳説。 - ねののお庭。
この記事は Qiita C# Advent Calendar 2021 23日目の記事です。 マルチスレッドプログラミングにおける問題。 原子性 コンパイラによる命令の並び替え メモリバリアについて acquire / release acquire / releaseの取り扱いづらさ sequential consistency C#でのマルチスレッド関連操作 lock (statement) volatile (keyw... 続きを読む