TinyGo
zig
TinyGo | zig | |
---|---|---|
100 | 845 | |
15,550 | 35,264 | |
0.9% | 1.6% | |
9.5 | 10.0 | |
1 day ago | about 23 hours ago | |
Go | Zig | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
TinyGo
- If Not React, Then What?
- Introduction to the event "TinyGo Keeb Tour 2024"
- TinyGo – A Go Compiler for Small Places
- Cylon: JavaScript framework for robotics, drones, and the Internet of Things
- Gokrazy – Go Appliances
-
A "Tiny" APISIX Plugin
Reading through the documentation, you will understand why this plugin is called "tiny," i.e., the SDK uses the TinyGo compiler instead of the official Go compiler. You can read more about why this is the case on the SDK\'s overview page, but the TLDR version is that the Go compiler can only produce Wasm binaries that run in the browser.
-
What's Zig got that C, Rust and Go don't have? [video]
Not only you can fit Go into a kernel, there is at least two products that do so.
TamaGo, used to write the firmware used in USB armory.
https://www.withsecure.com/en/solutions/innovative-security-...
TinyGo, which even has official Arduino and ARM support, and is sponsored by Google
https://tinygo.org/
Ah but that isn't proper Go! Well neither is the C code that is allowed to be used in typical kernel code, almost nothing from ISO C standard library is available, and usually plenty of compiler specific language extensions are used instead.
-
Show HN: A new stdlib for Golang focusing on platform native support
Reminds me of https://tinygo.org/ - a project that brings Golang to embedded devices, browser (wasm) contexts. Do you converge or diverge from that project?
- TinyGo release 0.29 is out
-
Pico with C
You should also consider TinyGo. It can compile Go for the Pico, and is starting to get good device support.
zig
- Zon – object notation like JSON in Zig
- Linux Syscall Support
-
Zig is everything I want C to be
> will that function also get to return a u8?
No, the main function (the entry point of the entire program) is special cased. Have a look at the source code. There you can see the it's calling the user defined main function and handling its return value / error.
https://github.com/ziglang/zig/blob/2d888a8e639856e8cb6e4c6f...
> Also, what happened to argv/argc?
You can access argv with std.os.argv which is a slice of null terminated strings. It's better to go with std.process.argsAlloc though (requires an allocation but works on all supported platforms).
-
Introduction to Zig (a project-based book)
I'm a bit hesistant to mentally invest in Zig, given the maintainers choice to directly develop against a mostly undocumented NT-API instead of the Win32 API.
[1]: https://github.com/ziglang/zig/issues/1840
-
Huly – Open-Source All-in-One Project Management Platform
Interestingly, Huly is also the sponsor of the Zig programming language[1].
[1]: https://ziglang.org/
-
Pledging $300k to the Zig Software Foundation
> And there's also the aliasing issue
Plans to address this were shared just last week: https://github.com/ziglang/zig/issues/5973#issuecomment-2380...
-
One must imagine Sisyphus writing a new JS framework
You crave the simplicity of C, but miss modern features and a nice build system? You got Zig
-
The Python Package Index Should Get Rid of Its Training Wheels
I raise you https://github.com/ziglang/zig/issues/20875
It is not entirely clear what any of this means, and in any case, it keeps changing all the time.
-
Don't defer Close() on writable files
Arguably, one should call `flush()` on the file first. Resource allocation must always succeed; otherwise a lot of invariants break. This is why Zig's close method[0] ignores errors (with the exception of `EBADF`).
[0]: https://github.com/ziglang/zig/blob/fb0028a0d7b43a2a5dd05f07...
- Zig: Prefer depending on NtDll rather than kernel32 or other higher level DLLs
What are some alternatives?
MicroPython - MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
go - The Go programming language
Odin - Odin Programming Language
micropython-ulab - a numpy-like fast vector module for micropython, circuitpython, and their derivatives
v - Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io
awesome-micropython - A curated list of awesome MicroPython libraries, frameworks, software and resources.
rust - Empowering everyone to build reliable and efficient software.
PlatformIO - Your Gateway to Embedded Software Development Excellence :alien:
zephyr - Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
ssr-proxy-js - A Server-Side Rendering Proxy focused on customization and flexibility!