It's just that you don't hear about it because it's mostly junior / less experienced developers writing about Django online.
edit: having said that, I wish we would be more skeptical of magic frameworks like Django in the Python community at least. Things like 'get_object_or_404'[1] should be burned to the ground.
[1] https://docs.djangoproject.com/en/4.1/topics/http/shortcuts/...
Why? A shortcut like that is useful all the time when writing URL handlers (views in Django).
@POST
@Path("/widgets/{widgetId}")
public Widget getWidgetById(@PathParam("widgetId") Long widgetId) {
// ...
}
...where the sort of `method_missing` magic that Rails uses is _far_ less intuitive. Since when can I just call a method that doesn't exist, and expect the language to contrive what it thinks is a sensible definition on the fly?Since Smalltalk-76 introduced[1] doesNotUnderstand: ?
I understand you didn’t really ask a question, but then I didn’t really give an answer (though the article’s discussion is fairly interesting). I guess my point is that there’s a distinction between a facility one finds unintuitive and a facility that’s newfangled and (therefore) outrageous. Even when the first category probably includes a good number of outright stupid ones.
[1] http://worrydream.com/refs/Ingalls%20-%20The%20Evolution%20o..., §5.11
It's the latter. Java is more likely to be used by a large companies. Django is more likely to be used by startups and SMB's (as well as by students and side projects).
Forums like HN and Reddit are disproportionately populated by students, and younger developers who are typically more interested in discussing tech for their personal projects than their day jobs.
If your mindset is oriented around tech that is optimized for one-man projects or tiny teams, then you are likely to reject tech that is optimized for large teams in large companies.
Are you sure? Are there any demographics stats on that?
Well that's the article's premise, right? Opening sentence:
Java is good by modern standards, from a technical perspective
Later on: Java’s culture eschews common sense approaches
> so it's not much of a problem today.Every Java codebase I've worked on in my career has had plenty of this crap in it. The culture has settled on doing it this way.
Typical immature enterprise organizations tend to extend the system with low-risk new features instead of refactoring and remaking old stuff.