Discussion: Porting 58000 lines of D and C++ to jai, Part 0: Why and How
ryuukk_
ryuukk.dev at gmail.com
Wed Nov 23 21:17:42 UTC 2022
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
```D
// 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
More information about the Digitalmars-d
mailing list