Rewrite in Zig!
Simple Software Manifesto
71–80 of 90 posts
Re: Simple Software Manifesto
#72What’s wrong with Perl? Also, with no C macros there are no C generics. I wish the author luck in maintaining that mess.
This kind of arbitrary simplification is particularly unfortunate because C is a professional, Dangerous tool; removing the main way to organize code is like simplifying a chainsaw by omitting power switch interlocks.
Re: Simple Software Manifesto
#731. All software breaks, so let's avoid failure by not even trying.
2. Constraining the user to simple tools, because the user is an idiot.
3. There is only one correct way to do something, and it's mine. Coming up with one mediocre way to do things is already a great accomplishment; thinking about design tradeoffs is unthinkable. YOLO!
4. The dependencies of a system are not fun, so they are your responsibility. Good luck.
5. Standards are a source of inspiration, idiots (see #2 above) aren't going to run into interoperability problems, missing features, and other consequences of implementing only the "simple" parts of the standard.
The cproc missing features list is a brief but very insightful example of this way of thinking (I mean, this way of not thinking).
Re: Simple Software Manifesto
#74> There is only one correct way to do something .... so take great care in doing it right the first time. I hear this a lot, in various contexts, and I even used say it a lot. But this has actually stopped making sense for me. I don’t think I’ve ever genuinely seen a case where there is only one obvious way to do something, or that there’s a way that is obviously the “right” way. Everything non-trivial is chock full…
I used to be exhausted by so many libraries which all do more or less the same thing. I often imagined a fantasy penultimate implementation which would moot all the other partial or less optimal alternatives.
I now believe that each use case entails very different tradeoffs.
I now believe that fit and finish matter more than completeness.
Further, I enthusiastically support reinventing the wheel, for self study, batting practice, or just for kicks.
Re: Simple Software Manifesto
#75Re: Simple Software Manifesto
#76I'd like to note that "simple software" means a different thing to the developer, and to the user. And in the grand scheme of things, the developer and all the code he wrote is highly irrelevant. We'd like to think we are, but how much does it really matter what kind of trowel the mason used, and how clean he kept it? What matters is the cathedral he built, the feel of the space within, the durability of the walls.
In my view, the complexity is closely related to scale. I'd like to draw a parallel with nature, where things scale linearly up to some critical point, at which a system goes through reorganization and only then continues to grow. I think mimicking this phenomenon can be a path towards software simplicity.
Re: Simple Software Manifesto
#77Every software has a reason to be complex. Often software authors desire to make simple software by removing such features regarded ‘complex’ without understanding why those features were introduced (mostly because they don’t use them). The consequences is that people who are in the minority can’t use the software. As a CJK person, the most prominent example is multilingual support in the FOSS community; I still have…
I tihnk that's just a symptom of how FOSS devs think about GUIs. GUI is largely not something FOSS developers actually use. The design of FOSS GUIs makes it seem as though "GUI" is something they've read about in text books and personally only see value in as a fancy tmux. Consequently, the only mental model they have for someone who actually uses a GUI is the kind of person who only needs a web kiosk.
They should check out Directory Opus -- and I mean really check out the documentation, scripting language, all of it. Now that is software.
I suspect many have this mental model because it allows them to be lazy and make lame things, just like not taking 10 minutes to make the CSS nice is called "minimalistic" and not "fucking inept".
Re: Simple Software Manifesto
#78Every new generation of programmers starts a crusade to simplify without first trying to understand why we're not "simple" despite the previous generation having done the same. Of course, one possible explanation could be that without a constant crusade for simplicity we'd be in a far worse place; the "permanent revolution" explanation. But is this the right explanation? Turing Award winning computer scientist Fred B…
Re: Simple Software Manifesto
#79Every new generation of programmers starts a crusade to simplify without first trying to understand why we're not "simple" despite the previous generation having done the same. Of course, one possible explanation could be that without a constant crusade for simplicity we'd be in a far worse place; the "permanent revolution" explanation. But is this the right explanation? Turing Award winning computer scientist Fred B…
The question is: is this thing inherently complex or is it more complicated than it needs to be? In software there are many things that are more complex than they need to be.
Sometimes it can be a subtractive practice, where a person can delete / simplify, but this happens much less than it should.
Re: Simple Software Manifesto
#80> There is only one correct way to do something .... so take great care in doing it right the first time. I hear this a lot, in various contexts, and I even used say it a lot. But this has actually stopped making sense for me. I don’t think I’ve ever genuinely seen a case where there is only one obvious way to do something, or that there’s a way that is obviously the “right” way. Everything non-trivial is chock full…