mastodon.ie is one of the many independent Mastodon servers you can use to participate in the fediverse.
Irish Mastodon - run from Ireland, we welcome all who respect the community rules and members.

Administered by:

Server stats:

1.6K
active users

#software_development

0 posts0 participants0 posts today

I've wrote a post about API/driver interface I've designed and implemented for making various devices equipped with OPL soundchip (responsible for that AdLib / SoundBlaster specific sound in old PC games) talk with SCUMMVM on Atari Falcon 030 (,but not only) and little bit about development itself. Some of it was already posted on Atari Forum / YT. nokturnal.pl/2025/07/nokturnfm #atari #scummvm #atarifalcon030 #atarifalcon #ct60 #retrocomputing #software_development #nokturnfm2 #nokturnfm3 #opl3 #opl2

nokturnal.pl[nokturnal] » Blog Archive » NokturnFM goes SCUMMVM

"How is it possible that software gets worse, not better, over time, despite billions of dollars of R&D and rapid progress in tooling and AI?
...
if you neglect the existing users’ experience for long enough they will leave, but in practice apps are sticky and by the time your loyal users leave..."

nothinghuman.substack.com/p/th

Nothing Human · The Tyranny of the Marginal UserBy Ivan Vendrov

Things I love about Go, part 14: Backward and forward compatibility

Backward compatibility has ever been a top priority for Go.

The language and standard library are carefully evolved between releases. New versions of Go work with older codebases seamlessly in nearly all cases. You can update to the latest Go confident your software will compile and run without issue.

Backwards compatibility enables a stable base to build on. Technical debt and rewrite costs are avoided. Compared to other languages, Go takes compatibility seriously to support long-term projects. Knowing your code will continue working with new Go releases is a weight off your shoulders.

And it gets even better. Since Go 1.21, modules can request to be compiled with a particular version of the Go toolchain, and the installed Go command will happily download and use that toolchain. This is a level of backward and forward compatibility other languages can only dream of.

Things I love about Go, part 12: Built-in testing and benchmarking

Testing and benchmarking are built right into Go with the go test command.

Writing unit tests in Go is easy and idiomatic. The testing package provides everything you need for basic tests up to complex mocked objects and code coverage reporting. No need for learning a new domain language: Go tests are written in plain Go.

By making testing ergonomic, Go encourages good development practices like Test-Driven Design (TDD). And the benchmarking tools allow comparing different versions of your code for performance.

With Go, continuous unit testing quickly becomes second nature to you, leading to more confidence in your code and much fewer regressions.

Things I love about Go, part 10: Cross-compiling, static binaries, no VM

Unlike some languages, Go compiles down to static machine code rather than bytecode or being purely interpreted. This means you can trivially build Go programs for many platforms like Linux, macOS, and Windows. There's no need for virtual machines or interpreters. The compiled executables can be linked into C programs too.

Go's cross-platform abilities make deploying and shipping software simple. One binary with no dependencies can run anywhere. Cross-compilation even allows compiling a binary on Windows for Linux, or on Linux for BSD, or on macOS for Windows, without the need for installing toolchains of the target platform. That's a massive advantage for ops and infrastructure management.

P.S. My “Master Go” course is on sale for a limited time only! Don't miss this chance to gopher your dreams (I apologize for the silly pun, or maybe I don't) of becoming a Go ninja at an unbeatable price. Visit appliedgo.com/courses/mastergo before I change my mind on Sep. 16th :)

appliedgo.comMaster GoA comprehensive, self-paced Go (Golang) training with animated videos, text, and exercises. All you need to get going with Go!

Things I love about Go, part 1: “The Boring Language”

Go's simplicity and lightweight syntax make it an easy language to learn and adopt, especially for newer programmers.

Unlike some languages, Go avoids complex features and minimizes bells and whistles. Developing in Go feels like a breath of fresh air, enabling you to focus on solving problems rather than wrestling with the language itself.

Go's simplicity and “boringness” make it the language of choice for mixed teams. Quoting Jonathan Hall, “I can take a group of juniors and seniors and put them together, and they can be productive together, without having to spend months ramping up the juniors to understand all the arcane syntax in a language.”

If you're looking for a modern language that gets out of your way, Go is your choice.