3 ms·
I think the best approach is to build something practical like a web app. Granted, things may still feel like magic when you're done with the tutorials, but the
by 8bithero 13y ago
I think the best approach is to build something practical like a web app. Granted, things may still feel like magic when you're done with the tutorials, but the mist slowly clears the more you practice and every other day you'll be having "AHA!" moments.
From what you've mention it does sound like JavaScript is what you're looking for. You probably don't need to learn an entire framework like AngularJS if you don't care about writing entire apps and only care about adding 'flourishes' to your designs. However, I need to agree @lmm, when starting out it really is the superficial things that matter. Personally I found JavaScript to be a bit tedious at first. Not to mention some hidden surprises you may run into (i.e. how scopes bubble, etc.) - so if your intention is to write full apps, I don't know if JS should be your first choice (but it should definitely be your second!).
In the case where you want to learn all aspects of building web-apps (and don't come from a computer science background), I would have to suggest you start out buy learning a framework like Ruby on Rails or Django (haven't tried flask, so can't tell). The reason I'd suggest one of these MVC frameworks is that you will learn a lot about the REST architecture (REST is the fundamentals of the modern web, you will probably be consuming REST services with JS frameworks). At least with rails it taught me the fundamentals, without even realising it. After figuring out how rails handled resources looking at APIs etc, all made sense. So for this reason I'd recommend people who don't have a CS background to learn from one of these frameworks - it really helped me fill in a lot of missing pieces when it comes to developing for the web. As for the language, I've tried both Ruby and Python, and found Ruby to be a bit more fun to write. It made programming seem like solving a puzzle rather than figuring out obscure syntax (which was the case for more 'hard core' languages like C++). Not to mention the fact that it seems to be the language of least surprises - more often than not, it does exactly what you expect it to do.
Sorry if I went on a bit of a tangent. Wrote this in a hurry. Hope it helps.