On Thursday, October 17, 2013 6:17:57 AM UTC+5:30, Ned Batchelder wrote:
> On 10/16/13 8:13 PM, Mark Janssen wrote:
> 
> >>>>> Who uses "object abstraction" in C?  No one.  That's why C++ was 
> >>>>> invented.

Examples from 
1. Linux Kernel
2. Python
3. OS/2

> > But, here it is significant that the user /consumer (i.e. *at the
> > workstation* mind you) is *making* the "object" because thier visual
> > system turns it into one.  Otherwise, at the C-level, I'm guessing
> > it's normal C code without objects, only struct-ured data.  That is,
> > you don't get all the OOP benefits like inheritance, polymorphism and
> > encapsulation.  C can do 2 of those, albeit kludgingly, but not all
> > three.  And without all three, it's not at all well-established that
> > you're doing real OOP.
> >
> 
> 
> Mark, it's clear you're passionate about computer science, but with all 
> due respect, you need to learn more about it.  "Real OOP" is a misnomer: 
> every language brings its own style of OOP, none more legitimate than 
> any other.

> And your earlier idea that punched cards didn't have tokens 
> is wildly ignorant of the state of software and languages 50 years ago.

Yes this is sounding like some slapstick comedy…

However… to speak a little for Mark's perspective (from a hopefully more 
educated background):
There's a fine line between laboriously simulating a feature and properly 
supporting it:
- C has arbitrary precision arithmetic -- use gmp library
- C is a functional language -- use function pointers and/or hand-generated 
macros with macro operators # and ##
Conversely:
- Haskell is an imperative language: Just make a parameter for machine state 
and pass it around.
etc etc ad libitum

Its called the Turing tarpit or more colloquially Greenspun's tenth law.

No the real problem is not primarily that Mark is CS-illiterate, but rather 
that being philosophy-illiterate he lectures, philosophizes and is generally 
logically completely inconsistent.

For me the real objectionable statement is: 

> And without all three, it's not at all well-established that you're doing 
> real OOP. 

when combined with all his previous grandiloquence about how the object model 
is confused, wrong and needs to be redone from first principles.

In short its 'well-established' when it suits and not 'well-established' when 
it suits.

But then in all fairness this is the tendency of most OOP aficionados --
to jump between the 3 levels of discourse:
1. philosophy
2. science
3. technicality/technology

just to dodge the substantive, hard issues.

Ive written about this OOP-fan tendency prevaricate and bullshit:
http://blog.languager.org/2012/07/we-dont-need-no-ooooo-orientation-2.html

and more generally http://blog.languager.org/search/label/OOP

And I need to thank Mark for giving me much needed material for documenting the 
state of art of bullshitting.
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to