4 ms·
Software is whatever you want it to be. I can write software that is not for other humans. That's the most fun part of software engineering to me, when you don'
by nonima 5y ago
Software is whatever you want it to be. I can write software that is not for other humans. That's the most fun part of software engineering to me, when you don't care about the users and just do it just for the fun of doing it.
- matheusmoreira 5y ago> when you don't care about the users and just do it just for the fun of doing it Yes!! That makes me so happy.
- mattcwilson 5y agoAnd, as the article says, your advice and the GP’s are contextual. If you’re interested in creating software that makes people happy, solves their problems, gets cherished and recommended - then work hard to not lose sight of that goal in the thick of crafting a massive code edifice. If you’re interested in pushing the limits of your own creativity, and building a technical structure capable of handling domain complexity with ruthless efficiency - then sure, don’t worry too much about how it looks, how it reads, or how others respond to it. If you’re lucky, you might get to do both in the same body of code. But not likely.
- boffinAudio 5y agoEven if YOU are the only user, you're still writing software for a human. Hopefully.
- lucumo 5y agoWell, you could create software as art. Basically to create it for the fun of creating it, not to use it. But yeah, the end result is useless then, and can be thrown out.
- lazide 5y agoOr, like some art, of variable degrees of folks caring about it based on other interesting properties - and made for some purpose other than maintainability. Demoscene, obfuscated coding contests, etc. seem to fall under that category. Uselessness in the eye of the beholder or something like that.
- lucumo 5y agoBut in those cases you are creating for other people. The point was made about software that didn't have any use for any people. In those cases, only the creation itself has a use, not the end result. By definition.
- Jensson 5y agoWith that argument you could say that everything humans ever did was for humans. So either it is a platitude or it is wrong.
- boffinAudio 5y agoYou could say that, but my cat thinks you'd be wrong. However, I'm yet to see my cat boot up the computer.
- Jensson 5y agoUltimately pets are for humans, whatever you do for your cat you do for humans. The same logic works there.
- SketchySeaBeast 5y agoMy cat has turned off my computer on me - does that count?
- ta988 5y agoMy cat would often turn the computer on or the tv off, and I swear he did it on purpose because that's when he was complaining he didn't got enough attention.
- dynamite-ready 5y agoBut then we can also go the other way, and forget how crazy and diverse humans are. So you will still, eventually, end up facing the same challenge, framed differently.
- ninkendo 5y agoYou’re writing software for all of your future selves. http://www.catb.org/~esr/writings/unix-koans/prodigy.html http://www.catb.org/~esr/writings/unix-koans/prodigy.html
- pksebben 5y agoThank you for posting this. I feel understood.
- koonsolo 5y agoSo you write code in machine language? Or are you writing in a language that tries to be readable by English speaking humans?
- schwartzworld 5y agoOr they write it for themself and not _other_ humans.
- j7ake 5y agoYour future self can be seen as “other” humans given a long enough time frame. Anybody who has looked at their own code done more than 5 years ago can surely attest.
- SketchySeaBeast 5y ago5 years is optimistic. A lunch break can be enough.
- goto11 5y agoAlmost any advice is useless if you write code purely for your own enjoyment. This is why the context is so important. If you enjoy writing convoluted unmaintainable useless code then who is to stop you? Just understand most advice does not apply to your context. Most software development advice tacitly assume you want to write code which works and is long-term maintainable (potentially by someone other than yourself) and which fulfills some purpose beyond just the fun of writing the code.
- matheusmoreira 5y ago> If you enjoy writing convoluted unmaintainable useless code then who is to stop you? Does anyone actually do this? I think it's the opposite. I've spent truly absurd amounts of time thinking about how to do things properly. I read books, read other people's code, read programming language implementations, I just read and learn as much as I possibly can before I even start doing anything. I want my code to be right. I want it to represent the truth of how the world works. In a professional context where people actually have deadlines, working code is usually enough to satisfy them. How complex and maintainable it is tends to be a lesser concern, to be addressed at a later time or never.
- warkdarrior 5y ago> > If you enjoy writing convoluted unmaintainable useless code then who is to stop you? > Does anyone actually do this? I think it's the opposite. Code style, structure, and design are more of an art than a science, so different people will have wildly different opinions (extreme examples notwithstanding).
- goto11 5y agoI don't think anyone deliberate writes unmaintainable code except as a joke. Hard to maintain code happen when some other objective takes priority - performance, abstractions, architectural purity, DRY or whatever else a developer might enjoy focusing on. The most maintainable code tend to be the least clever. But developers enjoy being clever, so without any outside pressure to deliver maintainable code, developers will tend towards less maintainable code.
- nkssy 5y agoDon't forget to write for future you. They'd appreciate some consideration as well. Mostly along the lines of "wtf does this module do?"
- throwaway14356 5y agoThe best one for me was documentation to complicated for me - by me.
- nkssy 5y agoYou seem to have a complicated relationship with your past self. I foresee further trouble in your future. Its best if you take a torch or you'll be eaten by a grue.