I think it's a pretty good analogy - the only programming language that I think might be a better one would be Go.

Toyota Corollas are exceptionally well-engineered cars. The thing is, they're engineered for convenience, reliability, and affordability. Toyota explicitly eschews bells and whistles that seem impressive but would add complexity to the car, because complexity usually brings cost and unreliability with it. So you get a car that is boring to drive, boring to ride in, but fulfills the car's primary purpose (getting you from point A to point B, cheaply and safely) extremely well.

Likewise, Java is also extremely well-engineered. If you've ever looked in the internals of the JVM or the class libraries, there is a lot of thought and a lot of advanced technology that went into it. But it's engineered to be boring. It's made so that the average programmer at a big company can be productive without screwing things up too much.

The only reason I'd say that Go might be a better analogy is because Go is also extremely well-engineered, but it's engineered to be reliable when used by average programmers at big companies. There are still quite a few footguns in Java around multithreading and exception handling. Go just says "We'll use CSP for concurrency, which is already battle-tested, and we'll make every programmer handle every error case explicitly even though it's lots of boilerplate code, because if you don't make engineers think about it they get it wrong." That's a pretty apt analogy to the Corolla, which is also pretty concerned with making sure that semi-skilled mechanics and unskilled drivers need to explicitly think about what they're doing because otherwise they get it wrong.

> Toyota Corollas are exceptionally well-engineered cars. The thing is, they're engineered for convenience, reliability, and affordability.

Say that to the half a dozen recalls my 2007 Toyota Corolla had. The constant sensor issues. And a slew of other issues, like the very well know chain issues.

Well engineered is something that really does not fit with my 2007 Corolla. Yes, my 1992 Corolla was a tank, but not the "modern" 2007 version.

> affordability?

You mean the 33.000 euro that a base model Corolla now costs??? I think people have been living in the old corolla's mindset from the 90's because modern Corolla's are expensive cars.

Worst of all, its not even the good hybrid. A BYD SUV with 1080km actual road range, with full loaded electronics, solar roof, the works was 36.000 euro here. When a not big hatchback is that expensive, vs a freaking SUV...

You sound very sad that your Corolla isn't good. I would get rid of it, if I were you.

However, 6 issues with a 20 year old car doesn't sound that bad to me.

Edit: By the way, you can easily get a 2023 Corolla for less than 23k euro.

If I want to buy a car today, preferably electric, that is like the corollas of the 90s, what should I buy? Not having customer hostile features like DRM or anti repair anti features is a part of this.

Subarus are very reliable these days. They only have one EV model right now I think, but another is coming.

I'd also argue that Go is the better analogy because it also eschews bells and whistles that would add complexity to it. While Java the language was indeed intended to be fairly unexciting, the JVM came with a bunch of complexity that took quite some time to tame (e.g. it took a while for JITing to really get the performance to a reasonable point, and GC longer still).

This just isn't the case anymore, Toyota isn't that company.

Right now they're just producing cars that are better engineered and it isn't because their pieces are conservative. Their technology isn't lagging, in fact, it's ahead in this particular area of COMMODITY cars.

Even that being granted, Toyota is an integrator. They don't have vertical control of their supply chain. They're not as far ahead or different from other companies, they just have different priorities and a larger war chest to draw from.

Luxury cars are ahead but that isn't in contention.