Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Kaz Kylheku <643-408-1753@kylheku.com> Newsgroups: comp.lang.c Subject: Re: Other programming languages (Was: Command line globber/tokenizer library for C?) Date: Fri, 13 Sep 2024 03:38:59 -0000 (UTC) Organization: A noiseless patient Spider Lines: 25 Message-ID: <20240912195922.243@kylheku.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Date: Fri, 13 Sep 2024 05:38:59 +0200 (CEST) Injection-Info: dont-email.me; posting-host="99dc7076b0b49591e69cd20e1421cb3c"; logging-data="726436"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19WJQ3oHkjVzVa0M1ft4O+hzFBH3Hdg4aM=" User-Agent: slrn/pre1.0.4-9 (Linux) Cancel-Lock: sha1:eHCw755sqbR0LlhbtIwK50/o1d0= Bytes: 2421 On 2024-09-12, Lawrence D'Oliveiro wrote: > On Thu, 12 Sep 2024 17:40:17 +0200, Janis Papanagnou wrote: > >> A lot of early C++ programs I've seen were just, umm, "enhanced" "C" >> programs. > > Given that C++ makes “virtual” optional instead of standard behaviour, I’d > say that C++ is in fact designed to be used that way. That is half right, goofy. C++ is certainly designed to be used without virtual functions. But it's also designed to be with virtual functions, too. Both ways are by design! Moreover, a VIRTUAL keyword was already present in Simula-67, which inspired C++. Virtual functions were not added as an afterthought into a language that was originally designed otherwise. But even if they were, such an addition is a design change. If you design a thing to be used one way, without envisioning another way, and then some time later hit upon the idea for that other way and add it to the design, then both ways are now designed in, and intended to be used. -- TXR Programming Language: http://nongnu.org/txr Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal Mastodon: @Kazinator@mstdn.ca