July 11, 2016
On Monday, 11 July 2016 at 11:59:51 UTC, Ola Fosheim Grøstad wrote:
> Just go look at what people who gave up on D claim to be a major reason, the GC scores high...

and most of those people never even started to use D. took a brief look, maybe wrote "helloworld", and that's all. it doesn't matter in this case which reason made 'em "turn away". if not GC, it would be something another: they just wanted their Ideal Lanugage, and found that D is not. those people just can't be satisfied, 'cause they are looking for something D isn't at all.

D *can* be used without GC. and it will still be "better C". it still will be less painful than C, but this is the price of doing "low-level things". or it can be used on a much higher level, where GC doesn't really matter anymore (and actually desirable).
July 11, 2016
On Sunday, 10 July 2016 at 18:53:52 UTC, Jacob Carlborg wrote:
> On OS X when an application segfaults a crash report will be generated. It's available in the Console application.

Doesn't seem to work for me on 10.11.5. Maybe you need to enable that on the latest OSes? In any case, that will probably get you a mangled stack trace, right? It would still be useful (especially if the stack trace if correct, in LLDB I get some crappy ones sometimes) but it would not be as convenient as the stack trace on Windows generated by the druntime.
July 11, 2016
On Monday, 11 July 2016 at 11:59:51 UTC, Ola Fosheim Grøstad wrote:
> On Monday, 11 July 2016 at 09:30:37 UTC, Chris wrote:
>> Lisp or SmallTalk)[1]. D couldn't have afforded not to have GC when it first came out. It was expected of a (new) language to provide GC by then - and GC had become a selling point for new languages.
>
> This is not true, it is just wishful thinking. D was harmed by the GC, not propelled by it. I am not missing any point, sorry. Just go look at what people who gave up on D claim to be a major reason, the GC scores high...


No. Having GC attracts more users, because they either explicitly want it of they don't care for the overhead. To have GC was definitely a good decision. What was not so good was that it was not optional with a simple on/off switch. Neither was it a good idea not to spend more time on ways to optimize GC, so it was comparatively slow.

Keep in mind that the no GC crowd has very specialized needs (games, real time systems). Then again, to win this crowd over from C/C++ is not easy, regardless. And ... let's not forget that GC is often used as a handy excuse not to use D. "You don't use D because of a, b, c or because of GC?" - "Yeah, that one."

I bet you that if D hadn't had GC when it first came out, people would've mentioned manual memory management as a reason not to use GC. I never claimed that D was _propelled_ by GC, but that it was a feature that most users would expect. Not having it would probably have done more harm than having it.

By the way, have you ever designed a language, I'd love to see how it would look like ;)

[snip]
July 11, 2016
> I bet you that if D hadn't had GC when it first came out, people would've mentioned manual memory management as a reason not to use GC. I never claimed that D was _propelled_ by GC, but that it was a feature that most users would expect. Not having it would probably have done more harm than having it.
>
> By the way, have you ever designed a language, I'd love to see how it would look like ;)
>
> [snip]

s/not to use GC/not to use D
July 11, 2016
On Monday, 11 July 2016 at 12:18:26 UTC, ketmar wrote:
> and most of those people never even started to use D. took a brief look, maybe wrote "helloworld", and that's all. it

Where do you get this from? Quite a few D programmers have gone to C++ and Rust.

> D *can* be used without GC. and it will still be "better C". it still will be less painful than C, but this is the price of doing "low-level things".

 C is primarily used for portability/system support/interfacing or because you have an existing codebase. Even Microsoft's is now using higher level languages than C in parts of their system level code (operating system).

Btw, C has changed quite a bit, it is at C11 now and even have "generics"... but I doubt many will us it. C is increasingly becoming a marginal language (narrow application area).
July 11, 2016
On Monday, 11 July 2016 at 13:24:14 UTC, Chris wrote:
> I bet you that if D hadn't had GC when it first came out, people would've mentioned manual memory management as a reason not to use GC. I never claimed that D was _propelled_ by GC, but that it was a feature that most users would expect. Not having it would probably have done more harm than having it.

Actually, I am certain that GC is a feature that _nobody_ would expect from a system level language, outside the Go-crowd.

> By the way, have you ever designed a language, I'd love to see how it would look like ;)

Most programmers have designed DSL, so yes, obviously. If you are talking about a general purpose language then I wouldn't want to announce it until I was certain I got the basics right, like memory management.

July 11, 2016
On Monday, 11 July 2016 at 13:24:14 UTC, Chris wrote:
> ...
> To have GC was definitely a good decision. What was not so
> good was that it was not optional with a simple on/off switch.
> ...

I know that I'm missing something here, but what's wrong with the functions provided in core.memory?  Specifically, GC.disable()?
July 11, 2016
On Monday, 11 July 2016 at 14:02:09 UTC, Ola Fosheim Grøstad wrote:
> On Monday, 11 July 2016 at 13:24:14 UTC, Chris wrote:
>> I bet you that if D hadn't had GC when it first came out, people would've mentioned manual memory management as a reason not to use GC. I never claimed that D was _propelled_ by GC, but that it was a feature that most users would expect. Not having it would probably have done more harm than having it.
>
> Actually, I am certain that GC is a feature that _nobody_ would expect from a system level language, outside the Go-crowd.

Most certainly from a multi-purpose language. GC would have been demanded sooner or later. The mistake was not to make it optional from the beginning.

You focus on a small niche where people use all kinds of performance tricks even in C and C++. A lot of software doesn't care about GC overheads, however, and without GC a lot of people wouldn't even have considered it.

>> By the way, have you ever designed a language, I'd love to see how it would look like ;)
>
> Most programmers have designed DSL, so yes, obviously. If you are talking about a general purpose language then I wouldn't want to announce it until I was certain I got the basics right, like memory management.

Go ahead, I'm sure it's fun. ;)
July 11, 2016
On Monday, 11 July 2016 at 14:02:09 UTC, Ola Fosheim Grøstad wrote:
> Actually, I am certain that GC is a feature that _nobody_ would expect from a system level language, outside the Go-crowd.

hello. i am the man born to ruin your world.
July 11, 2016
On Monday, 11 July 2016 at 13:56:30 UTC, Ola Fosheim Grøstad wrote:
> On Monday, 11 July 2016 at 12:18:26 UTC, ketmar wrote:
>> and most of those people never even started to use D. took a brief look, maybe wrote "helloworld", and that's all. it
>
> Where do you get this from?

from reading this NG and other parts of teh internets.

> Quite a few D programmers have gone to C++ and Rust.

quite a few people who tried D... and anyway, the reasons were more complex, and GC usually just a nice excuse.

>  C is primarily used for portability/system support/interfacing or because you have an existing codebase.

this is mostly what "i can't stand GC" people want to do.

> C is increasingly becoming a marginal language (narrow application area).

'cause manual memory management is PITA. not only due to this, of course, but this is still something.