Semicolons: mostly unnecessary?

KennyTM~ kennytm at gmail.com
Wed Oct 21 22:14:35 PDT 2009


On Oct 22, 09 12:29, AJ wrote:
> "Adam D. Ruppe"<destructionator at gmail.com>  wrote in message
> news:mailman.228.1256181155.20261.digitalmars-d at puremagic.com...
>> On Wed, Oct 21, 2009 at 09:25:34PM -0500, AJ wrote:
>>> That's not D source code. Why do you keep trying to use English text as
>>> an
>>> example?
>>
>> The logic behind all the arguments you make,
>
> That would be "all fine and dandy", but I'm not arguing about anything. (So
> you must be arguing? About what?).
>
>> except for one, should apply
>> equally well to English as it does to D.
>
> That's silly. There is no need to use the text of Shakespeare's tragedies to
> allude to source code. There is no need and it is entirely inappropriate to
> expand the context of the issue to other realms. The context is (currently):
> semicolons as statement terminators for single-statement lines.
>
>>
>> Cons:
>>
>> 1. Makes source code less comprehensible.
>>
>> Based on what? Because you say so?
>
> It's more to digest when it's not necessary. It's easier to identify
> something when it's in less intricate (read, plain) surroundings.
>
> <snipped inappropriate context reference>
>
>
>> 2. Is redundant with the newline designator.
>>
> <snipped inappropriate context reference>
>
>> is obviously false,
>
> If I put it on the list, it wasn't obvious at all, even if it is incorrect
> (though I think it is correct).
>
>> unless
>> you specifically require a line continuation character:
>>
>> a = b +
>> c
>
> Without semicolon requirement:
>
> a=b+ // this is an error
> c // this is OK
>
> With semicolon requirement:
>
> a=b+; // this is an error
> c; // this is OK
>
> What's the diff?
>
>> A newline and a semicolon are not redundant unless you specifically define
>> a statement as being one and only one line.
>
> A semicolon is redundate with newline for single-statement lines. Oh, you
> say that a lot of constructs are inherently single statements but written on
> multiple lines? Well, that may be just the kind of examination I was looking
> for (ironic that _I_ had to bring it up, huh):
>
> if(true)
>      dothis()
>
> That situation has to be evaluated: is parsing at the construct level too
> much effort or is it desireable? (ParseIfStatement()). Statement-level
> parsing better/worse than line-level parsing?
>
>> Back to the magic of above though. What if you rewrote it:
>> a = b
>>     +c
>
> Without semicolon requirement:
>
> a=b // OK
>   +c // error
>
> With semicolon requirement:
>
> a=b; // OK
>   +c; // error
>
> What's the diff?

a=b
   +c(d)  // no error

>
>> 3. Is more typing.
>>
> <snipped inappropriate context reference>>
>
>>   how long does it take to type a semicolon anyway?
>
> Typing unnecessary semicolons (if they are unnecessary) is "dumb".
>
>




More information about the Digitalmars-d mailing list