December 28, 2013
On 2013-12-28 18:56, Steve Teale wrote:

> D#? Heaven help us!

Has already been tried. That is, port D to .Net.

-- 
/Jacob Carlborg
December 28, 2013
On Sat, 28 Dec 2013 05:49:33 -0800, Andrej Mitrovic <andrej.mitrovich@gmail.com> wrote:

> On 12/28/13, Andrej Mitrovic <andrej.mitrovich@gmail.com> wrote:
>> Found cached version from HN:
>> http://webcache.googleusercontent.com/search?q=cache%3Ajoeduffyblog.com%2F2013%2F12%2F27%2Fcsharp-for-systems-programming%2F&oq=cache%3Ajoeduffyblog.com%2F2013%2F12%2F27%2Fcsharp-for-systems-programming%2F
>
> Well anyway there's nothing really "meaty" here. They don't say
> whether it's a language which will de-facto run mostly on Windows (of
> course it will be..), the syntax isn't shown, practically nothing is
> shown.

Well he did say the plan is to open-source the whole thing, so ports to other systems (probably by Xamarin) would be easier than the reverse engineering that Mono had to do back in the days of yore. So at least they're headed in the right direction.

-- 
Adam Wilson
IRC: LightBender
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/
December 28, 2013
On Saturday, 28 December 2013 at 16:09:45 UTC, Klaim - Joël Lamotte wrote:
> This is interesting but:
>  - they don't talk about generic code?
>  - it's not clear if their language solves the build time issue C++ have
> (which D solves)
>  - if it's not a totally open language specification, then it's a dead-end
> to me.

In the comments the author (joeduffy) writes:
"we prove programs race-free, and have generics & inheritance."

Interesting!
December 28, 2013
Here is more on Concurrency Safe C#:

http://channel9.msdn.com/Forums/Coffeehouse/Concurrency-Safe-C-from-TSIMidori-team-Joe-Duffy-etc

December 29, 2013
On Sat, 28 Dec 2013 03:13:53 -0800, Barry L. <barry.lapthorn@gmail.com> wrote:

> Hello everyone, first post...
>
> Just saw this:  http://joeduffyblog.com/2013/12/27/csharp-for-systems-programming/
>
> D (and Rust) get a mention with this quote:  "There are other candidates early in their lives, too, most notably Rust and D. But hey, my team works at Microsoft, where there is ample C# talent and community just an arm’s length away."
>

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#. Particularly if it's cross-platform. C# is a solid language that is used by a lot of people. And it is supported by a large corporate entity with mountains of money and a vested interest in making it successful. They can kill bugs and make improvements at a phenomenal pace (look at the job they did with C# 1.0->2.0).

This needs to be a wake up call for the D community. For a long time D has occupied the Programmer Efficient and Safe Native Compiled Language niche more or less unchallenged in any serious way (with a nod to Rust). If Microsoft actually goes through with this (and they will since the .NET runtime is murderous on mobile device battery performance) the argument for D will get much harder to make. Yes we can argue the ideology of one technical bullet point versus another, but that misses the point. The vast majority of programmers pick their languages based not on ideological purity, but on ability to get stuff done quickly. Obviously this is more than just the language, it's also the availability of tutorials and examples. But there isn't much we can do about that at this point. And there is a LOT of things that C# can do that D cannot. Cross-library namespace composability is big on my personal list. Or proper shared libraries. Or, etc.

I know that I wanted out of the Microsoft world for performance and cross-platform reasons. However with this project, especially the interest in cross-platforming it that they seem to be showing, they will have a much easier time getting me back. After all I came from to D from C#, it wouldn't be hard to go back.

So while we're celebrating that D mentioned in an article that made the front-page of reddit (by virtue of it's author being well-respected and the importance of his employer) let us also reflect on what this news most likely means for D. Microsoft can invalidate us almost overnight with mountains money and the size of their community. Yes we got an honorable mention, that also means we're on the radars of people who matter...

-- 
Adam Wilson
IRC: LightBender
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/
December 29, 2013
On 28.12.2013 16:43, Klaim - Joël Lamotte wrote:
> This is interesting but:
>   - they don't talk about generic code?

They use the same model of genericity as .NET, as explained on the original blog entry.

>   - it's not clear if their language solves the build time issue C++
> have (which D solves)

Any language with proper module support solves this problem. C++ reliance on C toolchains is one reason of such issues.

>   - if it's not a totally open language specification, then it's a
> dead-end to me.
>

I don't care, my tool religion discussions are long gone and we use tools requested by customers anyway, not chosen by ourselves.

--
Paulo
December 29, 2013
On 29.12.2013 06:59, Adam Wilson wrote:
> On Sat, 28 Dec 2013 03:13:53 -0800, Barry L. <barry.lapthorn@gmail.com>
> wrote:
>
>> Hello everyone, first post...
>>
>> Just saw this:
>> http://joeduffyblog.com/2013/12/27/csharp-for-systems-programming/
>>
>> D (and Rust) get a mention with this quote:  "There are other
>> candidates early in their lives, too, most notably Rust and D. But
>> hey, my team works at Microsoft, where there is ample C# talent and
>> community just an arm’s length away."
>>
>
> 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#. Particularly if it's cross-platform.
> C# is a solid language that is used by a lot of people. And it is
> supported by a large corporate entity with mountains of money and a
> vested interest in making it successful. They can kill bugs and make
> improvements at a phenomenal pace (look at the job they did with C#
> 1.0->2.0).
>
> This needs to be a wake up call for the D community. For a long time D
> has occupied the Programmer Efficient and Safe Native Compiled Language
> niche more or less unchallenged in any serious way (with a nod to Rust).
> If Microsoft actually goes through with this (and they will since the
> .NET runtime is murderous on mobile device battery performance) the
> argument for D will get much harder to make. Yes we can argue the
> ideology of one technical bullet point versus another, but that misses
> the point. The vast majority of programmers pick their languages based
> not on ideological purity, but on ability to get stuff done quickly.
> Obviously this is more than just the language, it's also the
> availability of tutorials and examples. But there isn't much we can do
> about that at this point. And there is a LOT of things that C# can do
> that D cannot. Cross-library namespace composability is big on my
> personal list. Or proper shared libraries. Or, etc.
>
> I know that I wanted out of the Microsoft world for performance and
> cross-platform reasons. However with this project, especially the
> interest in cross-platforming it that they seem to be showing, they will
> have a much easier time getting me back. After all I came from to D from
> C#, it wouldn't be hard to go back.
>
> So while we're celebrating that D mentioned in an article that made the
> front-page of reddit (by virtue of it's author being well-respected and
> the importance of his employer) let us also reflect on what this news
> most likely means for D. Microsoft can invalidate us almost overnight
> with mountains money and the size of their community. Yes we got an
> honorable mention, that also means we're on the radars of people who
> matter...
>


Well, this is nothing new I would say. Microsoft Research already has been using C# for systems programming in the context of the Singularity
project (Sing#). They just didn't brought the result of their work into mainstream Windows, except for the MDIL compiler used in WP8.

Now with the native political side gaining strength after the Vista fiasco, it is to be expected something like this, if the wind doesn't change again.

A future native C# compiler was also mentioned at VS 2013 release keynote.

--
Paulo
December 29, 2013
On Sun, 29 Dec 2013 00:45:39 -0800, Paulo Pinto <pjmlp@progtools.org> wrote:

> On 29.12.2013 06:59, Adam Wilson wrote:
>> On Sat, 28 Dec 2013 03:13:53 -0800, Barry L. <barry.lapthorn@gmail.com>
>> wrote:
>>
>>> Hello everyone, first post...
>>>
>>> Just saw this:
>>> http://joeduffyblog.com/2013/12/27/csharp-for-systems-programming/
>>>
>>> D (and Rust) get a mention with this quote:  "There are other
>>> candidates early in their lives, too, most notably Rust and D. But
>>> hey, my team works at Microsoft, where there is ample C# talent and
>>> community just an arm’s length away."
>>>
>>
>> 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#. Particularly if it's cross-platform.
>> C# is a solid language that is used by a lot of people. And it is
>> supported by a large corporate entity with mountains of money and a
>> vested interest in making it successful. They can kill bugs and make
>> improvements at a phenomenal pace (look at the job they did with C#
>> 1.0->2.0).
>>
>> This needs to be a wake up call for the D community. For a long time D
>> has occupied the Programmer Efficient and Safe Native Compiled Language
>> niche more or less unchallenged in any serious way (with a nod to Rust).
>> If Microsoft actually goes through with this (and they will since the
>> .NET runtime is murderous on mobile device battery performance) the
>> argument for D will get much harder to make. Yes we can argue the
>> ideology of one technical bullet point versus another, but that misses
>> the point. The vast majority of programmers pick their languages based
>> not on ideological purity, but on ability to get stuff done quickly.
>> Obviously this is more than just the language, it's also the
>> availability of tutorials and examples. But there isn't much we can do
>> about that at this point. And there is a LOT of things that C# can do
>> that D cannot. Cross-library namespace composability is big on my
>> personal list. Or proper shared libraries. Or, etc.
>>
>> I know that I wanted out of the Microsoft world for performance and
>> cross-platform reasons. However with this project, especially the
>> interest in cross-platforming it that they seem to be showing, they will
>> have a much easier time getting me back. After all I came from to D from
>> C#, it wouldn't be hard to go back.
>>
>> So while we're celebrating that D mentioned in an article that made the
>> front-page of reddit (by virtue of it's author being well-respected and
>> the importance of his employer) let us also reflect on what this news
>> most likely means for D. Microsoft can invalidate us almost overnight
>> with mountains money and the size of their community. Yes we got an
>> honorable mention, that also means we're on the radars of people who
>> matter...
>>
>
>
> Well, this is nothing new I would say. Microsoft Research already has been using C# for systems programming in the context of the Singularity
> project (Sing#). They just didn't brought the result of their work into mainstream Windows, except for the MDIL compiler used in WP8.
>
> Now with the native political side gaining strength after the Vista fiasco, it is to be expected something like this, if the wind doesn't change again.
>
> A future native C# compiler was also mentioned at VS 2013 release keynote.
>
> --
> Paulo

Indeed. However, the difference is that, they're going public with it. I mean it's all well and good that they've built native C# compilers before ... but now they're going to let the little people play with one. I've followed native C# compilers since Spec# in Singularity 1. There has never been a real competitor to D that anybody outside of MSR could actually do anything with. That's really my whole point. But it's an important one. Now we have another option for a Safe, Efficient, Native language that you don't have to be a masochist to use. And it's going to evolve much faster than D...

-- 
Adam Wilson
IRC: LightBender
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/
December 29, 2013
On 2013-12-29 06:59, Adam Wilson wrote:

> The vast majority of programmers pick their languages based
> not on ideological purity, but on ability to get stuff done quickly.

I get the feeling most developers pick the default language of the platform they develop for. On Windows that means .Net and most likely C#, on Mac OS X it means Objective-C. I guess that it also means those are the languages which makes it easy do get stuff done quickly for those platforms because that's where the companies invest their money.

-- 
/Jacob Carlborg
December 29, 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).