www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - A question about system language

reply "SteveGuo" <steveguo outlook.com> writes:
D is a system language. I noticed that D support os like win32 
via standard library.

But I want to know why D was designed to be a system language? 
Why D wasn't designed as a non-system language? Is there any 
reason?
Aug 02 2013
parent reply "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Sat, Aug 03, 2013 at 12:51:11AM +0200, SteveGuo wrote:
 D is a system language. I noticed that D support os like win32 via
 standard library.
 
 But I want to know why D was designed to be a system language? Why D
 wasn't designed as a non-system language? Is there any reason?
Why is it a bad thing for it to be a systems language? :) T -- Truth, Sir, is a cow which will give [skeptics] no more milk, and so they are gone to milk the bull. -- Sam. Johnson
Aug 02 2013
parent reply "SteveGuo" <steveguo outlook.com> writes:
 Why is it a bad thing for it to be a systems language? :)


 T
I'm just a little bit worry about, when new os borns, D has to support it, time goes by, D will become another overstuffed C++?
Aug 02 2013
next sibling parent "Tofu Ninja" <emmons0 purdue.edu> writes:
On Friday, 2 August 2013 at 23:51:22 UTC, SteveGuo wrote:
 Why is it a bad thing for it to be a systems language? :)


 T
I'm just a little bit worry about, when new os borns, D has to support it, time goes by, D will become another overstuffed C++?
I think it is more of a matter of writing compilers that can support a new os rather than changing the language to support it
Aug 02 2013
prev sibling next sibling parent "Peter Alexander" <peter.alexander.au gmail.com> writes:
On Friday, 2 August 2013 at 23:51:22 UTC, SteveGuo wrote:
 I'm just a little bit worry about, when new os borns, D has to 
 support it, time goes by, D will become another overstuffed C++?
This is true of every non-trivial language, regardless if it's a systems language. The JVM, for example, will not just magically run on a new platform.
Aug 03 2013
prev sibling parent "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Sat, Aug 03, 2013 at 01:51:17AM +0200, SteveGuo wrote:
Why is it a bad thing for it to be a systems language? :)


T
I'm just a little bit worry about, when new os borns, D has to support it, time goes by, D will become another overstuffed C++?
C++'s problems aren't all because of OS compatibility. There are many language-level issues and design decisions like backward-compatibility with C that, although it helped adoption in the short term, greatly hurt the language in the long term. C++ had a lot of good ideas, but backward compatibility with C became a big obstacle to doing things in a clean way. As a result, you have bandages upon bandages upon workarounds, and eventually C++ became to huge that I don't know if even Stroustroup himself knows the entire language without looking it up in the specs. Java also supports many OSes, but that hasn't affected it very much, mainly because Java welds the hood shut so that it's very hard for you to actually interact with the host OS. This causes a lot of performance issues which cannot be fixed without breaking portability (by using JNI) or until an interfacing library has been officially adopted and implemented on your target OS. In D, you can freely interact with your host OS if you so wish, but you can also use libraries that abstract away the details of the OS so that the same code can run anywhere (in theory, anyway -- even Java hasn't really fulfilled the promise of "write once, run anywhere" -- it's more like "write once, debug everywhere"). D is all about choice. :) T -- Music critic: "That's an imitation fugue!"
Aug 02 2013