C++ traps that D2 doesn't avoid yet?

Bill Baxter wbaxter at gmail.com
Thu Nov 6 16:02:25 PST 2008


On Fri, Nov 7, 2008 at 7:37 AM, Walter Bright
<newshound1 at digitalmars.com> wrote:
> Jarrett Billingsley wrote:
>>
>> On Thu, Nov 6, 2008 at 5:07 PM, Walter Bright
>> <newshound1 at digitalmars.com> wrote:
>>>
>>> BCS wrote:
>>>>
>>>> Reply to Walter,
>>>>
>>>>> Steven Schveighoffer wrote:
>>>>>
>>>>>> Even experienced developers fall into some of these traps.  I know I
>>>>>> occasionally fell into this trap:
>>>>>>
>>>>>> if(x);
>>>>>> x->doSomething();
>>>>>> But no more with D, because it's not allowed.  Those kinds of things
>>>>>> can be easily prevented, and are common mistakes by all programmers.
>>>>>>
>>>>> Here's another fun one:
>>>>>
>>>>> printf("%d\n", 8l);
>>>>>
>>>>> What does that print?
>>>>>
>>>> 8
>>>
>>> If I hadn't said it was a trap, I bet you'd have said "81".
>>
>> I wouldn't've, because I use a font that actually distinguishes things
>> 1, I, l, and | properly.  <_<
>
> 0 and O is another fun one. In any case, 8l is legal C, but illegal D.

Threre are various good programmer fonts out there today that are
designed to make the 1 l | and 0 O distinctions clear.
I use the Proggy fonts.  http://www.proggyfonts.com/index.php?menu=download

These days I'd say if you're not using one of these fonts for
programming you're being an extremely silly person.

--bb



More information about the Digitalmars-d mailing list