There are two programmers, one is using ReactJS and other frontend libraries, the other is battling with Vanilla JavaScript. Who will be a better programmer after one year?
The better programmer is the one who knows how to devise a solution irrespective of the programming language or framework they use...
I think the question should be: "Who will be producing better code after a year?".
All other things equal, I thin k the React programmer will be producing better code because react forces you to learn, and get into the habit of, good design patterns like component structure, top down data flow, and if they're using redux, immutable data management.
It'll also push you into code bundling, splitting, es6, etc.
The vanilla person can do all these things, but they're not pushed into them. So if their motivations, dedications, responsibility etc are all equal, I think React will get the edge.
The better programmer will be the one who learns the concepts of programming and data structures. Whatever language they are using will have little to no bearing on their "better"-ness. This is a false dichotomy. You cannot do ReactJS without VanillaJS. And the vanilla js developer will inevitably come up with solutions that are akin to the shortcuts you get from ReactJS. You should think of all of these and more as just tools in your toolchest. If you ask a mechanic whether they are a better mechanic for using an auto-tester versus some long series of manual tests, they will tell you that they have had to do both in their career.
If you are learning JS, then you should stick with vanilla js until you get the core language down. Then you can use the frameworks with confidence that you now what's going on. This is the same with ES5 vs ES6.
What I think you were trying to convey is that if you just limit yourself to learning ReactJS you'll miss out on being a well rounded programmer. However if all you ever use is vanilla js you run the risk of reinventing the wheel and having code that is at the end of the day inferior because it wasn't tested or used by thousands who have contributed changes and fixes.
As a modern web developer, you will encounter new, current, and legacy code forever. How you deal with it is your measure as a good programmer.
I know which one will have a job after one year.
The one who will learn software engineering, architecture, HTTP and the almighty JavaScript though the pain first.
Vanilla engineer has more chances, however, both, won't get far if they will keep using only the tool and will not think about the principles above that tool.
Hey, I like it, "Vanillangineer"
Let me ask you a similar question - One is playing basketball, the other is playing football. Who will be a better athlete after one year?
Andrew Wooldridge
eBay WebDev
@carollit But you are comparing two different things. Syntax of almost any framework is so far removed sometimes from the original language, if someone didn't tell you "this is a JS framework" or "this is a PHP framework", you'd be hard pressed to tell what it "compiles" to. So while basketball and football are both sports (programming languages), their almost 2 completely different (framework vs language) sports. Which is what React is to JS. If a programmer only ever knew how to write code using a framework, odds are, they can't write in the language it originated from. Where as someone writing in VanillaJS would have the foundation to write in React.
Mobilunity
Mobilunity offers the best in Ukrainian Development, results-driven Western Management, and successful Global Delivery of dedicated teams.
It depends upon the exact developer you are talking about. To build a quality product, a Vanilla or React developer should follow all updates and put efforts constantly to perfect the execution of the product. But in any case any developer, who really wants to become pro, should learn both React and Vanilla, and a variety of other technologies to be highly competitive and not to leg behind. In the case both developers grow professionally with the same speed (‘cause everybody has their own speed of learning and producing), they will just fall in love with that what they use, and will be pretty similar in their educative level in this sphere.
At our company every Vanilla and React developer enjoy both of them, they just use them for different cases, but they are well experienced in these two, and not only.