4 ms·
I’ve developed with JS for a few years, toying with vanilla JS (and doing some small bootcamp assignments/projects with it) but for actual projects I’ve used jQ
by ralmidani 6y ago
I’ve developed with JS for a few years, toying with vanilla JS (and doing some small bootcamp assignments/projects with it) but for actual projects I’ve used jQuery, Ember, React, etc. I feel like I was productive and there was little I “couldn’t” do without going too far off the rails.
I know how to do an AJAX request, delegate an event listener, and update the DOM, all with vanilla JS. I guess it’s useful knowledge if you’re going to build a library/framework or hand-tune a critical part of your app, but honestly I have no desire to get too comfortable with low-level JavaScript. There’s too much weird syntax and too many gotchas, although ES6+ has improved things a little.
Personal preferences aside, I have some experience as a programming tutor and think pushing people to learn plain JavaScript from the start is setting them up for frustration to the point that many will quit before ever becoming proficient.
Also, I learned Python before I learned JavaScript, but actually started toying with Django before I understood even a decent chunk of Python syntax. Being able to build something less trivial than “Hello World” almost right away gives positive reinforcement and encourages people to keep learning.
My advice for people starting out with any language is to ask around and see if there is a framework that is 1) popular and well-supported; 2) easy to learn; 3) will get you a lot of mileage and grow with you. In the case of JavaScript, that’s React. In the case of Python, that’s Django. I’m still fairly new to Swift, but SwiftUI seems like a great way to start out with the language.
Before people can become programmers, you have to get them interested in programming.
- xiodine 6y agoWhile I really support starting up with a framework, I wouldn't recommend React for someone starting out with JavaScript. React strongly recommends JSX for starters (from my limited experience with it) and also has a build system, that even if neatly abstracted away introduces a small delay and another additional thing to do before you're up and learning. Personally, I feel starting out with jQuery as a perfect introduction. There are no build tools, just a simple refresh and you see all your changes.
- ralmidani 6y agoA few years ago, jQuery would have been an excellent choice, but it’s pretty dormant now, and frameworks are moving away from imperative code towards declarative code. For learning how to build very basic apps it could work, so I suppose a person could spend a few weeks with it, but I don’t think it’s a good long-term investment. If someone understands HTML they should be fine using JSX after a tutorial or two. The build system adds some friction, but with create-react-app you can get pretty far without having to understand much about build systems (and you even get auto-refresh).