Re: Researcher question – what's the point of semicolons and curly braces?

rikki cattermole via Digitalmars-d digitalmars-d at puremagic.com
Mon May 2 20:54:36 PDT 2016


On 03/05/2016 3:48 PM, Joe Duarte wrote:
> Hi all,
>
> I'm a social scientist and I'm preparing some studies on the effects of
> programming language syntax on learning, motivation to pursue
> programming, as well as any disproportionate effects that PL syntax has
> on the appeal of programming to women (more on the latter in a separate
> post).
>
> So I want to get a better idea of the rationale for various syntactical
> design decisions, and I'm going to ask you the same question I'll ask
> the Rust community:
>
> Why are curly braces and semicolons necessary? What information do they
> carry that a compiler could not otherwise reliably obtain?
>
> Here's an example from the D Overview page:
>
>
> class Foo
> {
>     int foo(Bar c) { return c.bar; }
> }
>
> class Bar
> {
>     int bar() { return 3; }
> }
>
>
> Okay, if we remove the curly braces and semicolons, we have:
>
>
> class Foo
>
>     int foo(Bar c) return c.bar
>
>
> class Bar
>
>     int bar() return 3
>
>
> Would it be difficult to compile the clean version? Would there be
> issues with the design of the lexer/parser? I assume the compiler would
> recognize keywords like return (and a clean syntax could drive different
> rules for what statements and expressions could appear on the same line
> and so forth).
>
> In reality, a compiler would see the above with line ending characters
> terminating every line (e.g. U+000A), so it would be as line-aware as a
> human. I've never built lexers or parsers, much less compilers, so maybe
> I'm missing a major implementation hurdle. I'm just thinking that
> Facebook has built software that recognizes my face in other people's
> pictures, so it seems like building software that understands structured
> text would be a solved problem. It puzzles me to see so much apparent
> punctuation noise in a 21st-century language (and, to be fair, Rust
> puzzles me for the same reasons).
>
> JD

One of the benefits of having semicolons and braces is that you can have 
your entire source file on one line!
But ok in all seriousness as shown by Lua its not really required.
Its a stylistic choice at least for me it is.


More information about the Digitalmars-d mailing list