[Home]  [Headlines]  [Latest Articles]  [Latest Comments]  [Post]  [Sign-in]  [Mail]  [Setup]  [Help] 

Status: Not Logged In; Sign In

Earth Changes Summary - June 2025: Extreme Weather, Planetary Upheaval,

China’s Tofu-Dreg High-Speed Rail Station Ceiling Suddenly Floods, Steel Bars Snap

Russia Moves to Nationalize Country's Third Largest Gold Mining Firm

Britain must prepare for civil war | David Betz

The New MAGA Turf War Over National Intelligence

Happy fourth of july

The Empire Has Accidentally Caused The Rebirth Of Real Counterculture In The West

Workers install 'Alligator Alcatraz' sign for Florida immigration detention center

The Biggest Financial Collapse in China’s History Is Here, More Terrifying Than Evergrande!

Lightning

Cash Jordan NYC Courthouse EMPTIED... ICE Deports 'Entire Building

Trump Sparks Domestic Labor Renaissance: Native-Born Workers Surge To Record High As Foreign-Born Plunge

Mister Roberts (1965)

WE BROKE HIM!! [Early weekend BS/nonsense thread]

I'm going to send DOGE after Elon." -Trump

This is the America I grew up in. We need to bring it back

MD State Employee may get Arrested by Sheriff for reporting an Illegal Alien to ICE

RFK Jr: DTaP vaccine was found to have link to Autism

FBI Agents found that the Chinese manufactured fake driver’s licenses and shipped them to the U.S. to help Biden...

Love & Real Estate: China’s new romance scam

Huge Democrat shift against Israel stuns CNN

McCarthy Was Right. They Lied About Everything.

How Romans Built Domes

My 7 day suspension on X was lifted today.

They Just Revealed EVERYTHING... [Project 2029]

Trump ACCUSED Of MASS EXECUTING Illegals By DUMPING Them In The Ocean

The Siege (1998)

Trump Admin To BAN Pride Rainbow Crosswalks, DoT Orders ALL Distractions REMOVED

Elon Musk Backing Thomas Massie Against Trump-AIPAC Challenger

Skateboarding Dog


Science/Tech
See other Science/Tech Articles

Title: Is OO a deliberate fraud?
Source: occam-pi.org
URL Source: [None]
Published: Jun 7, 2006
Author: Larry Dickson
Post Date: 2008-02-08 14:48:17 by Tauzero
Keywords: None
Views: 504
Comments: 23

Is OO a deliberate fraud?

Ruth, Jim, and all,

This is in indirect response to Ruth Ivimey-Cook "Re: CPA 2006 - Call for Papers", in which she laments a dismal lack of response. I think it's the death throes of science being choked out by fake science, and I think I've identified the culprit.

I'm posting this to both occam and OO-based supporters, to be fair, and allow serious answers to my points. Merrill R. Chapman in his tech history ("In Search of Stupidity", Apress / Springer-Verlag, New York, 2003) quotes, as 1992-1993 era OO definition at Borland, the following excerpt from "What is Object-Oriented Software" by Terry Montlick (www.softwaredesign.com), given here in full:

> An object is a 'black box' which receives and sends messages. > A black box actually contains code (sequences of computer > instructions) and data (information which the inctruction > operates on). Traditionally, code and data have been kept > apart. For example, in the C language, units of code are > called functions, while units of data are called structures. > Functions and structures are not formally connected in C. > A C function can operate on more than one type of structure > and more than one function can operate on the same structure. > > Not so for object-oriented software! In o-o (object-oriented) > programming, code and data are merged into a single > indivisible thing---an object. This has some big advantages, > as you'll see in a moment. But first, here is why SDC > developed the 'black box' metaphor for an object. A primary > rule of object-oriented programming is that as the user of > an object, you should never need to peek inside the box!

ALL YOU OCCAM AND CSP FOLKS... DOES THIS SOUND FAMILIAR? It's stolen from the definition of a process, and fits real OO (inheritance, polymorphism, method calls) as well as a shoe fits an ear. Were they really saying that in 1993? Because then the whole thing was fraud from day one---describing one thing (the right thing) while doing a completely different game with, yes, structures (objects) and functions (methods).

Processes offer the black box of freedom from side effects, while OO offers the black box of ignorance. Inheritance, polymorphism, and especially encapsulation say that you are supposed to treat the pushbutton for uploading a file as the same as the pushbutton for shutting down a nuclear reactor. Don't look inside the box; pretend they are the same. And if two black boxes A and B both upload files, which "impenetrable" black box contains the shared file system and network drivers that they CALL? This is the emperor's new clothes!

Example: I just finished examining US Patent Application 20030182503 (go to uspto.gov > eBusiness... Patents File Search View > Search Patents and Published Applications). It is intending to set up independent tasks, but in [0070] it says "the group_write I/O task 352 calls (step 354) an IO task from the disk object 225a..." That implies multiple stack nestings and out-of-black-box side effects. That's the only example of metaphor run amok that I can deal with this week.

This admitted metaphor (image dissimilar to reality) generates ever-huger languages and OSs, which is proof it is bad science. The fact that it never works without being tinkered with is further proof. OO just grabs whatever paradigm description sounds good and applies it to itself. It's as if the Renaissance epicycle people neutralized Kepler by saying epicycles were ellipses. It's as fraudulent as the old practice of big companies announcing a product to kill a smaller competitor, and then not bothering to produce.

We can't coexist with this monster; it's killing all good science. Have you noticed life is like a Poul Anderson novel where science is dying and all that remains is huge, slavish technology-by-rote?

We need to go back to scratch, to static non-virtual assembly language design, and build all serious design in a higher-level language free of OO and other infinite metaphor. Once we control the harness, they can use OO if they want for what it is good for: manipulating graphic widgets in a GUI.

Post Comment   Private Reply   Ignore Thread  


TopPage UpFull ThreadPage DownBottom/Latest

Begin Trace Mode for Comment # 7.

#1. To: Tauzero (#0)

What does this mean?

Lod  posted on  2008-02-08   16:06:45 ET  Reply   Untrace   Trace   Private Reply  


#3. To: lodwick, Tauzero (#1)

I'll take a stab at that here during break...

Essentially (and I've believed this for a while about software in general), Object Oriented Programming has constrained the majority of the computer user population to working within a set environment that offers very little innovation over time, merely new "widgets" and graphical capabilities and a requirement to constantly upgrade processor speed due to code bloat.

If you took most of the programs utilized in your average office and re-wrote them in say, assembly language, and cut all of the useless and redundant crap out that legacies over from each "new" incarnation you'd have software that would fit and run fine on an X86 architecture machine.

Mostly nobody has really gone anywhere, they just think they have...

Axenolith  posted on  2008-02-08   16:18:47 ET  Reply   Untrace   Trace   Private Reply  


#7. To: Axenolith, lodwick, tauzero (#3) (Edited)

If you took most of the programs utilized in your average office and re-wrote them in say, assembly language, and cut all of the useless and redundant crap out that legacies over from each "new" incarnation you'd have software that would fit and run fine on an X86 architecture machine.

Exactly. The instruction set executes faster and more efficiently as it is closer, by orders of magnitude, to binary coding.

The inefficiency of modern memory hog programs require 100 times the memory and speed of earlier Desktop machines because the code is written in derivative languages which are themselves written in a higher level language a step removed from assembly language.

For those not familiar with Computer Languages here is a rough hierarchy: Binary Code: Literally coded in ones and zeros. This is the most fundamental level and is actually what a computer processor executes or performs on. Assembly Code (or Assembler): A language one generation removed from Binary and consists of instructions to a microprocessor to perform the most basic tasks. It is written in Binary and takes and groups basic instructions into one basic command. The instruction set at the most basic level for a given microprocessor. The higher level languages, such as "C" are themselves comprised of lower level language commands grouped together as a larger command. An example would be to add a number. In Assembler language the instruction to add two numbers is made up of a number of individual steps written in the Assembly Language and in the higher level language those Assembly Language commands are used as a single command such as "ADD X+X". So in a higher level language their individual commands are actually routines, sets of instructions written to perform a task, written in the more basic Assembly Language. To run a program the higher level language commands are translated into machine executable individual instructions. So, you have an extra step to run a command, actually two but we won't go there, first it has to be translated into something the computer can actually run and then it has to be run.

Object Oriented Code is yet another step removed from that higher level language and is comprised of sets of instructions generally written in a higher level language. So it also adds, among other things, another level of translation required adding to the inefficiency.

Also for the gallery - current generation languages are several orders of instructions removed from the native language of the microprocessor they are instructing. I'm looking for an easy analogy, but is is kind of like one of those carnival games where you use the funky remote control scoop to pick up a prize and drop it in the slot. It works, sometimes, but is certainly not efficient.

Original_Intent  posted on  2008-02-08   20:14:58 ET  Reply   Untrace   Trace   Private Reply  


Replies to Comment # 7.

#9. To: Original_Intent (#7)

Object Oriented Code is yet another step removed from that higher level language and is comprised of sets of instructions written in a higher level language. So it also adds, among other things, another level of translation required adding to the inefficiency.

Technically this not correct. You can write object oriented Assembly language code if you want to.

RickyJ  posted on  2008-02-08 20:37:55 ET  Reply   Untrace   Trace   Private Reply  


End Trace Mode for Comment # 7.

TopPage UpFull ThreadPage DownBottom/Latest


[Home]  [Headlines]  [Latest Articles]  [Latest Comments]  [Post]  [Sign-in]  [Mail]  [Setup]  [Help]