Thread: Insulted for using C++?

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by MK27 View Post
    If computer science is not about computers in the same way, what is it about? Pure speculation ? "Logic"? Language? Philosophy? Method? Life, the universe and everything? Whatever I want?
    Dijkstra quote is:
    “Computer science is no more about computers than astronomy is about telescopes.”
    The interpretation I make of this is not that of negating the relevance of Computer Science on computers. He merely tries to remind us that the Computer Science field is much bigger than its tools. We also know the context where he put this phrase and can safely say that the quote is a direct defense to his belief that the act of programming is merely a tool of Computer Science, or even the application of the Computer Science field in everyday life. Programming is simply executing previously gained knowledge.

    Ironically enough this quote is a double-edged sword. It didn't stop him -- neither it could -- from being so anal about several programming languages of his time. So a tool is, according to him, still a possible subject of analysis.

    This puts the argument "all programming languages (within reason) are created equal" that I and others defend to the test. Personally I find Dijkstra went a little overboard on this letter. Probably not his proudest moment. The human mind is thankfully a lot more adaptable than that and one can evolve their skills from bad programming languages into good programming languages over the course of a single programming career. The thought that once you learn BASIC as your first language you are forever doomed into mediocrity is a bad argument. It is in fact negating the value of an entire generation of programmers. It is also not really very compatible with the tens of thousands of years of human history in which new and better knowledge was gained on the foundation of old and bad knowledge. How could this be, if we were doomed to not adapt to new knowledge?

    But I don't entirely deny the value of his arguments (that programming languages are subject of criticism). I personally feel languages such as Java inferior in a few respects. Some more important than others. And I still have yet to understand why the insistence in creating interpreted programming languages. However I cannot deny their ability to produce software. And this is where the debate begins.
    Last edited by Mario F.; 09-18-2009 at 07:23 AM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  2. #2
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by Mario F. View Post
    The interpretation I make of this is not that of negating the relevance of Computer Science on computers. He merely tries to remind us that the Computer Science field is much bigger than its tools.
    Point taken, perhaps the phrase "not about" should have been "not just about" or (most accurately) "not primarily about", but this still just looks like an inflated piece of vacuous rhetoric to me, since it is very hard to read as not implying that computers are a tool for studying _______, and thus _______ is the real focus of computer science. Literally, that is the metaphor with astronomy. My point is the ______ cannot be filled in, so this is a "pie in the sky sentiment". Computer science is primarily and fundamentally about computers, astronomy is not primarily and fundamentally about telescopes -- this is still just a very silly analogy. And computer science is in fact no bigger than it's tools -- the concerns of computer science historically always revolve around and are mostly derived from problems with the tools.

    Consider the way mad_guy uses it: the _________ (higher purpose or whatever) would be a justification for the idea that language X best gets away from trivial concerns (such as, the computer ) because it most clearly serves this _____. This is a clever (and common enough) rhetorical method*, because both Dijkstra and mad_guy manage to avoid having to say what ____ might be, but still make it seem very convincing (hence religuous or mystical). If _____ does not exist, however, it is hoodwinking, intentional or not (in the unintentional version, you hoodwink yourself).

    I would almost say the _______ is Mr. Dijkstra himself, since it is only because a prestigious and respected computer scientist said this that anyone would take it seriously. Hence, computer science is even bigger and more important than we might have thought, because Mr. Dijkstra (computer scientist) says so! What is this "bigger" place -- whatever Mr. Dijksra concerns himself with, above and beyond computers! But just because the pope says something, does not make it true, or even sensical. The cart does not go before the horse.

    * this is what the deconstructionists would call a suspicious ellipse.

    Quote Originally Posted by Mario F. View Post
    And I still have yet to understand why the insistence in creating interpreted programming languages.
    Mostly, I believe, because they work most efficiently that way. As a rule, the syntax of interpreted languages is much "higher level" than that of compiled languages, which the interpreter itself is actually done with one of the later. It is kind of like "why have an image format" when you could just write compilable code to do the same thing, and then you wouldn't need a seperate image viewer to interpret the format specific code, etc. Of course, this option would be 1) very unportable, and 2) ridiculously awkward.
    Last edited by MK27; 09-18-2009 at 08:14 AM.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

Popular pages Recent additions subscribe to a feed