https://twitter.com/markrussinovich/status/15719951172335042...
1,546 karma · joined September 18, 2017
https://twitter.com/markrussinovich/status/15719951172335042...
I like C++, and tooling has come a long way, but it’s so much easier to download rust/Python/node and you’re basically set on every platform & immediately ready to go. NOW consider pay, and even someone enthusiastic about programming C++ will reconsider.
If you're curious to see a large Zig codebase, two significant projects are Bun [1] and TigerBeetle [2].
Side Note: Why don’t I ever hear about Nim anymore??? It’s version 1.68 (and presumably stable), has very approachable syntax, claims great performance, provides a package manager, and allows the GC to be turned off (much like Dlang). What gives?
I recall a while back John Carmack tweeted about writing some project in Racket & it’s been vaguely on my radar lately.
The only issue is that there’s a lot of really high quality work out there! It’s hard to be picky.
[1] https://youtube.com/playlist?list=PLy68GuC77sUTyOUvDhVboQoOl...
[1] http://www.raytracerchallenge.com/#bonus
[2] https://raytracing.github.io/
I also recommend this same exercise to others through the book "The Ray Tracer Challenge" [1] by Jamis Buck, because it describes an entire implementation of a raytracer in pseudocode. Beginners mostly just need to plug-in their language of choice & still end up with a satisfying visual result. Experienced programmers can extend it by adding the ability to load non-trivial .obj models, which will necessarily motivate adding concurrency, bounding volumes, & other general performance improvements.
I'm planning on tackling it again in Elixir soon, which should be fun & interesting.
EDIT: Almost forgot to mention the free bonus chapters [2] that get you started on bounding volumes (AABB), soft area lights, and texture mapping.
[1] https://pragprog.com/titles/jbtracer/the-ray-tracer-challeng...
[1] https://keeb.io/collections/iris-split-ergonomic-keyboard
They're both equally performative & inauthentic.