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, 13 Feb 2026 11:30:12 -0800 Organization: A place where nothing fits quite right Lines: 47 Message-ID: <20260213113012.0000347e@gmail.com> References: <-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> <20260206112850.00006164@gmail.com> <10m5knv$h5mp$1@dont-email.me> <20260206135513.00001a9e@gmail.com> <20260206144316.00001326@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Date: Fri, 13 Feb 2026 19:30:17 +0000 (UTC) Injection-Info: dont-email.me; posting-host="7fc372b0912f762678ec956c7a9bf82f"; logging-data="2694316"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/T5QUiYMfvjFKzmWx8/VHYThxtNcTWKB8=" Cancel-Lock: sha1:KCsPiV8zfnAY+NxUxaDLtY6hsBM= X-Newsreader: Claws Mail 4.3.0 (GTK 3.24.42; x86_64-w64-mingw32) Xref: csiph.com comp.os.linux.misc:82018 On Sat, 07 Feb 2026 15:36:18 +0000 Richard Kettlewell wrote: > > It's just arbitrary and weird. =20 >=20 > It=E2=80=99s not like Java has a monopoly on being arbitrary and weird! >=20 > [...] >=20 > I=E2=80=99d suggest that any language that doesn=E2=80=99t start out with= odd corners > like this will grow them over time as it responds to new thinking, new > requirements, etc. True enough, and it is to some degree a question of taste - but Java does, to my mind, strike a particular balance of vices that remind me of the main thrust of Kernighan's criticism of Pascal: not only does it suffer from misfeatures and frustrations, but it provides no real way to work around them from within itself. To a lesser extent, at least; the core language *does* allow the programmer to define new constructs that can be used (to some extent) in place of existing ones, whereas vanilla Pascal didn't. If I don't like the organization of the Math class, f'rexample, I'm free create my own. But there are practical limits to this - I can't snap my fingers and make everything *else* in the standard library recognize MyMath's way of doing things. The deeper some annoyance lies within the system, the more you'd have to uproot in order to fix it. And other things *can't* be solved by roll-your-own means. You can't make it less logorrheic or work around the lack of global functions by: #define print System.out.println ...or somesuch, because Gosling & co. didn't see fit to provide a pre- processor. You could use an external preprocessor, but you'd have to figure out how to fit it into the toolchain yourself. All languages are to some extent a reflection of their designers' pre- conceptions about programming (except for the occasional committe-born elephantine monstrosity that tries to encompass every paradigm & please everyone, and is inevitably used by noone,) but the better ones show at least some awareness of the fact that different people will do things differently. Java isn't as blinkered as Pascal was back in the day, but it still strikes me as something that's really only designed for people who think like its designers.