Mike Tyson is known for his deadly punches. He was the undisputed heavyweight champion of the world from 1987 to 1990. One might think that heavyweight is good, it’ll pack a better punch. However, when it comes to software solutions heavyweight solutions are bullshit.
Just Don’t
I get it, you know Java with Spring Boot. However, don’t use it to render a single web page.
Did you know you can serve a web page with a single line of code in Python?
python3 -m http.server 9000
Add an index.html
file in the same directory and you can view it in your
browers.
If you don’t like Python, you can use Node.js.
npx serve
Hell, you can even use netcat.
echo -e "HTTP/1.1 200 OK\n\n$(cat index.html)" | nc -l 9000
Moar Dependencies
I love cloning a repository to test what should be a simple solution only to see something like this:
(node:5575) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Puny, indeed.
Solutions
- Use the right tool for the job. If you need to solve a simple problem, use a simple solution.
- Don’t over-engineer. You don’t need a full-blown framework with fourty-two packages to solve every problem.
- Keep it simple. Simple and readable solutions are easy to maintain.
Conclusion
Over-engineered solutions are rampant. It’s only going to get worse as programmers copy paste code generated by GPTs run by Co-Pilots.
Think before you deploy a heavyweight solution or you’ll ++(dystopian digital hellscape) for your kids.