4 ms·
"most of the projects are boring CRUD apps". This is often repeated but to me it indicates that something is wrong. As soon as it is boring, it no longer is pro
by cjfd 4y ago
"most of the projects are boring CRUD apps". This is often repeated but to me it indicates that something is wrong. As soon as it is boring, it no longer is programming. If they are so boring why isn't it just done by a configuration file that anyone could type?
- kaba0 4y agoWell, to a degree it is done by a configuration file, it’s just written in the DSL of a big framework like spring. Like, most of the code is just declaratively specifying what should happen, not really the how. Add a few filter/mapping and you are ready.
- sokoloff 4y agoThat configuration file would be, in the best reasonable case, isomorphic to the boring parts of programming and, in the more likely case, worse than programming with a general purpose language and the associated tooling ecosystem.
- ryanbrunner 4y agoThe trick is that usually what you require is boilerplate until you don't need boilerplate, where the "not boilerplate" parts are hard to predict ahead of time, and configuration files are pretty bad at this as it's usually difficult to "break out" of the configuration. Very high level frameworks like Rails are probably a better fit for this where you can write simple operations extremely easily, but it's still all just code that can be customized when you need to make small tweaks.
- pyrale 4y agoConfiguration files are code files. It's just that the code is at a much higher level of abstraction, and, usually, domain-specific. Now, what would be the cost of maintaining a domain-specific compiler and its tooling on top of the configuration files? That's true for most abstractions, btw. When you abstract something, you now need to maintain both the abstraction and the code using the abstraction.
- ticviking 4y agoMost of it is actually less boring than the saying seems to imply if you choose to actually look at the problem in a complete full stack manner. The issue is that much of it needs a craftsman not a scientist or engineer. Virtually all of the value I have added to software in my career has involved doing the equivalent of a "This old house" renovation and bringing things up to code. I go in and untangle years of small hacks so that the data path is clear and special cases happen in the same place. I get things onto boring technology rather than bleeding edge or high availability stuff. Most mid-size companies, even serving the enterprise don't need "scalability" in the sense that Google does or a startup hopes for.
- kaba0 4y agoI definitely not meant “boring” in a negative way, maybe “not-novel” would have been a better expression. There is great value (both personal satisfaction, and even more business) in “renovating”. Of course it depends on the project at hand.