Advertisement Jump to content
Sign in to follow this  
fir

how alive is oop?

This topic is 1796 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I probably be considered for setting up flame war but this is not my intention i would like just get the information or some 'information feeling'

because to be honest i got no idea - i am working in procedural and modular paradigms for years and to not do  any way of oop paradigms 

so i got no idea if something changed over the last couple of years,

10 years ago OOP was popular Is it so much popular today of more or less? Is possible for someone to estimate how much projects are made in OOP versus how many procent projects are made in no-oop paradigms ? tnx for the info

Edited by fir

Share this post


Link to post
Share on other sites
Advertisement

I dont know where Mona get this 83.743% number...

 

But, I think its very popular... I mean... OOP is a 'way of thinking'... so, you may implement its concepts even in languages like 'C' ( that is not OO oriented )...

 

Btw.. today OOP come with other flavors... like 'Aspects', IOC,  and another concepts that help OOP projects to achieve better results...

 

But I think its difficult to estimate how much projects are done with OOP vs projects are not done with OOP... we must start thinking in What kind of projects? Enterprise applications? games? embedded applications?

 

OOP has its uses.. but will does not implement a 'printer driver' with oop concepts... I think the enterprise applications ( ERPs, accounting applications, etc ) may use some advantages of OOP ( like code reuse, easy of maintain, easy of understand, etc etc )

Share this post


Link to post
Share on other sites

I dont know where Mona get this 83.743% number...

 

But, I think its very popular... I mean... OOP is a 'way of thinking'... so, you may implement its concepts even in languages like 'C' ( that is not OO oriented )...

 

Btw.. today OOP come with other flavors... like 'Aspects', IOC,  and another concepts that help OOP projects to achieve better results...

 

But I think its difficult to estimate how much projects are done with OOP vs projects are not done with OOP... we must start thinking in What kind of projects? Enterprise applications? games? embedded applications?

 

OOP has its uses.. but will does not implement a 'printer driver' with oop concepts... I think the enterprise applications ( ERPs, accounting applications, etc ) may use some advantages of OOP ( like code reuse, easy of maintain, easy of understand, etc etc )

 I know it is maybe hard to estimate but was curious if most projests people see (in their work etc) are OOP or maybe most are not OOP,

 

I am outside of this and just dont know, I remember a couple a years ago almost all i was working with (but maybe only about 5 projects i got experience with comes to my mind) was OOP - but it was a couple of years ago and today it seem to me people talk less about it - but maybe

I am more unavare of this becouse i am doing things only in procedural and modular c so jm just unconscious of this

 

allright so probably i may assume it is still in use like it was before (i know android has oop framework enforced and iphone too, so it maybe even goes a bit further)

Edited by fir

Share this post


Link to post
Share on other sites

Even if you look through GitHub projects that use non oop languages you will see that people are still writing their code in an oop way. 

 

So yes it is very much alive.  To be honest there all of these paradigms are becoming irrelevant as languages are adapting to support all paradigms.  For example C++11 and Scala allow you to use Procedural, Funtional, OPP or a combination of these.

Share this post


Link to post
Share on other sites

I thought of posting the "Still alive" song here, but the people could down vote me. Anyways it is very popular, although multi paradigm is getting even more popular (especially with C++ (since C++11) and C# (there are of course others - like named Scala).

 

I always stand on the side - use those weapons that fits the enemy -> e.g. use OOP on the place, where OOP is strong. OOP is weak in some areas too, so why not use Functional, Procedural, or any other that fits this problem ~ e.g. don't try to force OOP on places where it doesn't fit well.

Share this post


Link to post
Share on other sites

OOP is still popular, and I don't think this will change soon.

However, while 15 years or so back, OOP was the one and only paradigm, today other aspects get more attention. One of the popular examples used to explain the concept of objects was having classes for geometrical shapes, and having a virtual method "Draw" that draw each shape. Today, few people would mix the data this way with functionality. There is clearly a tendency to separate data from algorithms. Don't put everything in one class just because it is somehow related.

One outgrowth of OOP are these static class methods used for math, instead of having global functions. What is the means of writing Math.Sin(x), instead of sin(x)? This is ridiculous in my eyes. Luckily, we don't have this nonsense in C++.

Share this post


Link to post
Share on other sites

If you want to design some kind of a UI with buisness logic OOP is common I would say. If you have to adress realtime algorithms which are also cache-optimized OOP will not win. Here you need to think near to your HW and OOP is not the best choise.

 

Greetings,

Kim

Share this post


Link to post
Share on other sites

I probably be considered for setting up flame war but this is not my intention i would like just get the information or some 'information feeling'
because to be honest i got no idea - i am working in procedural and modular paradigms for years and to not do
any way of oop paradigms
so i got no idea if something changed over the last
couple of years,


Depends. Are we talking about the original OOP introduced around 30 years ago (or more) before C++ was even a twinkle in Stroustroup's eye? Are you talking about the horrific OOP taught in Java schools (derived from the specific, limited, and inflexible "OOP" support in C++) and most terrible tutorials/articles on the web? Are we talking about the form of OOP that all but disallows inheritance or type hierarchies? Are we talking about a specific language's implementation of its object model or about object models in general?

The complex answer is that yes, it has changed, because the OOP you learned about a few years ago and which is encoded in languages like Java or (to a lesser extent) C++ is flawed and more people understand that today than they did a decade ago. This has led (in my personal belief) to a lot of fads pushing for "less OOP" when really people just want "less _bad_ OOP" (but they lack the experience/education to tell bad and good OOP apart). This similar in a way to the rise and fall of dynamic languages due to all the misconceptions of static typing based on the limitations of a few specific popular static languages like C++ and Java. C++ has seen a lot of growth in non-OOP code because it was (thankfully) designed as a multi-paradigm language and it's quite easy to use functional and declarative programming style _in combination with_ objects when appropriate while pure (or mostly pure) functional languages are not at all taking over. Edited by SeanMiddleditch

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!