Question

Can someone please explain to me the role of Object-Oriented Programming (OOP) and Object-Oriented Design (OOD) in Data Science? I am from a non-computer science background. Do I need to learn these as well to become a Data Scientist? Also, please tell me if I should be learning Python or R for the same.

Was it helpful?

Solution

It actually depends on the role you get as a Data Scientist. If you have to write production-quality code at a large software company, then you need to be knowing the basics of Object-Oriented Programming (OOP). Object-Oriented Design (OOD), however, is something you need not necessarily know in a Data Science role. Learning OOD in case you plan a switch to software engineering roles in future is one thing you can consider, though.

Regarding the choice of language for doing Data Science, I would suggest you prefer Python over R as it's more versatile and a much more general purpose language. While R, on the other hand, is limited only to applications in statistical programming.

OTHER TIPS

Using python vs R is more of a personal choice, but most people I know in data science, including myself, use python.

If you decide to take up python, almost all of the python ML libraries are written using OOP approach, hence, some of the API design and interactions (such as error/warning messages) will make more sense if you are familiar with basic OOP concepts. However, you can keep the advanced OOP and OOD for future.

Ist all about productionisation of ML solutions.

oops and ood are just computer programming paradigms that you use to achieve this, and you can learn this independent of your background. Python is used for production systems (among other things)

Even though now you can get away with average programming skills in the future more and more of what now is machine learning and data science will be abstracted away and accessible via simple API calls. Take a look for example at FastAI or the newest GPT-3 almost everything is abstracted away behind API calls and even tough pytorch is underneath you do not even need to know it to achieve good results. Of course experts will be always needed but his will be a minority. Data science will be a simple tool kit in a software engineers knowledge base.

Licensed under: CC-BY-SA with attribution
Not affiliated with datascience.stackexchange
scroll top