mstdn.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A general-purpose Mastodon server with a 500 character limit. All languages are welcome.

Administered by:

Server stats:

16K
active users

It's time for another post about Post-Architecture! This time the thesis is Premature Abstraction Is the Root of All Evil: arendjr.nl/blog/2024/07/post-a

I've taken a bit more of a practical turn with guidance on how to keep (early) architecture as simple as possible. Please let me know what you think!

Replies to this post will appear as comments on the article.

arendjr.nlPost-Architecture: Premature Abstraction Is the Root of All EvilPractical tips that allow you to build an evolving architecture

@arendjr
I will stick in my perennial comment: most developers need to be taught to come up with abstractions (and use existing ones, like hashmap and set) rather than avoid creating too many. Overengineering happens and in this context lots of guidance helps but I want to scream "but you can use abstractions!!!" first

Very old discussion:

blog.startifact.com/posts/unde

Secret Weblogunder-engineering, over-engineering, right-engineeringMartijn Faassen's secret weblog
Arend van Beelen

@faassen Haha, yeah, using abstractions is indeed a skill that needs to be learned. I think we’re already pretty much in alignment, as nowhere did I mention you cannot use abstractions. Using abstractions is almost inevitable, and I think nobody would bat an eye if you use an abstraction you need. I think the main danger I’m trying to warn against is developers who identify more with the architect role and start to put abstractions where they’re not needed.

@arendjr @faassen Thanks for article, all the links, and discussion both. Really good.

@arendjr
Oh for sure. I just worry somewhere along a game of telephone people will say "don't use abstractions"

Just like I have heard "just write the dumbest code and then profile if it's too slow". That's true if you have absolutely no idea, but if you know your database will have 10 million rows maybe a for loop to implement a query is something you can avoid right away