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

 



Forgot your password?
typodupeerror
×
Programming IT Technology

Python 2.0 Released 89

atallah writes: "It would appear that the long awaited Python 2.0 was finally released today. The front page of the Web site has the announcement." According to that announcement, Python 2.0 will receive minor-version updates around every 6 months, even as work begins on the shoot-for-the-moon Python 3000. For the curious, here's the list of what's new in 2.0; the list includes "full XML support and several forms of new syntax," as well as the BeOpen label.
This discussion has been archived. No new comments can be posted.

Python 2.0 Released

Comments Filter:
  • by Anonymous Coward
    Ugh. What good does an endorsement do? I agree that we should choose based on technical merit. Who's this for, then? The suits? They're probably more impressed by which businesses use Perl (a LOT more and a lot more famous not matter how you slice it). Don't get me wrong: Python is my favorite language. It's good enough for me. I could care less if it's good enough for ESR.
  • by Anonymous Coward
    I hate ESR. Ever since his "I'm rich, you're not" email to the world, I've written him off as a classless pig. Odd how he never talks about his options anymore now that they're not worth a bag of hot piss.
  • by Anonymous Coward
    Is this new release compatible with a certain, popular free-software license?
  • by Anonymous Coward
    The Python CGI module is pretty simple, but easy to use. Unfortunately, the HTMLgen packages isn't included in the standard distribution, so you'll have to either write your own HTML (not much harder) or *gasp* download the module.

    If you're just mashing text and doing database lookups you'll have a slightly harder time than in Perl, since Perl's DBI is better (Python's catching up, though) and RE's are part of the language (not that I think that's a good idea in general, but if you're messing with text it's great). You can still use the exact same REs from Perl in Python, but you'll have to type a little bit more!

    Python's beauty really shows when you've got big projects, which most CGI scripts aren't. But it's still pretty good.
  • by Anonymous Coward

    Big, long, scaly deal.
  • Wow... someone actually checked out dtmc. :)

    However, in doing so, they found that I gave the wrong link. See sourceforge.net/projects/dtmc; there are no releases, but the code is in CVS. The build process needs a major overhaul, but you should be able to tweak it into operation.
  • So when is Python 2.0 going into Woody? Anyone know? Right now all we have is 1.5.2
    --
  • I've been pretty happy with Python for CGI, but I haven't done database stuff with it. Of course, Zope is the ultimate web everything-you-could-want, but it's also a big commitment, and the documentation sucks very badly (which I consider a real problem). The Python documentation is quite good, though.

    If you are happy with doing CGI at a raw sort of level -- you get a dictionary (hash-table) of posted variable and print to stdout -- then there's no reason you can't do it in Python.

    If you want to see a moderate-sized CGI program, you can look at ComfyEdit [colorstudy.com], which I made. I think it's reasonably accessibly while still having some novelty. Well, no, I take that back -- I just looked at it, and it's really rather monolithic.
    --

  • http://slashdot.org/articles/00/02/16/1729227.shtm l

    Some very valid and interesting points brought up about both languages. I know this story is about python and not perl, but whenever anybody discusses one the other is bound to come up in conversation.
  • Opps.. thinks should be things.
  • This is a totally unnecessary post. I'm checking the link in my signature to make sure that it points to my new server for DeCSS. Woo-hoo.
  • So python doesn't allow operator overloading? if it did you coulda done it yourself. and that's no fun not having
    operator overloading. it's always good to make a class whose + operator subtracts and whose - operator adds. or
    something...


    What are you talking about? Python has had operator overloading for as long as I have used it (which is only since version 1.5 ;). Of course operator overloading _doesn't_ mean create new operators at will, it means overload the existing ones. So you have always been able to overload the + operator and now you will be able to overload the += operator. Joy!

  • Any decent editor should have autoindent. Emacs and vim have this, and also have python modes.

  • I hope to God it isn't.
    One of the great things about Python was that you can embed it in your own code, without having to open the whole of your code. That's very useful.

    It'd be okay if it was released under the it's normal (BSD-style) license and the GPL, though...
  • Yeah, I think the reasoning behind that is the stipulation in the Python license shall be governed and interpreted by the law in the state of California.

  • Does anyone care?

    And yes, afaik.

    -lx
  • Look and Windows, it has a lot of endorsements but that does not mean that it is the best...

    Exactly. Endorsements provide an excuse not to think. For example, consider the recent posting on Slashdot today about techies endorsing Gore...

  • Perl6 times infinity = infinity = Visual Basic times infinity.

    I'd rather use Perl6 than something that resembles Visual Basic. ;)

    //Humming
  • As I don't see any mention in that post about a change in the license for the final release, I suspect it's still GPL incompatible.
    I wonder what Debian will do about this... :\
    Either stick to 1.5 or remove all GPL apps that don't update their license in order to use 2.0.
  • ESR may be a good politician, but after reading The New Hackers Dictionary, I'm convinced that the world would be a better place if he was court ordered to stay at least 50 feet away from any source code or technical issues. At least he should lose the right to pretend he is speaking for others than himself.
  • I thought I read that Guido van Rossum never wanted Python to be associated with snakes. Based on the Python 2.0 website, I guess he lost that battle...
  • But did you read the artcile to see why it was endorsed? Did you? If you did, you will not have posted the above. There is nothing wrong with endorsement if it is truthful, unlike windows world where FUD is the key.

  • I'm an avid perl user. It's always my first choice for doing any fairly small task (less than a week) and absolutely anything that does text manipulation or unix scripting.

    That said, I think perl would be a horrible choice for a first programming language. A little structure from a language is actually a big benefit for a new programmer. It helps to prevent yourself from shooting yourself in the foot too badly.

    Also, the lessons you learn in perl may not translate well when you learn another, more traditional language. Data typing is an important concept of of programming in most languages, but perl's handling of data types would be confusing for a beginner.

    I've never used python, but it sounds like a decent language. The best language for new programmers I've used is java. It's very programmer-friendly, compared to C, C++, or perl.

    Cheers!

    -Bruce
  • Maybe you should take a look yourself instead of just linking to pages you little karma slut :P

    It's not a rumor. It's a fact.
  • Comment removed based on user account deletion
  • Is there any way to better filter the slashdot comments? Maybe something could be done using Mozilla's new Formzilla?

    Well, if you're using Emacs [gnu.org], (and who isn't ?), then you can use the Mail/News reader GNUS [gnus.org], to view slashdot comments as if they were a newsgroup.

    Doing this is so cool, because you can take advantage of both the slashdot scoring system, and GNUS filtering/kill filing.

    See here [gnus.org] for instructions on setting up GNUS.


    Steve
    ---
  • Get a copy of SICP [isbn.nu] and a good Scheme interpreter, and start there. You'll never be sorry for starting with Scheme.

    --

  • I do all my website programming in python. It is great to see the += and related operators now in the syntax. I hope, though, that the developers will limit the new trend to introduce notation that could be seen as 'obfuscated' if used in the wrong hands. I really liked the original philosophy of having the 'anti-perl' syntax. Great work guys! (Although I wish there was support for C style {bracketing} for statements)

    -Moondog
  • well, hell, if you're gonna fight, fight about dynamic typing, the main reason that ive found teachers not using python as an introductory language.
  • No flames necessary. Python forces programmers to be more clear and makes programs easier to read. In short I like the syntax and the knowledge that every program written in python will have the same basic look.

    This is just my opinion, but to me comparing perl and python as far as reading other peoples code is like comparing GWBASIC to Java. Pythons programmers also seem to have a programming philosophy that is more in tune with the way that I think then perl.

    I of course am just beginning to learn Python, so after I become more proficient in it and perl I may decide that perl is better for some reason.

    All of this doesn't matter very much in the end since I mostly program in C, C++, and Java.

  • I didn't figure that this would make it past the perl bigots around here. ;)

    Oh well I'm just starting to learn python but I already like it better then perl.

  • What task did you need to go at in a roundabout way? The only one that comes to mind is avoiding circular references, and that one is pretty easy to manage.
  • Actually, I was asking for specifics, because I'm in the mood to give Distutils a workout and write an extension. =)
  • *laugh* p3k is a blue sky python with type inference, and other functionality. Its a moving target, so to speak, so it doesn't have a specific version number..

    Yet.
  • Well, one of the primary arguments for augmented assignment was actually related to the p3k project, and optimization. The reasoning goes, that it is faster to perform self.attribute += 1 than it is to perform self.attribute = self.attribute + 1 because there is one less attribute lookup.

    And while this may appear trivial, it becomes somewhat more important once you realize that Metaobject programming in Python often involves overriding the methods for getting and setting attributes with new methods. Every get/set counts.

    I don't think we're about to see a flood of perl-like syntax sugar rotting the teeth out of our Python just yet. =)

  • I've been playing around with it for a couple of weeks and it works well. I really like the wxWindows bindings for python 2.0 (I also love the number of gui widget toolkits you can get - I was just looking at the fast, light toolkit the other day - it also has python bindings). The great thing about scripting languages and open source is that there's no need to ship binaries and source, the executable code and the source are one and the same thing. Whereas in the proprietary software world this would be a problem (you need to actually take steps to "protect" your code), in the open-source world this is an advantage.
  • I've been avoiding Python up to this point, but I think it's inevietable that I learn it. I haven't avoided it for any specific reason, merely because I just don't have the time to devote to it.

    I've been reading about how it's gaining ground, but I've yet to talk with people that use it on a regular basis. Anyone care to share insight on their programming experiences with it? Specifically in use as CGI applications?
  • "We" (whoever that is) don't need endorsements, we need quality software. Your comment is as informative as the assembly instructions for my bookshelf...written in Chinese.


    --------
  • Why not Python? It gives most of the same features (even lambda calculus)

    I agree that Python is a good beginner's language, and probably better than Scheme for this purpose. But Python's lambda is quite anemic, a pale shadow of the construct provided by more pure functional languages.

  • In fact there is a stronger resemblence between Perl and VB. Both started out as simple "basic" languages, with simple sysntax, for doing simple things. Over the years various extras have been bolted on, stick with on chewing gum, or, tied on with string, which has created an unholey mess.

    Oh, don't worry. Python is clearly headed down that road, too. 2.0 adds a number of pieces of candy (such as augmented assignment and the 'print >> <file>' construct) which add no real utility but complicate the syntax. A few more years of this, and Python will look like Perl.

    Python's my favorite language/tool, but if things keep moving in their current direction, this won't last.

  • I dont want to start a flame war or anythig stupid like that. I am trying to teach myself how to program and I am thinking of going with either python or perl as my first language. I am interested in an honest account of the benefits of python over perl and perl over python and if either would make a good first language. I am serious about this so please please please dont use it as an excuse to troll and flame. Advance thanks go to all who post.
  • Anyone knows anything more about the problems with GPL compatibility? Last time this was submitted to /. (yeah, it seems to repeat itself much these days), there was a problem with the license stating that you had to interpret it by Virginia law, which clashes with GPL's claim that you cannot put further restrictions on a program you link with (for Python extensions). Annoying problem, since otherwise the license was very pleasant.
  • Hey, I found that book extremely funny (although I prefer the online version: jargon.txt). What was it you didn't like?
  • It is great to see the += and related operators now in the syntax.

    So python doesn't allow operator overloading? if it did you coulda done it yourself. and that's no fun not having operator overloading. it's always good to make a class whose + operator subtracts and whose - operator adds. or something...

  • Hmm, I'm not much of a programmer yet, but I know C, Scheme, and a little perl. I learned C first, and it sucked. Pointers gave me headaches. Scheme is way better to learn with; it's like there's very little difference between the algorithm in your head, and the way it looks as code.
  • I can see calling Java or Pascal or even C++ too structured, but Python? It's an extremely flexible language.
  • I know this story is about python and not perl, but whenever anybody discusses one the other is bound to come up in conversation.

    Which is really unfortunate. The two languages are extremely different. They are similar in that they are both very dynamic and both begin with the letter 'P' -- that's about it.

  • Beware of world domination now that Python 2.0 is on the loose. Python4Ever
  • I use Visual SlickEdit for my Python development. It has a lexer for Python, but by default there are no file extension mappings to the Python lexer. Easy enough -- I just associate ".py" extension to the Python lexer, and voila - nice color-coded syntax support! BTW, I also use Visual SlickEdit for C/C++, Java, HTML, bat files.
  • Personally, it is the simplicity that I like about Python, and what makes it suitable for newbies. There should be only one way of doing a simple operation. IMHO it makes more sense for a newbie to evaluate x+1 and assign the result to x, than to have loads of specialized operators.

    Anyway, great to see the release - I've been using 2.0rc1 for a while now. I want my Shrubbery 2.0, Nih!

    --

  • hahaha hah ah aha ha! ... I don't get it.
  • No no, this is a much better link: Comparason of Ruby to other languages [hypermetrics.com]
  • I think it's a neverending debate because the good question is not "Which one is better as a first language?" The question you should ask yourself is "Which one is better for me?"

    I found Python to be better suited for me, and of course I'm trying to convert everyone to Python. But I know there are (lots of) people who prefer Perl.

    So, here is my unofficial "Choose between Perl and Pyhton in 2 days" guide:
    Day 1
    Download and install
    Python at http://www.python.org/download/ [python.org] http://www.perl.com/pub/lang uag e/info/software.html [perl.com]

    Download/Browse/Print (whatever suits you) some tutorials
    Python at http://www.python.org/doc/current /tu t/tut.html [python.org]
    Perl at http://ww w.c clabs.missouri.edu/things/instruction/perl/perlcou rse.html [missouri.edu]

    Rest of the 2 days:
    Follow the tutorials and try to write some very short programs of your own.

    Third day:
    Go back to work with sore, red eyes.

    Later: Learn them both, and C too!
  • Didn't find the fixed width font.
  • It means I no longer have to be confused in Java. Now I can be confused in my favorite language. I think the big deal is DTD validation is now available.
  • http://www.modpython.org/
  • I agree with this post that perhaps java is a good language to learn- well structured and with lots of applicable concepts to other languages to help you move on to C, or Perl etc. Also there are many many books on java which are excellently designed for the beginner. Finding an equally good book on python will be somewhat harder, although no doubt they do exist. Perl has several little features which may hinder you from coding properly in other languages, although it is a fairly friendly language to work with. Its slightly poor structure, if I may call it so, does not really help a beginner learn programming techniques he may apply to other languages. But I'd say Java's the way to go, with no discredit to other languages of course. Its just it worked nicely for me, so I can only go on my own experience.
    Also I do think that although not a popular choice, with the right tuition, C is an excellent beginners language as the concepts of any language are presented well with it, and I really don't see what's wrong with starting with it. I'd definitely recommend Java or C, both of which are widely used so there's lots of opportunities to get help if you need it, there's thousands of reference books, and if you get really desperate, ask one of us nice /.y people too :)
  • For everyone who understood the headline: Go colonize Mars [masterfoods.fi] instead! (BTW, it's actually a different link from last time.)

  • I am using PHP and Id like to know the Pros and Cons of using Python and Perl (concerned to PHP) The only information I get while reading through those comments are comparisons about Perl and Python (and stuff like "Python is better than Perl")
    I am wondering if PHP isnt in competition ? I have a good feeling using PHP, but Im not really in Python/Perl so Id like to get a small overview about those languages.

  • This is just my opinion, but to me comparing perl and python as far as reading other peoples code is like comparing GWBASIC to Java.

    C and Pascal, surely.

  • I've not tried (and don't particularly plan to try) any CGI stuff with Python, except via Zope modules.

    As a general app programming/prototyping language, though, Python is great. Combined with the Python libglade bindings, you can have a neat & nifty app that actually Does Something Useful in... well, let's see... I've got a toy virtual machine, compiler, parse tree grapher and graphical-debugger-style frontend for the VM in 850 lines of Python, 173 lines of C and 130 lines of lex/yacc code. Given how much stuff this code does, I think that's pretty impressive -- and most of it was done in under a week (the VM and interface, for instance, were a single all-nighter).

    (If you're actually interested in looking at this code -- created to be useful for instructional purposes in basic compiler theory -- feel free to check out dtmc.sourceforge.net).

    Another simple OpenGL app I wrote at one point took a single day (and most of the following night) to get running in Python. I was doing this for a class, and the prof required that I redo it in C++ (a language I know well). I tried using all the fancy language features I'd (without thinking about it) used in the Python version -- RTTI, multiple inheritance, etc. A week has passed. It's still not done, and I still have no clue what many of the compiler errors are about (eg. the linker can't find the vtable -- I've no clue what would make the compiler not spit it out).

    Another thing -- you won't have to budget much time to learning Python, at least not the syntax. If you know good OOP design, then you're in even better shape.

    Pardon the rambling -- I'm still not quite awake yet. Hope you get something useful out of it, though.
  • Yah, but that's intentionally tackling the steepest part of the learning curve first. Why not start with something with a smoother slope, learn most of the base concepts there (general algorithmic design and the like) and move to C once all the "easy" stuff is out of the way rather than trying to take it all on at once?

    Learning C is a much less daunting task if you already have some programming experince under your belt. While I learned C before Python (Perl is absolutely not a beginners' language, far worse for that than C), I'd advize those after me to do it the other way 'round.
  • I thought Linux and Open Source was about producing the best product...Not which product has the most endorsements. Look and Windows, it has a lot of endorsements but that does not mean that it is the best...
  • Funny, when I pasted that in, it didn't work. Could be because it wasn't indented. So much for block delimiters
  • I would suggest that you start with Python - there are several reasons for this:
    • You can run python as an interactive interpreter, which is very useful when you're learning. It means that you can test out a line before committing it to code, just to see if it works. You can also query the data your program uses from it.
    • Python is quite an elegantly structured language, and it gives quite a nice introduction to Object Orientation.
    • Python code is very easy to read. I find that when I'm learning a language, I spend a lot of time looking at other people's code - you should find that fairly easy in Python.

    I think what it comes down to is this: Your first language should be as easy to use as possible, and as easy to get results with as possible. It's more important that someone gets encouraged and continues programming, rather than giving up than it is to ensure that they've learned good programming habits. That's why BASIC was such a good language to learn with. (I learnt on BBC Basic) Of course the nice thing about Python is that I doubt it would encourage many bad habits ;)

    And anyway, you can un-learn bad habits.


    Once you are happy using Python, have a go at C/C++ - it is the de facto standard in computing languages, and you'll get to learn all about the wonderful world of memory management...

    cheers,

    Tim

  • The best way to learn programming is to solve lots of different realistic problems. Although C can do anything Perl or Python do, many kinds of problems will be within your grasp with these languages that would be to advanced in C. So, I think either language could be a good way to learn to program. You learn more from at least partial success than you do from utter failure.

    When I was a kid, there was lots of talk about people getting "accents" from the various languages they learned. I think this was somewhat exaggerated, but you do pick up certain habits. For example Scheme encourages you to make small functions, not the least because its a pain in the ass to look at all those damned parentheses. Python is designed to remove a lot of pitfalls for learners and encourage generally accepted good style. Perl, on the other hand, tends to glory in a diversity of approaches, not all of which are always good. I think that just sitting down and hacking Perl without guidance might tend to run on functions and obscure expressions. The "More than one way to do it" philosophy is tough on newbies, especially because there aren't really good standard normative examples of Perl style (the best thing about C? Most people learn from K&R).

    I'd say that if you have a really good Perl programmer to work with, then Perl would be a good choice. If you are learning on your own, then Python is going to prepare you to transition to other languages better.

  • Oh, Lordy, not this again.

    While the pedants at many universities have decided that this is the Best Book to teach people how to program (and that's always how they label it) learning to think in lambda calculus and fake objects using lambdas is really never the way to go. I asked once why they did it, and the response was that:

    • It's the only way to beat recursion into your brain so badly you'll never forget it.
    • I had to study it at the MIT AI lab and since that was the best place ever, so should you.
    • We have to get some higher level concepts into you before you do 3.5 more years of nothing but C++ and C and assembler.

    If people are going to insist on teaching something trivial in the beginning, why must it be scheme? Why not Python? It gives most of the same features (even lambda calculus) and is just so much easier to learn and prepare for C++ or Java. Perl doesn't really do either.

  • Comment removed based on user account deletion
  • It depends on how you look at it, and that's why I said it "may" be too structured. It goes back to the way people think. I, for instance, never fully understood object-oriented programming until I started using Python. It just wasn't the way I thought. It made learning any sort of C++-type language(including Java) very difficult.

    Now, if you think in a very abstract fashion, you might find that Python demands too much in its structure(things like naming conventions of the builtins, forced indentation, coersion). Unfortunatly, most average people *do* think in a very abstract way.

    I learned Python really quickly because it reminds me a lot of a functional language. Because I could learn the basic language naturally, I eventually disconvered exactly what object-orientation entailed, and what it could be used for. Python was my intermediate step. I still like it, but I've also been able to learn Java. Heck, I more than like Python, I use it every day ;) I just wish that the GTK+ and GNOME Python bindings actually looked like something vaguely resembling Python. As it is, the bindings look like C functions. I think they're ugly. :)

    Not that I mind - I didn't write them, and I appreciate the people who did :)

    Okay, enough rambling.

    Dave
    'Round the firewall,
    Out the modem,
    Through the router,
    Down the wire,
  • How should I know. Probably yes, if you plan to do any Python programming. Pickling objects is what is called "serialization": you can store any object hierarchy to disk/database/whereever and get this object hierarchy back later. This works across the network and across platforms, of course :-)
  • I personally see no resemblance between Python and Visual Basic.

    In fact there is a stronger resemblence between Perl and VB. Both started out as simple "basic" languages, with simple sysntax, for doing simple things. Over the years various extras have been bolted on, stick with on chewing gum, or, tied on with string, which has created an unholey mess.

    I admit that Larry Wall et al,are fighting a valient rear guard action and trying to clean up the mess, but once you release a feature its very hard to withdraw it.

    Python on the other hand was designed from the begining to be an OO scripting language. It was designed from the begining to perform comlex tasks. Guido Van Rossum took a long hard look at the shortcomings of Perl, TCL, VB & etc. and took great pains to avoid repeating these mistakes.

    On the downside, the runtime is massive, and, there it is a massive amount of coding to produce a fully fledged python object in C.

  • According to the license [pythonlabs.com]:
    6. This License Agreement shall be governed by and interpreted in all respects by the law of the State of California, excluding conflict of law provisions.
    GNU GPL does not allow for choice of venue clauses (as was demonstrated in the Python 1.6 wrangling [slashdot.org]).
  • Well, if you mean operator overloading like C++ (only overload existing operators for new types), then Python has had that for as long as I can remember.

    However, it seems you mean the ability to create new operators ala Haskell or ML (new operators, select associativity and precedence yourself). This is not supported. Whether it will be remains to be seen (not likely, I guess). It probably makes some sense for some applications, but can also make things very unintelligible.

    However += and friends can't be functions as they have side-effects, and unless you have a real macro-system in the language (or a not so real macro-system such as the C preprocessor) you will never be able to create this kind of operator/function yourself. Therefore it needs special support in Python.

  • In a related announcement today, PC generation guru Philippe Kahn announced that his new company, "Reptilez", will be offering "Turbo Python" for all Windows development environments in the 1st quarter of 2001.

    For further information please direct your inquiries to ..., uh, well, umm, ..... When they get his email up and running we'll provide the address!
  • This is python, man. You don't need to heave semicolons at the ends of each line. and you need to indent your code. If you want to make python look like C you do it like this:



    if foo: #{
    foo1()#;
    foo2()#;
    foo3()#;
    #}


    There. Now you have python that looks like C. Of course, when Guido designed python, he realized how worthless the semicolons are and left them out. But you can still have them if you want them.

  • Do I really want to know what this function does?

  • So we get to see all new episodes! Great!

    I'm not dead yet!

    (Sorry, couldn't resist....)

  • Although I wish there was support for C style {bracketing} for statements

    Of course you know it does as Fredrik Lundh wrote:
    In fact, Python already supports block delimiters:

    if foo: #{
    foo1();
    foo2();
    foo3();
    #}


    Hum!
  • Then it's good enough [linuxjournal.com] for me. Does the perl commnity have any plans to get a ringing endorsement from such a public opensource figure? I mean, besides Larry Wall, of course. We geeks may make these decisions on their technical merit, but it really helps the suits if a celebrity pitches it to them.
  • by |deity| ( 102693 ) on Monday October 16, 2000 @10:56PM (#700992) Homepage
    Here's a little link from the python faq.

    Which editor has good support for editing Python source code?

    On Unix, the first choice is Emacs/XEmacs. There's an elaborate mode for editing Python code, which is available from the Python source distribution (Misc/python-mode.el). It's also bundled with XEmacs (we're still working on legal details to make it possible to bundle it with FSF Emacs). And it has its own web page:

    http://www.python.org/emacs/python-mode/index.html [python.org] There are many other choices, for Unix, Windows or Macintosh. Richard Jones compiled a table from postings on the Python newsgroup:

    http://www.bofh.asn.au/~richard/editors.html See also FAQ question 7.10 for some more Mac and Win options.

    Hope this helps. Like I said above I'm just beginning to learn python so my knowledge is somewhat limited. I just like what I've seen so far.

  • by MyopicProwls ( 122482 ) on Monday October 16, 2000 @07:57PM (#700993) Homepage
    In a related move, God has released Moose 3.1, which is mostly a bug fix release of the popular mammal, though some extra features include increased moose nugget production and and option for larger horns.

    "I'm sorry", said God, "but the release schedule for Human is to be set back again." God went on to specify that Human 1.0.1 is having trouble making it to beta due to a hairy bug in the evolution code in Kansas.

    MyopicProwls

  • by RevAaron ( 125240 ) <revaaron AT hotmail DOT com> on Tuesday October 17, 2000 @06:01AM (#700994) Homepage
    I agree. Even Smalltalk, a purely OO language, handles lambda better. It's also geared at a similar begining to program audience.
  • by Lord Ender ( 156273 ) on Tuesday October 17, 2000 @06:53AM (#700995) Homepage
    Python will always be Free and Open Source. No matter what it says there, that is absolutely no reason to not use the language. Don't try to create problems where there aren't any.
  • by Anonymous Coward on Monday October 16, 2000 @08:51PM (#700996)

    Why would you use a lame language like Python or Perl

    Every one knows that the best language is Visual Ba



    This post has performed an Illegal Operation and will be shutdown.

  • by dbarclay10 ( 70443 ) on Monday October 16, 2000 @08:23PM (#700997)
    Well, there are pluses and minus to using either Perl or Python as a first programming language:

    Perl Pluses:
    You'll probably learn the value of making code readable. Perl is notorious for unmaintainable code.
    Perl follows the, "There's more than one way to do it" philosophy, so you'll likely find that Perl programs you write more closely follow your thought/reasoning patterns.

    Perl Minuses:
    Because there are so many different ways of accomplishing the same goal, it might take longer to learn the language since you'll really have to think about what you want to do.

    Python Pluses:
    Very structured language - makes it easier to navigate for a beginner.
    There are fewer ways to do one thing than with Perl, so it'll probably be quicker to learn the entire language. There arn't as many "gotcha"s.

    Python Minuses:
    Might be too structured for a beginner, but I've found it easier to teach than most other languages.
    Sometimes it's a pain to do what you want, and you might have to go about it in a roundabout way.

    Just my two cents, based on rather limited experience ;)

    Dave
    'Round the firewall,
    Out the modem,
    Through the router,
    Down the wire,
  • by crisco ( 4669 ) on Monday October 16, 2000 @08:05PM (#700998) Homepage
    The link provided is a little misleading as it goes one by one through the release candidates, take a look at What's New in Python 2.0 [python.net] for a better list and an explanation for the quick release of Python 1.6 followed by 2.0 in just a few months. Also explained is the newer development process.

    The changes seem to be an incremental evolution of the language, not a groundbreaking new language. But if you are a language / tools junkie like me, you owe it to yourself to take a look, even if you're turned off by the rumors of mandated indenting.

  • by Da VinMan ( 7669 ) on Tuesday October 17, 2000 @06:41AM (#700999)
    Just wanted to throw out some thoughts on why I steered the project I'm currently working on towards Python. My background is mostly in the MS suite of things. I also know Java, Python, Smalltalk, LISP, C, C++, and I've tinkered with Perl, REBOL, Prolog, etc. so I'm no MS bigot; that's just the majority of my experience.

    First of all, why did we choose Python? The project is basically fat client, and could have been done with almost any development environment.

    In our case, Java and VB were the other primary contenders. We need a rapidly developed application that is cross-platform. The customer doesn't have much money at this point, and therefore not much time either. Therefore Java is out. That seems counter-intuitive right? Java is supposed to save a lot of time after all. However, that's only true when you compare Java development time to C or C++ development time. Compare Java's development time to VB or Python's, and it's a completely different story. Java just didn't seem to work at a high enough level of abstraction to get the job done.

    So, why didn't we use VB? That's simple: it's developed for, and stays on, Windows. And that's it. Yes there are products that will let you translate VB to Java. There are some cross-platform Basic products out there. Have you used them though? They don't get the job done very well. And they normally leave it to you to figure out where a translation/cross-compile goes wrong. All in all, it just doesn't have a professional feel to it. Also, while the .NET initiative may push VB into the cross-platform arena soon, it won't be soon enough for me.

    Now, I suppose we could have used Perl, but frankly I fear Perl. Why? Because of the very flexibility it asserts as an advantage. Yes, I can write the solution in pretty much the way I think. Given the fact that I have yet to find two people who think about a problem in the same way though, that's a maintenance problem in what may become a large project.

    Once I selected Python on a preliminary basis, I had to make sure it would actually work. I developed GUIs for it with no problem. We did an XML proof. I did proofs on its object capabilities. I looked at sites and applications developed in Python. Could it handle the (relatively tiny) needs of my project? You bet it can. It can do all of that and more.

    Anyone who wants a relatively impressive sample of what Python can do should take a look at http://wildsau.idv.uni-linz.ac.at/mfx/pysol/. It's a huge (free!) solitaire game with all sorts of options and games. I haven't seen anything else like it come from the other scripting languages (not picking on any one language here though), except VB, and that is not on the list. Pile that game on top of the fact that Python gets used for server-side applications, has two companies actively working on its development (BeOpen and ActiveState), can be used in the JVM (JPython), will be usable in the MS .NET world, and throw in Zope for good measure.

    Python is a VERY strong VB replacement contender.

I tell them to turn to the study of mathematics, for it is only there that they might escape the lusts of the flesh. -- Thomas Mann, "The Magic Mountain"

Working...