The problem now is that we live in an app world where people trying to learn to code set that as the base example and from the kick-off they have a large, daunting codebase when they're still trying to get to grips with it. It doesn't work, it's another digital soul on the abandoned heap of github....
To learn to code you need to write loads of crap code, mountains of it... also, frantically searching stack-exchange, 3 million blogs and a half dozen pages of a book per day just renders loads of useful nuggets that don't add-up to anything coherent, solid and memorable. It's like a mental, self-inflicted, DDoS. That overreaching is what's going to take your enthusiasm and turn it into a giant ear getting into the boxing ring with Mike Tyson while screaming "look at me, I'm an ear".
Write loads of garbage code, analyse your day... what did I do for breakfast, code it, yes it's ridiculous, but as you say it focuses on the 'problem' and makes the syntactical elegance an after thought. Do you take the bus? done so every day for ages, accidentally remembered all the streets the bus passes and doesnt go down, code it, learn the decision trees, map it out.... yes it's ridiculous but... at least you're not wasting time thinking if only I had an idea. Make the idea that you code one thing each day, small, tight, always growing, expanding.
Take a spoken language you don't know, French, Chinese, whatever... you don't learn this by going to a cheif planner and quibbling about the dubious specifics of a submitted architectural plan, you learn it by freaking out shop assistants by accidentally asking for a broken monkey instead of a lovely fresh salad baguette. Programming is no different..... Go code that rubbish. Be ridiculous, be fabulous....
You said it @shiftyp ! The secret is in the practice without fear! The rest is all about factual knowledge. Thanks... Hope many will get rid of many years of frustrations and bitter tears by learning from our past.
Amen.
The struggle is the key! I wholeheartedly agree with that, and you have to love the struggle in order to get really good with something.
Finding things to work on...to solve...that are the right level of difficulty can be a challenge at the beginning. I think not knowing what to try to solve and where to look for those opportunities is one of the main barriers to starting and leads to a lot of the fear of just jumping in. Because of that, I actually think that studying those tools (such as how to write a linked list from scratch using JavaScript) could be a great thing to do. It has been for me. But, I agree that it's only part of the equation.
Until those "real" problems come along, or you go out and find them, doing basic exercises like reversing strings, and other hits, can be a great way to just start writing code...and they end up being very valid and real in the scheme of things.
I like the analogy of woodworking a lot with this. There is definitely something deeply satisfying in sharpening your favorite plane or spokeshave and just taking thin curls off of a board. It's meditative, and you can lose hours in trying to get the perfect shavings and a perfectly flat board. That IS studying your tools, but it's studying them by using them. And it's studying the way you use them as well. You can gain a lot of benefit and skill from just working on a scrap board that isn't meant for a bigger project. However, you won't make anything "of use" until you try to do exactly that...over and over again.
Jumping into a CodePen or a JSFiddle and just writing some code can be a lot like planing a scrap board. You might not use that piece of wood in a project you build, or maybe you will. Either way, you'll gain skill and be a better woodworker / coder for the struggle you put in.
Thanks for the post. It will come as no surprise to you that I suffer from those 2 points! I read and own lots of coding books, and am waiting until I know enough about JS and HTML before I start writing my own stuff!
Olive Kayla
on the off chance that you have by no potential customized on your reality and you choose to wage a thank you to programming, do no longer circumstance picking up familiarity with C++ or Java as said by the consultant of dissertation writing services. The confounded sentence structure shape in those dialects have impede undeniably programming ideas. I propose Ruby or Python as a creation dialect. (Python particularly.) I unmistakably propose taking a class for programming even with the unquestionable truth that