Live data from Hacker News

D Language accepted for inclusion in GCC

gcc.gnu.org

221–230 of 235 posts

Re: D Language accepted for inclusion in GCC

#221

Earlier quoted context omitted.

Plus betterC and gpu target.

betterC isn't quite ready yet, but I expect it to be game-changing. The DCompute project (supporting GPUs with D) is a huge deal, too.

Yeah, I'm looking forward to getting DCompute into orbit.

Re: D Language accepted for inclusion in GCC

#222
post #170

Earlier quoted context omitted.

Go is more a better Python. Even simpler syntax. Types and compiles to native (as they are all the fashion now). Rust is the best bet we have at a better C (and a better low-level C++). High level C++ competes with D and Go. Rust is a little too specifically targetted at the low level "systems" programming.

Go has far more in common with Java than it does with python. Arcane APIs that are incredibly difficult to use correctly while having a very simple base language.

I found the Go APIs I have worked with far more simple and idiomatic than any Java libraries I have worked with (which is admittedly not a lot).

It is, to a degree a matter of taste, of course, but Go APIs tend to be rather simple, whereas Java libraries seem to often have FileOpenDialogStyleTemplateProcessorFactoryFactory-type interfaces.

The major problem I have with Go currently is lack of function overloading, which means you either have to convert your data around a lot or have many similar functions for different data types that do the same thing (basically), but have different names.

I think the comparison with Python is quite fitting, because both languages encourage a certain way to think about and implementing things. For Python it's called pythonic, in Go it's called idiomatic.

Re: D Language accepted for inclusion in GCC

#223
post #174
post #107

Earlier quoted context omitted.

> I'm not really sure that they target C++ or aim to replace it, unlike D. The evolution of both Go's and Rust's strategies as "replacement" languages is actually pretty interesting. While Go's official marketing no longer calls it a systems language, the use of that phrase when Go was originally released does indicate that that they envisioned Go to be a "better C" in a sense (perhaps specifically in the sense of be…

> old versions of Rust absolutely intended to replace C++ is that true? Old versions of Rust looked like Go, IMO.

Indeed, but as I say in my comment, Go originally foresaw itself replacing C++ as well. The idea that one needed to add a runtime in order to "replace" C++ stems back to the original (and massively successful!) C++ replacement: Java.

Re: D Language accepted for inclusion in GCC

#224
post #149

Earlier quoted context omitted.

D is like Go if Go had actually been a "systems" programming language. Rust is difficult to compare to other stuff.

Go is still a systems programming language, in the original sense of how Rob Pike explained it in the introductory presentation video about Go from 2009.

and I'm a professional basketball player in the way I explained it to my 8th grade class

Re: D Language accepted for inclusion in GCC

#225

Earlier quoted context omitted.

Plus betterC and gpu target.

betterC isn't quite ready yet, but I expect it to be game-changing. The DCompute project (supporting GPUs with D) is a huge deal, too.

If it is betterC and not betterC++ then it will be a game-changer.

Re: D Language accepted for inclusion in GCC

#226
post #57

Silly me, I was under the impression that gdc was already part of gcc... Well, so at least now I am no longer mistaken. ;-) I have tried to learn D repeatedly over the last couple of years, but I was usually scared off by how complex this language is. Even so, the syntax is far cleaner than C++[1]. Also, the last time I gave it a try, something finally clicked. I am not all there yet, but I am beginning to like it. T…

I was pleased to see that C++ finally gave up on trigraphs.

From a language-user point of view, Trigraphs are an arcane but irrelevant feature, insofar as ignoring them or even being unaware of them won't cause any harm. [I only happen to know what a trigraph is because I read a lot and have a brain that randomly holds on to pieces of information with an iron grip.]

Never having written a compiler, I can only imagine how tedious supporting those must have been; and I would be willing to bet that trigraphs weren't even used much, because, among other reasons, hardly anyone knew of them, so it must have been really frustrating for people to support them. An Exercise in futility.

Re: D Language accepted for inclusion in GCC

#227
post #214

Earlier quoted context omitted.

I don't think a "better Python" can be statically typed - dynamic typing, and all the associated runtime tricks that you can do with it, is kinda part of what makes Python distinctive (whether for good or bad, opinions differ there).

Go has this "interface" thing which lets you do duck-typing, and it's checked at run-time, as the types in Python.

This is consumer-side duck typing. Python also provides producer-side duck typing - you can make any of your objects a duck dynamically, by making them behave like a duck at runtime. I'm not aware of anything similar in Go wrt interfaces.

Re: D Language accepted for inclusion in GCC

#228
post #148
post #107

Earlier quoted context omitted.

> I'm not really sure that they target C++ or aim to replace it, unlike D. The evolution of both Go's and Rust's strategies as "replacement" languages is actually pretty interesting. While Go's official marketing no longer calls it a systems language, the use of that phrase when Go was originally released does indicate that that they envisioned Go to be a "better C" in a sense (perhaps specifically in the sense of be…

> While Go's official marketing no longer calls it a systems language, the use of that phrase when Go was originally released does indicate that that they envisioned Go to be a "better C" in a sense Rob Pike uses the phrase within the first 5 minutes or so of the very first presentation video announcing Go, and explicitly mentions that they mean "systems" in the sense of webservers and the like. Since then, Go being…

I don't think web servers clarifies much, though. The most important web servers (Apache, nginx, ISS, etc.) are all written in C or C++, and they try to squeeze out every bit of performance they can. I guess we're talking about applications communicating over HTTP, but that's not my first thought when I hear someone talking about web servers without any more context.

(I'm aware of Caddy, but my understanding is that it's aiming for ease of use over performance.)

Re: D Language accepted for inclusion in GCC

#229
post #217

Earlier quoted context omitted.

I think I'd rather not have GC in my OS. Oberon was a pretty small language, so perhaps the pauses were more acceptable.

It even supported live video editing. Pauses weren't an issue for users' productivity.

I'd have to know more details to see y that's not a problem. Vastly superior code, or just a very lightweight system.. I dunno.

Re: D Language accepted for inclusion in GCC

#230
post #74

This is basically the work of one tireless man; Iain Buclaw. Many thanks to him for putting in so much time and energy into this. It took 6 years from first submission to get it in. Here are the slides from his 2017 DConf talk about the work that went into making this happen: http://dconf.org/2017/talks/buclaw.pdf

Just goes to show how one person, with relentless persistence, can still make a huge difference these days. Congratulations, Iain!

It's pretty true that one visionary can make a difference in any field. The rest are just man powers.
Post reply on HN