Path: csiph.com!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: 4ndre4 <4ndre4@4ndre4.com.invalid> Newsgroups: comp.lang.javascript Subject: Re: Newbie trying to understand object oriented programming Date: Sat, 6 Feb 2016 21:01:00 +0000 Organization: A noiseless patient Spider Lines: 48 Message-ID: References: <664696a0-3ce3-484c-aeaf-2fdf45781bb4@googlegroups.com> <6d2bf8a5-4f8e-47f3-bd56-137aaeaa3028@googlegroups.com> <133d1da1-0767-42b4-80c3-922e40ef5925@googlegroups.com> <655ac788-5a00-447c-a148-08287f3c87bd@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Sat, 6 Feb 2016 20:58:11 -0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="b0729cc7037a278faf4b924545edb85b"; logging-data="17823"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19VWa0LZZJ1JQ33KI8Cd3Rf" User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 In-Reply-To: <655ac788-5a00-447c-a148-08287f3c87bd@googlegroups.com> Cancel-Lock: sha1:fE5gUkLaQhZLSfrvJUCCg7GsYpk= Xref: csiph.com comp.lang.javascript:29568 On 06/02/2016 20:28, Scott Sauyet wrote: [...] > In a response to (our own?) Stefan Ram, Alan Kay, who coined the > term "object-oriented", said, "OOP to me means only messaging, local > retention and protection and hiding of state-process, and extreme > late-binding of all things." "Where polymorphic calls--or any other binding operation--aren't resolved until runtime." - http://www.c2.com/cgi/wiki?LateBinding Alan Kay is mentioning just polymorphism when he says "late-binding of all things", and that's the way it works in languages such as C++, Java, and C#. > It is for these reasons that I find the class-based, high-ceremony OOP > languages to be substantially less persuasive than ones which manage > other simpler forms of OOP. Non sequitur. Like it or not, if someone wants to learn about OOP today, they cannot ignore the way OOP is implemented by the major languages around. You aren't really suggesting that the OP just sticks to JavaScript, are you? > I believe those ideas have been layered onto a simpler core. That core > is to me what OOP is all about. Again, no it's not. You cannot ignore how object-oriented programming is implemented by the major object-oriented languages, today. > The entire class syntax seems overhead to me[...] What the hell does *syntax* have to do with that? You will always find a language that is more concise than others (Python or Haskell, for example). The important thing is how *concepts* are implemented by a language, not the syntax used to express them. Java and JavaScript have *different* object models, one is class-based, the other prototype-based. You may like one more than the other, but you cannot certainly say that Java is not good to learn OOP. Java is more tied to the classic idea of OOP, where encapsulation, inheritance and polymorphism are available *in a very simple way*. -- 4ndre4 "The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense." (E. Dijkstra) "Ora, questo "Delta11" non č nulla di pių di uno scemo del villaggio" - http://goo.gl/1nrkkX