Slashdot Mirror


Ask Guido van Rossum

This week's interview is with Guido van Rossum, a man who, as they say, needs no introduction. (Not around here, at least.) To learn a bit more about him, check his personal page. You might want to ask him about Python 2.1, which was released today. One question per person, please. We'll send 10 of the highest-moderated ones to Guido about 24 hours after this post went up, and will run his answers as soon as he gets them back to us.

16 of 202 comments (clear)

  1. Favourite Python sketch? by abischof · · Score: 5

    Considering that you named the language after the comedy troupe, what's your favourite Monty Python sketch? Personally, my favourite is the lecture on sheep aircraft, but I suppose that's a discussion for another time ;).

    Alex Bischoff
    ---

    --

    Alex Bischoff
    HTML/CSS coder for hire

  2. Stackless Python? by Tumbleweed · · Score: 4

    Do you have any plans to merge Stackless Python with Python? If yes, when? If not, why not?

  3. Ruby by Luke · · Score: 5

    Thoughts on Ruby?

  4. Conflict with GPL by MAXOMENOS · · Score: 5
    The Free Software foundation mentions the license that comes with Python versions 1.6b1 and later as being incompatible with the GPL. In particular they have this to say about it:

    This is a free software license but is incompatible with the GNU GPL. The primary incompatibility is that this Python license is governed by the laws of the "State" of Virginia in the USA, and the GPL does not permit this.

    So, my question is a two parter:

    1. What was your motivation for saying that Python's license is governed by the laws of Virginia?
    2. Is it possible that a future Python license could be GPL-compatible again?


    ObJectBridge (GPL'd Java ODMG) needs volunteers.
  5. Python 3000 by Xar · · Score: 5

    It's been a while since I've seen any mention of Python 3000--aside from the recent April Fools joke, that is. I love Python as a language, and use it both professionally and personally. But, Python's current implementation is lacking; the interpreter is not multi-threaded, causing large Python applications (such as Zope) to implement various workarounds that only partly address the problem; and the C API is rather...unpleasant. Working with the Tcl C API in an embedding situation is much, much better, IMO. Will Python 3000 address any of these concerns? Any information on a timeline, or current status?

  6. Structured Design. by Xerithane · · Score: 5
    First off, as a disclaimer I have never actually written anything in Python. But, I have read up on virtually all the introduction articles and tutorials so I have a grasp on syntax and structure.

    I have been doing C development for 9 years now, and I know a plethora of other languages including shell scripting, perl, PHP (for scripts). Now, each language uses 'normal' grouping for control structures (if, for, etc).

    What was the logic behind creating a whitespace-based syntax rule? And why do you feel it is good, please refrain from the readability answer because that is all I get from those people I know who know Python.

    I find, because of my background, it is much easier to read code that uses braces ({}) than whitespace because my mind automatically looks for them. After maintaining legacy code that extends a life span of 20 years from it's first line of code, I have some concerns about the longevity of any Python code. So, my second question is, how well do you see Python holding up for 20 years and why do you think it will hold up that long?

    Thanks.

    --
    Dacels Jewelers can't be trusted.
    1. Re:Structured Design. by Valdrax · · Score: 5

      What was the logic behind creating a whitespace-based syntax rule? And why do you feel it is good, please refrain from the readability answer because that is all I get from those people I know who know Python.

      I fail to see why there would be any other reason. Furthermore, I fail to see why there should even need to be a better reason. Why do you have whitespace at all? There are only 2 real answers: easy parser writing and human readability.

      Python's style makes it easy to see blocks of logic. It also forces you to think about how your code is organized by exposing these blocks to you at all times. Braces, parentheses, brackets, etc. are easy to lose track of in complex single-line statements. You have to spend too much time thinking about whether or not you've got your puncuation matched up properly. Python eliminates this confusion by exposing logical blocks. Besides, properly formatted and readable C code should already be spaced out like a Python program. Python just eliminates the redundant punctuation.

      Typically, the people who complain the loudest about enforcing spacing in syntax are the same people who write those tangled, dense, single-line statements in C and Perl that inspired their respected obfuscated code contests. You don't need the ability to cram 5 lines of Python in 1 line of Perl. It just hurts maintainability, and there's really no compelling argument for keeping source code dense and compact anymore if it doesn't add speed and remove bloat. (Forgive me if I have unfairly tarred you with this brush, but this has been my general experience.)

      (In response to another post:)
      Also, I've never seen a source-control system mess with the spacing of a file before. That's just odd. Be consistent with using either spaces OR tabs and your Python code will be much easier to store. I'm not saying it doesn't happen. I'm just saying that bugs in certain tools that weren't written with Python in mind shouldn't be a black mark against the whole language.

      --
      If it's for-profit but free, you're not the customer -- you're the product (e.g., the Slashdot Beta's "audience").
  7. Performance by debrain · · Score: 4

    Is it possible to make Python as fast as C/C++? In particular, is there a way to compile Python into system code (as opposed to byte code)? If there isn't, will there ever be?

  8. Strangest use of Python by Salamander · · Score: 5

    What use of Python have you found that surprised you the most, that gave you the strongest "I can't believe they did that" reaction?

    --
    Slashdot - News for Herds. Stuff that Splatters.
  9. [j | c]Python by seanw · · Score: 5


    How do you see the relationship between jPython (the java implementation) and standard cPython (the original C language version) evolving? And do you see the advantages of either one (i.e. portability vs. speed) becoming especially pronounced in light of the recent trend toward distributed software (ala the MS .NET initiative)?

    sean

  10. does Python need a CPAN? by po_boy · · Score: 5
    One of the reasons I still write some things in PERL is because I know that I can find and install about a zillion modules quickly and easily through the CPAN repository and CPAN module. I'm pretty sure that if Python had something similar, like the Vaults of Parnassus but more evolved that I would abandon PERL almost entirely.

    Do you see things in a similar way? If so, why has Python not evolved something similar or better, and what can I do to help it along in this realm?

  11. Development of Language Bindings by Rexifer · · Score: 4

    How closely does the primary Python development team interact with the other language binding efforts (mainly Jython)? Anyone who's hung out in Slashdot seems to have a rabid attachment towards their native tounge, so to speak, and I've found it refreshing that the Python community "plays nice". Is there a lot of cross-pollenation(sic) between the groups?

    Thanks.

  12. Data Structures Library by GrEp · · Score: 5

    I love python for making quick hacks, but the one thing that I haven't seen is a comprehensive data structures library. Is their one in development that you would like to comment about or point us to?

    bash-2.04$

    --

    bash-2.04$
    bash-2.04$yes "Don't you hate dialup connections?"| write USERNAME
  13. What is *your* idea of Python and its future? by Scarblac · · Score: 5
    There are a lot of "golden Python rules" or whatever you would call them, like "explicit is better than implicit", "there should be only one way to do it", that sort of thing. As far as I know, those are from old posts to the mailing list, often by Tim Peters, and they've become The Law afterwards. In the great tradition of Usenet advocacy, people who suggest things that go against these rules are criticized. But looking at Python, I see a lot more pragmatism, not rigid rules. What do you think of those "golden rules" as they're written down?

    What's your idea of the future of Python? Since the PEP process, a lot of new feature ideas have been put forward, and a lot of people feel uncomfortable with quick change to a good language (Python 2.1 is again excellent though, congrats). Do you think or hope Python will be finished one day? If not, isn't the alternative an endless string of added features? "Python 3000" was an idea of a sort of ideal Python that would be worked on, but as I understand Python will now evolve more gradually.

    --
    I believe posters are recognized by their sig. So I made one.
  14. Question about the personal side by Bob+Abooey · · Score: 4

    How closely does the primary Python development team interact with the other language binding efforts (mainly Jython)? Anyone who's hung out in Slashdot seems to have a rabid attachment towards their native tounge, so to speak, and I've found it refreshing that the Python community "plays nice". Is there a lot of cross-pollenation(sic) between the groups?


    Yours,
    Bob

    --

    All the best,
    --Bob

  15. efficient compilation and standardization by janpod66 · · Score: 4

    What are the plans for the compilation of Python code to efficient executables? Python's object system is very dynamic, allowing anybody to add instance variables and methods to any object at any time--how are you planning on dealing with that during compilation? Performance-wise, how do you expect Python will compare to compiled CommonLisp or Smalltalk, which evolved along similar lines 20 years ago? And will there be a language standard, or will Python continue to be defined by what the C implementation does?