Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

OOP

Name: Anonymous 2011-03-26 9:52

Why do we need it, when we've associative lists and hashtables?


my_hash["type_tag"] = "Dog".


And no OOP required.

Name: Anonymous 2011-03-26 9:54

Better yet, we can use file system, instead of hash tables.


cat "Dog" > type_tag
cat "true" > barks


this way bash is much more expressive than C++.

Name: Anonymous 2011-03-26 9:55

We can use MY ANUS.

Name: Anonymous 2011-03-26 9:56

>>2

echo Dog > type_tag
echo true > barks

Name: Anonymous 2011-03-26 10:09

Virtual method invocation:

bash -c "$meta_classes/$(cat type_tag)/method_name $(pwd)"

Name: Anonymous 2011-03-26 10:32

Who needs filesystems and associative lists when you have if and goto?

Name: Anonymous 2011-03-26 10:34

>>6
if and goto process data
fs and assocs store data

Name: S 2011-03-26 14:56

>>7
You don't need if and goto, or fs and assocs, S and K are all you need.

Name: Anonymous 2011-03-26 15:57

Associative data structures have a fixed lookup cost... hashing that string and performing a linear or quadratic probe and string comparison on the underlying hash table nodes is more expensive than just reading from a static offset in memory that is known at compile time, which is the case with statically typed languages like C, C++, C#, or Java, etc.

In dynamically and duck typed languages like FIOC, FFOC (aka LUA), and so, class instance member lookups are implemented with associative data structures anyway, so it's no different than doing it manually.

Now, you might say "well, it's not that big deal on modern hardware," but then you're promoting everything that is wrong with modern software development, with the level of bloat and slowness found in today's software.

Name: Anonymous 2011-03-26 16:06

>>9
Continuing on, OOP is rightfully on the decline. There's a popular link going around about how CMU is dropping it from the curriculum as fine-grained OOP is detrimental to parallelism and scalability on modern and future systems. I think that's a bit of an over-reaction, as heavy-grained OOP and a focus on composition of fine-grained components rather than inheritance/polymorphism is still quite useful, even in data-oriented parallel systems.

Either way, you don't want to use associative data structures for anything where you don't need to... those key lookups hit memory all over the place, causing cache misses, and thus have major scalability issues in themselves.

Name: Anonymous 2011-03-26 16:47

>>10 (first time I post in this thread)
Now, you might say "well, it's not that big deal on modern hardware," but then you're promoting everything that is wrong with modern software development, with the level of bloat and slowness found in today's software.
I couldn't agree more.

I agree with you that forcing extra overhead on all "member" lookups in dynamic languages is highly counterproductive. Sometimes, however, the extra overhead is unnoticeable wrt to the more expensive computation that is actually going on, e.g. when the control code is written in a slow bloated language and the underlying computation in which 99% of the time is spent is written in a statically typed language. Wouldn't you say that adding static struct constructs to dynamic languages would fix the problem? To illustrate:
MyStruct = struct
    int32 a;
    int64 b;
    ref c;
    uint16 d[4];
end;

m = MyStruct();

m.a = 4;
m.d = {1,2,3,4};


Or maybe I'm just a dreamy idiot.

Name: Anonymous 2011-03-26 16:56

>>9
Who cares about "cost", when you know value of everything?

Name: Anonymous 2011-03-26 17:00

>>10
OOP is rightfully on the decline.
Good to hear, because OOP is based on jewish Set Theory (classes are sets), so Set Theory must be wrong, from which follows that jews are wrong and deserved their place in gas chamber.

>>9
In dynamically and duck typed languages like FIOC, FFOC (aka LUA), and so, class instance member lookups are implemented with associative data structures anyway, so it's no different than doing it manually.
Nope. Lua and Python use "metaclasses", which are intended to simulate mathematical sets. And math is a pseudoscience.

Name: Anonymous 2011-03-26 17:05

...and another promising thread goes right down the drain. Thanks, >>13.

Name: Anonymous 2011-03-26 17:10

>>14
But >>13 is right. The idea of OOP classes is to simulate mathematics, which fundamentally wrong. And when foundation is wrong, you building'll collapse, as collapses OOP. The Right Thing is to construct entities evolutionary, without classes. Like IRL evolution takes two Dogs and syntheses third dog, directly from cells of its parents.

Name: Anonymous 2011-03-26 17:23

>>15
That's not "evolution," that hereditary.  Learn the goddamn difference.

And, for the record, I'd also rather not write programs that simulate the possibility of a desired existence based on ten millions years running time (even if we scale that down by clockspeed).

Name: Anonymous 2011-03-26 17:29

>>16
That is EVOLUTION. Two dogs can create third only when they're successful (chewed on some ugly jew). And this jew can't create a child, because his pseudoscientific theory was exposed and he was feed to the dogs.

Name: Anonymous 2011-03-26 17:31

>>16
>based on ten millions years running time
In some cases evolution can go into singularity and adapt pretty fast. This is, for example, how man made dog from wolf:
http://en.wikipedia.org/wiki/Tame_silver_fox

Name: Anonymous 2011-03-26 17:52

>>17
Evolution is a product evaluation.  Hereditary can give you an eye color and your child a different eye color, and so forth down the genetic line, within a pool of possible colors available to your Punnett square.  Evolution would be a shift from this system to one where, for example, eye color is always blue for a specific, collective reason.

>>18
I would argue that's not evolution as it loses the true sense of what qualifies an environmental condition as "important" to foster or compensate for, the weights and checks of growing genetics, but an all too easy counter-argument is that humans are the environment to which response is being given.  All that matters, I guess, outside of the realm of morality, is whether two tame silver foxes, in breeding, reliably produce what will functionally be a tame silver fox kit.

Name: Anonymous 2011-03-26 17:56

>>13,15-18
The /prog/ version of the threadshitter.

Name: >>20 2011-03-26 17:56

Name: Anonymous 2011-03-26 17:59

>>19
I would argue that's not evolution as it loses the true sense of what qualifies an environmental condition
Human's interference is an environmental condition. Environmental conditions were changed, fox species changed with them. Same happends in computing: software is guided by environment.

Name: Anonymous 2011-03-26 18:02


(let ((*fox-environment* (cons 'human-interference *fox-environment*)))
  ...
  )

Name: Anonymous 2011-03-26 18:04

>>23
NOW we're getting somewhere!

Name: Anonymous 2011-03-26 18:07

>>24

(eval fox :environment *fox-environment*)

Name: Anonymous 2011-03-26 18:50

>>13
you ruined yet another thread. I hate jews just as much as you, but classes have nothing to do with sets. Associative data structures are more akin to sets.

Name: Anonymous 2011-03-26 20:15

>>26
His bullshit is irrelevant to /prog/ anyway. We're programmers, we deal with finite amounts of resources anyway. If he wants to troll, he should just go on /sci/.

Name: Anonymous 2011-03-26 20:26

>>26
Classes are sets. For example, class NaturalNumber will be equivalent to set of all natural numbers. Classes are abstract, that is what makes them evil and jewish. Jews love to fool people with their buzzwords and abstractions.

>>27
How much memory turing-machine has?

Name: Anonymous 2011-03-26 20:28

>>28
Turing machine is simply a mathematical construct used by Turing to do a few proofs. This is a programming board. Unless you see a thread about the halting problem, kindly shut up.

Name: Anonymous 2011-03-26 20:29

And if you think that classes are good for modelling reality, then, please, show us IRL a class Cat of all cats.

Name: Anonymous 2011-03-26 20:34

>>29
This is a programming board.
Colleges require every programmer to believe in Set Theory. So if you aren't a college dropout, you must be pretty religious person. Have voice of Infinity in your head, already?

Turing machine is a construct
From what this buzzword is constructed? From more buzzwords?

few proofs
Proofs of what? Of more buzzwords?

Name: Anonymous 2011-03-26 20:42

>>30
Artist depiction: http://vintagepostcardshop.com/wp-content/uploads/2009/04/433-alfred-mainzer-cats-school-vintage-postcard.jpg

Realistic depiction: a combination of zoo feline-centric attractions for sets and natural museum fossil exhibits to do source inheritance.  The hard part is using constructors to build our own cats.

Name: Anonymous 2011-03-27 0:51

>>29
Please, try to ignore troll posts.

Name: Anonymous 2011-03-27 0:52

>>33
g

Name: VIPPER 2011-03-27 3:25

>>28
Seriously, why do you even bother to post, assuming you are always the same "anti-set" guy?
Abstraction is the heart of engineering and science.
You are a dumbass. Maybe /b/ would suit you better.

Name: Anonymous 2011-03-27 9:01

>>35
"abstraction" is a buzzword. Like "God", "class" or "scalable enterprise solution". Enjoy your fucking "CObject" God.

Name: Anonymous 2011-03-27 9:15

>>36
This will blow your mind, buzzword is also an abstraction.

Name: Anonymous 2011-03-27 9:21

>>37
Nope. We call "buzzword" anything without connection to reality. When there is a word, but no associated process.

Name: Anonymous 2011-03-27 9:25

Labelling a term a "buzzword" pejoratively implies that it is now used pretentiously and inappropriately by individuals with little understanding of its actual meaning who are most interested in impressing others by making their discourse sound more esoteric, obscure, and technical than it otherwise would be.
That is exactly how term "God" behaves.

Name: Anonymous 2011-03-27 11:04

>>37
Try to ignore troll posts.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List