TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: What are some projects on GitHub that I can learn how to program from?

21 pointsby bnbover 10 years ago
I&#x27;ve been trying for a while to learn how to program. Following the cannon of Why Learning to Code is So Hard (http:&#x2F;&#x2F;www.vikingcodeschool.com&#x2F;posts&#x2F;why-learning-to-code-is-so-damn-hard), I&#x27;ve been stuck early in the early stages of the Cliff of Confusion for a while.<p>But, I&#x27;ve heard many times that learning to program by copying (reading and then re-implementing) is a good way to go about it. So, I&#x27;d like to know if there are any GitHub projects you can point me toward that I can look at, re-implement, and learn from.<p>Ideally they would use core functionality of whatever language&#x2F;platform they&#x27;re built on, as I&#x27;ve found that most of the projects I am looking at use a ton of outside libraries that I don&#x27;t know. I&#x27;m mainly looking for code that will show me how to use functionality of programming languages to create solutions to questions that the ideas behind the code are based on.<p>Just FYI: The stack I&#x27;m trying to learn is all JavaScript (Node&#x2F;Express&#x2F;React), but I&#x27;m completely open to examples that I can learn from in any language&#x2F;platform&#x2F;framework.<p>Thanks a ton,<p>bnb

6 comments

smt88over 10 years ago
What about Express itself?<p>Honestly, JavaScript is a very confusing language to start with. It&#x27;s also hard to debug (easy-to-miss scoping issues, silent failures, silent logic errors, etc.) You&#x27;ll write code that you think will work, and it just won&#x27;t, and you won&#x27;t know where to even start.<p>Go is a decent language for a beginner because it&#x27;s very explicit (there&#x27;s very little magic).<p>Check out this site, which I just discovered on HN: <a href="http://howistart.org" rel="nofollow">http:&#x2F;&#x2F;howistart.org</a>
评论 #9023664 未加载
perceptover 10 years ago
Ok, I read the article and the Cliff of Confusion is what I thought it was.<p>Besides coding, coding, coding your own projects (which I&#x27;d prioritize), you might also try answering questions on StackOverflow for your chosen stack.<p>Don&#x27;t be surprised if you&#x27;re unable to do so at first, especially in burgeoning technologies with many developers competing to establish their reputations, but this (often) forces you to dig into the source code, spelunking your way through and--hopefully--learning good style and architectural practices while coding smaller solutions with a shorter path to completion versus monolithic projects.<p>See the Node standard library, for example. (Also the recipe-type books focus on specific, more practical solutions, instead of long-form tutorials.)<p>If that doesn&#x27;t suit you, keep trying other things--there are many sort of &quot;katas&quot; you can do.<p>P.S.: I thought asdfppp&#x27;s (now dead) comment was helpful.
eltacoover 10 years ago
You could try implementing some of the methods in underscore&#x2F;lodash - <a href="http://underscorejs.org/" rel="nofollow">http:&#x2F;&#x2F;underscorejs.org&#x2F;</a>? Each of those are pretty simple and can build off each other - you&#x27;ll learn how to deal with arrays, objects, functions, arguments, apply&#x2F;call, this, etc. You could write your own tests or use their unit tests as well to get some practice with testing. I was planning on doing this myself at some point haha.<p>There&#x27;s an annotated source for underscore: <a href="http://underscorejs.org/docs/underscore.html" rel="nofollow">http:&#x2F;&#x2F;underscorejs.org&#x2F;docs&#x2F;underscore.html</a>.<p>There&#x27;s also just implementing data structures&#x2F;algs: <a href="https://github.com/felipernb/algorithms.js" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;felipernb&#x2F;algorithms.js</a>
donavanmover 10 years ago
Check out exercism.io. Its effectively a series of unit tests where you fill in the implementation. Peers are there to help&#x2F;comment on yiur specific implementation. As you work through the tasks they increase in scope and complexity.
jboboover 10 years ago
PairColumbus has forkable web development challenges that you can work and then submit for code review.<p><a href="https://github.com/paircolumbus/Welcome" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;paircolumbus&#x2F;Welcome</a>
nitishmdover 10 years ago
Work through this book - <a href="http://eloquentjavascript.net/" rel="nofollow">http:&#x2F;&#x2F;eloquentjavascript.net&#x2F;</a> it starts from the basics and the examples are pretty neat.
评论 #9024175 未加载