go
crystal
go | crystal | |
---|---|---|
2,158 | 241 | |
123,364 | 19,409 | |
0.9% | 0.4% | |
10.0 | 9.8 | |
6 days ago | about 7 hours ago | |
Go | Crystal | |
BSD 3-clause "New" or "Revised" License | Apache License 2.0 |
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
- Testing adding fuzz test support (2021)
-
What Language Should I Choose?
So let's say you want to do web development, you watched some YouTube's and all the cool kids are using React and Next.JS, maybe you decided you would go another route like Golang with HTMX. Whatever it is, you have inadvertently joined a cult, welcome!
-
Running WolfSSL and Curl on Windows 2000
Given that the author explicitly is targeting Windows 2000 as a starting point with the goal of reaching Windows 95(!) -
> While I'm currently getting things running on Windows 2000 Professional SP4, I'd like to get this working on Windows 95 and 98 too. To that end, I'll be using Visual Studio.NET 2003, which was the last version to support Windows 95. I'm also building everything in Windows 2000, but that part's optional.
- I would say Go is completely irrelevant, since AFAICT as of https://github.com/golang/go/issues/57003 it only supports... Windows 8+? It's actually really hard to find an official answer to what platform versions are supported, but I think we can rule out this particular usecase.
-
π Golang Guide
Visit the official Go website and download the appropriate version for your operating system. Follow the installation instructions provided.
-
Fun with Go Iterators
It is a consequence of (a) Go's implicit relationship between a concrete type and the interfaces it implements and (b) Go's "heterogenous" translation of generics (like C++, unlike Java). Together, this means you can't know which methods you need a priori. All proposed solutions to date essentially compromise on (a) by limiting the generic "implements" relation to things known at build time, or on (b) by making generic methods "homegenous" (aka boxed) and thus slow.
See https://github.com/golang/go/issues/49085#issuecomment-23163... for an example of the latter.
-
Concurrency patterns in Go; worker pools and fan-out/fan-in
Go is known for its exceptional concurrency model, but many developers focus only on goroutines and channels. However, concurrency patterns like worker pools and fan-out/fan-in provide real efficiency.
-
SwissTable: A High-Performance Hash Table Implementation
In 2022, ByteDance proposed an issue recommending that Golang adopt SwissTable for its map implementation. In 2023, Dolt published a blog post titled SwissMap: A Smaller, Faster Golang Hash Table, detailing their design of a swisstable, which garnered widespread attention. The Go core team is reevaluating the swisstable design and has added some related code in the runtime. With some free time during the holidays, let's delve deeper into the principles, compare it to the runtime map, and understand why it might become the standard for map implementation.
-
Some Go web dev notes
https://github.com/golang/go/issues/54380
I didn't know about that. I agree it qualifies as a "weird issue".
-
The perils of transition to 64-bit time_t
Exactly. This is also highly problematic if you try to perform atomic operations against bare 64 bit integers on those systems, because the atomic instructions do require them to be 8 byte aligned. In C11 and later itβs not an issue, because _Atomic(int64_t)βs alignment may be stricter than int64_t.
This was also an issue in Go, because it tries to use the same alignment rules as C to make cgo work. There they also solved it by adding dedicated atomic types.
https://github.com/golang/go/discussions/47141
- gRPC: onde vive? o que come?
crystal
-
Notes on the Crystal Language
Temp file issue is debunked here: https://news.ycombinator.com/item?id=41684848
Dir module works fine, though maybe the docs could be improved. https://crystal-lang.org/api/1.13.3/Dir.html . The stdlib code is also highly readable: https://github.com/crystal-lang/crystal/blob/d14d04562/src/d... shows that #each_child just calls #read and yields it to the block, so I don't think this is really a wart :)
- A Language for Humans and Computers
-
Top Paying Programming Technologies 2024
27. Crystal - $77,104
-
Crystal 1.11.0 Is Released
I like the first code example on https://crystal-lang.org
# A very basic HTTP server
- Is Fortran "A Dead Language"?
- Choosing Go at American Express
- Odin Programming Language
- I Love Ruby
-
Ruby 3.3's YJIT: Faster While Using Less Memory
Obviously as an interpreted language, it's never going to be as fast as something like C, Rust, or Go. Traditionally the ruby maintainers have not designed or optimized for pure speed, but that is changing, and the language is definitely faster these days compared to a decade ago.
If you like the ruby syntax/language but want the speed of a compiled language, it's also worth checking out Crystal[^1]. It's mostly ruby-like in syntax, style, and developer ergonomics.[^2] Although it's an entirely different language. Also a tiny community.
[1]: https://crystal-lang.org/
-
What languages are useful for contribution to the GNOME project.
Crystal is a nice language that's not only simple to read and write but performs very well too. And the documentation is amazing as well.
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
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
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).
Elixir - Elixir is a dynamic, functional language for building scalable and maintainable applications
mint-lang - :leaves: A refreshing programming language for the front-end web
Angular - Deliver web apps with confidence π
Odin - Odin Programming Language
golang-developer-roadmap - Roadmap to becoming a Go developer in 2020