Our great sponsors
|8 months ago||about 19 hours ago|
|-||BSD 3-clause "New" or "Revised" 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.
1.18 is released
6 projects | /r/golang | 15 Mar 2022
I already played around a bit wit the beta a while back and made an iterator library to get to know this new language. It's here for anyone interested: https://github.com/polyfloyd/go-iterator
iter: Generic, lazy iterators for Go 1.18
6 projects | /r/golang | 10 Jan 2022
Regarding call chaining, it is still possible to chain things with operations that return different types, but they have to be done with functions instead of methods, so the result is still the same, just it's a little less readable. There is a generic iterator implementation by polyfloyd that doesn't support method chaining, but imo being able to chain iterators is one of their biggest strengths, since implementing lazy evaluation manually for a single operation isn't that difficult, its when you need to perform multiple kinds of manipulations that it gets messy.
Go 1.20.5 is released
2 projects | /r/golang | 7 Jun 2023
Seems like this go runtime deadlock fix didn't get included.2 projects | /r/golang | 7 Jun 2023
If you must read the rest of this document to understand the behavior of your program, you are being too clever. Don't be clever.
2 projects | /r/programmingcirclejerk | 7 Jun 2023
Nothing new in fact, it's part of the culture. There is no "why", just "don't"s - an example among others https://github.com/golang/go/issues/451792 projects | /r/programmingcirclejerk | 7 Jun 2023
Not to worry, at least the Go team itself is still having trouble with its own completely uncheckable locking.
Is there a good place to find best practices?
4 projects | /r/golang | 6 Jun 2023
I usually see and recommend: https://go.dev/talks/2013/bestpractices.slide#1 https://go.dev/talks/2014/readability.slide#1 https://github.com/golang/go/wiki/CodeReviewComments https://about.sourcegraph.com/blog/go/idiomatic-go https://github.com/teivah/100-go-mistakes
Learn x86-64 assembly by writing a GUI from scratch
11 projects | news.ycombinator.com | 1 Jun 2023
Example of assembly in Go source code:
Why no src directory?
3 projects | /r/golang | 31 May 2023
This mother of all things has a dedicated src directory, so it really comes down to each project to choose its own file structure.
Exploring Async PHP
6 projects | dev.to | 31 May 2023
There are many solutions available without requiring PHP 8.1 that have been battle tested, but it's interesting to see the direction the PHP language is going in to compete with the likes of Golang and Elixir, both of which support async programming and have done for years.
Some annoying moments in Golang
3 projects | /r/golang | 30 May 2023
I dislike how the implicit reference-like behavior of slices, maps, channels, and function pointers confuses newcomers to the language. It would be less ergonomic to have to declare them as pointer types, but it would be more clear to readers. The language used to actually do this in its pre-1.0 infancy (example). Everything is passed by value, but the values are pointer themselves to the actual data structures.3 projects | /r/golang | 30 May 2023
Will change in Go 1.21
What are some alternatives?
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
TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
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).
Angular - The modern web developer’s platform
golang-developer-roadmap - Roadmap to becoming a Go developer in 2020
RxGo - Reactive Extensions for the Go language.
crystal - The Crystal Programming Language
sqlc - Generate type-safe code from SQL
rust - Empowering everyone to build reliable and efficient software.
React - The library for web and native user interfaces
Gin - Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.