Microsoft working on new systems language

Ola Fosheim Grøstad" <ola.fosheim.grostad+dlang at gmail.com> Ola Fosheim Grøstad" <ola.fosheim.grostad+dlang at gmail.com>
Sun Dec 29 05:15:12 PST 2013


On Sunday, 29 December 2013 at 06:00:31 UTC, Adam Wilson wrote:
> I want to make a point here that many people come to do looking 
> for something that is as performant as C++ with the ease of C# 
> or Java, and for the most part (using LDC/GDC) you get exactly 
> that. This language could convince me to go back to C#.

I think neither Go, D or this language is as performant as 
(skilled use of) C/C++. If the background information is correct, 
this new language is aiming at safe concurrent programming. Just 
like Go. So they apparently use a scheme of making variables 
immutable and isolated and with all global variables immutable… I 
don't think you need to do that in all cases with transactional 
memory now available in new processors. Global variables are fast 
and easy for objects with few interdependencies, with near 
lock-free mechanisms in place, such as CAS and transactional 
memory, this is overkill in many scenarios.

Simple, tight, unsafe, low-level memory-coherent designs tend to 
be faster. Guards as language-level-constructs, local storage 
etc, tend to be slower. But yes, I agree that this language could 
swipe the feet under D and Rust, Go is safe through its 
application domain. D really need some work in the low-level area 
to shine.

D/Rust/Go/this-C#-language all claim to be system levels 
programming languages. I think they are not, as long as C/C++ is 
a better solution for embedded programming it will remain THE 
system level programming language. Which is kind of odd, 
considering that embedded systems would benefit a lot from a safe 
programming language (due to the cost/difficulty of updating 
software installed on deployed hardware).

It doesn't matter if it is possible to write C++-like code in a 
language if the library support and knowhow isn't dominant in the 
ecosystem. (Like assuming a GC or trying too hard to be 
cross-platform).


More information about the Digitalmars-d mailing list