On 14 December 2010 19:30, Russel Winder <[email protected]> wrote:

> On Tue, 2010-12-14 at 08:35 -0800, Rob Ross wrote:
> [ . . . ]
> > Of the languages I've looked at in the last few years, I think Python
> > comes closest as a modern replacement. A two semester course in Python
> > could start with just the procedural/functional uses, and the second
> > semester could introduce object oriented concepts.
>
> I have to agree that Python is an excellent first language (I joint
> authored a textbook which acts as proof).  However, two semesters sounds
> like a very long time for a course working with only one language.  In
> two semesters one should have covered at least two languages.  Also this
> procedural/OO split is the wrong way of doing things, it creates
> artificial barriers in the minds of the students.
>
>
I don't think it's all that artificial.  If you look at objects as
originally conceived, then they're all about messaging, far closer to the
idea we now know as actors, or maybe SEDA.  Erlang, SmallTalk and Scala
would be better for exploring this style of thinking.

Then again, you can have immutable "objects", with polymorphism, etc.
programmed in a completely declarative/functional style.  Haskell, Scala, ML
and CLOS all demonstrate this.  Not the original conception of objects, but
certainly still objects as we'd recognise them following C++, c# and Java.

The true split is procedural/imperative vs functional/declarative.  Objects
(in the modern non-actor sense of the term) are totally orthogonal to that
division and can be applied to either paradigm.


-- 
Kevin Wright

gtalk / msn : [email protected]
<[email protected]>mail: [email protected]
pulse / skype: kev.lee.wright
twitter: @thecoda

-- 
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to