Path: csiph.com!eternal-september.org!feeder.eternal-september.org!nntp.eternal-september.org!.POSTED!not-for-mail From: John Ames Newsgroups: comp.os.linux.misc Subject: Re: C/C++ timeline (was Re: Python: A Little Trick For Every Need) Date: Fri, 6 Feb 2026 11:28:50 -0800 Organization: A place where nothing fits quite right Lines: 52 Message-ID: <20260206112850.00006164@gmail.com> References: <10lqdk2$n03u$1@dont-email.me> <10lrt1t$16vf1$1@dont-email.me> <-EOdnRUZmNTqQx_0nZ2dnZfqn_qdnZ2d@giganews.com> <10lvc6a$2a0lm$4@dont-email.me> <10lvt12$2g653$1@dont-email.me> <10m0915$2ka88$5@dont-email.me> <10m0fnd$2n7r1$3@dont-email.me> <10m25v7$36k4g$3@dont-email.me> <10m2855$38cir$2@dont-email.me> <10m2b84$30icq$1@dont-email.me> <20260205080604.00002be0@gmail.com> <20260205095745.0000319c@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Injection-Date: Fri, 06 Feb 2026 19:28:55 +0000 (UTC) Injection-Info: dont-email.me; posting-host="e773039c119d47a2d73f7b6a13718f13"; logging-data="410427"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18iGD10lqlF+S8Tg03OOW7wtRC3DD8tvIg=" Cancel-Lock: sha1:dGcFYVq/OP6H9TeHoxIp88zsuN0= X-Newsreader: Claws Mail 4.3.0 (GTK 3.24.42; x86_64-w64-mingw32) Xref: csiph.com comp.os.linux.misc:81800 On 6 Feb 2026 04:12:17 GMT rbowman wrote: > > True, but then that's also true (to a lesser extent) of C - > > certainly you won't find C23 lambdas in K&R! > > https://en.wikipedia.org/wiki/Lambda_Literary_Awards > > 'Lambda' is sort of poisoned for me. Everyone seemed to come down > with lambda envy. I'm not fond of the construct and it certainly can > lead to obscure code. It's an interesting concept in the abstract, but I don't really see how it fits with the C way of doing things; I guess the idea is that it's a way to create locally-scoped functions (and, to be fair, preprocessor macros have enough tripping hazards that I can see why you wouldn't want to do that with them,) but I can't say I've ever seen the need for those in the first place, myself. (Correction to my original remark: it looks like lambdas didn't make it into C23 after all...? I confess I lost track of the discussion at the time, as I haven't needed any new features in the language since C99 added // comments, declare-anywhere, and stdint.h.) > I never took to Java's 'everything is a class' model. Too much water > under the bridge at that point. Java definitely has a mania for doing away with anything that smacks of "procedural programming," even if a given thing makes total sense. I can sorta grasp the logic of packaging general "program state" together with the main() method in a single object, but having *no* provision for global variables that aren't properties of that object, and even moreso global functions that aren't methods of a class, is just unnecessarily confining. It forces the programmer to package every single entity into some class or other, even miscellaneous broadly- applicable utility stuff, as if classes were the equivalent of C++ namespaces... ...but Java already *has* an equivalent construct of its own. And of course Java's inescapable long-windedness makes everything that much worse; classes *aren't* namespaces, so there's no class equivalent for using in C++ - so you can't just call helperFunction(someObject), you have to write utilityClass.helperFunction(someObject) instead. If ever a language cried out for a preprocessor it doesn't have, it's Java :/ (And even the program-as-class-object thing is kinda weird. You can define multiple classes with main() methods and the JVM invokes the one for whichever class is specified on the command line - but why you would ever do this is beyond me; it's not like Smalltalk where all objects in the entire system live together in a commune.)