Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

So, at one time, relational databases were considered 'new'. Entire programs and the data they used were stored in a single file by most development teams.

It was considered good architecture to keep everything together. Many established and well-respected developers argued against relational data, because they said 'it splinters all of the data' and modular programming 'splits up the application logic all over God-knows-where'.

Some people still argue if Linux and it's monolithic kernel is better or worse than Windows modular design. These are two completely different architectural schools, and yet both have people who consider one good design, and the other flawed beyond repair. It doesn't matter which, take your pick, they both have zealots and detractors.

So, saying 'good architecture is timeless' is kind of general for me.

Things you consider to be absolute today will change and be defunct in five years.



I think consistency plays a big role here.

If you're into small modules, stay consistent and separate things. If you're into OO-design, try to encapsulate and make your objects re-usable.

When you start losing this consistency and drift away from the architectural vision in order to make quick-wins ("lets just tuck this feature to this module even though it might not really belong there..."), that's when things turn into mud.

Understanding the architecture and its philosophy gives you a big insight into the code, the way its structured, where things fit together. It saves you time.

With solid architecture you know where to change things and where to add them. I think it's timeless in this sense. Its consistency applies everywhere. Once you 'get it', and stick to it, things make sense.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: