On Wednesday, 23 November 2022 at 17:20:54 UTC, Kyle Ingraham wrote:
> Hi all. I came across this article on Hacker News: https://www.yet-another-blog.com/porting_the_game_to_jai_part0/
I’m interested in reading your thoughts on the ‘Why not D’ section. Anyone have experiences that match the specific points there? I haven’t experienced them but I also don’t debug on Windows. I also find D’s documentation to be excellent.
I’m super-positive on D but also interested in whether there are others with the same issues as the article’s author.
Some valid criticisms, specially regarding to debugging, it has improved so there is that
> Reducing noise in the code due to various syntax improvements
This one i agree too, it's nice when the language allows you to be expressive without being noisy
The Enum Type Inference DIP is a move in the right direction imo
> Replacing build-scripts with jai code
I also like that idea, i wonder if dub could support something like it, at the end of the day, dub just parse a json into a struct
// build.d
import dub;
void build(Builder* builder)
{
builder.target_type = .exe;
builder.target_name = "game";
auto config = builder.create_configuration("config_a");
config.(..)
config.prebuild_commands ~= () {
// do stuff
};
}
And then dub could just run that function directly instead of parsing a json
> Reducing compile times from about 60s right now to under 5s, hopefully around 1s
This one i find suspicious and very surprising
My 30+k LOC game rebuilds fully in just 1.2 sec, i don't touch phobos and i'm light on templates
On picks D because it's fast at compilation, so by the time it reaches 60s i wonder why he didn't think there is a problem somewhere before... like at 2-5 seconds it already is slow, at that time you need to guess that the code you wrote is cat piss and it is time to reflect on what you are doing..
I suggest that autho to stick to D for fast iteration and to ping the forum whenever there is a bug that's blocking you...
That's why it's important to be pro active, most users won't complain about issues, they'll just move on..
Programming languages should:
- be easy to debug out of the box
- be easy to write/read without being verbose
- be fast at compilation
- be fast at runtime
Once my game will be at a visually pleasant state, i'll write a proper blog post, i'll prove these people wrong