news.volyx.in

Challenging projects every programmer should try (2019) (austinhenley.com)

573 points by azhenley · 969 days ago · 332 comments on HN

Article summary

The article discusses several challenging projects that every programmer should try, including building a text editor, a 2D game, a compiler, and a mini operating system. These projects can help programmers learn new skills and gain a deeper understanding of how different systems work. The article also provides resources and suggestions for further learning and exploration. The author encourages programmers to try these projects to improve their skills and knowledge.

Main themes

  • challenging programming projects
  • learning and skill-building
  • project difficulty and complexity
  • balance between work and personal projects
  • code reuse and writing from scratch
  • hobby projects and open-source contributions
  • personal growth and development
  • programming communities and resources

What commenters say

  • Some programmers believe that working on projects unrelated to computers is essential for personal growth and balance.
  • Others argue that pursuing computer-related projects outside of work is a great way to learn and improve skills.
  • There is disagreement about the difficulty level of certain projects, such as building a Game Boy emulator versus a mini operating system.
  • Some commenters think that using existing code or libraries can be a good way to learn, while others believe that writing everything from scratch is a better approach.
  • A few programmers suggest that certain projects, such as building a web browser or a computer algebra system, are too complex or ambitious for a hobby project.
  • Others propose additional project ideas, such as building a search engine, a web crawler, or a Net Cat clone.
  • There is a discussion about the value of releasing hobby projects as open-source or npm modules, with some arguing that it can be beneficial for the community and others warning against it.
  • Some commenters share their personal experiences and lessons learned from working on various projects, including emulators and ray tracers.