Slashdot Mirror


Philosophies and Programming Languages

evariste.galois writes "Wikipedia has a special section called, 'Language Philosophy,' in every article for a programming language. This section looks at the motivation and the basic principles of the language design. What if we investigate further than that? What deeper connections between philosophies and programming languages exist? By considering the most influential thinkers of all time (e.g. Plato, Descartes, Kant) we can figure out which programming language fits best with aspects of their philosophy (Did you know that Kant was the first Python programmer)? The list is not exhaustive, but this is a funny and educative start."

239 comments

  1. Codito by stoolpigeon · · Score: 4, Funny

    ergo sum

    --
    It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
    1. Re:Codito by pilgrim23 · · Score: 5, Funny

      I always thought it was sum ergo cogito..... but then I always was getting Descartes before de Horse

      --
      - Minutus cantorum, minutus balorum, minutus carborata descendum pantorum.
    2. Re:Codito by stoolpigeon · · Score: 4, Funny

      Once you figure out that you are, then the next question comes up.
       
      /(bb|[^b]{2})/

      --
      It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
    3. Re:Codito by Verdatum · · Score: 1

      BOOOOOOOOOO!!!!!!!!!

    4. Re:Codito by Potor · · Score: 1
      555

      (a Thai joke)

    5. Re:Codito by Requiem18th · · Score: 2, Funny

      More like:
      si ego.codito:
              ego.sum()

      --
      But... the future refused to change.
    6. Re:Codito by Bob-o-Matic! · · Score: 2, Interesting

      555

      (a Thai joke)

      I was a language instructor as a SSgt in the USAF at the defense language institute Korean school in Monterey, CA. One of my students, an Army Special Forces SFC with Thai language experience (I have none), was participating in a creative role play involving numbers and vocabulary commonly used with numbers.

      He put on his army trench coat (class b uniform day) stood in front of the class, and proceeded to act like a guy who sells watches on the street. His sales pitch (for a tv commercial, I guess) went fairly well until he started to give his 555-nnnn phone number in Thai rather than Korean.

      The other students an I who had been concentrating keenly to figure out just what the hell the student SFC had been saying were totally taken by surprise by what we heard and a good laugh was had by all. The SFC was clearly working hard to communicate his free-form message (compared to many other lessons which concentrate on formatted language transactions such as greetings, weather reports, etc.), and it was quite a scene when he slipped into another language.

      Good times.

    7. Re:Codito by Anonymous Coward · · Score: 0

      a real knee slapper.

    8. Re:Codito by Lobster+Quadrille · · Score: 1

      I hate to be the one that says this, but... care to explain?

      --
      "The cup is in turn designed for holding hot or cold liquids, and has an open rim and closed base." --US Patent #5425497
    9. Re:Codito by Anonymous Coward · · Score: 0

      /(bb|(?:bb){0})/

    10. Re:Codito by 'The+'.$L3mm1ng · · Score: 2, Informative
      Probably this definition of 555:

      The Thai version of lol in a text conversation. "5" in Thai is pronounced "ha," so three of them would be "hahaha."

  2. Python by MyLongNickName · · Score: 5, Funny

    No wonder I Kant get anything done in Python!!!

    *looks around and sees no one laughing*
    *quietly backs off of the stage*

    --
    See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
    1. Re:Python by Timosch · · Score: 2, Funny

      You gotta get up at 4.45am. Kant did it, too. That kant be wrong...

  3. List is Wrong by aaaaaaargh! · · Score: 2

    Sorry, Kant was never a python programmer. Impossible. My personal guess is that Kant was programming in Modula, but it could also have been Brainf**ck. Any other suggestions by people who have actually read Cunt?

    1. Re:List is Wrong by Reality+Master+201 · · Score: 4, Interesting

      Lisp.

      Alternately a convoluted, confusing and maddening knot of junk, and a transcending work of crystalline insight, clarity and genius, and either way, constantly leaving you with the nagging feeling that if you'd just went through it one more time with love and care, you'd finally, truly get what it's all about.

    2. Re:List is Wrong by gbjbaanb · · Score: 4, Funny

      I thought he was a real pissant who was rarely very stable.

    3. Re:List is Wrong by Duhavid · · Score: 1

      Why are you bringing composers into this?

      --
      emt 377 emt 4
    4. Re:List is Wrong by James+Skarzinskas · · Score: 0

      Lisp truly is the language of the philosopher:

      Too much punctuation, not enough substance.

  4. Those who kan't... by jimbudncl · · Score: 5, Funny

    use Python.

    1. Re:Those who kan't... by Lobster+Quadrille · · Score: 1

      perl is for nihlists

      --
      "The cup is in turn designed for holding hot or cold liquids, and has an open rim and closed base." --US Patent #5425497
    2. Re:Those who kan't... by jimbudncl · · Score: 1

      Suggested mod and got it... There should be an achievement for this!

  5. What's the Point? by Sponge+Bath · · Score: 5, Informative

    This read more like a 'If programming language X was a car then it would be a Y' type lists.
    Good for a brief chuckle, but not particularly enlightening.

    1. Re:What's the Point? by Java+Pimp · · Score: 4, Interesting
      Something like: If Programming Languages were <T>

      Guess we can add this one to the list.

      --
      Ascalante: Your bride is over 3,000 years old.
      Kull: She told me she was 19!
    2. Re:What's the Point? by DiegoBravo · · Score: 1

      Yeah... the past discussed article about languages and religions ( http://www.aegisub.net/2008/12/if-programming-languages-were-religions.html ) was more comprehensive and insightful.

    3. Re:What's the Point? by Brian+Gordon · · Score: 1
      Good for a brief facepalm if anything.

      Plato is huge figure in philosophy

      Yeah, 2300 years ago. Plato is irrelevant.

      Wikipedia has a special section called, 'Language Philosophy,' in every article for a programming language.

      Is it even possible to make a less significant statement?

    4. Re:What's the Point? by Just+Some+Guy · · Score: 1

      If programming language X was a car then it would be a Y

      ...where "Y" is "head of a list", according to Wittgenstein.

      --
      Dewey, what part of this looks like authorities should be involved?
    5. Re:What's the Point? by Toonol · · Score: 4, Informative

      Yeah, 2300 years ago. Plato is irrelevant

      In the same sense that Galileo is irrelevant in modern physics. Irrelevant yet fundamentally important in the creation of the modern system of knowledge.

      Is it even possible to make a less significant statement?

      You just did. Any computer language that wasn't designed randomly has a philosophy behind it; there was some kind of principles behind the design. Flawed or elegant, there were choices about how to arrange abstract concepts.

    6. Re:What's the Point? by Anonymous Coward · · Score: 0

      I think it's more like a "If your Mom was a car then I would ride her all night long" type list.

      Good for a brief chuckle, but not particularly enlightening.

    7. Re:What's the Point? by rts008 · · Score: 1

      Those that ignore/forget history, are doomed to repeat it.

      Very myopic view you have there, good luck with that.

      --
      Down With Slashdot BETA!!! I've been around the corner and seen the oliphant; you can only abuse me from your perspecti
    8. Re:What's the Point? by Anonymous Coward · · Score: 0

      You can't compare galileos with platos.

    9. Re:What's the Point? by SL+Baur · · Score: 2, Interesting

      Wikipedia has a special section called, 'Language Philosophy,' in every article for a programming language.

      Is it even possible to make a less significant statement?

      You must be new here.

      A goatse link.
      I, for one, welcome our Philosophic Programming Overlords.

      To name three.

      The article wasn't factually correct. This

      Java was the first strongly-typed language, in which everything must have a type (or share a Form) before it is being used

      isn't even close. Sigh. By that definition FORTRAN counts. Every variable DOES have a type "before being used". It's a floating point type if the variable name starts with A-H, O-Z and integer otherwise. Perhaps the author is confused about static typing. In which case he's still off by a couple of decades on which was language was first to be "strongly-typed". If you want to restrict it to widely used languages, Ada or Pascal (which was never meant to be anything other than an academic teaching language) would qualify. Fringe languages that influenced Ada like Modula and Modula II are possible too.

      Actually, the only untyped language I'm aware of is "B", which used a machine word as its basic "type". Maybe BCPL counts too, but other than reading that it as an ancestor to C, I don't know much else about it.

    10. Re:What's the Point? by Anonymous Coward · · Score: 1, Interesting

      Comparing programming languages to philosophy makes quite some sense in is not just for chuckles. Both are about describing or modeling a universe. This leads us to interesting similarities, for example:

      Plato and class instantiation: Plato thought that everything existed as "idea", e.g. the idea of a horse and what we see are instances of this idea. This is extremely similar to the relation between classes and objects.

  6. Isn't that ironic, don't ya think? by 0xdeadbeef · · Score: 1

    In a similar manner, everything in Assembly begs for a question.

    That's not what that means! In fact, the point being made is antithetical to begging the question!

    1. Re:Isn't that ironic, don't ya think? by adonoman · · Score: 1

      "Beg the question" and "Beg for a question" are two very different things. There's nothing wrong with how the author used the latter.

    2. Re:Isn't that ironic, don't ya think? by Brian+Gordon · · Score: 3, Insightful

      Yes there is. The author's saying assembly defines everything explicitly; it's higher level languages that "beg for a question" about where that came from or how that works. Following his logic assembly doesn't "beg for a question" at all, but rather the opposite.

    3. Re:Isn't that ironic, don't ya think? by 0xdeadbeef · · Score: 1

      "Beg the question" and "Beg for a question" are two very different things

      Yes, one is a type of rhetorical fallacy, and the other demonstrates both ignorance of what it means and how to say it correctly.

    4. Re:Isn't that ironic, don't ya think? by Anonymous Coward · · Score: 0

      Your post demonstrates that your tiny little pseudomind can't comprehend the idea that there might be more than one legitimate phrase that contains both the word "beg" and the word "question".

    5. Re:Isn't that ironic, don't ya think? by edittard · · Score: 1

      Beg the question" and "Beg for a question" are two very different things. There's nothing wrong with how the author used the latter.

      Nothing apart from the fact that it's completely unidiomatic, clumsy, and no educated native speaker would ever use it?

      --
      At the bottom of the /. main page it says 'Yesterday's News'. Well they got that right.
    6. Re:Isn't that ironic, don't ya think? by 0xdeadbeef · · Score: 1

      Fool, everybody knows you only axe questions.

  7. Philosophy and language by Slur · · Score: 4, Interesting

    Before we start this discussion, everyone should read the Tractatus Logico-philosophicus by Ludwig Wittgenstein. Programming languages, like human languages, express rules and patterns, but in philosophy we talk about how and when to employ rules, where to look for patterns. There are certainly general principles that apply to all programming languages, such as the trade-off between clarity and concision, whether it's better to own or reference an object in a given instance, etc. But does C++ really have a different "philosophy" than Objective-C, or are we just talking about the problem-solving intent and domain of the language and its suitability to a given problem? Do those really constitute philosophy, or are they just functional artifacts of the form?

    Discuss.

    --
    -- thinkyhead software and media
    1. Re:Philosophy and language by Samschnooks · · Score: 2, Interesting

      All I know is some computer languages have the philosophy of "job security". Examples: Perl and .... um, yeah....

    2. Re:Philosophy and language by Anonymous Coward · · Score: 0

      Of course, in his later work, Wittgenstein decided that the view presented in the Tractatus wasn't really best explanation of all language phenomena, and in particular, human languages. In criticizing the philosophy of the Tractatus - specifically view of language as being bounded everywhere by rules - Wittgenstein thinks about languages as games, gains a valuable insight by comparing it to games like tennis. In tennis, there are rules for where you stand when serving, where you can and cannot hit the ball to have it count as a point, etc. But the game isn't bounded everywhere by rules - for example, how high can you hit the ball? So too with human language.

      Yes, I know this is specifically a topic about programming languages, something that the Tractatus deals with much better, being primarily about idealized languages for philosophical reasoning, but if you're going to start reading the man's work, you'd do yourself a favor by considering his earlier work in light of the critiques he presents in his later work. For my money, his reconsideration of his earlier writing is some of the best and most honest in western philosophy since Plato.

    3. Re:Philosophy and language by Estanislao+Mart�nez · · Score: 5, Interesting

      There are certainly general principles that apply to all programming languages, such as the trade-off between clarity and concision [...]

      I don't think you're really getting at what you mean here. How is the verbose "clear"? I understand you're trying to get at how most programmers find the more concise, expressive code much harder to understand, and seem to only be able to understand code when all of the operations are at very low level. So, for example, they claim that a map function is "unclear," while doing a loop that manually manages an array index counter is "clear." But that's simply not "clearer" in any sense; that's basically missing the forest for the trees.

      But does C++ really have a different "philosophy" than Objective-C, or are we just talking about the problem-solving intent and domain of the language and its suitability to a given problem?

      There are serious, philosophically interesting differences between some software paradigms, but if somebody's looking for them in C++ vs. Objective C, they're more likely trying to pick nits that don't exist. If you want a really big, real-world relevant set of philosophical issues that recurs over and over in software engineering, try the object-relational impedance mismatch. This comes down to two different types of ontology. To sum it up (badly!) in two bullet points:

      • Object-oriented modeling tacitly assumes an ontology where the world is made out of objects. Objects are treated as complexes of properties, divided into essentials and accidents.
      • Relational modeling assumes an ontology where the world is made out of facts (i.e., relations). Relational tables represent sets of facts that are assumed to hold; objects are just the values related by the facts. Taken to its logical conclusion, objects are atomic; all of their structure comes from which facts they occur in.

      And since you brought up Wittgenstein, note that the relational ontology is well, the first two sentences of the Tractatus:

      1. The world is all that is the case.

      1.1 The world is the totality of facts, not of things.

    4. Re:Philosophy and language by Eivind · · Score: 2, Interesting

      The verbose isn't -automatically- clear, and the concise isn't automatically unclear. Indeed, like most things in life, the middle way is often the best one, being horribly verbose makes it a lot of work to even readd what the code says, much less understand it, whereas being -overly- compact has a tendency to make things unreadable.

    5. Re:Philosophy and language by ShakaUVM · · Score: 1

      >>Tractatus Logico-philosophicus by Ludwig Wittgenstein

      I've read it.

      While he considered himself brilliant, if he can't even bother to define or defend his own terms and statements, it has no value.

    6. Re:Philosophy and language by Anonymous Coward · · Score: 0

      I don't think the object-relational impedance mismatch is really fitting to expose the philosophical differences between programming languages, since the one describes behaviour and local subspace of the system state space while the other views the system as a consistent whole, being an end-state of the various local processes. Perhaps the examination of philosophical differences between the programming languages should be limited on the ways of representing behaviour and on characterizing the locally relevant subspaces of the state space of the system.

    7. Re:Philosophy and language by Reality+Master+201 · · Score: 1

      While he considered himself brilliant, if he can't even bother to define or defend his own terms and statements, it has no value.

      If that's your reaction to the Tractatus, then you clearly didn't read it very carefully or understand it very well.

    8. Re:Philosophy and language by DrVomact · · Score: 4, Insightful

      Let's see...early or late Wittgenstein? The early Wittgenstein—the one who wrote the Tractatus—would have been a pure C programmer. Clarity, brevity, precision. The later Wittgenstein, the one we meet in Philosophical Investigations, programmed in Pascal. You know—the academic language which was completely cool, but never quite finished.

      As for Kant, he was definitely a Python guy. Only an obsessive-compulsive German would think that making a language indent-sensitive is a good thing.

      --
      Great men are almost always bad men--Lord Acton's Corollary
    9. Re:Philosophy and language by Estanislao+Mart�nez · · Score: 2, Interesting

      I don't think the object-relational impedance mismatch is really fitting to expose the philosophical differences between programming languages, since the one describes behaviour and local subspace of the system state space while the other views the system as a consistent whole, being an end-state of the various local processes.

      But what I meant to single out is not programming languages, but rather, data modeling; i.e., the use of computer programs to reason about the world.

      However, I still think that there's a programming language philosophical difference of the sort you're interested in here, though not between OOP/relational, but rather, between imperative/functional (or more generally, imperative/declarative). Functional in this regard sounds very much like your characterization of the relational model right there--but I'd need to better unpack the very succinct point you're making here before I could comment more intelligently.

    10. Re:Philosophy and language by mckinnsb · · Score: 5, Insightful
      Mod parent up - he makes a few good points, which I would like to respond to here.

      I don't think you're really getting at what you mean here. How is the verbose "clear"? I understand you're trying to get at how most programmers find the more concise, expressive code much harder to understand, and seem to only be able to understand code when all of the operations are at very low level. So, for example, they claim that a map function is "unclear," while doing a loop that manually manages an array index counter is "clear." But that's simply not "clearer" in any sense; that's basically missing the forest for the trees.

      I feel that the most concise, expressive code is code which is part of rigorously defined, parsimonious model; hence what you mean by "missing the forest for the trees" - one code block/tree does not express succinctly the forest/design or the code block/tree's part in the forest/design. Expressive code does not exist of itself - it exists when it is part of a well designed model and everything around it makes sense. Like last Wednesday's XKCD comic stated in jest (but should be taken quite seriously) , "You will never find a programming language that relieves you of the burden of clarifying your ideas." In corollary, you will never find a way to write one block of code that will ever free you of that burden, either.

      There are serious, philosophically interesting differences between some software paradigms, but if somebody's looking for them in C++ vs. Objective C, they're more likely trying to pick nits that don't exist.

      Couldn't agree with you more here. Philosophy comes into play more when you start talking about design paradigms, and not the languages themselves. I would agree that certain languages lend themselves more to certain design paradigms, which would then reflect on Philosophy - but I still feel that this article, although lighthearted and undeserving of scrutiny, has got it backwards. You can certainly construct features of one language within another if you really *try*.

      As an aside - Socrates as an Assembly programmer? Seriously? That was the one choice I couldn't really let sit. I feel like he was chosen for that because he was the "first" philosopher, and some people view Assembly as the "first" programming language. Personally, I view Assembly more of a Alphabet than a Language (or to be a little more fair, more like Ancient Cuneiform than Latin), and if you were going to pick a philosopher to be a Assembly programmer, you should probably pick a Deconstructionist - Jacques Derrida would have been a good one.

    11. Re:Philosophy and language by steelfood · · Score: 1

      The pointers vs. references debate is like having sexual words vs. using innuendo (e.g. "masturbate" vs. "play with oneself").

      --
      "If a nation expects to be ignorant and free in a state of civilization, it expects what never was and never will be."
    12. Re:Philosophy and language by ShakaUVM · · Score: 1

      >>If that's your reaction to the Tractatus, then you clearly didn't read it very carefully or understand it very well.

      Writing obtusely doesn't make one intelligent.

      Which is ironic, since he considered all philosophical problems just problems with clarity of language, with the job of the philosopher akin to that of a linguistic janitor, cleaning up definitions.

    13. Re:Philosophy and language by Estanislao+Mart�nez · · Score: 4, Insightful

      In criticizing the philosophy of the Tractatus - specifically view of language as being bounded everywhere by rules - Wittgenstein thinks about languages as games, gains a valuable insight by comparing it to games like tennis. In tennis, there are rules for where you stand when serving, where you can and cannot hit the ball to have it count as a point, etc. But the game isn't bounded everywhere by rules - for example, how high can you hit the ball? So too with human language.

      I think you're missing the most important point about Wittgenstein's game analogies. It's part of a critique of the classical theory of categories, which assumes that categories have necessary and sufficient conditions for membership, that language terms stand for categories, and thus, insists that terms must have definitions in terms of necessary and sufficient conditions for the applicability of the term. Thus, the term "game" stands in need of a definition that tells us what are the properties that all games share.

      Wittgenstein tries to get us to see that there's no such definition to be had for "game"; as you try various candidate properties to see if they're shared by all games, you always find some game that doesn't have it. Games stand in a set of family resemblances to each other. But when you start following this idea through, you start to understand that Wittgenstein is inviting us to see instances of "language" in the same light as he's made us see the instances of games: language is a large complex of social practices that share family resemblances to each other.

      The other Wittgenstinian analogy that's relevant here is that language is like a toolbox. This fits in quite nicely with the family resemblance discussion, too: what is the property shared by all tools? To quote Wittgenstein's parody of the attempt to provide such a property:

      14. Imagine someone's saying: "All tools serve to modify something. Thus the hammer modifies the position of the nail, the saw the shape of the board, and so on."---And what is modified by the rule, the glue-pot, the nails?---"Our knowledge of things' length, the temperature of the glue, and the solidity of the box."-----Would anything be gained by this assimilation of expressions?---

      Also, Wittgenstein's treatment of rules is quite a bit more radical than you state it here, because it's framed as a critique of the notion of rule-following: the idea that rules "guide" the behavior of people. This is probably the part of Wittgenstein that's the most relevant to computer science, and in particular, to AI (classic AI fundamentally sees intelligence as rule-following). Alas, I haven't reviewed these parts in a while.

      Yes, I know this is specifically a topic about programming languages, something that the Tractatus deals with much better, being primarily about idealized languages for philosophical reasoning, but if you're going to start reading the man's work, you'd do yourself a favor by considering his earlier work in light of the critiques he presents in his later work.

      It's actually controversial to what extent Wittgenstein repudiated the Tractatus. More generally, the Tractatuts might well be the book that Wittgenstein's readers most disagree about. Wittgenstein always insisted that the philosophers who most admired the Tractatus completely missed the point behind it. There's certainly a shared theme between it an the Investigations: philosophy is a kind of confusion that comes up when philosophers fail to understand the limits of language. In the Investigations, the critique of philosophers' abuse of language takes the form of an attack on the classical theory of categories (the one that the idea of family resemblances is opposed to). In the Tractatus, on the other hand, the critique is based on the extremely obscure idea that there are things that language "shows" without "saying"--an idea that the book is (arguably) supposed to "show" rather than say...

    14. Re:Philosophy and language by 0xdeadbeef · · Score: 2, Insightful

      To really sum it up: Is the world made of sets or is it made of graphs?

    15. Re:Philosophy and language by Estanislao+Mart�nez · · Score: 1

      If that's your reaction to the Tractatus, then you clearly didn't read it very carefully or understand it very well.

      No, Wittgenstein really was not a very good writer. Very cryptic and rambling, using very unorthodox authorial techniques that he doesn't explain at length. One thing that's very telling is that reading Wittgenstein's biography is actually very helpful in understanding his work; it's pretty clear that W. fails in giving you a lot of context that you need to more easily understand him.

      On the positive side, he often made some really striking analogies.

    16. Re:Philosophy and language by DragonWriter · · Score: 1

      I don't think you're really getting at what you mean here. How is the verbose "clear"?

      Noting that there is a trade-off between concision and clarity does not mean that verbosity is clear, it means that there are situations when the most concise expression may not be the most clear. It is perfectly consistent with the observation that the most concise expression may at times also be the most clear, and that being more verbose may not always add clarity.

      I understand you're trying to get at how most programmers find the more concise, expressive code much harder to understand, and seem to only be able to understand code when all of the operations are at very low level.

      I don't think (a) that's what GP is getting at, or (b) that's true in the first place. Most programmers, IME, find the code written in the syntax which they are most familiar easiest to understand, and code written in unfamiliar syntax harder to understand. Since more programmers are familiar with languages with Algol-derived syntax (either procedural languages like C or OO languages with similar syntax like Java), code that is written in that syntax, or in other syntax with constructs that mimic that syntax, are readily understood, while, e.g., Lisp code presents more of a barrier. But this has nothing to do with what is concise; different concepts are expressed most concisely in either idiom, and languages which adopt constructs popularized in functional languages with non-Algol-derived syntax and present them with a syntax that is more accessible to those familiar with Algol-derived syntax (e.g., Ruby, Python, etc.) are often particularly praised for their expressiveness and clarity by people who would shun the languages from which they are adopting features.

    17. Re:Philosophy and language by Yetihehe · · Score: 1

      Only an obsessive-compulsive German would think that making a language indent-sensitive is a good thing.

      Maybe python makers have seen code written by programmers like one of my coworkers:
      if(condition)
      dosomething();
      doanything();
      The worst in this is that sometimes both functions should be contained in if block, but it was overlooked due to lack of time and bad indentation. It hurts my eyes everytime I see it, I'm glad that netbeans has automatic code formatting.

      --
      Extreme Programming - Redundant Array of Inexpensive Developers
    18. Re:Philosophy and language by DragonWriter · · Score: 1

      Object-oriented modeling tacitly assumes an ontology where the world is made out of objects. Objects are treated as complexes of properties, divided into essentials and accidents.

      This is mostly true of C++/Java style OOP, Smalltalk-style (or, as I like to think of it, "real") OOP doesn't, as an ideal, have essentials beyond objectness.

      Relational modeling assumes an ontology where the world is made out of facts (i.e., relations).

      "Relations" in the relational model are not facts, they are proper sets of facts of the same form (or, stated another way, with the same essential characters and different particular characteristics.) [In SQL, they aren't proper sets, but bags, but SQL and the relational model are two different things.]

      Relational modeling assumes a break-down into categories of facts (represented by relations) that is very similar to break down into classes and instances in the least flexible implementations of the OO paradigm. Insofar as there is an impedance mismatch, its largely an artifact of implementation details in specific "relational" systems vs. specific "OO" systems, rather than a fundamental incompatibility in the models.

    19. Re:Philosophy and language by Hognoxious · · Score: 1

      Let's see...early or late Wittgenstein?

      I liked him when he was just doing small gigs, but once he got a whiff of fame he sold out.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    20. Re:Philosophy and language by Estanislao+Mart�nez · · Score: 1

      Relational modeling assumes a break-down into categories of facts (represented by relations) that is very similar to break down into classes and instances in the least flexible implementations of the OO paradigm.

      I think you're missing the point. The relational model doesn't just break down facts into categories and leave it at that. The relational model treats relations as logical predicates, and tuples as logical propositions. And the key thing about this is that propositions stand in a relation of logical consequence to other propositions. The really important thing about "facts" is how they relate to other "facts" by logical entailment; the key thing about "objects" seems to be what categories they belong to, and what attributes this entails.

      Insofar as there is an impedance mismatch, its largely an artifact of implementation details in specific "relational" systems vs. specific "OO" systems, rather than a fundamental incompatibility in the models.

      Well, if you asked me, I'd just say that OO just doesn't solve the more general data management problems. A custom OO model for the benefit of an individual application is probably fine, but there's just no way to generalize it to the more general problems of managing data that's important beyond the context of an individual application. There is no overarching taxonomy of categories that the objects of the world fit in, and hell, even worse, there is no such thing as the proper division of the world into "objects."

      However, given multiple, seemingly different schemas for classifying and categorizing, there is very often a semantically powerful isomorphism or at least homomorphism between them, that allows representations of one kind to be systematically transformed into representations of the other. The relational model is the data management paradigm that I've seen that best reflects this, because its logical grounding allows for tons of such systematic transformations.

      Thus, the supposed object-relational impedance mismatch is a fiction stemming from object-oriented modeling advocates who just don't understand relational modeling; they want to store application-specific representations in a relational database, when the database is meant for storing information in an application-agnostic fashion. If you want to store application data in a relational database, well, you should have to do some extra work to transform the application-specific representation to an application-agnostic one.

    21. Re:Philosophy and language by Estanislao+Mart�nez · · Score: 2, Informative

      I liked him when he was just doing small gigs, but once he got a whiff of fame he sold out.

      Oh boy, no. I know you are joking, but Wittgenstein was crazy enough that the truth is funnier than the joke.

      Wittgenstein believed that his first book, the Tractatus Logico-Philosophicus, solved all of the problems of philosophy. Therefore, since there were no more problems left to solve, Wittgenstein quit philosophy and became a grade school teacher in rural Austria.

      After he lost that job (because of beating up a student), he temporarily became a gardener in a monastery he wanted to join, until the monks supposedly convinced him that he wasn't really cut out for the monastic life. (Gee, you have to wonder why they told him that.) So he then became an amateur architect to help his sister build a house she liked (which is now a historical building).

      Then he started chatting with some philosophers and mathematicians once in a while and changed his mind about his book: he concluded that, after all, he had not solved all of the problems in philosophy. So he moved to Cambridge to go back to doing philosophy, and after a couple of years, he discovered that he had not solved all of the problems in philosophy because there are none. After that, he spent the next 18 years or so, nearly the rest of his life, writing and rewriting the Logical Investigations, a book that nobody has ever understood, and whose publication he only allowed to happen after his death, because his writing sucked so much he couldn't bear to subject the general public to it while he was still alive.

      Oh, and his father was the richest man in Austria, but he surrendered his portion of the inheritance because he didn't believe in money...

    22. Re:Philosophy and language by Anonymous Coward · · Score: 0

      What of Parmenides?

      http://en.wikipedia.org/wiki/Parmenides

      "It is necessary to speak and to think what is; for being is, but nothing is not."

      He had great influence on Plato. Much later, Sartre would state,

      "Existence precedes essence."

      His notion of the non-existence of voids feeds into whether space and time exist as "things" or whether they are just relations between objects and events. Lot of stuff there....

    23. Re:Philosophy and language by ChunderDownunder · · Score: 1

      Formatting aside, developers should follow a coding standard, i.e. if statements should always use braces.

    24. Re:Philosophy and language by DrVomact · · Score: 1

      his writing sucked so much he couldn't bear to subject the general public to it while he was still alive.

      I think you know better than this. Even though we have only what amounts to a journal or notebook, there's plenty in Wittgenstein to think about. His writing style was certainly lucid (at least in the original German)—so clear and spare that not a single word could be removed. Besides, he was quite modest about Investigations: "I should have liked to produce a good book. This has not come about, but the time is past in which I could improve it." [From the Preface, third Edition (the one that levitates off the desk a bit when read by candlelight).]

      --
      Great men are almost always bad men--Lord Acton's Corollary
    25. Re:Philosophy and language by DrVomact · · Score: 1

      Not if you write Python—no braces for you, bad boy. And if the editor you're using accidentally eats all the beginning of line white space...you have learned the true meaning of despair.

      --
      Great men are almost always bad men--Lord Acton's Corollary
    26. Re:Philosophy and language by Lobster+Quadrille · · Score: 1

      Are you kidding? I've SEEN my perl code. I don't want to be stuck maintaining it.

      --
      "The cup is in turn designed for holding hot or cold liquids, and has an open rim and closed base." --US Patent #5425497
    27. Re:Philosophy and language by palegray.net · · Score: 1

      I was imagining your post as read by James Lipton.

    28. Re:Philosophy and language by palegray.net · · Score: 1

      I assure you, programmers write awfully bad code in all sorts of languages. Your personal fave isn't immune either.

    29. Re:Philosophy and language by metaforest · · Score: 1

      It my position that machine languages really should not be on such a language philosophy list at all. Machine operation codes do not express program logic in any meaningful abstraction. They represent the actual stream of operations to be performed in a way that is unflinchingly explicit.

      It is the case that, in the process of writing machine code, the developer is likely to create a number of abstractions expressed in machine language by way of implication. Such abstractions exist exclusively in the domain of the developer's mind and engineering notes, and have no direct representation in machine code.

      My take on this assumes that we strip away the artifice of Assembly Language as being a slightly more human-centric way of expressing executable codes. As such, if there is any philosophy to be expressed in a machine language, it is most likely to appear in the syntax and form the assembler directives take than in the operational details of the machine instruction codes that are eventually expressed in the the binary executable.

      The more appropriate place to look for philosophy with regard to machine languages is the machine itself. It is the processor architecture, and it's implied programming model, that express philosophy, if any is to be found.

      Beyond a utiliarian understanding of what problem solving domain(s) the processor was designed to address, any discussion of philosophy with regard to a machine language seems pointless.

    30. Re:Philosophy and language by Mr.+Slippery · · Score: 1

      Object-oriented modeling tacitly assumes an ontology where the world is made out of objects...Relational modeling assumes an ontology where the world is made out of facts

      The properties of an object are facts about that object.

      There is no more an "impedance mismatch" between OOD and RDBMSes than there is between OOD and the abstractions of file systems provided by operating systems.

      --
      Tom Swiss | the infamous tms | my blog
      You cannot wash away blood with blood
    31. Re:Philosophy and language by Kaz+Kylheku · · Score: 1
      "You will never find a programming language that relieves you of the burden of clarifying your ideas."

      Nice quote. Unfortunately, you will find plenty that get in the way of clarifying your ideas.

      You can certainly construct features of one language within another if you really *try*.

      Demonstrably false, sorry.

    32. Re:Philosophy and language by Anonymous Coward · · Score: 0

      Indeed. I've seen readable Perl, elegant VB, and Python so messy that it made me want to claw my eyes out.

      Rumor has it that somewhere, once upon a time, a particularly enlightened sage managed to produce a decent bit of PHP code. But that's probably just a myth.

    33. Re:Philosophy and language by Reality+Master+201 · · Score: 1

      Writing obtusely doesn't make one intelligent.

      I didn't say it did. What I said is that if the only thing you got from reading the Tractatus was that Wittgenstein was not the clearest writer, you weren't paying much attention or trying very hard, or - worse still - you weren't taking it seriously.

  8. Philosophy of computer science by Anonymous Coward · · Score: 4, Informative

    The Stanford Encyclopedia of Philosophy, http://plato.stanford.edu/, has an introduction on philosophy of computer science which is far more interesting than this worthless drivel.

  9. Soooo...... by spookymonster · · Score: 0, Offtopic

    Slow news day, huh?

    --
    - Despite popular opinion, I am not perfect.
    1. Re:Soooo...... by Anonymous Coward · · Score: 0

      Slow, yes, like the passing of the ages, yet, with time, building mountains, and nothing must be overlooked, lest ye fall off a cliff or get eaten by a grue.

  10. Nietzsche? by circletimessquare · · Score: 1

    the first virus/ worm/ trojan author?

    --
    intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
    1. Re:Nietzsche? by mc1138 · · Score: 1

      Anti-Virus is Dead.

    2. Re:Nietzsche? by AndrewNeo · · Score: 4, Funny

      Schrodinger would like to disagree/agree with you.

    3. Re:Nietzsche? by TheCycoONE · · Score: 2, Insightful

      I doubt it, Nietzsche rejected artificial morality and the distinction between good and evil. As a language he would be type-less and purposefully unlike conventional languages. I'm thinking LISP, but perhaps someone more familiar with his works can express a better choice.

    4. Re:Nietzsche? by m.ducharme · · Score: 1

      I'm tempted to say lolcode.

      --
      Rule of Slashdot #0: You and people like you are not representative of the larger population. - A.C.
    5. Re:Nietzsche? by haystor · · Score: 1

      Java. If ever a philosopher was an architecture astronaut...

      --
      t
    6. Re:Nietzsche? by Jonner · · Score: 1

      If you're right about Nietzsche, perhaps FORTH would make more sense. Lisps are dynamically typed, but FORTH is truly typeless and much less conventional.

    7. Re:Nietzsche? by Anonymous Coward · · Score: 0

      Schrodinger would like to disagree/agree with you.

      Yeah, but who cares what he thinks? We've all heard what that sick f*ck does to cats.

    8. Re:Nietzsche? by Anonymous Coward · · Score: 0

      obviously brainfuck!

    9. Re:Nietzsche? by d'fim · · Score: 1

      I'm sure there are a lot of things that Schrodinger would like, but the rest of us would just like for him to get on with it and make up his damn mind already.

      --
      Adherence to the truth is a form of disloyalty.
    10. Re:Nietzsche? by AndrewNeo · · Score: 1

      I'm sure he would too, but when the Animal Shelter cut him off from adopting any more cats, it kind of poisoned his decision-making process.

    11. Re:Nietzsche? by Hognoxious · · Score: 1

      To be accurate, it simultaneously poisoned it and it didn't poison it.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    12. Re:Nietzsche? by severoon · · Score: 1

      Don't know about Nietzsche, but Kafka would be an unending series of ambiguously located header imports and incomprehensible macros. If the user didn't follow every arbitrary, subtle rule of the application, they would be greeted with an authoritarian error message:

      You vil get vat you vant if you PROPERLY FOLLOW PROPER PROTOCOLS. PROPERLY FOLLOW PROPER PROTOCOLS!
      [source of this quote]

      --
      but have you considered the following argument: shut up.
    13. Re:Nietzsche? by Lobster+Quadrille · · Score: 1

      Anti-virus might be dead, but the AV companies threaten me every time I come close to the box.

      --
      "The cup is in turn designed for holding hot or cold liquids, and has an open rim and closed base." --US Patent #5425497
  11. Philosophy of Perl by nobodyman · · Score: 4, Funny

    Through my (admittedly limited) experience with updating another team's perl scripts, I've discovered the design philosophy of perl:

    • There is a God...
    • ...and he hates us

       

    1. Re:Philosophy of Perl by D+Ninja · · Score: 3, Funny

      I always thought Perl's philosophy was to make you think of it's creator (Larry Wall). How so, you ask? Well...developing in Perl is like pounding your head against a wall...

    2. Re:Philosophy of Perl by Lord+Ender · · Score: 5, Funny

      Perl is a lot like Christianity, actually. It borrows almost everything from previous languages, and it makes you hate yourself.

      --
      A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
    3. Re:Philosophy of Perl by blakelarson · · Score: 1

      Obligatory... http://xkcd.com/224/

    4. Re:Philosophy of Perl by SanityInAnarchy · · Score: 3, Insightful

      I suspect it depends very much how clean that other team's perl is. Perl is perhaps the language in which it is easiest for sheer laziness to lead to something unreadable.

      However, Perl can be readable, and there are other reasons to like it.

      Disclaimer: I haven't touched Perl since I became a Ruby/Javascript convert.

      --
      Don't thank God, thank a doctor!
    5. Re:Philosophy of Perl by Anonymous Coward · · Score: 0

      Does that make me a hypocrite then? I love Perl, but hate Christianity. :(

    6. Re:Philosophy of Perl by Methinx · · Score: 1
    7. Re:Philosophy of Perl by ultrabot · · Score: 1

      Perl is a lot like Christianity, actually. It borrows almost everything from previous languages, and it makes you hate yourself.

      Or perhaps more related to Dadaism.

      Many Dadaists believed that the 'reason' and 'logic' of bourgeois capitalist society had led people into war. They expressed their rejection of that ideology in artistic expression that appeared to reject logic and embrace chaos and irrationality.

      --
      Save your wrists today - switch to Dvorak
    8. Re:Philosophy of Perl by Hognoxious · · Score: 1

      I thought perl's philosphy was "there's more than one way to do it", not "there's more than one shitcock who'll post an xkcd link".

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    9. Re:Philosophy of Perl by Lobster+Quadrille · · Score: 1

      You're right, but the shitcock thing is the unspoken corollary.

      --
      "The cup is in turn designed for holding hot or cold liquids, and has an open rim and closed base." --US Patent #5425497
    10. Re:Philosophy of Perl by Anonymous Coward · · Score: 0

      Naw, Perl's more like:

      * There's a God (Larry Wall)
      * ...and he's pretty relaxed, with a sense of humour and a penchant for doing less work to achieve the same results.

      Seriously, man. Perl's a hippie language - its motto might as well be "feed your mind". You only hate it because you haven't done so yet. ;) (Or maybe because that other team you're mentioning sucked: Perl is also rather like Unix insofar as that it gives you more than enough rope to hang yourself with if you so desire.)

  12. To quote a philosopher... by Star+Particle · · Score: 1

    "Plankalkul is dead." - Nietzsche

  13. Re:Irrelevant, does not include business languages by Anonymous Coward · · Score: 1, Informative

    This is so not funny - its pure flame and its most trollish--- check this out asshammer - http://arstechnica.com/open-source/news/2009/03/google-launches-project-to-boost-python-performance-by-5x.ars

  14. Nice by Zarf · · Score: 1

    Nice little article I'm really glad this got posted. It really does nice job of tying things together. No, I don't take it seriously... but the author definitely understands the different philosophies that are under each programming language and manages to make a reasonably entertaining connection back to a philosopher.

    --
    [signature]
  15. which philosopher by ionix5891 · · Score: 1

    would be PHP then?

    1. Re:which philosopher by Anonymous Coward · · Score: 0

      Some bloke down the pub

    2. Re:which philosopher by Anonymous Coward · · Score: 0

      Fickle, Easilly hurt, Complex as hell?

      Shame I can't think of any female philosophers

    3. Re:which philosopher by maxume · · Score: 2, Funny

      That excessively drunk guy you overheard at the bar last Saturday.

      --
      Nerd rage is the funniest rage.
    4. Re:which philosopher by Lord+Ender · · Score: 4, Funny

      Jack Handy.

      --
      A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
    5. Re:which philosopher by drinkypoo · · Score: 1

      I think it was the little-known Neckreday, who first said, "GIT-R-DONE!"

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    6. Re:which philosopher by TheDreadSlashdotterD · · Score: 1

      Crowley.

      --
      I have nothing to say.
    7. Re:which philosopher by LevonB · · Score: 1

      Plato, who stole most of his good ideas from Socrates (Socrates must have used Perl).

      --
      Levon Barker
    8. Re:which philosopher by JustOK · · Score: 1

      That frequently hits 120, but, at times, might, also might hit someone two rows behind him.

      --
      rewriting history since 2109
    9. Re:which philosopher by Rasperin · · Score: 1

      Put a Socrates in it.

      --
      WTF Slashdot, why do I have to login 50 times to post?
    10. Re:which philosopher by Anonymous Coward · · Score: 0

      PHP is quite likable when you first meet him, and has lots of good ideas but when really challenged PHP lacks depth, and the ability to handle multiple threads of thought. He's a first year philosophy student (I kid) sorta

    11. Re:which philosopher by lenester · · Score: 1

      Ayn Rand.

    12. Re:which philosopher by Anonymous Coward · · Score: 0

      He said "philosophers", not "third-rate novelists only taken seriously by emo teenagers".

  16. Finally! by cortesoft · · Score: 4, Interesting

    As a programmer who was a philosophy major in college I am so happy to finally see the connection made by others (even if at such a superficial and shallow level).

    In all seriousness, however, philosophy and programming are amazingly similar. They each are about breaking down complex thoughts into atomic, logical pieces. The origin of computer theory is in philosophy.

    And for all of you philosophy majors who are sick of being asked what you are going to do with a philosophy degree (as I was).... tell them you will be a computer programmer!

    1. Re:Finally! by mehemiah · · Score: 1

      Indeed. I think that philosophy is like computer science, they invert the processes of law and science. Law starts at a conclusion uses logic to find what data supports the conclusion. Natural Science takes data uses logic to find a conclusion. Computer science is the act of generating logic to find data from given a conclusion or finds a conclusion given data. I may have to work on that thesis a little however

    2. Re:Finally! by Estanislao+Mart�nez · · Score: 1

      In all seriousness, however, philosophy and programming are amazingly similar. They each are about breaking down complex thoughts into atomic, logical pieces. The origin of computer theory is in philosophy.

      Plenty of philosophers would disagree with you. I'll mention the late Wittgenstein as an example and leave it there.

    3. Re:Finally! by cortesoft · · Score: 1

      Fair enough, I guess I should have specified that a subset of philosophy deals with this work.

      Thinking about studying Wittgenstein reminded me of another class in philosophy that reminded me of programming. http://en.wikipedia.org/wiki/Sense_and_Reference seems to me very similar to conceptually trying to figure out the relationship between pointers and variables in programming.

    4. Re:Finally! by ChunderDownunder · · Score: 1

      One of my lecturers in the philosophy department wrote his own programming language, Joy.

      Pure Mathematics (in the Science department) and Formal Logic (in the Philosophy department) are closely related in terms of the apparatus for proofs. Logic was unfortunately a neglected step-child of the Arts faculty. :(

      At the other end of the scale Theoretical Physics and Philosophy share commonality, e.g. Physics was originally termed "Natural Philosophy".

    5. Re:Finally! by Anonymous Coward · · Score: 0

      Re atomic: There has been no progress in resolving the difficulties between completed and potential infinities. Accepting one or the other yields useful things but it appears the human mind cannot move past this to simultaneity. To the extent that a programmer believes he or she can move beyond this in whatever language there is a commensurate rise in the vulnerability of systems using it. Information warfare is a natural application but I did not want to pursue that.

      Wittgenstein clearly recognized this as accepting a disjunct whereof one must be silent.

      Wonderful mind.

      Back to work.

  17. Ada and Karl Marx seem to be a nice fit . . . by PolygamousRanchKid+ · · Score: 1

    . . . COBOL, FORTRAN and APL are still up for grabs.

    I'm really stumped about who to pick for the Occam programming language.

    --
    Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
    1. Re:Ada and Karl Marx seem to be a nice fit . . . by Anonymous Coward · · Score: 0

      How about the guy who invented the rusty razor.

  18. First Bruce! by PinkyDead · · Score: 1

    Struth!

    --
    Genesis 1:32 And God typed :wq!
    1. Re:First Bruce! by julesh · · Score: 1

      And this is the reason Kant would never be a Python programmer.

  19. Wittegenstein was, of course, prolog by goffster · · Score: 1

    Tractatus

  20. CS and AI are grounded in philosophy by patlabor · · Score: 4, Informative

    Computer Science is already grounded in Philosophy, especially in Artificial Intelligence. Have a look at Defeasible Logic (based on defeasible reasoning) for some recent developments. If you want specific programming languages, have a look at Prolog. Search for theorem solvers online. Or check wikipedia for Logic programming http://en.wikipedia.org/wiki/Logic_programming. For that matter, have a look at the Turing machine http://en.wikipedia.org/wiki/Turing_machine. Bottom line, the field of Computer Science is based on logic.

  21. Original Research by Verdatum · · Score: 1

    Nope, sorry, we can't do that because of [[WP:OR]]. -~~~~

    1. Re:Original Research by rbrausse · · Score: 1

      [citation needed] :P

      (btw, thanks - your comment made me smile)

  22. educative? by professorguy · · Score: 1

    I'm not sure educative is a word. Probably looking for pedagogical.

    1. Re:educative? by maxume · · Score: 1

      Educative is apparently a word:

      http://www.answers.com/educative
      http://www.merriam-webster.com/dictionary/educative

      Personally, I would go with educational (pedagogical would mean related to teaching, rather than learning, so I don't think it works as well here).

      --
      Nerd rage is the funniest rage.
    2. Re:educative? by langelgjm · · Score: 2, Informative

      It is a word: educative.

      I'd quote the OED as well, but I'm too lazy to start up my VPN and interrupt the torrents.

      Besides, pedagogical would have more to do with the method of teaching. "Educational" would probably have been the best choice.

      --
      "Anyone who [rips a CD] is probably engaging in copyright infringement." - David O. Carson
    3. Re:educative? by JustOK · · Score: 1

      It's a perfectly cromulant word.

      --
      rewriting history since 2109
  23. Implications... by tool462 · · Score: 1

    Does this mean Nietzsche would have worked for Netcraft?

    "This just in--COBOL is dead. Netcraft confirms it."

    And in a slightly more serious vein, discussion of philosophy of language design is all well and good. At the very least it's the kind of masturbation one can do with the whole family. Kantian compilers and Platonic preprocessors are certainly titillating. But what I'd be more interested in is if there have been any studies of programming languages in terms of human language. I know you can make some superficial analogues of functions as verbs, variables as nouns, and some languages have syntax flexibility that reflects natural language to an extent (e.g., Perl's indirect object format: $awesome = 1 if $natalie_portman && $hot_grits;) These are intentionally created that way by the language designer, though. I'm wondering if, based on these superficial intentional "boundary conditions", any deeper parallels to natural language emerge. My intuition tells me that Lisp is likely very similar to how language is structured within our brains--a series of nested clauses, each representing its own set of ideas or objects. If you subscribe to any of Chomsky's or Pinker's ideas of how our brains use language, the simple combinatorial system that allows us to create arbitrarily complex sentences seems like it would apply equally well to many programming languages.

    Just some of my musings while I avoid work in the morning...

  24. Informational Realism by Baldrson · · Score: 1
    Informational Realism is worth investigating as a basis for programming languages.

    This is a lineage that goes back to at least Principia Mathematica's attempt to derive "relation arithmetic" as a way of orienting our descriptions of the world around relations rather than around objects.

  25. Anonymous spectator by Anonymous Coward · · Score: 0

    Realizes the lame pun

    *Boooooo!*
    *Boooooo!*

  26. Oh! Pascal! by beadfulthings · · Score: 1

    I've saved this classic text for years and years. Not only was it the first serious programming language I ever took up, but the imaginary programmer addressed throughout the text was a female--like me. I loved it. Did that fact have anything to do with the philosophy of the developers of the language? Probably not, but it somehow spoke volumes about the people I knew who coded in it. (Back when the Earth was still cooling...)

    --
    "Here's what's happening. You're starting to drive like your Dad..." - Red Green
    1. Re:Oh! Pascal! by wfstanle · · Score: 1

      I read that book also and you certainly brought back memories. The author struck a good balance in making an otherwise dry subject, interesting and at times even funny. I remember a paragraph about the importance of choosing meaningful variable names. In it, the author presented the "Who's on first" routine by Abbot and Costello.

  27. Machiavelli by rssrss · · Score: 3, Funny

    Machiavelli must have been the inspiration for Scheme.

    --
    In the land of the blind, the one-eyed man is king.
    1. Re:Machiavelli by Alzheimers · · Score: 0, Flamebait

      The Marquis De Sade must have been the inspiration for Scheme.

      Fix'd

    2. Re:Machiavelli by steelfood · · Score: 1

      Why? Did he talk with a lisp?

      *ducks*

      --
      "If a nation expects to be ignorant and free in a state of civilization, it expects what never was and never will be."
  28. Written by an idiot. Proof: by Anonymous Coward · · Score: 0

    Actually the most common phrase in the Perl world is "there is more than one way to do it" or TIMTOADY for short.

  29. Pythagoreans use Mathematica by xee · · Score: 2, Insightful

    The pythagoreans identify nicely with Mathematica.

    --
    Oh shit! I forgot to click "Post Anonymously"...
  30. Ya, but... by fahrbot-bot · · Score: 1

    "There are more things in Heaven and Earth, Horatio, than are dreamt of in your philosophies."
    - Shakespeare (Hamlet)

    --
    It must have been something you assimilated. . . .
    1. Re:Ya, but... by JustOK · · Score: 2, Funny

      so, buffer overflows?

      --
      rewriting history since 2109
  31. Drunken Philosphers by Anonymous Coward · · Score: 0

    Immanuel Kant was a real pissant
    Who was very rarely stable
    Heidegger, Heidegger was a boozy beggar
    Who could think you under the table
    David Hume could out-consume
    Wilhelm Friedrich Hegel
    And Wittgenstein was a beery swine
    Who was just as schloshed as Schlegel

    There's nothing Nietzsche couldn't teach ya
    'Bout the raising of the wrist
    Socrates himself was permanently pissed

    John Stuart Mill, of his own free will
    With half a pint of shandy got particularly ill
    Plato, they say, could stick it away
    Half a crate of whiskey every day
    Aristotle, Aristotle was a bugger for the bottle
    Hobbes was fond of his dram
    And Rene Descartes was a drunken fart
    "I drink therefore I am"

    Yes, Socrates himself is particularly missed
    A lovely little thinker but a bugger when he's pissed

    1. Re:Drunken Philosphers by Anonymous Coward · · Score: 0

      I'm sorry the title of this post should have been the PYTHON of philosophers.

  32. Re:Irrelevant, does not include business languages by jason.sweet · · Score: 2, Funny

    This is so not funny - its pure flame and its most trollish--- check this out asshammer - http://arstechnica.com/open-source/news/2009/03/google-launches-project-to-boost-python-performance-by-5x.ars

    Sweet! Now your homework will run really fast.

  33. he would have no language at all by circletimessquare · · Score: 1

    nihilism is purposeless and random. coding therefore cannot have anything to do with nietzsche, since it is all structure

    --
    intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
    1. Re:he would have no language at all by johnsonav · · Score: 2, Informative

      nihilism is purposeless and random. coding therefore cannot have anything to do with nietzsche, since it is all structure

      That's all well and good. But, Nietzsche wasn't a nihilist. In fact, he wrote extensively in opposition to it. While both Nietzsche and the nihilists agreed on the illegitimacy of the existing moral order, Nietzsche wanted to replace it with something new, while nihilists insist that no such thing is possible.

      --
      ... and that's when the C.H.U.D.'s came at me.
    2. Re:he would have no language at all by Anonymous Coward · · Score: 0

      Freddy N. was the opposite of a nihilist. He wanted new values, not just to destroy exising ones.

      Maybe next time try commenting on something you actually understand.

    3. Re:he would have no language at all by Anonymous Coward · · Score: 0

      lol
      Nietzsche was not a nihilist at least in the random, purposeless, ultraceptical meaning.
      That's one of the most common misconceptions, he used the word nihilist mostly to define (a) religious morality and (b) an attitude of letting oneself be destroyed and let the ubermensh become.

      "the last man will be the one that announces the ubermensh" (or superman as you like it)

    4. Re:he would have no language at all by Hognoxious · · Score: 1

      coding therefore cannot have anything to do with nietzsche, since it is all structure

      I disagree. I've seen code written by *cough*indian*cough* offshore programmers, and let me assure you that stucture don't enter into it.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    5. Re:he would have no language at all by Lobster+Quadrille · · Score: 1

      As a security guy, I can testify that no matter how structured you intend your code to be, it eventually, through poor maintenance, poor implementation, and poor design, becomes purposeless and random.

      Nihilism fits right into my line of work.

      --
      "The cup is in turn designed for holding hot or cold liquids, and has an open rim and closed base." --US Patent #5425497
  34. Why the droids will win. by v(*_*)vvvv · · Score: 5, Insightful

    Programming languages are layers that abstract away the computer underneath. Philosophy is about pealing the layers that abstract away our being that lies underneath.

    Of course, we know everything about a computer, because we built it. Yet we know nothing about our being, even when we're all trapped in one.

    That could be our biggest weakness when the droids turn against us. Computers and machines will always know exactly what they are, while humans will forever be confused.

    1. Re:Why the droids will win. by Anonymous Coward · · Score: 0

      Of course, we know everything about a computer, because we built it.

      Very, very, very wrong. It's not because you've built something that you know all its properties. It just makes reasoning easier.

    2. Re:Why the droids will win. by ultrabot · · Score: 1

      That could be our biggest weakness when the droids turn against us. Computers and machines will always know exactly what they are, while humans will forever be confused.

      I suppose the first AI to become sentient will use very miniscule portion of its CPU time thinking about L12 cache and the mechanics of the Hurd kernel it's being run on. Just like we don't think of our cells or circulatory system that much.

      --
      Save your wrists today - switch to Dvorak
    3. Re:Why the droids will win. by Lobster+Quadrille · · Score: 1

      ...and it will instead spend most of its time trolling slashdot for lulz.

      I have a strong suspcion that AI is already around and it:

      is nihlist.
      spends time on 4chan.

      --
      "The cup is in turn designed for holding hot or cold liquids, and has an open rim and closed base." --US Patent #5425497
  35. LabVIEW? by silentquasar · · Score: 1

    How about LabVIEW?

  36. Pascal was strongly typed long before Java by maxwell+demon · · Score: 4, Informative

    From TFA:
    "Java was the first strongly-typed language, in which everything must have a type (or share a Form) before it is being used"

    The author obviously doesn't know Pascal. Not only does everything in Pascal have a type, and must be declared as such, Pascal doesn't even have the concept of a typecast. And much less implicit conversions than Java (the only way to get from a real to an integer is through a function like round or trunc). In Pascal, an array of 5 integers is a different type than an array of 6 integers (actually, you don't give a number, but a type for indexing, which may be an integer subrange type like 0..4, but might as well be e.g. an enumeration type).

    --
    The Tao of math: The numbers you can count are not the real numbers.
    1. Re:Pascal was strongly typed long before Java by Estanislao+Mart�nez · · Score: 2, Insightful

      The author obviously doesn't know Pascal.

      Um, or the fact that the type system of languages like O'Caml and Haskell is an elaboration of Russell's type theory, for that matter.

    2. Re:Pascal was strongly typed long before Java by Anonymous Coward · · Score: 0

      and C, C++... Actually, practically every compiled language before Java. Author of the article is a moron.

    3. Re:Pascal was strongly typed long before Java by ultrabot · · Score: 1

      and C, C++... Actually, practically every compiled language before Java. Author of the article is a moron.

      So C and C++ are strongly typed languages now?

      --
      Save your wrists today - switch to Dvorak
    4. Re:Pascal was strongly typed long before Java by julesh · · Score: 1

      So C and C++ are strongly typed languages now?

      Yes. Although they include mechanisms to escape that restriction.

    5. Re:Pascal was strongly typed long before Java by Lobster+Quadrille · · Score: 1

      Yes, and you're a moron too.

      --
      "The cup is in turn designed for holding hot or cold liquids, and has an open rim and closed base." --US Patent #5425497
    6. Re:Pascal was strongly typed long before Java by metaforest · · Score: 1

      Pascal doesn't even have the concept of a typecast.

      You are incorrect Pascal does have typecasting, though it feels like bolt-on, after thought solution: UNION

    7. Re:Pascal was strongly typed long before Java by Haeleth · · Score: 1

      No he isn't. There is in fact a popular school of thought that classifies C as weakly typed. Static, but weak. (On account of the fact that e.g. pointers, numbers, characters, constants, and enumeration elements are all completely interchangeable.)

    8. Re:Pascal was strongly typed long before Java by angel'o'sphere · · Score: 1


      Yes. Although they include mechanisms to escape that restriction.

      If you can escape that restriction it is not strong typed, you know?

      Well, I assume you don't know, but who cares ...

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    9. Re:Pascal was strongly typed long before Java by julesh · · Score: 1

      If you can escape that restriction it is not strong typed, you know?

      No, I don't know. There are many different definitions of what is and is not strongly-typed. C and C++ meet some of those definitions (e.g., that an error is produced if you try to assign a pointer of one type to a pointer of another type) but don't meet others (that there are no typecast operators). Not everyone agrees with the definition you give above (which many people would call a "type safe language" rather than a "strongly typed language").

    10. Re:Pascal was strongly typed long before Java by maxwell+demon · · Score: 1

      (Sorry for the long time to answer; the new index seems to lack the "you have new messages" link, and I just now figured out where to get to the message center; I guess I just should get back to the old index ... after finding out how :-))

      Standard Pascal does not have UNION. Standard Pascal does have variant records which are basically discriminated unions. That is, there is a field which tells you (and, more importantly, the compiler) which of the union fields are valid, and the generated code actually should check that this discriminator field does indeed have the correct value before accessing the member (but I guess most implementations don't). Also note that the Pascal standard does not guarantee that members belonging to different discriminators are stored at the same location; it would be a legal (although wasteful) implementation to just store them as if they were regular record members, and just add the access checks.

      --
      The Tao of math: The numbers you can count are not the real numbers.
    11. Re:Pascal was strongly typed long before Java by metaforest · · Score: 1

      Standard Pascal does not have UNION. Standard Pascal does have variant records which are basically discriminated unions.

      My bad... I hadn't used PASCAL in so long I forgot how to declare a variant records also referred to a union records... and I got the keyword for it from C stuck in my craw.... -.-

      This is what I meant, and this is type coercion PASCAL style:

      ...

      Type
              typeswitch = (asint, aschars);

      var TCorerce : record
              case typeswitch: sw of
                      asint: (int : Integer);
                      aschars: (chars : packed array[1..4] of Char);
              end; ...

      TCoerce.sw := asint;
      TCoerce.int := 0x4655434B;
      TCoerce.sw := aschars;
      writeln(TCoerce.chars[2]); (* prints 'U' *)

    12. Re:Pascal was strongly typed long before Java by maxwell+demon · · Score: 1

      This may do type coercion in your implementation, but the Pascal standard doesn't guarantee it. As I already wrote, it would be legal (although wasteful) for a Pascal compiler to put the fields of different variants just one after the other, e.g. for your TCoerce.sw it would then use exactly the same memory layout as for

      type
        typeswitch = (asint, aschars);
       
      var
        TCoerceReplacement: record
                              sw: typeswitch;
                              int: Integer;
                              chars: packed array[1..4] of char;
                            end;

      The only difference between TCoerce and TCoerceReplacement would then be that with TCoerce the field sw is (at least in theory) always checked before accessing int or chars. Obviously on such an implementation your code won't do what you expect.

      Also, a Pascal implementation would be allowed to clear the variant fields whenever you modify the selector, or set them to arbitrary values. In which case you'll also not get 'U' here (well, you also won't get 'U' if you run this on a little-endian platform with 32 bit int and ASCII character set, like the popular 32 bit operating systems running on x86 processors, where the second byte of your int contains 43h corresponding to the ASCII letter 'C', but that's another story :-))

      Now in practice your code will likely work (apart from the 0x hex number notation, which is C), because the first option would waste memory and the second option would waste time, but it's not really guaranteed. Indeed, I could imagine that a Pascal compiler in debugging mode could indeed clear the variant memory or set it to some special value, to catch bugs where you access undefined values (after changing the selector field, the values are undefined!).

      BTW, a less known fact is that it isn't guaranteed to work for unions in C either, despite the fact that C explicitly demands that all members of the union have the same address; the optimizer may take advantage of this, e.g. consider

      #include <stdio.h>
       
      int main()
      {
        union foo
        {
          int i;
          char s[4];
        } var;
        var.i = 3;
        var.s[0] = 1;
        printf("%d\n", var.i);
        return 0;
      }

      You might expect this to either print 1 or some quite large number, depending on the platform. However a standard conforming compiler is allowed to assume that var.i still contains 3, because of the strict aliasing rules, and optimize away the variable completely. Now I doubt that any compiler will optimize this case, because it's just too common (e.g. gcc gives an explicit, documented guarantee that this will not break), but similar things with explicit typecasts do break under certain circumstances (Just google for C strict aliasing to learn more).

      --
      The Tao of math: The numbers you can count are not the real numbers.
    13. Re:Pascal was strongly typed long before Java by metaforest · · Score: 1

      Ok I give up. I was pulling most of this from memory. As point of order this was very important for me when I was a high school student in the 80's... This variant record nonsense, and it's use as a type coercion mechanism was part of the ACT exam in CIS. The exam explicitly stated that the assumed compiler was UCSD PASCAL. I passed that exam with a perfect score.

      I haven't used pascal since then.

  37. Funny to who? by Anonymous Coward · · Score: 0

    Certainly not most of the world's population. At least they could understand the classic "What if Operating Systems Were Airlines?"

  38. Re:Irrelevant, does not include business languages by Anonymous Coward · · Score: 0

    I like how he calls php more of a business language than Java. That is funny! Yes sir, I'll get right on that Cobol to php transition project!

  39. FORTRAN by earlymon · · Score: 2, Insightful

    All FORTRANs up to and including FORTRAN IV WATFIV were concordant with their best-known programmer, Rousseau - it was, after all, the best of all possible worlds.

    Voltaire pointed out the mind-numbing ridiculousness of that idea, salvaged what was the real essence, and formulated a framework of thought that influenced all others. His philosophy was direct, compact and completely elegant. Naturally, Voltaire is best read not in translated English, but in its original FORTRAN 77 form.

    --
    Pathological kinda promises Path + Logical - but instead, you get stuck with pathetic.
  40. Alternative list by Kupfernigk · · Score: 3, Informative

    Socrates - ADA (he used his logical skills to help the aristocrats gain power, the real reason he was executed.)
    Plato - Java. (He believed in abstract objects but only had single inheritance)
    Aristotle - SQL (he tried to systematise and arrange everything)
    Aquinas - .NET languages. (Stuff pinched from everywhere and turned into an immense framework)
    Hegel - C++. (Hegel surely wrote the first write-only philosophical language)
    Descartes - Visual Basic (if you can make a picture of it, it must be right)
    Pascal - Prolog.
    Ada, Lady Lovelace - Lisp.
    Bertrand Russell - Erlang or Haskell
    Ludwig Wittgenstein - PL/1

    --
    From scarped cliff or quarried stone she cries "A thousand types are gone, I care for nothing, no not one."
    1. Re:Alternative list by ultrabot · · Score: 1

      Pascal - Prolog.

      Man, I didn't see that coming.

      --
      Save your wrists today - switch to Dvorak
    2. Re:Alternative list by Anonymous Coward · · Score: 0

      Small Correction

      Pascal - Pascal (he loved recursion)

    3. Re:Alternative list by Anonymous Coward · · Score: 0

      Pascal - Prolog.
      Ada, Lady Lovelace - Lisp.

      Oh, the irony!

  41. Re:Irrelevant, does not include business languages by relguj9 · · Score: 1

    Because PHP and ASP programmers have sandpaper over their keys? I don't get it.

  42. Kant and Python by colinrichardday · · Score: 1

    Wouldn't Kant have used a subject oriented language?

  43. Diogenes == INTERCAL by Anonymous Coward · · Score: 0
  44. Leibniz, not Rousseau by colinrichardday · · Score: 2, Interesting

    Voltaire's Professor Pangloss was based on Leibniz, not Rousseau. Leibniz would probably have been a better programmer anyway.

    1. Re:Leibniz, not Rousseau by earlymon · · Score: 3, Interesting

      True. I further congratulate you in advance for being the only person I've met who got or may have gotten exactly what was wrong with the rave literary reviews for Forest Gump - and if you read it and saw the movie, why the movie was superior in all of the ways that the book sucked donkey balls.

      Tien - I point out the event where Rousseau was overwhelmed with Voltaire, and frustrated by him, that he sent ruffians to beat him senseless in a dark alley, admonishing them to not do too much damage to Voltaire's head, as some good may yet come from it.

      And Rousseau did endlessly parrot the best of all possible worlds meme. Perhaps my classical education was erroneous, but I was taught that it was Rousseau's clever and beautiful defense of the best outcome of the Lisbon earthquake that finally drove Voltaire over the edge.

      Given those things and given that Leibniz would have been the better programmer, and given the many hundreds of thousands of lines of FORTRAN II and IV code I've seen - I still contend that the FORTRAN / FORTRAN IV programmer of prolific note is that monkey-see, monkey-do philosopher, Rousseau. Perhaps Leibniz did write a few dozen decent lines of it for him to proliferate...

      --
      Pathological kinda promises Path + Logical - but instead, you get stuck with pathetic.
  45. If you're serious about the topic... by imidan · · Score: 3, Interesting

    If you're serious about the topic, someone above mentioned Wittgenstein. The Saphir-Worf hypothesis is basic reading for linguistics. Here is a paper called "Notation as a Tool of Thought" written by a guy called Kenneth Iverson that discusses the effect that computer languages have on expression of thought.

    Blithering about Kant being the first Python programmer and other such vacant nonsense may be entertaining in a limited way, but there are serious and fascinating issues in the study of linguistics, including those dealing with artificial language.

    1. Re:If you're serious about the topic... by Anonymous Coward · · Score: 0

      It would be interesting to be able to experimentally isolate programmers from different time periods and cultures using the same language and query them as to what they believe or understand to be constructing or directing. Sadly this is not practical.

      I think the contemporary replies to Bloom regarding Chinese counterfactuals completely miss this though he does allude to it in his experimental writeups and replies to earlier critiques.

  46. Java the first strongly typed language? by diablovision · · Score: 1

    Descartes would be the perfect Java guru. Java was the first strongly-typed language...

    Wtf is this guy smoking? ML had a provably sound parametric type system in the late 1970s!

    --
    120 characters isn't enough to explain it.
    1. Re:Java the first strongly typed language? by earlymon · · Score: 1

      Wtf is this guy smoking? ML had a provably sound parametric type system in the late 1970s!

      Odd that you don't find it obvious - he's smoking a little thing called youth. From what little I remember, it was pretty good shit!

      --
      Pathological kinda promises Path + Logical - but instead, you get stuck with pathetic.
    2. Re:Java the first strongly typed language? by Haeleth · · Score: 1

      No, he's smoking ignorance. Youth is excusable; inexperience is excusable; failing to perform even cursory fact-checking is not, unless you wrote the book other people check facts in.

    3. Re:Java the first strongly typed language? by earlymon · · Score: 1

      (caution - obligatory response follows)

      Fact-checking? In TFA? In comments?

      This is /. - you must be new here.

      --
      Pathological kinda promises Path + Logical - but instead, you get stuck with pathetic.
  47. Arrgh!!! LISP!!! by wfstanle · · Score: 1

    I heard of a student learning an early version of LISP and entered the following line...

    True = false

    He was interrupted, forgot about it, saved and then the fun began! I don't know if the story is correct but the thought is humorous.

    1. Re:Arrgh!!! LISP!!! by frank_adrian314159 · · Score: 2, Informative

      Oddly enough, what you write has no relationship, linguistic or otherwise, to Lisp where, even if there were bindings of the symbols true and false in some context, they still would not equate to the constants T and NIL, whose values cannot be changed.

      Now setting the value of nil in Smalltalk to something else - that's good times.

      --
      That is all.
  48. Re:Irrelevant, does not include business languages by Anonymous Coward · · Score: 0

    I think he means most web servers run PHP and ASP over Python and Java.

    I have to agree with him. Look at most web hosting services companies, PHP is *always* in their list, python and java, not so much. Same goes for ASP/.NET if they're a Microsoft-controlled company.

  49. Cute, but flawed... by Estanislao+Mart�nez · · Score: 2, Insightful

    To really sum it up: Is the world made of sets or is it made of graphs?

    No, that's really just two different versions of "the world is made of facts, not things." Set theory doesn't rely on objects having essential properties; the only thing set theory assumes of the set members is that there is an identity relation on them. (Though of course, as we both know, sets really are graphs!)

  50. PHP definitely is deeply inspired by by LuckyStarr · · Score: 1

    Nihilism and Absurdism. At least I can't find any meaning or value in PHP. Kierkegaard and Nietzsche would probably agree.

    --
    Meme of the day: I browse "Disable Sigs: Checked". So should you.
    1. Re:PHP definitely is deeply inspired by by nathan.fulton · · Score: 1

      Ironic. I always associated dynamic typing with Kierkegaard.

  51. can you articulate those "new" values? by circletimessquare · · Score: 1

    could nietzsche? beyond prattling on about a superman?

    it does no good to overthrow an existing order without properly articulating a new one

    otherwise, your effect is nihilism, whether actively espouse that philosophy or not

    --
    intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
  52. what are those new values? by circletimessquare · · Score: 1

    prattling on about a superman does not count, its too vague and humorously deific when god is supposed to be dead

    it does no good to overthrow an existing order without properly articulating a new one

    otherwise, your effect is nihilism, whether actively espouse that philosophy or not

    --
    intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
    1. Re:what are those new values? by johnsonav · · Score: 2, Insightful

      prattling on about a superman does not count [...]

      Why... Because you say so?

      it does no good to overthrow an existing order without properly articulating a new one

      otherwise, your effect is nihilism, whether actively espouse that philosophy or not

      He did articulate a new one. Whether you agree with it or not--or even find it silly--does not change the fact that Nietzsche was offering an alternative; an alternative that a nihilist, by definition, is not.

      --
      ... and that's when the C.H.U.D.'s came at me.
  53. CS=Philosophy by Anonymous Coward · · Score: 0

    While in undergrad CS I minored in Philosophy - I've always seen them as not only complimentary, but the same practice in a different context. Both are fundamentally about structured thinking.

  54. Which Wikipedia was the article referring to? by rnturn · · Score: 0, Redundant

    "Wikipedia has a special section called, 'Language Philosophy,' in every article for a programming language.

    Really? The first one I jumped to (Perl) had no such section. Tried several other languages beginning with "P" and nothing in those articles either. I couldn't even find anything like that on the Wackypedia pages.

    --
    CUR ALLOC 20195.....5804M
  55. Russell, Rand by Anonymous Coward · · Score: 0

    Where are Bertrand Russell and Ayn Rand? Surely they are worthy of a mention.

  56. +5 funny by ultrabot · · Score: 1

    ... in absentia mod points

    --
    Save your wrists today - switch to Dvorak
  57. "Java was the first strongly-typed language" WTF? by Anonymous Coward · · Score: 0

    I tried reading the article (which wasn't great but good enough for chuckles), but stopped at the above sentence. Looks like the article author clearly doesn't know what he's talking about...

  58. i think all morality should be destroyed by circletimessquare · · Score: 1

    and replaced with waffles

    if you belittle my philosophy in any way, its just because "you say so", not because you have any valid logical reason to object

    whu?! howabout i have a valid coherent logical reason to object that i can articulate in logical reasonable terms. fair enough?

    ok: defining what a "superman" is in logically coherent terms as expansive as the moral system it is supposed to replace would have value

    otherwise, what nietzsche is doing is what every teenager does: destroy his faith in his society to have some psychological mobility, then rebuild it later as he settles down in adulthood. its a classic psychological developmental arc. nietzsche's entire arc of intellectual discovery is simply the average teenage philosphical experience. he destroys god... then rebuilds him, calling him "superman", but defining "superman" as essentially the same thing as the god he destroyed. all god is, and ever was, was a simple idealization of what mankind can become. wow, what an amazing philosophical contribution. zzz

    nietzsche is mediocre. his popularity stems simply from the resonance he shares with teenage psychology. anyone who matures past the teenage years feels no real affinity for anything nietzsche ruminates about. (where "teenage years" refers to a psychological condition, not an actual chronological time period: plenty of 40 year olds are still psychologically teenagers)

    --
    intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
    1. Re:i think all morality should be destroyed by johnsonav · · Score: 1

      otherwise, what nietzsche is doing is what every teenager does: destroy his faith in his society to have some psychological mobility, then rebuild it later as he settles down in adulthood.

      Okay. That makes him not a nihilist. A true nihilist would skip the whole "rebuilding" step.

      nietzsche is mediocre. his popularity stems simply from the resonance he shares with teenage psychology. anyone who matures past the teenage years feels no real affinity for anything nietzsche ruminates about. (where "teenage years" refers to a psychological condition, not an actual chronological time period: plenty of 40 year olds are still psychologically teenagers)

      None of your opinions on Nietzsche matter, with regard to calling him a nihilist, other than the one I quoted first. It doesn't matter how stupid, silly, adolescent, or mediocre his philosophy is.

      What you're saying is: "I disagree with what he thought, therefore he is a nihilist." When, in actuality, the word "nihilism" has a meaning which is completely unaffected by your agreement.

      --
      ... and that's when the C.H.U.D.'s came at me.
  59. nietzsche never articulated by circletimessquare · · Score: 1

    what was supposed to replace the moral system he said needed replacing. all he did was refer to a "superman", which basically is nothing more than a synonym for the god he was supposedly destroying. nietzsche is mediocre, teenage-level psychology. that explains his popularity, but you can't take him seriously, because his effect IS simple nihilism, even if he never actively espouses that, because he never articulates a valid alternative to what he said needed replacing

    in essence, he comes back to where he started: a believer in god. calling god superman is not an amazing philosophical contribution. all the idea of god ever was, and ever will be, is simply an idealization of what man can become. whoop de friggin doo

    nietsche is kind of like freud: extremely popular and influential, but essentially 100% bogus

    --
    intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
  60. C++ and Plato? by Anonymous Coward · · Score: 0

    the guy got the most obvious one wrong.... in "The Design and Evolution of C++" (page 23), Bjarne Stroustrup says it himself:

    "I feel most at home with the empiricists rather than with the idealists - the mysticists I just can't appreciate. That is, I tend to prefer Aristotle to Plato, Hume to Descartes, and shake my head sadly over Pascal."

  61. Descartes was a nerd... by Anonymous Coward · · Score: 0

    Descartes was a nerd.. he would definitely read slashdot if it existed then...

    Normal, healthy XVII age male - just like average high school male now would say:

    "Coito ergo sum"

  62. Re:Please leave us alone with Wikipedia... by Hurricane78 · · Score: 1

    And another "-1, Disagree" trolling. What's going on. Have the moderators gotten overrun by 4chan retards, or what?

    If you disagree, say so in a comment. But I guess you can't disagree, because
    A1. you can't articulate yourself, and
    A2. I am right, and you know it.
    or
    B. You are already a Wikinazi.

    --
    Any sufficiently advanced intelligence is indistinguishable from stupidity.
  63. you have no ability to listen by circletimessquare · · Score: 1

    listen carefully to what i am saying, as i have already said this and you are not demonstrating a capacity to listen or comprehend:

    if you wish to destroy something and replace it with something else, you are still a nihilist if you have no articulation of what that "something else" is

    if i see a house and i say i want to tear it down and replace it with "beauty", you are a most definitely nothing more than a demolisher, until that time that you build something else

    understand?

    --
    intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
    1. Re:you have no ability to listen by johnsonav · · Score: 1

      if you wish to destroy something and replace it with something else, you are still a nihilist if you have no articulation of what that "something else" is

      I understand your argument completely; though I disagree with two of your premises.

      First, I would say that a desire for "something else"--even if you don't know what that "something" is--is enough to make you not a nihilist. A true nihilist has no expectation that there is "something else" at all, let alone a desire to find it. Nietzsche, again and again throughout his works, expresses a desire to transcend traditional morality. He is constantly groping about, trying to discern its true nature. I would say that makes him not a nihilist; a nihilist would not be seeking a morality he didn't believe existed.

      Secondly, Nietzsche did have an articulation of that "something else". No, it wasn't as systemic as Kant or others, but that is the nature of the alternative he was advocating. Of course, someone advocating a more personal, and less universal system of morals may be confused with someone who believes none exist. It is a fine line.

      Don't read this as a defense of Nietzsche's ideas. It's not. I think he was fundamentally wrong about many things, and would agree with your assessment of his thinking as adolescent. But, to call him a nihilist (without extensive caveats), renders the term "nihilist" meaningless.

      --
      ... and that's when the C.H.U.D.'s came at me.
  64. Java != First strongly-typed language by mdmkolbe · · Score: 1

    The article is riddled with false claims about programming languages. (All quotes are from the article.)

    Java was the first strongly-typed language

    ML had true strong-types in 1973 a full 20 years before Java. (And Java's types are fairly weak compared to ML/Haskell/Agda, etc.)

    Perl was created in the 80's, a decade in which finally logic/functional programming had found its place in the programming languages world.

    Perl has nothing to do with logic or fuctional programming other than the occational "map". For logic programming try Prolog.

    C programming language was equally influential to the design of all other "programming philosophies"

    Not all other programming philosophies. Don't forget about Fortran, Algol, Lisp, Pascal, Smalltalk, Modula 2, Ada, etc.

    C++ ... is the first language that tries to capture this idea of forms by giving the developers the capability to abstract the problem [into classes] before doing anything else.

    C++ was not the first language to abstract problems into objects and classes, it was beaten by both Simula and Smalltalk. (At least that is what I think the article is claiming; a less generous reading might be that the article is erroneously claiming that C++ is the first language to have any sort of abstraction which is so wrong it doesn't even need rebuttal.)

  65. Sense and Reference by Estanislao+Mart�nez · · Score: 1

    Sense and Reference seems to me very similar to conceptually trying to figure out the relationship between pointers and variables in programming.

    Um, no. Pointers/references are mutable reference cells, i.e., stateful objects. Sense and Reference is, roughly, about synonymy.

    The most famous example sentences in Sense and Reference are "The morning star is the evening star," and "The morning star is the morning star." The reference of the expressions "the morning star" and "the evening star" is the same, namely, Venus. However, the first sentence is an astronomical discovery, while the second one is a tautology. This is because while the two expressions have the same reference, they don't have the same sense. In particular, while the reference of a name is the object it stands for, the sense is something else.

    In programming language terms, the simplest example I can think of for the analogous result is that in a purely functional programming language, there can be two very different implementations of the same function (where "function" here means "mapping of arguments to results"). The two implementations have the same reference (the same function in the sense I listed), but different senses (the fact that the two implementations do the same thing is not tautological; it may require a very non-trivial proof).

  66. an approx by nixish · · Score: 0

    all in all, they are just approximations...much like a lego car modelled after a real one.

  67. Re:Irrelevant, does not include business languages by Anonymous Coward · · Score: 0

    That's because all the cool kids moved to VPS hosting ages ago, where you run whatever the fuck you want on a (virtual) server you have root on for a few dollars a month.

  68. Re:Irrelevant, does not include business languages by Gorobei · · Score: 1

    And so will my multi-million LOC, 24/7, multi-thousand CPU, Python business app.

      Different strokes for different folks, I guess.

  69. verbose vs. concise by Estanislao+Mart�nez · · Score: 1

    Since more programmers are familiar with languages with Algol-derived syntax (either procedural languages like C or OO languages with similar syntax like Java), code that is written in that syntax, or in other syntax with constructs that mimic that syntax, are readily understood, while, e.g., Lisp code presents more of a barrier.

    While I don't discount syntax as a factor, I'm not convinced that this is really the most important one. See below.

    [...] languages which adopt constructs popularized in functional languages with non-Algol-derived syntax and present them with a syntax that is more accessible to those familiar with Algol-derived syntax (e.g., Ruby, Python, etc.) are often particularly praised for their expressiveness and clarity by people who would shun the languages from which they are adopting features.

    Frankly, I find that they are most often dismissed because the constructs in question are "too complicated," even when the examples shown are more concise and flexible ways of doing things that the programmer already does all the time.

    For example, all competent imperative programmers know the following two patterns very well:

    1. Iterate over a sequence of elements to produce a second sequence that has the same number of elements as the original, in the same order, and where each element of the resulting sequence is the result of applying an operation to the corresponding element of the original sequence. For example, you have a sequence of URLs, and you want to produce a sequence of documents.
    2. Initialize an accumulator variable to an initial value, and then loop over a sequence of elements, updating the accumulator variable in each iteration with the result of applying an operation to the current value of the accumulator and the current sequence element. So for example, you have a list of numbers, and you want to produce the sum of those numbers.

    Programmers who complain about functional operations like map, fold and reduce being "too hard" or "too complicated" write what's structurally the same stupid loops, over and over, every single time they have to perform a computation of this form; they master the concepts of map, reduce and fold in practice, but insist in verbosely spelling them out at the low-level every single time, over and over. I call it BabyTalk programming; they think the program style is "clear" because they can immediately understand what each individual operation is doing; but this is only so because they're not abstracting away the most common complex patterns.

    And since you brought up Python, well, Guido's comments on reduce() are a prime example of this; and Python is the reigning BabyTalk language.

  70. Python is Objectivist by AlexLibman · · Score: 1

    This is the most retarded piece of drivel in the history of the Internet!

    While I agree on Socrates and Aristotle, Plato should definitely be Algol, Fortran, or Cobol.

    Kant should at best be associated with BrainF*ck, or some other useless nonsensical irrational joke of a programming language. Even that would be a greater honor than he deserves!

    Python should in fact be associated with the very opposite philosophy, and the greatest philosopher of the twentieth century: Ayn Rand. Python is clearly something Howard Roark would design: clean, rational, and brilliant.

    1. Re:Python is Objectivist by Anonymous Coward · · Score: 0

      This is the most retarded piece of drivel in the history of the Internet!

      so this is a recursive post then.

    2. Re:Python is Objectivist by whitroth · · Score: 1

      If python is like Rand, then it's no wonder a lot of the times I've tried to install packages in python wouldn't install, what with conflicting libraries, and conflicts with libraries *other* packages use, and on and on.

      No, Rand was a hypocrite (married to get to the US, not "on her own merits", then dropped the guy), irrational (anyone who's not rich, for example, is violating her principles by accepting a public school education, or using publicly-funded roads, etc), and dirty (Greenspan & co, with their libertarian belief system, now *prove* to lead to mass theft). She also, in effect, is against human society....

                  mark "not fantastically enthused with python, either"

  71. Deleuze... by nathan.fulton · · Score: 1

    = intercal. Impossible to understand yet... instructive.

  72. Re:Irrelevant, does not include business languages by Lobster+Quadrille · · Score: 1

    This may be the first time I've ever wanted to do so, but I'd mod this Anonymous Coward up if I had points.

    And I'm even a fan of PHP

    --
    "The cup is in turn designed for holding hot or cold liquids, and has an open rim and closed base." --US Patent #5425497
  73. Relational Vs. OOP note by Tablizer · · Score: 1

    Insofar as there is an impedance mismatch, its largely an artifact of implementation details in specific "relational" systems vs. specific "OO" systems, rather than a fundamental incompatibility in the models.

    We've kicked around possible ways to merge the two at the c2.com wiki so that we can hopefully end the Great Standoff; and I've come to conclude that *encapsulation* is the biggest impediment, and key philosophical difference between OO and relational.

    Relational generally "shares" all operators, while OO lets encapsulation determine what gets what operator. If there is to be a limit to operators in relational, it is handled via a set-based security system, not encapsulation.

    Encapsulation does not scale well as an operator management technique in my opinion. Relational does not view the relationship between operators and nouns (entities) as anything special: it could be one-to-one, one-to-many, many-to-many, etc. OO tends to elevate the status of one-to-one "packaged" relationships because it views "objects" as special things tightly bound with self-handling tools, hence the name "object oriented".

    Relational has a more complex mix-and-match view of things whereby borders are relative and situational. There is no master or primary "object". I see OOP as primitive in this regard. Perhaps it better matches the "real world" because of this, but the real world is often too limiting. Cyberspace can emulate gazillion dimensions. Let's use them.
     

  74. Re: Sets Vs. Graphs by Tablizer · · Score: 1

    To really sum it up: Is the world made of sets or is it made of graphs?

    That's an interesting way to put it. But since one can be representationally equivalent of the other, a more practical question may be: "Is it better to model the world (or our problems) with sets or with graphs?"
         

  75. Re:Written by an idiot. Proof: by Lobster+Quadrille · · Score: 1

    ...
    ?

    --
    "The cup is in turn designed for holding hot or cold liquids, and has an open rim and closed base." --US Patent #5425497
  76. I enjoy Quine and Popper by linzeal · · Score: 1

    I would go with Lisp for them.