Or large projects. It's been several years now, but IntelliJ could be a real tortoise when I was working in a medium-sized monolith Java/Spring project with ~20 Gradle subprojects.
I think this is a huge part of it. Adjusting your heap size when working with a large project is a simple thing and makes a night and day difference. It isn't something most people would think to check and Jetbrains doesn't do a great job and helping you find the setting. But with a modern computer and project appropriate memory settings it is extremely responsive.
Maybe they could raising a warning to the user when it sees evidence of lots of GC trashing?
Those are week tools. If you want to greatly improve your evolutionary fitness have as many kids as possible (preferably with multiple partners). E.g. sign up as a sperm donor.
Or maybe you haven't taken the time to learn those tools and techniques and this is why you think they are anti-patterns. The people who set the trends in the development industry are extremely smart.
Take for example ORMs - people already know SQL and are often too lazy or un-motivated to learn their ORM of choice in depth. So for them the ORM is confusing and SQl just works. But an ORM eliminates a ton of code that needs to be written and maintained. Boilerplate code to read a row from DB than map it to an object or a map. Boilerplate code to do DB inserts and updates. Optionally boileplate code to track changes. Any decent ORM allows one to bypass it's mechanisms and in the edge cases write SQL directly.
It's essentially the same argument people used countless times in the past - e.g. why learn a higher level language, if they never work and I can do anything in C.
That's usually a good comeback since people who don't like something tend to avoid using the thing but because of the way the tech industry works, it's not possible to avoid the tools so I actually became an expert at them even though I hate them. I use some of these tools daily and have been using them for years to the point that I'm basically an expert at them. They suck. They're over-engineered (introduce more problems than they solve), have too many dependencies, slow down development speed, etc...
Anyway, these days I know to shut my mouth and cash my cheques... Software development work pays by the hour after all.
Of course everyone is free to have their own opinion, but for good reasons the opinions of the people who create new ORMs, frameworks, languages, OSs, lead big complex projects at big corp are generally valued more that the opinions of those who see dev work as nothing more than a way to make a buck.
And yes ORMs and other tools used in software industry often look over engineered if one doesn't want to understand in depth the problems they are solving, but wants to quickly solve a business problem.
> The people who set the trends in the development industry are extremely smart.
Sure. But, why do the trends keep changing, then? Why don't these smart people just get it right once and for all?
It's because, frankly, the people who set the trends are often wrong. E.g., Java-style OOP with deep single-inheritance chains is not even considered good style IN JAVA anymore.
They're just celebrities, and we're (as a group) just as susceptible to group-think and cargo-culting as people who try every fad diet because some celebrity did it.
Well still, one could argue that if (hypothetically) scientists had been smarter than they were, there would have been less back-and-forth. There may have been less collective effort wasted on scientific dead-ends. It would have been a good thing.
I think where the comparison fails is that science is far more tolerant of alternative theories than coding is. Coding is almost a mono-culture. The choice of tools and acceptable approaches is really very limited and there isn't much tolerance for alternatives; this is especially problematic given the fact that none of these tools and techniques are backed by math. Coding tools and techniques are backed entirely by subjective opinions concerning productivity across a highly inconsistent range of environments and these opinions are riddled with biases and conflicting business interests.
Programming ideology is built on flaky foundations (vague, inconsistent and biased beliefs about efficiency and maintainability) and yet there is intolerance towards alternatives. This is at odds with science which is generally built on far stronger foundations supported by mathematics and yet is more tolerant of alternative theories.
That counter argument sounds reasonable at a superficial level, but let me explain why it's really not the same thing at all.
For context, first you said: "Or maybe you haven't taken the time to learn those tools and techniques and this is why you think they are anti-patterns. The people who set the trends in the development industry are extremely smart."
This is pretty clearly an appeal to authority fallacy. It directly implies that calling a currently-popular programming technique or tool an anti-pattern is evidence of a lack of understanding (not taking the time to learn them). It's not assessing whether there is good evidence or arguments about the value of said tools and techniques, and asserts that the techniques are (at least very likely) good because "extremely smart" people said so.
Then, I asked: "But, why do the trends keep changing, then? Why don't these smart people just get it right once and for all?"
Your rebuttal, to my honest reading, is that hard science theories also change over time and those theories are also constructed by "extremely smart" people; therefore my incredulity over software engineering trend-setters should be no higher than my incredulity over basic science theories.
Your argument fails for multiple reasons.
First and foremost, scientific theories only change in the presence of empirical or logical (by which I mean hard or formal logic, not "logic" like we use when arguing politics at Thanksgiving) evidence. Software engineering is not science (and real computer science has nothing to say about programming practices out in the real world), and has almost no means by which it can test any hypothesis with the same rigor as the basic sciences. At BEST, you can do surveys and case studies of software defects in some very fuzzy, statistical, sense, which would put it much closer to the social sciences like psychology, than hard sciences like physics. But, even those kinds of studies are exceedingly rare. The VAST majority of the time, someone just makes a good sounding argument for or against a technique and we either buy it or we don't.
You're fooling yourself if you think there's any comparison between real science and software engineering.
Next, you're actually somewhat making my point for me. If even basic scientific theories evolve over time, then why would you be so confident that the "extremely smart" people who push for certain programming techniques are right about them, and that the skeptics among us just don't understand them? Surely you're admitting that the "extremely smart" people are wrong sometimes. Now, to prove a physics theory wrong requires a LOT of work, data, peer review, etc. Since these smart programming trend-setters did none of that for their preferred technique in the first place, it really won't take nearly the same effort to "prove" them wrong--they are in a MUCH shakier position than a scientific theory.
So, yeah, I stand by my claim that the programming trend-setters are mostly just cult leaders. They have no objective foundation on which to build their ideas, unlike science, so it's much more reasonable to question them than to question a currently-accepted scientific theory.
Yes - That's right. The issue with crypto trading is that you can trade 1 crypto for another crypto. Once you start doing that, it becomes hard to track and find the value of each trade to determine your capital gains. With our tool all of this is automated, which could save hours or days of work.
No way. No one rose in Putin Russia because of cracking down on corruption - it's the life blood of the regime.
For a long time Shouigu was a minister of emergencies and had very good PR strategy - there were always TV crews following his every move, that were paid from his ministry budget.
BlackRock and JPMorgan are going to make huge profits on the reconstructions. Hopefully the money goes into really rebuilding the country and doesn't get stolend by corrupted officials and banksters.