4 ms·
We have computers, computers can automate things. Boilerplate is a sign of a bad language (not a bad engineer). But then we add infinite automation features to
by inigyou 3mo ago
We have computers, computers can automate things. Boilerplate is a sign of a bad language (not a bad engineer). But then we add infinite automation features to reduce boilerplate and we get C++, and C++ programmers decry the excessive number of features and want to delete them all and go back to writing boilerplate by hand.
I once wrote a pile of C++ templates that would let you wrap a C++ function as a JavaScript function, automatically converting all the arguments and the return type. Then I left the company. How did my successors find it? No idea. Maybe they pulled out all the automation complexity and replaced it with manually operated boilerplate.
- dvt 3mo ago> Boilerplate is a sign of a bad language This is true, but I was mostly referring to framework boilerplate (Spring, React, etc.) or plumbing boilerplate. If you've ever written code professionally, you know that most code that you write is just making your thing fit with someone else's thing. If your consumer or your provider made bad engineering decisions, you have to absorb them. If your company mandates the use of a framework, you have to absorb that, and so on. So I think it's great that AI can write all the dumb shit I didn't come up with anyway.
- sodapopcan 3mo ago> Boilerplate is a sign of a bad language (not a bad engineer). It's also a sign of refusal to learn an editor or IDE deeply. Most of the ones I know have mechanisms (or plugins) for generating the boilerplate. Although back to the language, usually the biggest boilerplate killer are macros and so many developers seem to really have a problem with them.
- skydhash 3mo agoThis pretty much, Emacs, Sublime, Vim, Jetbrain’s IDE,… have snippet tooling solutions that are very configurable. And most unix editors support piping so you can easily write a programs for that. Or just a good old code generator. My goal when writing a software is always to reach a point where modifying a business rule is as easy as writing it in plain english. Which means abstracting the essential complexity (while being pragmatic).