Linked by snydeq on Mon 25th Oct 2010 21:23 UTC
General Development InfoWorld's Peter Wayner reports on once niche programming languages gaining mind share among enterprise developers for their unique abilities to provide solutions to increasingly common problems. From Python to R to Erlang, each is being increasingly viewed as an essential tool for prototyping on the Web, hacking big data sets, providing quick predictive modeling, powering NoSQL experiments, and unlocking the massive parallelism of today's GPUs.
Thread beginning with comment 447233
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[2]: Dawnfall of OO?
by vivainio on Tue 26th Oct 2010 19:53 UTC in reply to "RE: Dawnfall of OO?"
Member since:

Agreed -- imperative programming is much more natural than OOP for data reduction.

OOP is imperative programming.

Reply Parent Score: 2

RE[3]: Dawnfall of OO?
by peskanov on Tue 26th Oct 2010 21:32 in reply to "RE[2]: Dawnfall of OO?"
peskanov Member since:

OOP is imperative programming.

Is it? Several languages describe themselves as "functional and OO", and there are even a few ones who embrace "declarative and OO" at the same time.

I guess that when I think in imperative programming, I am really thinking in languages that allow aplying different algorithms to several datatypes.Like "save this table on this file" or "sort using the second field of the table", instead of having a specific method for each datatype, repeated/inherited ad infinitum.

Reply Parent Score: 1

RE[4]: Dawnfall of OO?
by ndrw on Wed 27th Oct 2010 16:14 in reply to "RE[3]: Dawnfall of OO?"
ndrw Member since:

OO is all about having a bunch of objects communicating with each other and mutating their states accordingly. This is strictly an imperative model.

On top of that basic concept you can have techniques for data abstraction and encapsulation, code reusing etc. They can be applicable for functional programming, and that's what authors of these languages probably had in mind.

BTW, OO is about "nouns", it is perfect for modeling complex data but less so for composing algorithms (you can black-box them but composing is difficult it requires exposing fragile, mutation based interfaces). OO programs get a bit unwieldy when there is a lot of interaction (especially concurrent) between objects. Consider data mutation a modern world's "goto" problem - it's now the main factor limiting scalability of large systems.

The solution is to remove or reduce mutation by either employing a specialized framework (SQL, Rails, QGraphicsView etc.) that does the dirty work behind the scenes, or to employ a language that promotes the use of immutable data (like Haskell or Clojure) and composability of algorithms in general. There is no language that could replace C++ or Java now but it's worth watching this space.

Reply Parent Score: 1

RE[3]: Dawnfall of OO?
by Hypnos on Tue 26th Oct 2010 23:07 in reply to "RE[2]: Dawnfall of OO?"
Hypnos Member since:

You are correct.

Perhaps I should have said procedural programming?

Reply Parent Score: 1