go
v
go | v | |
---|---|---|
2,266 | 233 | |
127,772 | 36,340 | |
0.8% | 0.3% | |
10.0 | 9.9 | |
6 days ago | 5 days ago | |
Go | V | |
BSD 3-clause "New" or "Revised" License | 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.
go
- Pkg.go.dev Is Down
-
Tracking Postgres "fsyncs" with bpftrace
The script for making the fsync call is written in Golang here
- Too Much Go Misdirection
- Green Tea: an experimental, memory-aware garbage collector for Go
- Proposal: Net/HTTP: Add CrossOriginForgeryHandler
-
Rust Dependencies Scare Me
> (because it does not allow writing sufficiently fast code in this area at this moment)
I don't think that's why. Or at least, I don't think it's straight-forward to draw that conclusion yet. I don't see any reason why the lazy DFA in RE2 or the Rust regex crate couldn't be ported to Go[1] and dramatically speed things up. Indeed, it has been done[2], but it was never pushed over the finish line. My guess is it would make Go's regexp engine a fair bit more competitive in some cases. And aside from that, there's tons of literal optimizations that could still be done that don't really have much to do with Go the language.
Could a Go-written regexp engine be faster or nearly as fast because of the language? Probably not. But I think the "implementation quality" is a far bigger determinant in explaining the current gap.
[1]: https://github.com/golang/go/issues/11646
[2]: https://github.com/matloob/regexp
- Proposal: Add bare metal support to Go
- Runtime: Green tea garbage collector (Go)
- Go 'green tea' garbage collector
v
-
Migrating Away from Rust
Another language with such features, including sumtypes, is V (Vlang)[1].
[1] https://github.com/vlang/v/blob/master/doc/docs.md#sum-types
- TUI editor and Vim/Neovim alternative
- Vlang 0.4.1 Released
-
The Pain That Is GitHub Actions
We recently migrated from YAML CI to VSH as well:
https://github.com/vlang/v/blob/master/ci/linux_ci.vsh
-
Zig's Comptime Is Bonkers Good
Zig is also not the only language that has interesting compile-time features. V (Vlang)[1] and D (Dlang) (among others), has them too. It's kind of weird that this is promoted so much with Zig, as if other languages don't have a lot of this.
[1]: https://github.com/vlang/v/blob/master/doc/docs.md#compile-t...
- Vlang: 12x speed up achieved using parallel C back end's production builds
-
Mantis, a web framework written in V
An integrated ORM with database migrations
- V -prod is now 12 times faster on a 14 core CPU due to parallelization
-
Lies we tell ourselves to keep using Golang
What is quite interesting (after looking at their documentation), is that V lang[1] has all that is mentioned: `?`[2], `or`[2], sum types[4], and can return multiple values[5].
[1]: https://vlang.io/
[2]: https://github.com/vlang/v/blob/master/doc/docs.md#optionres...
[3]: https://github.com/vlang/v/blob/master/doc/docs.md#sum-types
[4]: https://github.com/vlang/v/blob/master/doc/docs.md#returning...
- V programming language – Releases 0.4.7
What are some alternatives?
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
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).
Odin - Odin Programming Language
TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.