Path: csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!news.mixmin.net!eweka.nl!hq-usenetpeers.eweka.nl!border3.nntp.ams.giganews.com!Xl.tags.giganews.com!border1.nntp.ams.giganews.com!nntp.giganews.com!local2.nntp.ams.giganews.com!nntp.bt.com!news.bt.com.POSTED!not-for-mail NNTP-Posting-Date: Fri, 22 Mar 2013 15:09:40 -0500 Date: Fri, 22 Mar 2013 20:09:37 +0000 From: lipska the kat <"nospam at neversurrender dot co dot uk"> Organization: Trollbusters 3 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120410 Thunderbird/11.0.1 MIME-Version: 1.0 Newsgroups: comp.lang.java.programmer Subject: Re: Final Fantasy 2 based game source code References: <171686ae-5239-4502-9ef3-65a68e8a1a1d@googlegroups.com> <514a53c7$0$32110$14726298@news.sunsite.dk> <_JGdndJSO5_5ENHMnZ2dnUVZ7tWdnZ2d@bt.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Message-ID: Lines: 65 X-Usenet-Provider: http://www.giganews.com X-AuthenticatedUsername: NoAuthUser X-Trace: sv3-WQc2QVUbNEbc2tv+U/ukqdJjtFXELiS2Cx6hqxqaenChbZxAs4uNFMMJVGhe8NgqhTKbiYdNqMMAzS/!lp/Z9yupglnuLkjc+LZvdVjC7iOy/myLCY6bhQJk7VzBxf3DOQtUiDo0vFpGA6nyfgP5lnHa7OU= X-Complaints-To: abuse@btinternet.com X-DMCA-Complaints-To: abuse@btinternet.com X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.40 X-Original-Bytes: 4263 Xref: csiph.com comp.lang.java.programmer:23069 On 22/03/13 19:07, Joshua Cranmer 🐧 wrote: > On 3/22/2013 11:57 AM, lipska the kat wrote: >> "I don't know what more you think object-oriented is, at the basic level" >> >> One of the key ideas behind OO is the concept of information hiding. We >> hide the state of an Object and restrict the available interactions on >> that state by publishing a contract. Simply put, the contract is the set >> of methods that clients can call. I see this as absolutely fundamental >> to the idea of an Object. My C code did not exhibit this property, >> anyone can directly manipulate the state (the pointer to pointer to >> struct node) bypassing the published interface of push() pop() and >> top(). My example does however meet the following criteria > > If you don't elaborate the struct in a header file, then people can't > bypass the interface. Your complaintboils down to "C doesn't provide > access control, so it can't be OOP" It wasn't a complaint it was an observation, I'm surprised you don't see that, I had you marked down as among the more intelligent members of this group. I don't know where you get the idea that I'm in any way 'complaining' about C in fact I consider it the ultimate language. A little less reading between the lines might not go amiss. >--by that logic, languages like > JavaScript, Ruby, or Python can't be object-oriented. Well that's a very good point. I made a similar observation in a Python group, I think you may even have read it. It wasn't dismissed out of hand so make of that what you will. > What I consider the core of OOP to be is the ability to specify an > abstract interface. All interfaces are abstract in Java so in the context of a discussion in a Java group I don't see the point. > allow multiple independent implementations of that > interface, For this to be meaningful it requires Polymorphism >and the ability to inherit implementation. Inheritance > The C code does > fit under that paradigm, I don't see it I'm afraid > but I will concede that C is not a good > language for implementing the OOP paradigm, which is why it's generally > not considered to be an "Object-oriented language." Java is implemented in C but that's missing the point. Java is in effect an abstraction over C and C pointers, as are most languages up to a point . This doesn't alter the fact that my C code is not Object Oriented lipska -- Lipska the Kat©: Troll hunter, sandbox destroyer and farscape dreamer of Aeryn Sun