D now has a dangerous competitor

bauss jj_1337 at live.dk
Wed Aug 29 04:53:59 UTC 2018


On Tuesday, 28 August 2018 at 23:27:09 UTC, Nick Sabalausky wrote:
> On Tuesday, 28 August 2018 at 21:57:28 UTC, solidstate1991 
> wrote:
>> 
>> Thanks to my education, I first wanted to approach every 
>> problems in programming from an object-oriented viewpoint, 
>> since that was the only one we were taught.
>>
>
> Sounds like you were more or less lucky compared to average: 
> For a long while, OOP wasn't just the only thing taught, it was 
> frequent taught specifically to be "the one and only right way."
>
> It's not so much OOP itself that's hated: It's the late 90's 
> early 2000's obsession that OOP is the one right way to do 
> EVERYTHING that gets a lot of (much deserved) hate.
>
> I used to do a lot of OO myself (in fact, Tango was very 
> heavily rooted in OOP design), but the more I use D2 and other 
> things, the more convinced I am that there are just simply 
> better mechanisms (provided the language in question supports 
> them well enough) to get the benefits offered by traditional 
> inheritance-based OOP, without so much of the now-well-known 
> downsides. I'm 90% convinced that an equivalent of traditional 
> Java-style OOP could be constructed out of these meachanisms 
> without too much trouble, and is effectively a subset of them. 
> If I were a grad student, I would totally do a thesis around 
> that.

Honestly C++ did OOP somewhat right, because it wasn't forced 
upon you, but C++ itself has design issues, that I think D has 
solved very well.

D does OOP better than C++, but D is still missing some very 
common OOP patterns.

See: 
https://forum.dlang.org/thread/tjqxslxfxjgliyziznvk@forum.dlang.org

In C#, Java etc. that's a perfectly common pattern. I don't know 
what C++'s behavior is, but I guess it doesn't matter in C++, 
because of friends.


More information about the Digitalmars-d mailing list