Slightly off topic:
Is D a good language for creating tiny windows or Linux executables?
There is an upcoming game jam (4mb jam 2025) which gives extra points for game submissions <= 8KB.
With c you can fit a window with graphics update in an executable of less than 900 bytes[0]. Granted it's using crinkler for linking which does some compression.
Instead of being an ass, maybe you can take the time to educate me why you think I'm wrong?
I think that at least the garbage collection not being available qualifies my statement as somewhat being true. For game development, as it's closer to what grand-parent asked, classes not being usable would also be an issue...
For game development? I imagine having to use only structs but not classes would be something that forces a "non idiomatic D" experience. Dynamic arrays sound like something that's very useful for a game. I don't know, there are plenty of features that are incompatible with better C that makes D, D. Generally speaking, garbage collection would be the biggest in my opinion.
I fully agree with you, but I think that if you present it as an option to somebody you should write a line or two about the potential downsides, so they have a better picture. Sorry if I was too abrupt in my criticism of your post. :)
Though no further work is being done on the original and the FLOSS forks aren't ready yet (soldank++ and opensoldat) the game is still playable on modern PCs and even free on steam ;)
(Disclaimer: former maintainer)
In the meantime the repository moved to: https://github.com/opensoldat/opensoldat
After MM sold the game to someone else I felt like it would be better to make sure the name is different as the new owner had different plans and did not want to continue releasing the source code.
Later someone unknown hijacked the original url and copied an outdated version of the repository (you can see the mention of OpenSoldat.)
Adding all the words to the top of each file[0] and saving every file resolved it for me. Just need to pay attention to not change the casing when modifing/adding code.
0: https://gist.github.com/ske2004/336d8cce8cd9db59d61ceb13c1ed...