3 ms·
Same reason why people write non-trivial programs in any of the esoteric languages ... in part it's a challenge, in part it's a demonstration of cool techniques
by ColinWright 5y ago
Same reason why people write non-trivial programs in any of the esoteric languages ... in part it's a challenge, in part it's a demonstration of cool techniques, and in part it's a demonstration of your skills.
For them it's fun, for the readers it's a view into a weird world. Maybe it's just not for you, but not everything has to be for you.
- daenz 5y agoAre you saying there is credibility/virtue in making something deliberately difficult to build, read, and maintain, in the absence of real constraints?
- bendbro 5y agoYes, compare it to art.
- sharkbot 5y agoPart of what attracted me to technology, computers, programming, etc is the ability and freedom to tinker and experiment with ideas. If I’m building something professionally, then difficulty in building, reading and maintaining is a problem. If I’m building something to learn or to be creative, I don’t worry about how difficult it is to build or read or maintain: my aim is different, and therefore so are my concerns.
- ColinWright 5y agoAre you saying that there's no value in demonstrating the skill to create something that many, perhaps most, programmers would say is impossible? Have you looked at the code? It's beautifully laid out, extremely readable, and completely maintainable. If you don't know bash it's a great example of how to create a reasonably complex program that's designed to be read and maintained. And finally, yes, when taken as an opportunity to improve your skills, absolutely there is value in creating something as a vehicle for developing your abilities, to demonstrate to others that you have those skills, and quite simply, as a challenge.
- daenz 5y agoI don't think most or even many programmers would say it is "impossible" to write a Forth interpreter in Bash. If you changed "impossible" to "worth the effort", I would agree. For the same reason it's (in the absence of real constraints), it's not worth the effort (nor impossible) to write a Forth interpreter with a hex editor. From an interviewers perspective of "value", I would be both impressed at the perseverance demonstrated, but horrified at the deliberate masochism. >completely maintainable This is far less maintainable than a clean Forth interpreter written in Java. Maintainability is relative, so saying that something "is maintainable" has no meaning unless you compare it to something else. >absolutely there is value in creating something as a vehicle for developing your abilities I agree, but applying that to this is like saying "let's learn to build a house by using a hammer that has no handle, and a saw that is made out of raisins."
- ColinWright 5y agoPerhaps I'm reading you wrongly, but everything you are saying here and elsewhere implies to me that you take the attitude that everything you do must have value to other people in the world. Do you do crosswords? Sudoku? Wordle? Do you play chess? Go? Backgammon? Do you play any video games? Do you watch movies? Do you play a musical instrument? Do you paint or draw? If so ... why? What value do these provide for the rest of the world? If not, fair enough ... that's just you, and maybe you won't ever understand that sometimes other people do things purely for the challenge, and sometimes on the way these things hone skills, increase knowledge, and provide satisfaction.
- daenz 5y agoI think we are talking past eachother. I don't play Sudoku without writing, or chess using only my pinky toe, or video games with a glitchy controller, or watch movies backwards, etc. There is a difference between doing X for pleasure/learning, and doing X as difficultly as possible for the sake of being difficult. Maybe my point would be more clear about this project, if instead of using Bash, it was "using only GOTOs and single-letter variables."