Path: csiph.com!usenet.pasdenom.info!gegeweb.org!de-l.enfer-du-nord.net!feeder1.enfer-du-nord.net!cs.uu.nl!news.stack.nl!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.001 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'python,': 0.02; 'javascript,': 0.07; 'alternatives': 0.09; 'oop': 0.09; 'php,': 0.09; 'ruby,': 0.09; 'subtle': 0.09; 'cc:addr:python-list': 0.11; 'suggest': 0.14; 'language.': 0.14; 'conflicting': 0.16; 'hierarchy.': 0.16; 'janssen': 0.16; 'objective-c,': 0.16; 'received:74.55.86': 0.16; 'received:74.55.86.74': 0.16; 'received:smtp.webfaction.com': 0.16; 'received:webfaction.com': 0.16; 'rule.': 0.16; 'subject: \n ': 0.16; 'subject:OOP': 0.16; 'subject:object': 0.16; 'subject:possible': 0.16; 'subject:programming': 0.16; 'subject:type': 0.16; 'usage,': 0.16; 'java,': 0.16; 'wrote:': 0.18; 'fit': 0.20; 'work,': 0.20; 'programming': 0.22; 'cc:addr:python.org': 0.22; 'header:User- Agent:1': 0.23; "aren't": 0.24; 'forming': 0.24; 'cc:2**0': 0.24; 'cc:no real name:2**0': 0.24; 'first,': 0.26; 'subject:/': 0.26; 'gets': 0.27; 'header:In-Reply-To:1': 0.27; 'rest': 0.29; 'words': 0.29; 'strongly': 0.30; 'ok.': 0.31; 'origin': 0.31; 'religious': 0.31; 'community': 0.33; 'whom': 0.33; 'problem': 0.35; 'computing': 0.35; 'but': 0.35; 'c++': 0.36; 'ahead': 0.38; 'pm,': 0.38; 'that,': 0.38; 'read': 0.60; 'solve': 0.60; 'simple': 0.61; 'you.': 0.62; 'making': 0.63; 'kind': 0.63; 'field': 0.63; 'subject:The': 0.64; 'more': 0.64; 'different': 0.65; 'to:addr:gmail.com': 0.65; 'between': 0.67; 'believe': 0.68; 'answer.': 0.68; 'subtly': 0.84; 'dozen': 0.91; 'differences': 0.93 Date: Thu, 18 Apr 2013 22:10:07 -0400 From: Ned Batchelder User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130328 Thunderbird/17.0.5 MIME-Version: 1.0 To: Mark Janssen Subject: Re: The type/object distinction and possible synthesis of OOP and imperative programming languages References: <516bd241$0$29872$c3e8da3$5496439d@news.astraweb.com> <516C3C44.6010706@rece.vub.ac.be> <51709740$0$29977$c3e8da3$5496439d@news.astraweb.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: python-list@python.org X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 25 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1366337426 news.xs4all.nl 2271 [2001:888:2000:d::a6]:37937 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:43878 On 4/18/2013 9:24 PM, Mark Janssen wrote: >> One of the nice things about OOP is it means so many different things to >> different people. All of whom believe with religious fervor that they >> know the true answer. > Here's a simple rule to resolve the ambiguity. Whoever publishes > first, gets to claim origin of a word and its usage, kind of like a > BDFL. The rest can adapt around that, make up their own word, or be > corrected as the community requires. > You won't solve the problem of confusing, ambiguous, or conflicting terminology by making up a rule. "Object-oriented" means subtly different things to different people. It turns out that computing is a complex field with subtle concepts that don't always fit neatly into a categorization. Python, Java, Javascript, Ruby, Smalltalk, Self, PHP, C#, Objective-C, and C++ are all "object-oriented", but they also all have differences between them. That's OK. We aren't going to make up a dozen words as alternatives to "object-oriented", one for each language. You seem to want to squeeze all of computer science and programming into a tidy hierarchy. It won't work, it's not tidy. I strongly suggest you read more about computer science before forming more opinions. You have a lot to learn ahead of you. --Ned.