What is so special about object-oriented and procedural programming?

  • Thread starter Thread starter DAK
  • Start date Start date

DAK

Joined
5/10/12
Messages
5
Points
11
Why do mathematical and/or business professionals use these paradigms? What is wrong with declarative programming or using mathematical/statistical software?

What are the pros and cons of doing using procedural or object-oriented programming, declarative programming or mathematical software?
 
Good question.

My own standpoint is that you need/use multiple paradigms to create flexible software systems.

Only issue is: it takes years to become proficient in a single paradigm and many developers (tend to) get stuck in that paradigm.

Objects are useful in that they allow us to bring similar functionality together in one place. The fun begins where you get big object networks.

Some trite comments from me:

a. Objects are neither necessary nor sufficient (in particular, the inheritance mechanism).
b. Give a developer a hammer and everything you touch becomes a nail.
c. Programming is Noun versus Verbs tussle.
d. I like OOP for the nouns and FP for the verbs; the verbs - to be universal - should use generic data.
e. You talk to nouns if their (verb) vocabulary is rich enough. Can nouns learn new words?

A short story.

http://steve-yegge.blogspot.nl/2006/03/execution-in-kingdom-of-nouns.html
 
Last edited:
Chapter 1 of "Design Patterns and Derivatives Pricing" (2nd Edition) is a good start to consider when thinking about this question: http://www.cambridge.org/nz/academi...-patterns-and-derivatives-pricing-2nd-edition

There's a free preview (unfortunately, stops before the rather pertinent Section 1.7 -- but Sections 1.4--1.6 are also worth a read): http://assets.cambridge.org/97805217/21622/excerpt/9780521721622_excerpt.pdf

Relevant in this context:
https://en.wikipedia.org/wiki/Software_crisis
https://en.wikipedia.org/wiki/No_Silver_Bullet
http://www.stroustrup.com/bs_faq.html#oop
http://www.stroustrup.com/bs_faq.html#generic
http://www.stroustrup.com/bs_faq.html#multiparadigm

I like this quote in particular:
"The best programmers are able to decide which approach fits best in which situation, rather than trying to shove a single approach ("my favorite approach") at every problem everywhere in every industry irrespective of the business context or the sponsor's goals. "
http://www.parashift.com/c++-faq/why-use-oo.html
http://www.parashift.com/c++-faq/generic-paradigm.html
 
"The best programmers are able to decide which approach fits best in which situation, rather than trying to shove a single approach ("my favorite approach") at every problem everywhere in every industry irrespective of the business context or the sponsor's goals. "

This can be generalised to all walks of life.

BTW design patterns in OOP leads to reasonably inflexible systems, precisely because of inheritance and object composition. The new way is std::function and .NET delegates.


The Gamma/GOF has not been updated in 20 years (OS/2, Smalltalk, OMT)...
 
Last edited:
Back
Top Bottom