Path: csiph.com!1.us.feeder.erje.net!3.us.feeder.erje.net!feeder.erje.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: gah4 Newsgroups: comp.compilers Subject: What attributes of a programming language simplify its use? Date: Thu, 1 Dec 2022 14:20:50 -0800 (PST) Organization: Compilers Central Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <22-12-001@comp.compilers> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="36450"; mail-complaints-to="abuse@iecc.com" Keywords: design, history, comment Posted-Date: 01 Dec 2022 19:18:20 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:3248 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. (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. For almost 50 years now, my favorite name for an otherwise unnamed program is "this". (That is, where many people seem to use "foo", and years before I knew about "foo".) That worked fine, until Java came along with reserved word "this". (Second choice, "that", fortunately isn't reserved in Java.) [I take your point, but in PL/I you can say: IF THEN = ELSE THEN BEGIN = IF; ELSE END = IF; COBOL famously has too many reserved words but PL/I overreacted. -John]