D3 - Programming in 3D
Chris
wendlec at tcd.ie
Fri Jun 12 13:12:35 UTC 2020
How would you go about D3?
1. Which features would you keep?
2. Which features would you definitely get rid of?
3. What type(s) of memory management would you chose?
4. How would you design Phobos?
5. What restrictions would you impose? (see below)
6. How would you handle backwards compatibility?
7. How would you design the tooling?
8. How would you make it “industry friendly”? (see below)
As to point 5: I know that it’s great to have a lot of freedom (I
know: freedom => responsibility). However, there’s a reason why a
lot of programming languages impose certain restrictions on the
programmer. E.g. if every library is designed differently, it’s
hard to build up a proper ecosystem of libs and reusable code.
There’s the aspect of security too.
As to point 8: it closely ties in with point 7. Approach it from
the point of view of a project manager or a small tech company.
It is important that it is easy to set up and use (IDE,
toolchain) and that it caters for different needs. One of the
first questions will be how well it ties in with other
technologies (e.g. C interop) and if it can easily be ported to
the most common platforms (Android, iOS etc.) and architectures.
It should be as easy as writing a few lines of a CMake file to
cross compile and it should easily interop with the host OS (e.g.
it can be laoded as a dynamic lib out of the box). IMO, this is
something one should think about right from the start and not
leave for later, especially because D already has features that
would facilitate this.
D3 - Programming in 3D
More information about the Digitalmars-d
mailing list