Slashdot Mirror


What Makes a Programming Language Successful?

danielstoner writes "The article '13 reasons why Ruby, Python and the gang will push Java to die... of old age' makes an interesting analysis of the programming languages battling for a place in programmers' minds. What really makes a language popular? What really makes a language 'good'? What is success for a programming language? Can we say COBOL is a successful language? What about Ruby, Python, etc?"

3 of 1,119 comments (clear)

  1. Re:Off the top of my head? by Schadrach · · Score: 5, Informative

    Need code that you KNOW has no errors aside from logic errors on the part of the programmer? Use Ada. That's really where Ada fits. You can do very little wrong without the compiler screaming at you and then failing to compile. Like as in, things that cause C "warnings" cause Ada to fail compilation until you fix it. Need to rapidly produce major components, and easily wrap C for the lower level, more performance intensive stuff? Use Python. No, really. That seems to be Python's main niche. It's a great language for writing large blocks of program logic very quickly, is poor at low-level stuff, but can trivially wrap C to do the things it is very poor at.

  2. Re:I don't really get the Java hate around here by maxume · · Score: 5, Informative

    Are you talking about the section 10 labeled "Python Pre-2.1 did not have lexical scopes."?

    If so, your criticism is bizarre, the example is written to illustrate that "Python Pre-2.1 did not have lexical scopes.", not to illustrate the shortest way to rewrite the built-in sum function (you realize that right, that the idiomatic implementation of sum in python is the built in function?).

    The reason map and reduce aren't cared about is that most people have an easier time with list comprehensions. Your code:

            l = l.strip().split(',')
            l = map(lambda x: int(x.strip(), l)

    can be written as:

            l = [int(x.strip()) for x in l.strip().split(',')]

    in python 2.4 onwards. Obviously, you could put that on as many lines as you wanted. If you are worried about performance, generator expressions are very similar to list expressions but lazily evaluated:

            g = (int(x.strip()) for x in l)

    g would then create items as they are called for by some consumer (for instance, a for loop or a container object).

    --
    Nerd rage is the funniest rage.
  3. Re:Off the top of my head? by Kupek · · Score: 5, Informative

    You've probably never done any coding in Python. Check out the book Dive Into Python (it's free and online): http://www.diveintopython.org/ Even browsing through it will give you a better idea of what Python is good for.

    Personally, I think of Python as a prettier and more coherent version of Perl.