Great, have fun experimenting and learning. Just please don't release your hobby projects as innovations or npm modules.
Challenging projects every programmer should try (2019)
201–210 of 346 posts
Re: Challenging projects every programmer should try (2019)
#202Earlier quoted context omitted.
This sounds like sensible advice. But there are a few problems with making software purely from ready-made building blocks. Here are two of them: 1) Much more often than not, the ready-made building blocks are crap. Your software will reflect that crappiness, and your life will consist not of writing software, but of maintaining and massaging crap. 2) Even if your ready-made building blocks are high-quality, they lim…
> If you are only using ready-made building blocks, there is a lot of great software you just cannot write. And I think we all see that, because there isn't much great software around. I claim that the opposite is true: The reason there are so few software projects that are really great is because high-level skills, not low-level ones, are in short supply. Every CS graduate can implement Paxos. The number of people w…
Re: Challenging projects every programmer should try (2019)
#203Earlier quoted context omitted.
> This is like telling a student learning an instrument never to practice scales or études No, it's like recognizing that an orchestra conductor doesn't need to play every instrument (or even any instrument!) in order to make music. Or alternatively, that a violin player doesn't need to understand the physics of acoustic dispersion in order to be the best in the world at playing the violin.
> an orchestra conductor doesn't need to play [...] any instrument! in order to make music Ok, this is clearly a side-topic AND at the risk of being pedantic: Is this actually true? Like, I can see how theoretically one could learn to sight-read music well enough to be able to direct an orchestra of individual musicians, then do enough ear-training to identify enough notes to keep tabs on everyone (especially if you'…
Re: Challenging projects every programmer should try (2019)
#204I wish every dev would try projects and things completely unrelated to computers. I enjoy being outside. These headlines “projects every dev should try” really annoy me. I try to put in enough effort at work, and that’s tough. But I have been messing with computers for over 20 years now.
Agreed. This site selects for people who have made computers their entire life. Consider this an unsolicited reminder to touch grass.
Do you find yourself personally attacked by someone doing something that you don’t enjoy? Or is the notion of them having fun AND improving their direct skill?
Re: Challenging projects every programmer should try (2019)
#205Earlier quoted context omitted.
This sounds like sensible advice. But there are a few problems with making software purely from ready-made building blocks. Here are two of them: 1) Much more often than not, the ready-made building blocks are crap. Your software will reflect that crappiness, and your life will consist not of writing software, but of maintaining and massaging crap. 2) Even if your ready-made building blocks are high-quality, they lim…
> If you are only using ready-made building blocks, there is a lot of great software you just cannot write. And I think we all see that, because there isn't much great software around. I claim that the opposite is true: The reason there are so few software projects that are really great is because high-level skills, not low-level ones, are in short supply. Every CS graduate can implement Paxos. The number of people w…
Is all of this satire?
Re: Challenging projects every programmer should try (2019)
#206Discussed at the time: Challenging projects every programmer should try - https://news.ycombinator.com/item?id=21790779 - Dec 2019 (297 comments) Also related: More challenging projects every programmer should try - https://news.ycombinator.com/item?id=25489879 - Dec 2020 (223 comments)
Re: Challenging projects every programmer should try (2019)
#207Earlier quoted context omitted.
I guess it all depends on your definition of low-level. High-level can also be low-level, just with different building blocks, if the building blocks are based on well-specified abstractions. I am actually currently writing a novel text editor, and I can guarantee you, my requirements mean that an AI cannot help me with that directly, because the underlying mechanisms I need don't exist yet. The AI is still helpful t…
You have to be pretty smart to even think of an idea that can't be done with existing building blocks. It seems to show up more in hobby stuff, or in cutting edge projects. I'm always excited whenever I see any kind of algorithm work, because it's such a novelty. Most everything I do is just a UI around a few libraries.
Re: Challenging projects every programmer should try (2019)
#208While writing a text editor, a compiler, an operating system, or a raytracer might make you a better programmer, it won't make you a better software engineer. In fact, it might make you worse at software engineering, because it embodies the disastrous "Not Invented Here" doctrine. Hackers like to obsess about Big-O, data structures, HoTT, and other high-theory stuff, yet the following skills, essential for software e…
My rule of thumb is that you should always understand at least one level of abstraction down.
Re: Challenging projects every programmer should try (2019)
#209Earlier quoted context omitted.
This sounds like sensible advice. But there are a few problems with making software purely from ready-made building blocks. Here are two of them: 1) Much more often than not, the ready-made building blocks are crap. Your software will reflect that crappiness, and your life will consist not of writing software, but of maintaining and massaging crap. 2) Even if your ready-made building blocks are high-quality, they lim…
> If you are only using ready-made building blocks, there is a lot of great software you just cannot write. And I think we all see that, because there isn't much great software around. I claim that the opposite is true: The reason there are so few software projects that are really great is because high-level skills, not low-level ones, are in short supply. Every CS graduate can implement Paxos. The number of people w…
I have lived evidence that not nearly every CS graduate even knows about the topic that Paxos addresses.
Re: Challenging projects every programmer should try (2019)
#210Earlier quoted context omitted.
And the most challenging part is making a text editor that actually works well from a usability perspective. Which has almost nothing to do with data structures and optimization. I've used dozens of text editors. I have never once thought "man, that thing is slow". But I have thought "man, that thing is a bug-ridden, unintuitive piece of garbage" many, many times.
> I have never once thought "man, that thing is slow". You’re either lying or incapable to detect typing latency. Try typing while CLion indexes stuff in background or open couple hundred thousand line file in VS Code with Vim plugin and let me know how it goes.
My car doesn't go at the speed of sound. That doesn't mean I think "man, this car is slow" each time I drive it.
But if the same car suddenly stops, and I have to open all the doors and close them again in order to keep going, that sure is a problem.