From: | Thomas Koenig <tkoenig@netcologne.de> |
Newsgroups: | comp.compilers |
Date: | Sat, 3 Dec 2022 10:25:40 -0000 (UTC) |
Organization: | news.netcologne.de |
References: | 22-12-001 |
Injection-Info: | gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="73078"; mail-complaints-to="abuse@iecc.com" |
Keywords: | history, design, comment |
Posted-Date: | 03 Dec 2022 12:13:42 EST |
gah4 <gah4@u.washington.edu> schrieb:
> We had the "What attributes of a programming language simplify its implementation?" discussion.
>
> It seems, though, that languages are implemented a small number of
> times, and used many times. So, designing for ease of use, instead of
> ease of implementation makes more sense.
Very much so.
> (Especially if you want a lot of people to want to use it.)
>
> One feature that I find makes them easier to use, and harder to
> implement, is no reserved words.
I think this is more a matter of extensibility than of ease of use,
but both are somewhat intertwined.
Adding a new reserved word is a breaking change, especially if that
word is often used. See "new" in C++, which was something reasonable
to use in C, and is reserved in C++.
The life cycle of a programming language will have many revisions (if
it is successful, that is), and not having reserved keywords certainly
helps in two aspects: Existing user programs will continue to work,
and new features can be added in a way that is easier to read than
having to add special characters, so a new feature looks like a cat
walked over the keyboard, with capslock on.
Yes, this is a bit more pain for compiler writers, but far less than,
let's say, having to deal with SIMD.
[There's also the perl approach where you put a "use" at the top of the
program file saying which version of the language you want. -John]
Return to the
comp.compilers page.
Search the
comp.compilers archives again.