Unconventional way of learning a new programming language(hackernoon.com)
hackernoon.com
Unconventional way of learning a new programming language
https://hackernoon.com/unconventional-way-of-learning-a-new-programming-language-e4d1f600342c
6 comments
Agreed. If I'm trying to learn a language, my first concern will be the style that I write in. I'll pay special attention to elegant ways to express my intent in the new language, with special attention paid to features that differ strongest from languages that I already use. Having the project work is important, of course; it's the proof of having learned something. But the initial project needs to be clean and idiomatic first, and correct second.
Personal projects in languages that I'm already familiar with are the places that I allow myself some sloppiness.
Personal projects in languages that I'm already familiar with are the places that I allow myself some sloppiness.
I also agree completely. One thing I want to add is that with personal projects, I care about my code and the structure etc as much or maybe even more sometimes as the "work" code. It's just me in the personal project.. why not make it as I want, and make it really nice for myself?
I note that if you pick the wrong project, you might not get code quality, reviews or appreciation. So it sounds like you need to go specifically searching for a project to learn with, rather than e.g. a tool you already use.
There's an [1]interview with Richard Stallman and this article is the exact answer he gave when asked what the best way to learn programming: write a feature for an open source project with active users, then debug said feature, and repeat until you get better.
[1]https://youtu.be/dvwkaHBrDyI
[1]https://youtu.be/dvwkaHBrDyI
Contributing to an open source project (coredns - who are super-helpful) was also one of the steps that I took to learn Go. It's a good early step but I still think you should do some tutorials before asking for a person's time.
Free Code Camp has students build open-source projects for non-profits.
So how does one go about finding open source projects with easy tasks?
You need to decide what you might be interested in first. Then search for a small project on Github, Bitbucket5, etc., that does something like that or related to that and see if they have any open bugs that need fixing or a list of features that they want implemented.
It's probably best to ignore any projects that have not had any recent contributions at this stage because the maintainer might have lost interest so you won't get any feedback about your contributions.
It's probably best to ignore any projects that have not had any recent contributions at this stage because the maintainer might have lost interest so you won't get any feedback about your contributions.
Not in my experience. When I learn a new language by implementing a project in it, I do not consider the job done unless I have written idiomatic code in the new language and really understood every piece of code I took from Stackoverflow.
Not saying that contributing to open source projects for learning a new language isn't a good idea. Free code review in exchange for your contribution to the project is a win-win.