As a student of the Flatiron School's software engineering program, I have been enjoying the opportunity to learn the React framework. It feels worth noting however that the lack of emphasis on Object Orientation before starting React left many of my classmates without the full picture of what makes React such a brilliant tool. Vanilla JavaScript was not developed with Object Oriented Programming (OOP) in mind, and it appears in the language only as an optional construct for better organizing data. You know, if you really want to. Unfortunately, it is taught the same way at Flatiron, which is to say as an optional module that is easily skipped. I know I am not typing anything revolutionary when I say that OOP is a thing of brilliance and beauty, but I think perhaps seasoned devs take it for granted, not always realizing the paradigm shift it requires of new students of code. It offers an opportunity to get learners thinking in a brand new way. Instead of viewing lines of code as sequential instructions, they can see it nonlinearly, with discreet entities being created that carry out their specific tasks.
React's Java-like structure has the potential to help new coders understand the general lines of reasoning behind more formal languages and larger projects where organization is key, all while they get to feel like they are breezing through creating nifty user interfaces that once would have been much more ponderous to write. I believe, however, that OOP is the bridge between the two, and that being able to see its paradigm even in JavaScript is an invaluable tool for grasping programming's finest forms of problem-solving.
For further actions, you may consider blocking this person and/or reporting abuse
Top comments (3)
Whoever told you that is very much mistaken. JS has been OO right from the start. Almost everything in it is OO
I hear what you are saying, I think the problem I have with it is that my first language was Java. I was mainly referring to the lack of a class-based approach in JS, and the fact that many of the OO features it has were added over time.
Which part?