Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: Ancient Philosophy And Programming Languages

by jdporter (Canon)
on May 01, 2004 at 19:38 UTC ( #349675=note: print w/ replies, xml ) Need Help??


in reply to Ancient Philosophy And Programming Languages

I would disagree with your classification of C/C++ as Aristotlean. Int, char, etc. are still just types. The fact that they're intrinsic in the language is of no importance here. An Aristotlean language would be one which does not have abstract types, at least for its "object" system. Of such languages, Self is perhaps the best example. In Self, you don't create an object of type X by instantiating an abstract definition of class X, you clone the prototype of X, which is itself a concrete object.

However, I would argue that no computer language is truly Aristotlean, because Aristotle's model does not (AFAIK) separate the representation from the behavior -- or, in procedural terms, the data from the code.


Comment on Re: Ancient Philosophy And Programming Languages
Re: Re: Ancient Philosophy And Programming Languages
by allolex (Curate) on May 01, 2004 at 22:31 UTC

    Good point. That's actually the case for both philosophies. The major difference in ancient thought was that ideas already have their own independent existence in the world and that people "receive" them by getting in tune with the universe. The idea is identical to the thing.

    Modern thought involves an internalization of ideas to humans, producing a split between things and ideas. Ideas are the domain of thought and things are "in the world". This distinction is necessary to do OO, as far as I can tell. Programming is at least at the abstraction level of Enlightenment thought. :)

    --
    Damon Allen Davison
    http://www.allolex.net

      I disagree that the seperation between Mind and Body was an Enlightenment idea. I refer you to the beginning of discussion where Plato sets out his Theory of Forms (just hit the little blue arrow to get the rest of the discussion). He makes a clear distinction between what is thought and what is seen; in essence, between the Mind and the Body.

        Perseus++

        Sorry I jumped without filling in the bits in-between. I didn't want to say that the separation of mind and body was an Enlightenment idea. That was another thought entirely, intended facetiously, which I tacked on to that paragraph.

        I agree that there was a separation of mind and body in Plato's thought. This was essential to his theory in which the moral man is one who perceives the order of the universe despite the distraction of the inner longings of his body (likely an attack on Epicurean views). It's his theory of Ideas which causes the trouble I mentioned above. For OO, there has to be a separation between the natural world (data) and the world as we see and interact with it (code). The Enlightenment bit comes from Descartes internalist epistemology which describes why this is so.

        --
        Damon Allen Davison
        http://www.allolex.net

        Descartes really helped usher in the separation of mind and body
        "Cogito ergo sum"
        I think therefore I am

        However, I would say the concept of a soul indicates the belief in the idea of separation of mind and body, which has been around for a while. The argument goes, how can something that is immaterial be in a material thing?

        Also, platonic thinking helped the Church out quite a bit during the Dark Ages - it helped them paint heaven as the world of ideas and the earth as the cave with the shadows. Something like that - it has been a few years since I took a course on Science and Religion. That was a good class...

        Also - aren't all programming languages Platonic, since they all use an idea to represent something in real life - an int is supposed to be a number (another idea). However, i get the idea that some prog. langs are more Platonic than others. Java, to take one OOP language, is a platonic form of an already platonic concept in general (programming).

        If only that meant that our OOP code could be so ideal and perfect...
        Instead, who knew that in Plato's world of ideas, you would have to take 10 times as long to express yourself, just like in Java?

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://349675]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (4)
As of 2014-09-18 22:56 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (126 votes), past polls