並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 120件

新着順 人気順

Zigの検索結果41 - 80 件 / 120件

  • When Zig is safer and faster than Rust

    3/7/2023 When Zig is safer and faster than Rust There are endless debates online about Rust vs. Zig, this post explores a side of the argument I don't think is mentioned enough. Intro / TLDRλ I was intrigued to learn that the Roc language rewrote their standard library from Rust to Zig. What made Zig the better option? They wrote that they were using a lot of unsafe Rust and it was getting in thei

    • 新通貨ジンバブエ・ゴールド、波乱のスタート 旧通貨は無価値に

      ジンバブエの首都ハラレでジョン・ムシャヤバンフ中央銀行総裁が披露した新通貨ジンバブエ・ゴールドの紙幣(2024年4月5日撮影)。(c)Jekesai NJIKIZANA / AFP 【4月10日 AFP】金を裏付けとしたジンバブエの新通貨ジンバブエ・ゴールド(ZiG)が今週、波乱のスタートを切った。店舗は米ドルでの支払いしか受け付けず、銀行の前には困惑した人々が預金を引き出そうと長蛇の列を作っている。 旧通貨ジンバブエ・ドルが過去1年間で暴落し、高インフレに見舞われた同国は8日、新通貨の運用を開始した。だが、切り替えの発表が数日前だったため、多くの国民は準備ができていなかった。 大半の銀行は9日、新通貨に移行するためにシステムをオフラインにした。そのため首都ハラレでは、預金を引き出そうとする多くの人が銀行の前に何時間も並ぶ事態が起きた。 通貨切り替えによって、すでに価値がほとんどなかった旧

        新通貨ジンバブエ・ゴールド、波乱のスタート 旧通貨は無価値に
      • GitHub - buzz-language/buzz: 👨‍🚀 buzz, A small/lightweight statically typed scripting language

        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 - buzz-language/buzz: 👨‍🚀 buzz, A small/lightweight statically typed scripting language
        • Denoで困ったときはZigで何とかなるかもしれない

          サードパーティライブラリが無いよ問題 いきなりネガティブな話で申し訳ございません。愚痴みたいなものです。本題ではありませんので読み飛ばしていただいて問題ありません。 Denoユーザーの1人としての個人的な印象として、Denoの勢いは2023年に入った頃から低迷しているように感じます。2022年末からnpm対応によってNode.jsの資産を使えるようになったにも関わらずです。実際のユーザー数はDenoチームではないので分かりませんが、登場から数年経って真新しさも無くなったので、どんなサービスにもありがちなことなのかなと思います。 ありがちとはいえ、ただ低迷しているだけではありません。ここからNode.jsを超えるのはなかなか難しいです。なぜならnpm対応というのは、明示的にNode.jsに対して「生き残っていい」それどころか「あなたが正しい」と宣言してしまったようなものです。Node.jsの

            Denoで困ったときはZigで何とかなるかもしれない
          • Zigのビットシフト演算がちょっと面白い - その手の平は尻もつかめるさ

            なんとなくZigを触っているのですが、ビットシフト演算が独特の挙動で面白かったです。 const n: u8 = 0b00000001; const shifted: u8 = n << 1; std.debug.print("{b}\n", .{shifted}); // => 0b00000010 これは直感的なコードでしょう。n が1バイト左にシフトしています。 さて以下のコードはどうでしょうか。 const n: u8 = 0b00000001; const shifted: u8 = n << 8; std.debug.print("{b}\n", .{shifted}); // expects 0, but... このコードは ./main.zig:5:30: error: integer value 8 cannot be coerced to type 'u3' const

              Zigのビットシフト演算がちょっと面白い - その手の平は尻もつかめるさ
            • GitHub - zigcc/zig-cookbook: Simple Zig programs that demonstrate good practices to accomplish common programming tasks.

              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 - zigcc/zig-cookbook: Simple Zig programs that demonstrate good practices to accomplish common programming tasks.
              • Zigでコンテナランタイム作ってみた

                第55回情報科学若手の会での登壇資料です。 登壇者:井上紘太朗

                  Zigでコンテナランタイム作ってみた
                • GitHub - capy-ui/capy: 💻Build one codebase and get native UI on Windows, Linux and Web

                  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 - capy-ui/capy: 💻Build one codebase and get native UI on Windows, Linux and Web
                  • ホーム ⚡ Zig Programming Language

                    Zigは、堅牢、最適、および再利用可能なソフトウェアをメンテナンスするための汎用プログラミング言語およびツールチェインです。 ⚡ シンプルな言語プログラミング言語の知識をデバッグするよりも、アプリケーションのデバッグにフォーカスしてください。 隠された制御フローはありません。隠されたメモリ割り当てはありません。プリプロセッサ、マクロもありません。⚡ コンプタイムコンパイル時のコード実行と遅延評価に基づくメタプログラミングへの新しいアプローチ。 コンパイル時に任意の関数を呼び出します。ランタイムオーバーヘッドなしに型を値として操作します。コンプタイムはターゲットアーキテクチャをエミュレートします。⚡ ZigでメンテナンスC/C++/Zigのコードベースを段階的に改善することができます。 Zigを依存性ゼロのドロップインC/C++コンパイラとして使用し、すぐにクロスコンパイルをサポートします。

                    • Zig And Rust

                      Zig And Rust Mar 26, 2023 This post will be a bit all over the place. Several months ago, I wrote Hard Mode Rust, exploring an allocation-conscious style of programming. In the ensuing discussion, @jamii name-dropped TigerBeetle, a reliable, distributed, fast, and small database written in Zig in a similar style, and, well, I now find myself writing Zig full-time, after more than seven years of Ru

                      • Why I rewrote my Rust keyboard firmware in Zig: consistency, mastery, and fun

                        Why I rewrote my Rust keyboard firmware in Zig: consistency, mastery, and fun ← Back to Kevin's homepagePublished: 2021 March 7I’ve spent the last year building keyboards, which has included writing firmware for a variety custom circuit boards. I initially wrote this firmware in Rust, but despite years of experience with that language I still struggled quite a bit. I eventually got my keyboards wo

                        • GitHub - oven-sh/bun: Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one

                          Bun is under active development. Use it to speed up your development workflows or run simpler production code in resource-constrained environments like serverless functions. We're working on more complete Node.js compatibility and integration with existing frameworks. Join the Discord and watch the GitHub repository to keep tabs on future releases. Bun is an all-in-one toolkit for JavaScript and T

                            GitHub - oven-sh/bun: Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one
                          • 0.8.0 Release Notes ⚡ The Zig Programming Language

                            Tier 4 Support § Support for these targets is entirely experimental. If this target is provided by LLVM, LLVM may have the target as an experimental target, which means that you need to use Zig-provided binaries for the target to be available, or build LLVM from source with special configure flags. zig targets will display the target if it is available. This target may be considered deprecated by

                            • GitHub - ratfactor/ziglings: Learn the Zig programming language by fixing tiny broken programs.

                              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 - ratfactor/ziglings: Learn the Zig programming language by fixing tiny broken programs.
                              • Welcome | zig.guide

                                Zig is a general-purpose programming language and toolchain for maintaining robust, optimal, and reusable software. To follow this guide, we assume you have: Prior experience programming Some understanding of low-level programming concepts Knowing a language like C, C++, Rust, Go, Pascal, or similar will help you follow this guide. You must have an editor, terminal, and internet connection availab

                                • TigerBeetle

                                  TigerBeetle is production-ready on Linux and seamlessly integrated with major programming languages.

                                    TigerBeetle
                                  • Zig in 30 minutes

                                    test.md A half-hour to learn Zig This is inspired by https://fasterthanli.me/blog/2020/a-half-hour-to-learn-rust/ Basics the command zig run my_code.zig will compile and immediately run your Zig program. Each of these cells contains a zig program that you can try to run (some of them contain compile-time errors that you can comment out to play with) You'll want to declare a main() function to get

                                      Zig in 30 minutes
                                    • GitHub - mitchellh/libxev: libxev is a cross-platform, high-performance event loop that provides abstractions for non-blocking IO, timers, events, and more and works on Linux (io_uring or epoll), macOS (kqueue), and Wasm + WASI. Available as both a Zig an

                                      libxev is a cross-platform event loop. libxev provides a unified event loop abstraction for non-blocking IO, timers, signals, events, and more that works on macOS, Windows, Linux, and WebAssembly (browser and WASI). It is written in Zig but exports a C-compatible API (which further makes it compatible with any language out there that can communicate with C APIs). Project Status: 🐲 Unstable, alpha

                                        GitHub - mitchellh/libxev: libxev is a cross-platform, high-performance event loop that provides abstractions for non-blocking IO, timers, events, and more and works on Linux (io_uring or epoll), macOS (kqueue), and Wasm + WASI. Available as both a Zig an
                                      • Zig (プログラミング言語) - Wikipedia

                                        Zigは、アンドリュー・ケリーによって設計された命令型の汎用の静的型付けのコンパイル型システムプログラミング言語である[2][3]。 この言語は「堅牢性、最適性及び保守性」向けに設計されており[4][5]、コンパイル時のジェネリクス、リフレクション、クロスコンパイル及び手動メモリ管理(英語版)をサポートしている[6]。 この言語の主な目標は、C言語に依存せずにこれを改善し[7][8]、Rustなどから着想を得ることである[9]。 Zigにはパックされた構造体[注釈 1]、多倍長整数[10]、複数のポインタ型などの低レベルプログラミングのための多くの機能がある[11]。 リファレンス実装のコンパイラはZig及びC++で記述されており、LLVM[12]をバックエンドとして使用し[13][14]、LLVMがサポートするターゲットの多くをサポートしている[15]。 コンパイラはフリーかつオープンソ

                                          Zig (プログラミング言語) - Wikipedia
                                        • Why Zig When There is Already C++, D, and Rust? ⚡ Zig Programming Language

                                          No hidden control flowIf Zig code doesn’t look like it’s jumping away to call a function, then it isn’t. This means you can be sure that the following code calls only foo() and then bar(), and this is guaranteed without needing to know the types of anything: Examples of hidden control flow: D has @property functions, which are methods that you call with what looks like field access, so in the abov

                                          • Metaprogramming in Zig and parsing CSS | notes.eatonphil.com

                                            I knew Zig supported some sort of reflection on types. But I had been confused about how to use it. What's the difference between @typeInfo and @TypeOf? I ignored this aspect of Zig until a problem came up at work where reflection made sense. The situation was parsing and storing parsed fields in a struct. Each field name that is parsed should match up to a struct field. This is a fairly common pr

                                            • Bun v0.3.0 | Bun Blog

                                              Today, Bun has two main priorities: stability and compatibility with Node.js and Web APIs. In v0.3.0, we've made significant progress toward both of these goals. There are a lot of changes to cover, so we'll start with the highlights. Note — We're a small team working to make building with JavaScript faster and simpler. If you're interested in joining us, check out our careers page, we're hiring J

                                                Bun v0.3.0 | Bun Blog
                                              • 0.10.0 Release Notes ⚡ The Zig Programming Language

                                                Tier 4 Support § Support for these targets is entirely experimental. If this target is provided by LLVM, LLVM may have the target as an experimental target, which means that you need to use Zig-provided binaries for the target to be available, or build LLVM from source with special configure flags. zig targets will display the target if it is available. This target may be considered deprecated by

                                                • Zig 言語を触ってみる

                                                  近年徐々に話題にあがりはじめている Zig という言語がある。 C 言語との ABI レベル相互運用が手軽にできるなど、低レイヤーがターゲットのプログラミング言語な気がしている。 Zig の安全性に対する評価は下記の記事にいろいろまとまっている。use-after-free や double free 、uninitialized memory などが none という評価ということは、そこまで安全性が重視された言語ではないということ? 言語公式が推す売りポイントは No hidden control flow. No hidden memory allocations. No preprocessor, no macros.

                                                    Zig 言語を触ってみる
                                                  • Assorted thoughts on zig (and rust)

                                                    I've been using zig for ~4 months worth of side projects, including a toy text editor and an interpreter for a relational language. I've written ~10kloc. That's not nearly enough time to form a coherent informed opinion. So instead here is an incoherent assortment of thoughts and experiences, in no particular order :) This is not meant to be an introduction to zig - check out the excellent languag

                                                    • Rustがあるのに何でZig使うんですか?に対する解答

                                                      動機 ZigのターゲットとRustのターゲットが被っているので、Zigを使っているプロジェクト・人物によくこの質問が投げられる。 それを、まとめることでZigの優位性が分かるかなと思ったのでまとめてみる。

                                                      • zig言語でtomlパーサを書いてみた

                                                        数ヶ月前にzig言語というやつの存在を知って、これはちょっと面白そうだなと思ったので、勉強がてらなにかやってみよう、と思っていた。ある日、tomlのパーサはどうだろうかと思い立ってしばらくやっていて(Ghost of Tsushima で作業が中断したりしつつ)、まあまあ出来上がってきたと思うので、現在のところのソースコードをgithubに置いておいた(https://github.com/jmuk/zig-toml)。 というわけで、zig言語をちょっと書いてみた感想を残しておく。なお、利用したのはzig 0.6.0なので、今後いろいろ変わってくる可能性もあることは強調しておきたい。 zig言語のよいところ・興味深いところ 型の扱いがzigでは興味深いところだった。zigはかなりいろんなところでcomptimeというマーカをつけてコンパイル時にコンパイラが事前処理をするようなことができる

                                                          zig言語でtomlパーサを書いてみた
                                                        • zigコードから生成したdynamic libraryおよびstatic libraryをCでコンパイルして使う - その手の平は尻もつかめるさ

                                                          TL;DR zig ccを使うと色々と簡単、特にstatic linkをする場合はハマりにくく楽なので、使える場合は使うと良さそうです。 zig cc自体、gccやclangのdrop-in replacementを目的として出来たCコンパイラなので多くの場合はそのままポンと乗せ替えができそうですが、環境によっては色々な事情もあるでしょうし本記事ではgccを使う方法についても記します。 前提 zig init-libで吐き出されるコード (src/main.zig) を使います。 const std = @import("std"); const testing = std.testing; export fn add(a: i32, b: i32) i32 { return a + b; } test "basic add functionality" { try testing.exp

                                                            zigコードから生成したdynamic libraryおよびstatic libraryをCでコンパイルして使う - その手の平は尻もつかめるさ
                                                          • Some Thoughts on Zig — Sympolymathesy, by Chris Krycho

                                                            Assumed audience: People interested in programming languages and the design thereof. Epistemic status: A hunch, but a pretty strong one. I looked at Zig as soon as it started making waves. Of course I did: as a huge fan of Rust, a new programming language in the systems language/“C replacement” space was of immediate interest. Like many people who like Rust, I also immediately bailed on Zig, becau

                                                              Some Thoughts on Zig — Sympolymathesy, by Chris Krycho
                                                            • What is Zig's Comptime?

                                                              Let's take a quick look at what compile-time execution looks like in Zig. If you’ve only experienced compile-time execution in the form of macros, generics or codegen, be ready to be surprised by what Zig can do. What is ZigZig is a new general-purpose programming language developed by Andrew Kelley. While still under heavy development, I think the language is already showing great promise. Zig ai

                                                                What is Zig's Comptime?
                                                              • Maintain it With Zig

                                                                No matter what language you program in or what applications you use: everything you do with a computer today is powered at some level by a piece of C/C++ code. C and C++ are kings when it comes to writing efficient software and the C ABI is the lingua franca of software interoperability, allowing C libraries to be used by almost any other language. This ubiquity, coupled with the rise of free and

                                                                  Maintain it With Zig
                                                                • GitHub - Vexu/bog: Small, strongly typed, embeddable language.

                                                                  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 - Vexu/bog: Small, strongly typed, embeddable language.
                                                                  • GitHub - andrewrk/poop: Performance Optimizer Observation Platform

                                                                    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 - andrewrk/poop: Performance Optimizer Observation Platform
                                                                    • Writing a small ray tracer in Rust and Zig

                                                                      I spend most of my programming time writing C++. And like many other C++ programmers, I’ve shot myself in the foot countless times with a feature I didn’t fully grok. And I’ve spent enormous amounts of time trying to understand the language. Like many other C++ developers in this position, I find myself frequently daydreaming about switching to another more modern and easily understood language. T

                                                                      • Zig で簡単な Lisp インタプリタを書いてみた。

                                                                        はじめに 先日 Zig で JSON パーサを書いて Zig がどういう言語なのか、だいたい理解できたので Lisp インタプリタを実装してみた。 簡単な実装なので四則演算と変数定義、関数呼び出しくらいしか実装してない。 ちゃんと文法チェックなどをやってないので、変な Lisp コードを渡すと落ちる。これはいずれ直す予定。 実装中に知った Zig の記法 blk 名前付きブロックで値が返せる。 const std = @import("std"); pub fn main() anyerror!void { std.log.warn("{}", .{ blk: { const d: u32 = 5; const e: u32 = 100; break :blk d + e; }, }); }

                                                                          Zig で簡単な Lisp インタプリタを書いてみた。
                                                                        • How Uber Uses Zig - Motiejus Jakštys Public Record

                                                                          Disclaimer: I work at Uber and am partially responsible for bringing zig cc to serious internal use. Opinions are mine, this blog post is not affiliated with Uber. I talked at the Zig Milan meetup about “Onboarding Zig at Uber”. This post is a little about “how Uber uses Zig”, and more about “my experience of bringing Zig to Uber”, from both technical and social aspects. The video is here. The res

                                                                          • Writing a SQL database, take two: Zig and RocksDB | notes.eatonphil.com

                                                                            For my second project while learning Zig, I decided to port an old, minimal SQL database project from Go to Zig. In this post, in ~1700 lines of code (yes, I'm sorry it's bigger than my usual), we'll create a basic embedded SQL database in Zig on top of RocksDB. Other than the RocksDB layer it will not use third-party libraries. The code for this project is available on GitHub. Here are a few exam

                                                                            • Media

                                                                              These Boston videos are tolerable but of poor quality—especially the audio mixing. Abner unfortunately did not have his staff with him and hired a third-party A/V company. (He hopes to have his own people next time)

                                                                                Media
                                                                              • Using Zig to Unit Test a C Application

                                                                                Zig is a new, independently developed low-level programming language. It’s a modern reimagining of C that attempts to retain C’s performance while embracing improvements from the last 30 years of tooling and language design. Zig makes calling into C code easier than any other language I’ve used. Zig also treats unit testing as a first-class feature, which the C language certainly does not. These t

                                                                                • Hello "Hello world!"

                                                                                  Languages are often judged initially on their "Hello, world!" program. How easy is it to write? To run? How easy is it to understand? It's a very simple program, of course, one of the simplest, even... just produce a little text, and display it, what could be simpler? It's really not fair to judge a language by such a cursory impression, but it can give you an idea of what a language values and ho

                                                                                    Hello "Hello world!"