Improve the OOP ABI

Jonathan M Davis newsgroup.d at jmdavisprog.com
Mon Oct 2 02:33:44 UTC 2023


On Saturday, September 30, 2023 6:21:48 PM MDT ryuukk_ via Digitalmars-d 
wrote:
> On Thursday, 28 September 2023 at 12:42:04 UTC, deadalnix wrote:
> > D having more feature than most language, adding feature is
> > clearly not where the impact is.
>
> I agree, however let us not get side tracked
>
> Asking for pattern matching? it's not new feature, it's improving
> ``switch``
>
> Asking for tagged union? it's not new feature, it's improving
> ``enum``
>
> However, you are wrong at expecting an impact for D by improving
> OOP, nope, D needs to improve the non-OOP story, more OOP is
> repulsive, specially for system languages

If they're not what the language currently does, it's still a new feature.
They may be features that you want, and they may even be much easier to add
than many other features, but they're still not currently part of the
language.

The main point here is that there are a number of features that we already
have which are not implemented as well as they could be, which sometimes
results in bugs, and sometimes results in performance issues. Ideally, we
would be making sure that what we already have works as advertised and
performs well, and in general, issues with language features that we already
have are far more likely to cause problems than the fact that we're missing
a particular feature that someone might want.

New features can definitely improve the language, but we also need to make
sure that what we already have is solid. And arguably, the focus is often
too much on adding a feature that some particular subset of the community
thinks is a "must-have" and not enough on improving what the language
already does. And in large part, it's backlash over issues caused by not
focusing enough on stability and improving what we already have which has
led to the D foundation deciding to temporarily freeze the DIP process and
focus more on bug fixing first.

We're still going to be getting new features, but when we can identify
issues like the one that Deadalnix has brought up here, we really should be
trying to fix them. And while OOP is not as large a focus in D as it is in
many other programming languages, it's still a paradigm that D supports and
many programs use. So, if we can speed it up, that's definitely a win for
the language. And since the runtime uses classes, it could actually speed up
D programs that generally avoid OOP. And since the compiler uses classes, it
might even speed up compilation times, which is a win for everyone.

- Jonathan M Davis





More information about the Digitalmars-d mailing list