Why is `scope` planned for deprecation?
via Digitalmars-d
digitalmars-d at puremagic.com
Sun Nov 16 10:52:12 PST 2014
On Sunday, 16 November 2014 at 18:36:01 UTC, Walter Bright wrote:
> You can do anything with a language if it is Turing complete.
That's not the point. If you have to avoid features because they
aren't general enough or have to change the design to fit the
language and not the hardware, then the language design becomes a
problem.
> Be careful you don't fall into kitchen sink syndrome. Add
> enough features, and the language becomes unusable. Features
> are almost never orthogonal, they always interact and interfere
> with each other. This applies to all engineering, not just
> languages. There are no 100% solutions.
I think C is pretty close to a 98% solution for system level
programming. Granted, it relies on macros to reach that.
> For example, D doesn't support multiple inheritance. This is on
> purpose. Yes, some C++ programmers believe D is badly broken
> because of this. I don't at all believe it is unreasonable that
> one should make adaptations in design in order to use a
> language successfully.
>
> After all, D is explicitly designed to be a "pragmatic"
> language.
I am not sure if OO-inheritance and virtual functions are all
that important for system level programming, but generally
features should work across the board if it can be implemented
efficiently. E.g. creating "weird" typing rules due to ease of
implementation does not sit well with me.
Or to put it in more simple terms: figuring out how a programming
language works is a necessary investment, but having to figure
out how a programming language does not work and when is really
annoying.
More information about the Digitalmars-d
mailing list