Sealed classes - would you want them in D?

Jonathan M Davis newsgroup.d at jmdavisprog.com
Tue May 15 21:05:10 UTC 2018


On Tuesday, May 15, 2018 12:21:23 Dlang User via Digitalmars-d wrote:
> On 5/15/2018 10:17 AM, aliak wrote:
> > On Tuesday, 15 May 2018 at 13:16:55 UTC, 12345swordy wrote:
> >> The way you use the word "leak" make is sounds that this is
> >> unintentional, while in reality it is intentional by design. That why
> >> reading the specification is important!
> >>
> >> Alexander
> >
> > Ya I guess you be right - but a leak is what it is to people who expect
> > private to mean private. Which is not a small number of people ;)
> >
> > And while I agree reading a spec is important. Language specs are not
> > known for being trivial to go through and it's not really something you
> > read but more of something you refer to, and that also probably for more
> > advanced developers. This is not something you can expect newcomers or
> > even intermediate level devs to go through. And the less you need to
> > refer to a spec the better (i.e. more intuitive) a language is.
>
> I concur with that.  When I first started learning D (coming from a C#
> background), I figured that I already knew all of the OOP stuff and
> didn't dig too deeply into it, figuring that it worked pretty close to
> the same as C#.  It did catch me off guard when I first realized how it
> really worked in D.  But the work around (putting it in its own module),
> seemed pretty trivial and is what I typically do in C# anyways, so it
> didn't bother me too much.

I think that if there's an actual problem here, it's the fact that how
private works in D is surprising to folks coming from languages like C++,
C#, or Java. IMHO, D's approach works extremely well, but if you don't
understand what it is, you risk problems, just like with any other feature
that you don't understand properly. And to better deal with that, we
probably need more in the way of documentation geared towards teaching
newbies. The "spec" is pretty poor in that it's not precise enough to be a
spec, meaning that it doesn't really do its job in that respect, but it's
also not really written with the idea that it's teaching someone, so it
doesn't do a great job teaching the language either. There's a lot of great
information there, but it's ultimately not all that accessible for many
folks.

Though if someone expects to be able to just jump into any language and use
it without reading up on how it works, they're just shooting themselves in
the foot. And surprisingly often, that seems to be how many folks operate.

Ultimately, if newcomers don't want to be tripped up on stuff like this,
their best bet is probably to read books like Andrei's "The D Programming
Language" and Ali's "Programming in D."

https://wiki.dlang.org/Books

- Jonathan M Davis



More information about the Digitalmars-d mailing list