Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #31242

Re: About concurrency and functional programming

From Jerry Stuckle <jstucklex@attglobal.net>
Newsgroups comp.lang.java.programmer
Subject Re: About concurrency and functional programming
Date 2015-02-28 21:28 -0500
Organization A noiseless patient Spider
Message-ID <mcttfj$pra$1@dont-email.me> (permalink)
References <mcqnmv$9it$5@dont-email.me> <mcqogt$cea$8@dont-email.me> <mct30s$qhh$1@dont-email.me> <mctboa$tg5$1@dont-email.me>

Show all headers | View raw


On 2/28/2015 4:26 PM, Robbie Brown wrote:
> On 28/02/15 18:56, Joshua Cranmer 🐧 wrote:
>> On 2/27/2015 6:45 PM, Ramine wrote:
>>> You will notice that "Bartosz Milewski" is saying that object oriented
>>> programming is not composable in presence of concurrency... but i think
>>> he is not correct... because what you can do is write near the
>>> property's interface(and don't forget to use set and get) and the
>>> methods that they are thread-safe, so when you you will inherit from the
>>> parent class, you will just read near the interface of the parent's
>>> class wich one is thread-safe and you will take that into account when
>>> you will compose by ineritance, and i think that this is easy to do
>>> and that it's efficient and no need for functional programming.
>>
>> ... Wow... I had known you were an idiot when you thought that Delphi
>> was topical in a Java newsgroup, but you've managed to prove yourself
>> more idiotic by thinking that composition and inheritance are the same
>> thing.
>>
>> I don't know where you learned object-oriented programming, but however
>> much it cost you was a waste of money if you passed without being able
>> to distinguish between composition and inheritance.
> 
> hmm
> 
> Thinking abstractly, inheritance is a perfectly valid way of
> implementing composition. In fact, we can look on inheritance as the
> purest form of composition (in an Object Oriented paradigm). An instance
> of a subclass cannot exist without the superclass extant, the subclass
> is (in part) *composed* of the superclass.
> 
> How do you 'distinguish between composition and inheritance'?
> (as opposed to distinguishing between composition and aggregation)
> they are two entirely different (but ultimately, often connected) concepts.
> 
> I do agree that the OP has a somewhat 'unique' way of putting his/her
> ideas across to say the least.
> 
> 

I would strongly disagree with this.  Inheritance and composition are
two entirely different things, with two entirely different approaches to
programming.  About the only thing they have in common is there is some
kind of relationship between the parts.  But what kind of relationship
is all important.

Composition exists in virtually every programming language, including
assemblers.  The elements of the composition have a "has-a" relationship
with the object.  For instance, a Person has a Name, a BirthDate, and
many other attributes.

Inheritance, OTOH, exists only in Object Oriented languages such as
Java, SmallTalk and C++.  The relationship between the base and the
derived classes is an "is-a" relationship.  For instance, and Employee
is always a Person and has the same attributes of a Person.  However,
the Employee has additional attributes such as StartDate, CurrentSalary
and others.

It's easy to get composition and inheritance mixed up - but even in the
most abstract case they are not the same thing.

-- 
==================
Remove the "x" from my email address
Jerry Stuckle
jstucklex@attglobal.net
==================

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Re: About concurrency and functional programming Joshua Cranmer 🐧 <Pidgeot18@verizon.invalid> - 2015-02-28 12:56 -0600
  Re: About concurrency and functional programming Robbie Brown <rob@example.com> - 2015-02-28 21:26 +0000
    Re: About concurrency and functional programming Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-28 21:28 -0500
      Re: About concurrency and functional programming Robbie Brown <rob@example.com> - 2015-03-01 08:41 +0000
        Re: About concurrency and functional programming Robert Klemme <shortcutter@googlemail.com> - 2015-03-01 12:34 +0100
          Re: About concurrency and functional programming Robbie Brown <rob@example.com> - 2015-03-01 14:26 +0000
            Re: About concurrency and functional programming Joerg Meier <joergmmeier@arcor.de> - 2015-03-01 15:30 +0100
              Re: About concurrency and functional programming Robbie Brown <rob@example.com> - 2015-03-01 14:31 +0000
            Re: About concurrency and functional programming Robbie Brown <rob@example.com> - 2015-03-01 14:30 +0000
            Re: About concurrency and functional programming Jerry Stuckle <jstucklex@attglobal.net> - 2015-03-01 11:29 -0500
              Re: About concurrency and functional programming Robbie Brown <rob@example.com> - 2015-03-01 17:07 +0000
                Re: About concurrency and functional programming Joerg Meier <joergmmeier@arcor.de> - 2015-03-01 20:12 +0100
                Re: About concurrency and functional programming Robbie Brown <rob@example.com> - 2015-03-01 20:31 +0000
                Re: About concurrency and functional programming Jerry Stuckle <jstucklex@attglobal.net> - 2015-03-01 16:13 -0500
                Re: About concurrency and functional programming Jerry Stuckle <jstucklex@attglobal.net> - 2015-03-01 16:11 -0500
                Re: About concurrency and functional programming Jerry Stuckle <jstucklex@attglobal.net> - 2015-03-01 16:17 -0500
    Re: About concurrency and functional programming Joshua Cranmer 🐧 <Pidgeot18@verizon.invalid> - 2015-03-01 12:03 -0600

csiph-web