Well, I am trying to say is the way how people think is more OO than FP,
that is how
we talk and that is how we think ... I think that is why normally people
learn OO first and
that is why Colleges choose to teach OO first.  There is nothing wrong to
say (+, a, b) or
plus(a, b), but inreal world we say a plus b.  Our focus tend to be on
action yes but what
really interest us is the effect of an action ... When I drive I was not
focusing on push down break, I
focus on other cars and their movements.  When I say You please call me I
dont just care about any call, I care about
YOU calling ME - the subject, not the action, is the key.  FP is good for
many things but it is just more nature for people to think
and learn in OO.   Just look around, and the fact is that people know OO is
way out number FP and I dont need to write a thesis to prove that.

Again, I like Scala.  OO + FP rocks.

Oh, and I am Math major, Math rocks, but not most people like math.

On Thu, Jul 15, 2010 at 8:11 PM, Nick Brown <[email protected]> wrote:

> You might be different, but I don't stop and consider my identity (or
> in the programming world, the identity of the program) before I do
> anything.  Anyway, you are missing the point.  I'm not claiming there
> are no nouns involved in driving a car, nor is the point even that the
> verb is the first word when we talk.  The point is that our focus (at
> least when we are interacting with the world around us) is on the
> action, not the object.
>
> And yes, functional programming does have mathematical roots.  What's
> wrong with that?  Mathematics is one of humanity's greatest
> accomplishments concerning abstract thinking.
>
> On Jul 15, 7:18 pm, Oscar Hsieh <[email protected]> wrote:
> > No, in real world, you dont say Push Down Gas Pedal, Who push down the
> gas
> > pedal?
> > If I say Call me, I am talking to someone, or I would be crazy.  So in
> your
> > example,
> > really it should be Nick.pushDown(Pedal), then you see that is very
> > objective.
> > Now in function language, you have to say something like pushDown(Nick,
> > Pedal) ...
> > it is like I am saying Call You Me instead of You Call Me ...
> >
> > There are many things FP are good at but you have to admit its
> mathematical
> > root.
> >
> > In the real world, you dont just say Push down pedal
> >
> >
> >
> > On Thu, Jul 15, 2010 at 6:38 PM, Nick Brown <[email protected]> wrote:
> > > Most people do not act by consciously ordering their body parts
> > > around.  When you walk, you don't think "lift up one foot, move it
> > > forward, put it down, etc".  You think just "walk forward" (again,
> > > focusing on the actions, not the objects involved).  By the age of two
> > > (hopefully) your body has learned walking well enough that it can
> > > effectively abstract out those details.
> >
> > > On Jul 15, 6:15 pm, SchemaCzar <[email protected]> wrote:
> > > > Nick, are you sure you're not thinking
> >
> > > > getFoot(RIGHT).pushDown(car.getGasPedal())
> >
> > > > ?
> >
> > > > On Jul 15, 10:09 am, Nick <[email protected]> wrote:
> >
> > > > > I was thinking about this on the drive to work a few months ago.
>  OO
> > > > > does mimic the way we view the world in its focus on objects or
> > > > > nouns.  Think about how you would describe a scene to someone, you
> > > > > would focus on the objects and then describe attributes or things
> they
> > > > > are doing.  "There is a road, its full of cars", "There is a
> > > > > pedestrian, he is walking on the sidewalk", "There is a car, it's
> > > > > honking at me because I almost hit it" (ok, maybe these thought
> > > > > experiments should be saved for when I'm not operating a motor
> > > > > vehicle).  And thus its very natural for us to fall into OO
> concepts
> > > > > when we are designing a system since that is effectively what we
> are
> > > > > doing, describing the system.
> >
> > > > > But its really not a natural way for us to interact with the world
> > > > > (which is closer to what we are doing when we actually write
> > > > > software).  There our focus becomes on actions, on verbs.  To put
> it
> > > > > in a programming form, I'm not thinking gasPedal.pushDown(), I'm
> > > > > thinking pushDown(gasPedal).  Now perhaps that particular example
> is
> > > > > more of a linguistic thing, but think about it next time you are
> > > > > interacting with something (as opposed to just describing it) in
> the
> > > > > real world.  Are you focused on the thing itself, or what you are
> > > > > doing to it?
> >
> > > > > On Jul 15, 8:35 am, Carl Jokl <[email protected]> wrote:
> >
> > > > > > I might argue that in the case of Object Oriented programming, a
> big
> > > > > > aspect of making it natural to learn is the way it mimics the
> real
> > > > > > world.
> > > > > > Objects can be created which mimic real world objects. The
> ability to
> > > > > > identify an object with objects in real life helps make the
> concepts
> > > > > > more
> > > > > > natural once you see how it works.
> >
> > > > > > In the case of functional programming, I am not sure if there is
> a
> > > > > > real world analogy to draw upon. It is heavily inspired by
> > > mathematics
> > > > > > which isn't everybody's strongest suit. Granted
> > > > > > that plenty of maths exists in nature but still...
> >
> > > > > > I learned Haskell and Prolog in University and haven't used them
> > > > > > since.
> > > > > > I have long believed in trying to use the right tool for the job.
> I
> > > > > > think a hybrid is the best way forward.
> >
> > > --
> > > 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]<javaposse%[email protected]>
> <javaposse%2bunsubscr...@googlegroups .com>
> > > .
> > > For more options, visit this group at
> > >http://groups.google.com/group/javaposse?hl=en.
>
> --
> 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]<javaposse%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/javaposse?hl=en.
>
>

-- 
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