4 ms·
Have you considered that suggesting people to make copies of copies of copies for the sake of a technical challenge instead of tackling real world problems (eve
by chobeat 7y ago
Have you considered that suggesting people to make copies of copies of copies for the sake of a technical challenge instead of tackling real world problems (even as beginners) might fuel the endless waste of energy that programmers collectively pour into developing useless stuff for their own amusement? In a world where pro-bono software development is very scarce, is this what we want to teach to beginners?
- kbenson 7y agoCopying others is a tried and true way of increasing your abilities. Painters don't just start out as masters, they often spend years copying other styles until they find what like themselves. There's only so much the human mind will come up with on its own, being presented with new problems in new domains, and how other people addressed them is one way of increasing ability. Take the master of any domain, and their past is likely littered with experiments and copies of things that already exist, either because they thought they could do it better or because they wanted to understand that topic better.
- chobeat 7y agoFine, I'm questioning the idea that the goal should be to maximize an hypotethical "programming skill", something that I'm not sure it even exist, I can only see adherence to different subjective definitions of "clean", "orthogonal" or "simple". What's the point of writing aesthetically pleasing software if it sits unused on Github? If you're lucky you can aim at replacing some old tool doing exactly the same thing with the only added value of satisfying the endless desire for novelty of other programmers. Innovations in software are very rare and almost never come from trial and error but most often from academic research. Why should this endless machine of waste reproduce itself over and over?
- randomidiot666 7y agoWhat's the point of a professional violinist playing aesthetically pleasing music alone without an audience? The point is self improvement, self education. It is incredible that some people don't understand such basic things.
- esotericn 7y ago> the endless waste of energy that programmers collectively pour into developing useless stuff for their own amusement I don't know about you, but that's pretty close to my definition of life itself. You are a waste. I am a waste. Do what you find fun, whilst causing the least pain to others in the process. These look like fun projects to me.
- chobeat 7y agoNot everybody is an egotist. Your system of values is not the same as everybody else. If you think this way, good for you, but other people care about other humans.
- esotericn 7y agoWhat makes you think that I don't care about other humans? Your original post essentially claims that people shouldn't do things for their amusement. From my perspective, without fun, there's no point in even bothering. Why feed myself and my fellow man if all we do is struggle? I'm not sure that there actually _are_ any more "real" problems to solve in programming, if by "real" you mean things that significantly reduce human suffering. Those problems are political.
- chobeat 7y agoI'm not against finding amusement in programming, I'm against in promoting the idea that it's normal, healthy and preferable to find amusement in useless projects. You can be a virtuoso while developing something that matters to somebody, instead of having yet another z80 emulator.
- caconym_ 7y agoAre you seriously suggesting that it's immoral to spend one's time working on projects whose primary goals are personal pleasure and enrichment?
- chobeat 7y ago
- gombosg 7y agoGood question - where do "learning exercises" end and "useless amusement projects" start? If I want to learn a new language I might do some fun exercises or hit an online course or a book, both of which contain lots of "useless" toy examples and exercises. For a high school student this may be a hello world, for a CS professor this can be a small OS.
- chobeat 7y agoI believe the "learning exercises" are over when you are able to develop solid real world software with the skills you have but you decided to keep expanding "horizontally" your skillset out of desire for novelty, desire for visibility or just fear of missing out. We all know people with 10 years of working experience that start new libraries to deal with a super-niche engineering problem already solved by 5 other libraries just to say "I made this and it went around" or "All the other libraries suck because they are built on different opinions than mine". Obviously 99% of these projects die very early just to be followed by a new one.
- gombosg 7y agoI agree with that - "let's build (n+1) library' that nobody will care about later is not very effective :)
- randomidiot666 7y agoThis is for self education as much as self amusement. Have you never done an assignment at school/college/university?
- dang 7y agoPlease don't take HN threads into flamewar. https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html