DEV Community

Jack Henza
Jack Henza

Posted on

ObjectObject

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.

Top comments (3)

Collapse
 
jonrandy profile image
Jon Randy 🎖️ • Edited

Vanilla JavaScript was not developed with Object Oriented Programming (OOP) in mind

Whoever told you that is very much mistaken. JS has been OO right from the start. Almost everything in it is OO

Collapse
 
jackh404 profile image
Jack Henza

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.

Collapse
 
joshuaamaju profile image
Joshua Amaju

Which part?