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 447265
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[2]: Dawnfall of OO?
by peskanov on Tue 26th Oct 2010 23:44 UTC in reply to "RE: Dawnfall of OO?"
peskanov
Member since:
2006-01-15

I never really understood what "everything is an object" means. In fact, I share with Stepanov the opinion that it means nothing at all.
I can understand, however, "everything must be declared inside the scope of a class, and used through instanced objects". And I don't like it. It's unproductive, and push people to produce inefficient, long and brittle code.

If I want (for example) to implement an algorithm which takes a raw data set and produces a quantized result, why should I abstract a class of it? And why should it work only on a few datatypes/classes, which must make explicit reference to it though inheritance?

I would like to see programming languages advancing in that kind of tasks, in order to produce generic code that molds itself to different data instead of the class/inheritance mess.
But please not in the path of the C++ templates; I mean solutions that can be read/used/compiled by humans.

Reply Parent Score: 1

RE[3]: Dawnfall of OO?
by frytvm on Wed 27th Oct 2010 00:07 in reply to "RE[2]: Dawnfall of OO?"
frytvm Member since:
2009-11-11

I view "everything is an object" to mean that everything (or at least most things) is first-class: functions, methods, classes, etc. can all be passed around, and thus used much as "normal" objects. Smalltalk/ruby especially exemplify this, Java not so much (no first-class functions, etc. only reflection hacks)

I agree that not everything needs to be done through instanced objects, etc. However, it's nice to have OOP or something similar (haskell typeclass, etc.) when you do want it.

Inheritance has its ugly parts, especially in Java, but I don't view it as fundamental to OOP (or even classes, really). As Alan Kay said, it's all about the messages; OOP allows an object to be used elegantly without regards to its actual implementation.

Reply Parent Score: 1