Slashdot Mirror


Python 3.0 Released

licorna writes "The 3.0 version of Python (also known as Python3k and Python3000) just got released few hours ago. It's the first ever intentionally backwards-incompatible Python release."

14 of 357 comments (clear)

  1. Comment removed by account_deleted · · Score: 5, Informative

    Comment removed based on user account deletion

  2. Libraries by explodymatt · · Score: 5, Interesting

    Python 3 being out is great, they've fixed a few things that allow bad programming, but does anyone know how long it will take for the libs to start getting ported? Especially numpy and scipy

    1. Re:Libraries by Yvanhoe · · Score: 5, Informative

      Last time I checked (several months ago) it was not thought that backward compatibility would be broken very hard. Most of the modification to do should be automatic so I think that a lot of packets that are still maintained will quickly be made compatible for python 3

      --
      The Wise adapts himself to the world. The Fool adapts the world to himself. Therefore, all progress depends on the Fool.
    2. Re:Libraries by Alomex · · Score: 5, Insightful

      Backward compatibility is (i) over-rated and (ii) misunderstood.

      It is over-rated in the sense that the number of current users which are inconvenienced is a very small percentage of the total number of users of the language (unless the language is in the tail end of its life, like Fortran and Cobol).

      It is misunderstood in that with the use of a simple header or import declaration it is possible to have two different versions co-exist while the transition happens. This is done in HTTP where the first thing that clients exchange is the version of the protocol they'll use. It is also done in LaTeX, where the first declaration informs the compiler which major version is being used (pre-2e or 2e).

      Kudos for Python for not being afraid to rock the backwards compatibility boat.

    3. Re:Libraries by Anonymous Coward · · Score: 5, Insightful

      I can't help but think it was designed by someone who was pissed off that people didn't format their code the way he formatted his code. Since his way was obviously the "right" way, why not write a language that forces you to do it that way? Problem solved!

      This is actually the main reason I haven't worked with Python beyond tweaking a few existing scripts. The funny thing is that (unless I'm misremembering the syntax) I already code using that style in other languages. But the idea of forcing that style on everyone annoys me enough to put me off of the language as a whole.

      I was really hoping that 3.0 would remove that petty stupidity. Doing so would even retain backwards compatibility with prior versions!

      I just don't get it when people say that, its sorta like saying you don't use language X because you have to store numbers as floats or integers instead of char variables.

      I honestly like the fact that Python forces a coding format, I hate opening someone else's source and spending the first minutes trying to understand how they layout things if at all. And yes if people were smart it would be easy to pickup anyones code, sadly that world doesn't exist.

      No its not petty stupidity, not using Python because of your reasons is sadly what I would call petty stupidity.

    4. Re:Libraries by bnenning · · Score: 5, Informative

      But the idea of forcing that style on everyone annoys me enough to put me off of the language as a whole.

      I had that exact reaction when I first came across Python. But after giving it a chance (many years later), I realized that it doesn't force a style any more than C forces the "style" of putting braces around blocks. Indentation levels are just syntax elements that happen to correspond to what most developers naturally do. Really, having to indicate blocks to the compiler in one way and to humans in another way is a DRY violation, which Python eliminates.

      --
      How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
  3. You got time machine! by gzipped_tar · · Score: 5, Informative

    The cool thing about Python is it's "time machine". In Python 2.x you can "from __future__ import " to use features scheduled for future releases. With the release of Python 2.6 there's also a "2to3" tool that will point out revisions needed for 2.x code to be 3.0-compatible, and generate patches for you.

    The Python developers have been aware of the difficult road of migration long before the release of Python 3, and they did a lot of careful planning and hard work for it. One of them being the __future__ module that has been there for quite long time just for this reason.

    As a Python user, my hat off for them. I wish them success heartily.

    BTW: In case you don't know, there's an Easter egg in the time machine: "from __future__ import braces" ;)

    --
    Colorless green Cthulhu waits dreaming furiously.
  4. Re:woohoo by Anonymous Coward · · Score: 5, Funny

    But I just came in here for an argument!

  5. from __future__ import braces by slumberheart · · Score: 5, Funny

    SyntaxError: maybe in 3.5

  6. Re:And now to wait by morgan_greywolf · · Score: 5, Funny

    Nope. Python 3.11 for Workgroups.

  7. Re:That marks my end of use for Python by shutdown+-p+now · · Score: 5, Informative

    It's also cleanup of some stupid syntax that was there for ages. For example, exception handling. Old style:

    try:
    ...
    except (TypeError, ValueError): # catch both types of exceptions
    ...
    except os.error, e: # catch exception and store into variable 'e'
    ...

    New style:

    try:
    ...
    except (TypeError, ValueError): # catch both types of exceptions
    ...
    except os.error as e: # catch exception and store into variable 'e'
    ...

    It's fairly obvious that the latter is much clearer.

  8. Re:woohoo by Hal_Porter · · Score: 5, Funny

    No you didn't.

    --
    echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
  9. Re:woohoo by Random+BedHead+Ed · · Score: 5, Funny

    I think you should use a few more posts to explain the joke. The more you go on the funnier it gets. :)

  10. Re:woohoo by ValuJet · · Score: 5, Funny

    Yes it is.