September 25, 2013
>
> Of course, we can cheat and use a byte to store the column number, as after all, nobody has more than 256 columns.
>
> Then you get a bug report where someone does. So raise it to an unsigned short, then, sigh, you get another bug report where someone's entire source file is on one line, and on it goes.

I realize putting "maximum line length 32767 characters" is an arbitrary limit, but if you add that to the language spec and make your column counter an unsigned short you're good forever.
This might break some existing code but I can't imagine it would be much.
There are advantages to owning the language spec!
September 25, 2013
On Sep 24, 2013, at 8:45 PM, "deadalnix" <deadalnix@gmail.com> wrote:
> 
>> 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.

I don't know. I liked DMC specifically because of the nifty features. I used VC++ for the debugging environment. But then I never worked on a Windows project where compile time was a problem. The really big stuff (ie. millions of LOC) has always been on some variant of Unix.
September 25, 2013
On Sep 24, 2013, at 11:14 PM, Walter Bright <newshound2@digitalmars.com> wrote:

> On 9/24/2013 10:54 PM, "Luís Marques" <luis@luismarques.eu>" wrote:
> 
>> - 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.

Yeah, I've never cared about having this information in the debugger.  Only at compile time.
September 25, 2013
On Sep 25, 2013, at 5:43 AM, Wyatt <wyatt.epp@gmail.com> wrote:

> On Wednesday, 25 September 2013 at 03:10:20 UTC, Walter Bright wrote:
>> 
>> And, dmd users are often dmc users.
> 
> Are they, still?  I can't speak for everyone, but I know I've never used it.  I wish I had had it for precisely the feature in question when I was first learning C, even though it would have spoiled me on other compilers until...2013, apparently. :/

If you're mixing D and C/C++ code, it certainly seems like the easiest approach.  Does DMC integrate with VisualStudio as well as DMD?  That would be the only issue for me if I still developed on Windows.
September 25, 2013
On 25/09/2013 17:45, Sean Kelly wrote:
> On Sep 24, 2013, at 11:14 PM, Walter Bright <newshound2@digitalmars.com> wrote:
>
>> On 9/24/2013 10:54 PM, "Luís Marques" <luis@luismarques.eu>" wrote:
>>
>>> - 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.
>
> Yeah, I've never cared about having this information in the debugger.  Only at compile time.
>

What does it even mean to have column/source-range information for errors in the debugger?? There is no notion of language errors or warnings in the debugger in the first place. Unless you mean for an expression evaluator (a pretty advanced feature)?

-- 
Bruno Medeiros - Software Engineer
September 25, 2013
On Wed, 25 Sep 2013 17:53:41 +0200, Sean Kelly <sean@invisibleduck.org> wrote:

> On Sep 24, 2013, at 8:45 PM, "deadalnix" <deadalnix@gmail.com> wrote:
>>
>>> 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.
>
> I don't know. I liked DMC specifically because of the nifty features. I used VC++ for the debugging environment. But then I never worked on a Windows project where compile time was a problem. The really big stuff (ie. millions of LOC) has always been on some variant of Unix.

Well we extensively used Symantec C/C++ and later DMC on various large projects om Windows. And I did appreciate the error caret in DMC at the time. I really loved the compiler and IDDE back then. We also used compilers from other vendors (Borland Watcom IBM KAI MS). The most remarkable memories are of course the compile speed but also (for a long time) the performance of the generated code!
An other thing we really really really loved was the speed in response on reporting compiler bugs! Almost every time within 2 or 3 days we received a 'fixed' compiler in our inbox from Walter! (Thank You Walter!)
Also often times DMC captured programming bugs during compilation not found by the Borland Watcom or MS compilers.
It wasn't until 2004/2005 before I switched to VS2003/vS2005 because DMC was getting to much behind and the MS compiler had improved a lot.

Arjan
September 26, 2013
On Sep 25, 2013 8:55 PM, "Arjan" <arjan@ask.me> wrote:
>
> On Wed, 25 Sep 2013 17:53:41 +0200, Sean Kelly <sean@invisibleduck.org>
wrote:
>
>> On Sep 24, 2013, at 8:45 PM, "deadalnix" <deadalnix@gmail.com> wrote:
>>>
>>>
>>>> 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.
>>
>>
>> I don't know. I liked DMC specifically because of the nifty features. I
used VC++ for the debugging environment. But then I never worked on a Windows project where compile time was a problem. The really big stuff (ie. millions of LOC) has always been on some variant of Unix.
>
>
> Well we extensively used Symantec C/C++ and later DMC on various large
projects om Windows. And I did appreciate the error caret in DMC at the time. I really loved the compiler and IDDE back then. We also used compilers from other vendors (Borland Watcom IBM KAI MS). The most remarkable memories are of course the compile speed but also (for a long time) the performance of the generated code!
> An other thing we really really really loved was the speed in response on
reporting compiler bugs! Almost every time within 2 or 3 days we received a 'fixed' compiler in our inbox from Walter! (Thank You Walter!)
> Also often times DMC captured programming bugs during compilation not
found by the Borland Watcom or MS compilers.
> It wasn't until 2004/2005 before I switched to VS2003/vS2005 because DMC
was getting to much behind and the MS compiler had improved a lot.
>
> Arjan

I guess moral of the story is: People don't compliment what they take for granted - only complain when it is missing.  :)

Regards
-- 
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';


4 5 6 7 8 9 10 11 12 13 14
Next ›   Last »