Slashdot Mirror


Python Conference Coming Soon

nnorwitz writes "PyCon 2004 is coming to Washington, DC at the end of March. It's a great place to meet lots of smart people and learn new things. Many interesting discussions go far beyond Python into other programming languages and topics. We should find out more about the Pie-thon, the OSAF since Mitch Kapor is the keynote speaker. There may even be a few surprises. The price is only $175, but early bird registration ends soon. It's not too late to submit a presentation either. I hope to see lots of new faces this year! I want to talk to some Perl and Ruby zealots^Wconverts^Wprogrammers. :-)"

12 of 45 comments (clear)

  1. uhm, I'm not going from Ruby to Python by Anonymous Coward · · Score: 4, Interesting

    Sorry, Python is a lot better than Perl but then again so's VB, eh?

    The Python community is turning into a bizarre mirror-image of the Perl community: full of themselves and a little too eager to show off the latest "trick" you can do in Python.

    I read Python books/sites and they say with a straight face "the great thing about Python is there's only one way to do things" .. what they fail to mention is, one way *per Python version*.

    I first used Python at 1.5 when it was pushed as a "prototyping language". I'm not coming back until they finish figuring out their object model and scoping rules.

    Someday, a bright Pythoner will get hit by lightning and realize, "hey, str(obj) just calls obj.__repr__() .. why the heck don't we all just call obj.__repr__() directly? And do we really need *four* underscores? And do we really need to type 'self' all the time???" At that moment, the Rubification will begin.

    Sincerely,
    Ruby Zealot

    1. Re:uhm, I'm not going from Ruby to Python by Slash.ter · · Score: 3, Insightful

      I read Python books/sites and they say with a straight face "the great thing about Python is there's only one way to do things" .. what they fail to mention is, one way *per Python version*. I first used Python at 1.5 when it was pushed as a "prototyping language". I'm not coming back until they finish figuring out their object model and scoping rules.

      So you're saying Python evolves. Doesn't C, C++, Java, and ... Ruby do the same? It is easy to have many Python versions installed and usable at the same time. It is as easy to add packages to any of the installed versions. Is it easier to manage change in Ruby?

      Someday, a bright Pythoner will get hit by lightning and realize, "hey, str(obj) just calls obj.__repr__() .. why the heck don't we all just call obj.__repr__() directly? And do we really need *four* underscores? And do we really need to type 'self' all the time???" At that moment, the Rubification will begin.

      You're confusing 'str(obj)' with 'repr(obj)' but that's OK - you're Ruby Zealot. I think you're to picky and if I was as picky about Ruby, here's what I'm reading here : 'obj.__id__' is the same as 'obj#id' and 'obj.__send__' is the same as 'obj#send'. So not only that I see four underscores (was it borrowed from Python by any chance?) and two ways of doing the same (there are more examples on the web page) but there is another peculiarity: '#' has two meanings: you can use it as in 'obj#id' and you can use it to start comments!

      Now about 'self'. It comes from Smalltalk and Matz (creator of Ruby) claims that Ruby borrows ideas from Smalltalk. So I don't see your point. On top of that, you don't have to use 'self'. You can use 'this', 'that', and 'other' or even 'S' if you aim at brevity.

    2. Re:uhm, I'm not going from Ruby to Python by angel'o'sphere · · Score: 2, Informative

      Now about 'self'.

      Thats not correct. The parent poster is reffering to the fact that methods in Python have a argument called self, which you sometimes have to type, sometimes to declare, sometimes not.

      In SmallTalk self is a reference, like in Python, to the object the current running method belongs to, but you have never to type it except you need it.

      For the C++/Java folks, self is the equivalent of this. No one likes code like that: self.doThis(); self.doThat();

      Python is in some parts really brain deadly designed, e.g. the __init__(self) methods instead of CTORS like Java or C++. Class methods aka static methods are ugly as well. Prepending every method call with self is ugly ... and that is what the parent was talking about.

      Of course you can ahve several Python versions installed. I'm sure the parent knew that.

      But how should a class of PYthon 3.0 load a class from Python 1.0 over installatino boundaries? And why does Python evolve that uncoordinated?

      IMHO it would make sense to define now a Python 7.0, or something. And put everything into it you want, and then let the implementations evolve from the current point towards 7.0. So everyone knows what the final language will look like and kows that the current state is only an interims state.

      angel'o'phere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    3. Re:uhm, I'm not going from Ruby to Python by Slash.ter · · Score: 3, Informative

      Thats not correct. The parent poster is reffering to the fact that methods in Python have a argument called self, which you sometimes have to type, sometimes to declare, sometimes not.
      I'm well aware of that. But 'self' is not a keyword. If you don't like to type it, use something shorter, say: 's'.
      I have no clue what you mean by "declaring" and "sometimes not". It is always there, it can be called differently. And you never declare things in Python.

      For the C++/Java folks, self is the equivalent of this. No one likes code like that: self.doThis(); self.doThat();
      Except when you have class member 'thing', method argument 'thing', and a local argument 'thing'. In C++ you can also have a global variable called 'thing'. You might argue that it's a bad style, but I've seen codes that do that and play tricks with undescores to sort out the mess. In short, in C++/Java you're allowed to be incosistent: 'thing' and 'this.thing' mean the same, sometimes. Python doesn't have to save keystrokes because it's relatively succinct. I like the 'self' idea because it defines the context for me without looking it up in other places. You don't like it and that's fine with me - that's life.

      But how should a class of PYthon 3.0 load a class from Python 1.0 over installatino boundaries?
      You just start Python 1.0 as a subbrocess of Python 3.0 process and have a proxy class in Python 3.0 to look like Python 1.0 class that communicates with the subprocess. A page or two of coding.
      And why does Python evolve that uncoordinated?
      I don't think it can be called uncoordinated - at best you may call the changes too big. The changes go through a well defined process - PEPs. And there is a vote. So in a sense you should blame the majority. Guido only breaks the ties. With Ruby it's Matz's opinion that matters read his opinions in an interview. He hinder Ruby's support for international encondings (see this post).

      IMHO it would make sense to define now a Python 7.0, or something. And put everything into it you want, and then let the implementations evolve from the current point towards 7.0. So everyone knows what the final language will look like and kows that the current state is only an interims state.
      You've just described what's called Python 3k. The idea has been entertained for a while on Python lists. The problem I have is that I cannot code for something that doesn't exist so I prefer to code for what's out there today. I guess it works for me and it doesn't for you - that's life.

  2. Why would I want to convert from Ruby to Python? by Colonel+Panic · · Score: 3, Interesting

    Sure there are a lot of similarities, but I prefer Ruby's purer OO model and I don't prefer Python's whitespace as syntax requirements and the need to type self everywhere (not to mention all those underscores). And where's the fun in there's only one way to write it?

    Python definately has some advantages over Perl, but as a Rubyist, it doesn't offer me any advantages that would convince me to switch.

    'Different strokes for different folks' as they say down at the retirement center

  3. D. Frickin' C. by Chromodromic · · Score: 2, Funny
    It's a great place to meet lots of smart people ...

    Gosh, this isn't biased. Well, I'm sure it is, in fact, one place to meet smart people, but I wish whomever was organizing this thing wasn't basing it in D.C., which is also a great place to get shot, spend money on mediocre food, either freeze to death or fry in ridiculous humidity, and generally hang out with interns working for lawyers, students wanting to become lawyers, or lawyers.

    Yeah, granted, the PyCon people will probably not be lawyers, but it is D.C. so you never know. And who decided D.C. was a likely meeting place for programmers? George Washington University? Yawn.

    At least Perl people go on cruises. Nah. Sign me up for the PyCon when they hold it in Vegas, like normal technology conventioneers, and we do Twisted seminars by day and other twisted things by night.

    --
    Chr0m0Dr0m!C
  4. Re:Why would I want to convert from Ruby to Python by GCP · · Score: 4, Interesting

    I like a *lot* of what I see in Ruby, and I strongly agree with your criticisms of Python (though I'm still undecided about the whitepace issue.)

    Even so, I think Matz's attitude about Unicode and internationalization rules Ruby out as a serious candidate for me.

    All Windows and Macs machines being sold today already use Unicode. The Unix world is in last place but the conversion is happening almost everywhere. The very last holdout against Unicode will probably be the Unix-style OSes in Japan. While all other platforms are Unicode and most of the Unix world is converted, they will be the last of the legacy holdouts.

    Japanese *nix is also the center of Matz's focus, and it shows. He has made it clear that the principal driving force behind Ruby's design is to help him do his own Japanese work in an encoding (EUC-JP) that he says is "good enough for me [him]". Since EUC-JP doesn't support anything well except for Japanese, he clearly doesn't internationalize his own work, and his comments make it pretty clear that anyone who does want to follow modern internationalization practices had better look elsewhere for a language.

    Also, the libraries in Ruby are far less developed than in Python, and I don't see them getting "good enough" anytime soon. Matz's Japanese Unix-centric community just hasn't produced the libraries that the rest of us are beginning to demand from our production languages.

    If I were just tinkering around with personal utilities and if legacy subset charsets were good enough for my text needs, then it might be all right. But I need lots of big, solid, production quality libraries for Unicode-based commercial systems, and Ruby isn't close. (Even Python is a stretch.)

    --
    "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
  5. DC is a pretty high-tech place by gtrubetskoy · · Score: 2, Interesting
    And who decided D.C. was a likely meeting place for programmers?

    All of the Python core team (including Guido until recently) live in DC. Granted, it's better if the conference was held in Vegas, on a cruise ship or in Monaco parhaps, but you're forgetting that the organizers of it are volunteers and do not get paid. The days when you could get a sponsor to shell out a few hundred grand to fly everyone to Vegas are gone.

    DC is home to places like NASA, NIST, NIH... Quite a few well known open source folk live out this way.

    I don't get out much these days, but before the .com craze, there were quite a few interesting places for programmers to meet. The DCLUG (past meetings) was one of them. I don't know what the status of the DCLUG is these days, but I remember Linus's talk in 95, this is way before most people even heard of Linux.

  6. Re:Why would I want to convert from Ruby to Python by Daleks · · Score: 2, Interesting

    Ruby2 will have Unicode support. Read this.

  7. Re:Why would I want to convert from Ruby to Python by Shadowlore · · Score: 2, Insightful

    Why do you take the posting of a Python Conference as an attempt to get you to switch? Some of us happen to feel quite secure in our choices and don't take the success of other languages as a threat or conversion attempt. You should try it sometime, where "it" is being confident and secure in your own choices.

    --
    My Suburban burns less gasoline than your Prius.
  8. Re:Thanks. It seems to confirm my point. by Daleks · · Score: 2, Informative

    I think you misinterpreted the slide talking about Ruby 1.9.x. The odd numbered Ruby versions are the development track, while the even numbered versions are release caliber. Ruby2 will have Unicode support and Ruby1.9.x is where it will show up first. The lack of multilignual support is actually listed as a reason as to why Ruby currently stucks. This isn't half-assed support of Unicode.

  9. Re:Why would I want to convert from Ruby to Python by Colonel+Panic · · Score: 2, Insightful

    Why do you take the posting of a Python Conference as an attempt to get you to switch?

    Well, as you might recall, the original post of the story contained the following at the end:

    I want to talk to some Perl and Ruby zealots^Wconverts^Wprogrammers.

    So I was just obiging ;-)

    I suppose that sentence was a bit ambiguous as it could mean that he/she wants to talk to people who had converted* to Perl or Ruby from Python (or any other language), but I read it as he/she wanted to talk to people who had converted* from Perl or Ruby to Python. Given that it's a Python conference being held in DC, I highly doubt that anyone who had converted to Ruby would bother to show up for her/him to talk to as they would likely be attending Ruby conferences, therefore I suspect that the latter interpretation was the intended meaning. Given this, it was not too much of a stretch to think that the poster was looking for converts* from Ruby to Python, so I merely expressed my doubts about wanting (or needing) to make such a conversion*.

    *NOTE: the useage of the words 'convert' or it's derivitives ('conversion', 'converts', etc) should be construed to mean that that the language in question (as in 'I am a Ruby convert') is the favorite programming language known and used by the person uttering (or typing) the phrase, however it should not be contrued to mean that the language in question is the only programming language known/used by the person uttering (or typing) the phrase.

    If it's still not clear, I'll try it again with some indentation ;-)

    'Different strokes for different folks' as they say down at the retirement home