4 ms·
Ask HN: What are the consequences of learning something by yourself?
All of the technical knowledge that I have comes from what I've taught myself. This is not a choice I decided to make; rather, it was the only option I had given the circumstances. I ended up teaching myself HTML, CSS, Objective C (and iPhone development), and Java on my own. Besides a little help here and there, I learned these scripting/programming languages by means of the Internet or books. W3Schools, Apple's iOS documentation, coding blogs, StackOverflow, and a few books is what I had. Now that I think about it, I've been leading the life the upcoming generation will have. It's all centered around the next type of learning that is emerging in the age of the Internet. Many of us who would have otherwise stayed away from programming are attracted to it via the Internet. The Internet does many things; that is,
1. It sparks interest in the subject
2. It provides the sources necessary for learning the subject
3. It gives people ways to use their knowledge of the subject
towards publishing their creations
In short, the Internet is giving children the resources needed to learn programming and publish the creations they make using their newly-found skills. All of this is great, but it has to make us wonder about the consequences of self-learning? Personally, I've seen very little benefits from this new method of learning. Formal teaching exists for a reason. In learning, I've often missed out on the basics. I learn by seeing feedback, which often means that I only strive for the results while ignoring the means. While people say learning a new language is easy for a programmer, this is not true for me. By skipping out on the rudimentary basics (due to the lack of formal training and motivation), I find my methods of learning to be counterproductive in the long run. The lack of these basics make learning a new language, or even just a new feature in a language I'm familiar with, incredibly hard.
As I'm sure a lot of HN users have taught something to themselves before, I'd like to hear your feedback. I'm especially looking for people whose first encounters with programming were by themselves, as I think that's the most important time for a programmer.
- dwc 16y agoPersonally, I've seen very little benefits from this new method of learning. Except that you learned programming where you otherwise wouldn't have done? Like you, I learned to program on my own. I learned well before the internet, and let me tell you that it's easier and better with it than without. As for missing parts of my education, they are there and they are real. I've attempted to broaden my knowledge by reading and experimenting, and I would suggest that you do the same. This is the difference between learning some HTML, CSS, Javascript so you can put up a web page and the ongoing education that's required to stay current as a programmer. Ongoing reading and playing is required whether you've got a degree or not. For a broad introduction to your craft go buy Code Complete. For a survey of popular programming language paradigms get Seven Languages in Seven Weeks. There's a lot more to read but seriously reading those two will be a nice start and will have a practical impact for you.
- solipsist 16y agoThanks for the book recommendations - I will definitely look into getting them. > Personally, I've seen very little benefits from this new method of learning. What I meant by this statement is that I saw very little benefits from this method in comparison to the traditional method. While it is not entirely impossible to go back and relearn the basics the right way assuming you've already taught them to yourself, it is most definitely a waste of time and something that should be avoided. As I said before, I think the first introduction to programming is the most important part of the learning experience. If the formal introduction is done well, you should be able to go off into the real world with what you learned and discover new languages by yourself. However, the lack of this introduction makes kids go off and teach it to themselves via the Internet. The solution? Schools should offer the basics of programming at an early age (10-11 years old). From there, those who want to pursue programming in greater depth can seek more instruction or do the learning by themselves. > I learned well before the internet, and let me tell you that it's easier and better with it than without. While I'm sure it's easier with the Internet, it is not necessarily any better. The easier it is, the less time you'll spend learning it.