Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
Python Programming

Interview With Python Creator Guido Van Rossum (techrocket.com) 222

The online programming school Tech Rocket just published a new interview with Guido van Rossum, the creator of Python. "Looking back I don't think I ever really doubted Python, and I always had fun," he tells the site. "I had a lot of doubts about myself, but Python's ever-increasing success, and encouragement from people to whom I looked up (even Larry Wall!), made me forget that."

He describes what it's like being Python's Benevolent Dictator for Life, and says that the most astonishing thing he's seen built with Python is "probaby the Dropbox server. Two million lines of code and counting, and it serves hundreds of millions of users." And he leaves aspiring programmers with this advice. "Don't do something you don't enjoy just because it looks lucrative -- that's where the competition will be fiercest, and because you don't enjoy it, you'll lose out to others who are more motivated."
This discussion has been archived. No new comments can be posted.

Interview With Python Creator Guido Van Rossum

Comments Filter:
  • Damn! (Score:3, Funny)

    by sycodon ( 149926 ) on Sunday April 24, 2016 @08:49PM (#51980335)

    I was expecting an interview with John Cleese. [thejohncleese.com]

    • He's said that he named the language "Python" partly because he was a big fan of Monty Python's Flying Circus.
  • by speedplane ( 552872 ) on Sunday April 24, 2016 @10:03PM (#51980585) Homepage
    I know this article was focused on Guido's softer side, but would have liked them to mention the elephant in the room: the move from Python 2 to 3. This been a huge resource drain on the entire community and many (including me) remain unconvinced that it was the right decision. It would have been nice if the topic was broached.
    • by plopez ( 54068 )

      You obviously don't know what a "fluff piece" is or a "fluffer".

  • Funnily (Score:4, Insightful)

    by Greyfox ( 87712 ) on Monday April 25, 2016 @12:29AM (#51980889) Homepage Journal
    I was just talking to an old Co-Worker from a C++ company I worked at a few years back. He asked "So what are you doing lately" and I told him I'm working on my thesis, which is titled "Ruby's a Terrible Programming Language, And You're A Terrible Programmer For Liking It". Then I cited a number of my complaints -- being able to add arbitrary functions to a live object, never knowing where to look for the interface definition of parameter objects, need to extensively test all execution paths of production code (Which no one ever does,) odd syntactic quirks and changes in syntax between language versions. He laughed and said he had exactly the same complaints about Python. You see, Object Oriented Programming was invented to reduce maintenance costs for completed projects, because that's where 90% of your expenses with the project will be. Ruby, at least, and apparently Python as well according to my friend's complaints, were invented to make the cheap part of the development process "easier", while at the same time letting the language fanboys pat themselves on the back about what clever programmers they are. This is exactly the opposite of software "engineering".
    • Yeah I am a python programmer and the only thing I would add is that javascript is worse because it doesn't have a compiled format. Source code is directly included. If I include module B after module A, it can rename parts of A to its heart's content.

    • Re:Funnily (Score:5, Insightful)

      by fightermagethief ( 3645291 ) on Monday April 25, 2016 @01:21AM (#51980971)

      Wow, that preamble really lends some authority to your argument. Did you feel like you wasted your time on that thesis for criticizing one language instead of providing an alternative that people would actually use? People use RoR for quickly writing webApps. If you need to make fail-safe aircraft software, yeah you are probably going to use something lower level. What is a "live object"? "Interface for parameter objects", really? Why can you not test all execution paths in Ruby? Isn't that a problem that a program written in any language could be subject to? I guess not changing the syntax from, say Python 2 to 3 would end up with a language like C++, where there are 20 different ways to do the same thing, which seems like its main problem. If OOP was invented to reduce maintenance cost (read: allow for someone else to have a shot at updating a project), then isn't that a good thing and probably why EVERY AAA project uses it? I appreciate uses of "real" software engineering wherever possible, but these languages like Ruby and Python don't seem to be designed for the sake of engineering purity. Python is easy to use and read, which is probably why people like data scientists pick it up without having to worry about things like TDD or covering every line in test scenarios. Those things are great and all, but the fact that Python does so much heavy lifting is what makes it popular. There seem to be 3 paradigms of languages: Ones that allow for low level memory manipulation and treating everything like byte arrays like C, ones that focus on abstraction and engineering purity like Haskell, and ones that are designed for everyday use or webApps or other hobbyist stuff like Python. They all have their uses, but to criticize one from the perspective of another seems like a waste of time.

      • Why can you not test all execution paths in Ruby?

        You never can. Its the big failing of automatic unit tests. With strong typing your compiler can help with static analysis. But with weak typing you rely on unit tests to detect regression but because of the proliferation of code paths, you can't do that either.

    • Maybe it's just me, but my feeling is that objects are like salt. A little can do wonders for a bland food product. Too many can be worse than none at all. Having all file type objects behave the save and provide the same interface makes Python very easy to use -- when dealing with filish sorts of things. Defining new object types with new (often poorly described) interfaces just adds another layer of obscurity to the coding process.

      BTW, it seems to me that one of Python's virtues is that it supports a

    • by Bongo ( 13261 )

      Interesting, and I always like hearing what people have learn from real and long experience. But I think there's a certain amount of begging the question. If you believe things should be more disciplined in an engineering sense, then sure, any or many problems which come up, can be seen to be due to lack of good engineering. Alternatively, someone could believe that problems came up due to a lack of good intuition about the nature of the project.

      But whilst some languages can look more disciplined, it is har

    • by Jahta ( 1141213 )

      I was just talking to an old Co-Worker from a C++ company I worked at a few years back. He asked "So what are you doing lately" and I told him I'm working on my thesis, which is titled "Ruby's a Terrible Programming Language, And You're A Terrible Programmer For Liking It". Then I cited a number of my complaints -- being able to add arbitrary functions to a live object, never knowing where to look for the interface definition of parameter objects, need to extensively test all execution paths of production code (Which no one ever does,) odd syntactic quirks and changes in syntax between language versions. He laughed and said he had exactly the same complaints about Python. You see, Object Oriented Programming was invented to reduce maintenance costs for completed projects, because that's where 90% of your expenses with the project will be. Ruby, at least, and apparently Python as well according to my friend's complaints, were invented to make the cheap part of the development process "easier", while at the same time letting the language fanboys pat themselves on the back about what clever programmers they are. This is exactly the opposite of software "engineering".

      Well you can write terrible code in any language; C/C++ projects [viva64.com] are no [learncpp.com] different [stackoverflow.com]. The "engineering" part is between the keyboard and the chair; a fool with a tool is still a fool. That's why testing matters and, with modern automated testing, full test coverage is not difficult.

      Python is a well structured, expressive, language that is suitable for many types of application. You don't even have to write OOP code if you don't want to; though if you do, Python has good OOP support. OOP is not a magic fix

  • by Pseudonymous Powers ( 4097097 ) on Monday April 25, 2016 @08:20AM (#51981999)

    Interview With Python Creator Guido Van Rossum

    Well, I tried to read it, since I'm a huge fan of Python. But one of the paragraphs was indented in a slightly different way than all the others, so I couldn't.

The one day you'd sell your soul for something, souls are a glut.

Working...