Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

You still have to rebuild your software and explicitly support a bunch of different architectures.


sort by: page size:

Yep, you have to build for the architecture you're planning to deploy on.

If your architectures are completely different, you're going to have to break some fucking code. That's just the way it is.

If you try to build the most flexible, scalable solution on day one, you are very likely to make the wrong predictions about the architecture you will need in the future. You will probably need to rewrite the software anyway.

Yes, but the software has to be compiled to the architecture too using that solution. So it is just putting the problem on to others: the users, the software developers, etc. - many of whom will happily just use something else.

A complex architecture will nonetheless take longer to implement and debug.

"better" until you actually have to support more than 1 system and architecture

I'd your architecture is that complicated, you might be architecting your systems poorly.

Even without architecture astronautics you still run on a very deep stack of frameworks and abstractions that make troubleshooting difficult.

Why can't we develop different architectures?

pure frustration and after a few hundred words it is about how cool the challenging software is. well it doesn't sove the problem, you just have some different problems on that scale. your problems require architecture

If you make a living writing software, that sounds like an argument against more architectures.

What's worse, the field is constantly changing. What was true on one architecture may not be true on another, and even different generations of a single architecture can change a lot.

Alan Kay said

People who are really serious about software should make their own hardware.

That is no different from people who call themselves “software architects”. You can’t build great software architectures if you don’t know how to build and optimize the underlying architecture it runs on and how to build the pipelines that put the code on those systems.


Also architectural needs sometimes are not really needs. E.g. you have a program for dos and think that you need a complete rewrite for windows. Then someone heroically ports over the dos program to windows, because the programs are not compatible. You end up with two programs to maintain.

I think that’s just standard software engineering now. Like no one is struggling to build these architectures.

Well. They pick an architecture and stick with it, more like. But one is dead in favour of WebAssembly and the other is an internal format.

There is no such thing as “no architecture”. You will always have an architecture no matter what you do. So better think about what you want the architecture to be or you will end up with the “mud pile” architecture most software has.

i thought we were talking about programming, not architecture or any other software engineering.

Ok, that's fair. Assembling your own architecture. But I feel the same risks and caveats apply.
next

Legal | privacy