Car analogies aren't intrinsically bad, they are just the go-to analogy when someone wants to jam an analogy where it isn't needed. Analogies in general should be used sparingly, and only in an explanatory setting. Instead people use them as a rhetorical device in arguments, which usually reduces the argument to arguing about the analogy (and you can usually shuffle around the parts of an analogy to flip the meaning somehow).
Here it is fine I think, the writer of the comment is just explaining their point of view.
Analogies should only be used like trains: An efficient, well thought out path from point A to B on a vehicle that is piloted by a pro. Car analogies look appealing -- they look more flexible, but this can also lead to people taking overly circuitous routes to get to the point... maybe the driver just doesn't know what they are doing, maybe the road system is poorly optimized because it needs to hit lots of points, or maybe the driver is like a sneaky cab driver that intentionally takes an inefficient path to increase the fare.
The wider availability also leads to a situation where cars are mostly piloted by random people with no particular qualifications other than a basic license. This can result in lots of car crashes. Of course, it is also possible for a train to get derailed, but this is a rare occurrence. On the other hand a derailing can result in more damage... ah... hmm, I forget where I was going with this...
I think the car analogy is just extending a base analogy. There could be other siblings. Perhaps AnimalAnalogy could extend BaseAnalogy and we could talk about animals instead? ;)
Indeed. All cars suffer the same speed limits and traffic, so how effective your car is ultimately depends on how you drive within those constraints. The analogy slyly condenses everything down to some car-manufacturer-marketing version of "fun", betraying both spirited drivers and whatever topic it is applied to.
Since we're throwing out analogies, Java-the-language is more like a riding lawnmower. It is capable of getting you to your destination, but will be slow and painful the entire time. There is probably some external constraint that you'll be forced to endure this, like losing your license.
This was something / part of the plot of The First $20 Million Is Always the Hardest. I recall the main character getting a car (turned out to be rented) that was really fast and taking the team out driving on 101 in rush hour traffic to make this point.
I remember an intermediate OO class in Java 20 years ago... the existence of the El Camino was proof of the terribleness of both multiple inheritance and car analogies.