From: commodorejohn@gmail.com   
      
   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.)   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|