Path: csiph.com!weretis.net!feeder6.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: Thomas Koenig Newsgroups: comp.compilers Subject: Re: What attributes of a programming language simplify its use? Date: Sat, 3 Dec 2022 10:25:40 -0000 (UTC) Organization: news.netcologne.de Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <22-12-003@comp.compilers> References: <22-12-001@comp.compilers> 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 X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:3250 gah4 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]