September 25, 2013
On Sep 24, 2013, at 1:26 PM, Walter Bright <newshound2@digitalmars.com> wrote:

> On 9/23/2013 10:33 AM, Iain Buclaw wrote:
>> GCC has a carat too now.
> 
> DMC has had a carat for 30 years now.
> 
>  int x x;
>        ^
>  test2.c(2) : Error: missing ',' between declaration of 'x' and 'x'
> 
> Nobody ever gave a damn about that feature, i.e. not one single person commented on it, including not a single D user.



I'm sure you know this, but no one ever comments on stuff they like.  Only stuff they don't.
September 25, 2013
On Tuesday, 24 September 2013 at 23:17:57 UTC, Walter Bright wrote:
> On 9/24/2013 2:56 PM, Andrej Mitrovic wrote:
>> It seems nobody comments on almost anything DMC-related anyway. Isn't
>> this the DMC newsgroup: http://forum.dlang.org/group/c++ ? If it is,
>> there's hardly a single post per month..
>
> You overlook that it's a very old compiler - 30 years. In its day it had maybe 100,000 users.
>
> People do still use it today, to compile dmd for Win32 for example, and nobody has yet
>
>      EVER
>
> commented on that feature, unless I prompted them, when
>
> I have pointed it out many times over the decades, and the response is always:
>
>     SO WHAT
>
>     WHO CARES
>
> etc. So please forgive my grumpiness about if clang implements it, suddenly it's the greatest, most useful feature ever.

It doesn't seem that surprising to me. If you want a compiler that is fast, you use DMC, if you want a compiler that will do coffee, you use GCC or clang recently.

I do think the user base you judge on is biased.
September 25, 2013
On 9/24/2013 4:59 PM, Sean Kelly wrote:
> I'm sure you know this, but no one ever comments on stuff they like.  Only stuff they don't.

Except that people often did comment on things they liked about dmc, like its compile speed. Sure, not as often, but it's been 30 years.

And, dmd users are often dmc users. Since dmd never had it, and dmc did, wouldn't anyone have suggested "hey, I like this dmc feature, why not put it in dmd?" But nope.
September 25, 2013
On 9/24/2013 5:39 PM, deadalnix wrote:
> It doesn't seem that surprising to me. If you want a compiler that is fast, you
> use DMC, if you want a compiler that will do coffee, you use GCC or clang recently.
> I do think the user base you judge on is biased.

I'm sorry, I don't believe the dmc user base secretly loved that feature. Which is why I dropped it from dmd, despite having spent significant time making it work nice in dmc.
September 25, 2013
On Wednesday, 25 September 2013 at 03:12:55 UTC, Walter Bright wrote:
> On 9/24/2013 5:39 PM, deadalnix wrote:
>> It doesn't seem that surprising to me. If you want a compiler that is fast, you
>> use DMC, if you want a compiler that will do coffee, you use GCC or clang recently.
>> I do think the user base you judge on is biased.
>
> I'm sorry, I don't believe the dmc user base secretly loved that feature. Which is why I dropped it from dmd, despite having spent significant time making it work nice in dmc.

That is the exact opposite. People that like feature rich compiler already use another compiler. People that like minimal tooling and speed uses DMC.
September 25, 2013
On 9/24/2013 8:45 PM, deadalnix wrote:
> That is the exact opposite. People that like feature rich compiler already use
> another compiler. People that like minimal tooling and speed uses DMC.

Except that no other compiler at the time did the caret thing. It was a unique feature of DMC.

DMC (or Zortech C++, back in the 80's), was the feature rich compiler of its day.
September 25, 2013
Walter, I'm sorry to hear your frustration on this issue of the error caret, and the lack of recognition you got for your dmc implementation of that concept.

For what it's worth the following is my opinion:

- I think I first met an error caret in the javac compiler, around 2000. I found it very nice and useful. My positive experience was not preceded by any "marketing" of that feature, so I think we can conclude that my enjoyment was genuine.

- When clang added nice error diagnostics in general (compared to GCC at the time) and the caret in particular that helped shape my perception of that compiler in a positive light, whatever the actual technical merits of that compiler may be.

- In general I think dmd is quite a good compiler but I regularly mumble to myself "hmm, the compiler could have provided better diagnostics for this error I committed". I can start compiling a list of those errors with less than great error messages, if that's useful.

- Based on my experience with javac and clang, providing a caret (and ranges around the offending expressions, as in clang) is very useful *to me*, and I would be very pleased to see them on the D compilers, even if that information was not present in the debugger, so as not to regress compiler performance.
September 25, 2013
On 9/24/2013 10:54 PM, "Luís Marques" <luis@luismarques.eu>" wrote:
> Walter, I'm sorry to hear your frustration on this issue of the error caret, and
> the lack of recognition you got for your dmc implementation of that concept.
>
> For what it's worth the following is my opinion:
>
> - I think I first met an error caret in the javac compiler, around 2000. I found
> it very nice and useful. My positive experience was not preceded by any
> "marketing" of that feature, so I think we can conclude that my enjoyment was
> genuine.
>
> - When clang added nice error diagnostics in general (compared to GCC at the
> time) and the caret in particular that helped shape my perception of that
> compiler in a positive light, whatever the actual technical merits of that
> compiler may be.
>
> - In general I think dmd is quite a good compiler but I regularly mumble to
> myself "hmm, the compiler could have provided better diagnostics for this error
> I committed". I can start compiling a list of those errors with less than great
> error messages, if that's useful.

Yes, it is useful. Please do so, and add them to bugzilla.


> - Based on my experience with javac and clang, providing a caret (and ranges
> around the offending expressions, as in clang) is very useful *to me*, and I
> would be very pleased to see them on the D compilers, even if that information
> was not present in the debugger, so as not to regress compiler performance.

Thank you for a very reasonable reply.
September 25, 2013
On Tuesday, 24 September 2013 at 23:11:24 UTC, Walter Bright wrote:
> On 9/24/2013 2:23 PM, David Nadlinger wrote:
>> On Tuesday, 24 September 2013 at 20:26:54 UTC, Walter Bright wrote:
>>> On 9/23/2013 10:33 AM, Iain Buclaw wrote:
>>>> GCC has a carat too now.
>>>
>>> DMC has had a carat for 30 years now.
>>>
>>>  int x x;
>>>        ^
>>>  test2.c(2) : Error: missing ',' between declaration of 'x' and 'x'
>>>
>>> Nobody ever gave a damn about that feature, i.e. not one single person
>>> commented on it, including not a single D user.
>>
>> Maybe that's because "not one single person" actually uses DMC? ;)
>
> yes, I've had a fantasy business for the last 30 years.

DMC? A compiler which produces obsolete object format which is not produced by anyone else and which is a reason of why dmd users experience problems in windows platform?
September 25, 2013
On Wednesday, 25 September 2013 at 06:57:52 UTC, Maxim Fomin wrote:
> On Tuesday, 24 September 2013 at 23:11:24 UTC, Walter Bright wrote:
>> On 9/24/2013 2:23 PM, David Nadlinger wrote:
>>> On Tuesday, 24 September 2013 at 20:26:54 UTC, Walter Bright wrote:
>>>> On 9/23/2013 10:33 AM, Iain Buclaw wrote:
> DMC? A compiler which produces obsolete object format which is not produced by anyone else and which is a reason of why dmd users experience problems in windows platform?

All that might be true, however I feel like is not fair to criticize DMC in such harsh words.

First, because one should judge a compiler wrt its pairs (of the same age).

Second, because I think it was quite a breakthrough at its time, and history should be respected, even if becomes obsolete (what does not?). One should not criticize IBM PC for being obsolete *today*.

Third, because it is real (and hard) work behind that DMC compiler and it is available for free. Maybe not the latest, nor the greatest, but is a contribution to the software world and this should be appreciated. Besides, all work should be respected and appreciated. It is hard to work, and it is even harder to work hard.

Fourth, because it attracted C/C++ fans to D. It is my case: I crawled the Internet back then in the search for a free C/C++ compiler, being a bit disappointed by Borland's (I think 5.5 was "freed") suite, specifically... its error messages. I gave DMC a try, then got caught into the D thing...

Fifth, because as obsolete as DMC might be, it provided Walter a lot of experience and this lead him to D in the first place. Yes, me too I would prefer main focus to shift on GDC or LDC but, at the end of the day, I must acknowledge the fact that if DMC and Walter did not exist, with all shortcomings of DMC, we'd have today no GDC, nor LDC to complain about those not being given priority.

Sixth, because from time to time we should express not only harsh truths, but kindness. Kindness, too, is true. We are eager to be harsh with others, but still we hope others to be kind with us.