Slashdot Mirror


Guido Goes Google

revividus writes "It seems that Python creator Guido van Rossum has received an offer from Google, and accepted it. Here is also some confirmation."

27 of 255 comments (clear)

  1. I love Python, but... by ShatteredDream · · Score: 5, Interesting

    I really do think it has been hampered by having a less rigorously standardized basic class library than Java or .NET. It would be great to see Python get some better documentation tools as well so that it'd be easy to generate documentation on par with the Java and .NET documentation.

    And of course if Google wanted to really screw with both Sun and Microsoft, especially Microsoft, they could create their own cross-platform web and gui toolkits and a free RAD GUI builder a la Visual Studio for Python. If they could create a Python framework on par with Swing or Windows Forms, there'd be quite a bit of wailing and gnashing of teeth in both camps :)

    1. Re:I love Python, but... by a_karbon_devel_005 · · Score: 4, Interesting

      I really do think it has been hampered by having a less rigorously standardized basic class library than Java or .NET. It would be great to see Python get some better documentation tools as well so that it'd be easy to generate documentation on par with the Java and .NET documentation.

      Actually Python's interactive interpreter and class/method documentation strings work very well. Most times it's much nicer to simply be able to DO stuff and look up help at the same time rather than go sifting through some huge morass of automated docs.

      Also, the next time you can do something in Java or .NET that you can't do in Python, let me know.

    2. Re:I love Python, but... by Anonymous Coward · · Score: 1, Interesting

      Google hired Danny Thorpe about a month ago. Thorpe was Borland's chief scientist, formerly the Delphi compiler architect, and had a big hand in developing Kylix.

    3. Re:I love Python, but... by AT · · Score: 2, Interesting

      I agree the class libraries are a bit hodge-podge, but the documentation tools seem to be on par with Java/.NET. A bit less structured, but then python is a less structured language, too. Plus with pydoc, I can browse the docs with a browser (a la javadoc, but dynamically generated) or from the commandline.

      In my opinion, the more fancy stuff people have used javadoc tags for (object relational mapping, test cases and contraints, etc.) should be done with annotations anyway, and annotations are supported by the most recent versions of both python and java.

    4. Re:I love Python, but... by jgrahn · · Score: 2, Interesting
      I really do think it has been hampered by having a less rigorously standardized basic class library than Java or .NET.

      I disagree. Python (like Perl) tends to mirror the underlying OS and libraries in some no-nonsense, pragmatic way. Java and .NET want to be your OS, and seem to make a point of reinventing as many wheels as possible, hoping you forget how to use the ones you already have in the process. My wheels are Unix, and I do not plan to replace them. Python doesn't try to force me; that's one reason I enjoy programming in it.

      It would be great to see Python get some better documentation tools as well so that it'd be easy to generate documentation on par with the Java and .NET documentation.

      What's missing, in your opinion? Man pages have always been (mostly) enough for me, and Python's docstrings and pydoc reach about the same level. I don't want graphs with deep inheritance hierarchies and detailed method parameter descriptions.

    5. Re:I love Python, but... by julesh · · Score: 2, Interesting

      WxWidgets?
      PyGTK?


      Both of those are substantially lower-level than the grandparent's examples (SWING and Windows.Forms, IIRC). Wx seems to be pretty much an MFC reimplementation ported to Python, while GTK seems to take a different but equally low-level approach to it all.

      I'm currently working on a UI framework based around an XML object description framework and layout engine that might fit the bill better. Currently only C++ is supported, but Python's on the roadmap. Not sure what license I'll be able to release under, though, as it includes some of my company's proprietary tech. May be able to convince the boss that a GPL version of it in our competitors' hands wouldn't be a threat to us, a la QT.

  2. An assumption by Anonymous Coward · · Score: 5, Interesting

    Everyone seems to assume that his main purpose with Google is to do Python.

    I'm not saying that assumption is not true. It's just that he is a huge talent. If I had a gargantuan project to run, I'd hire him no matter what the language.

    I wonder if the management types have figured out that anyone who can create and run a large successful open source project is a much better manager than the average MBA.

    1. Re: An assumption by Master+Bait · · Score: 1, Interesting

      Well... I bet he's going to be the lead software engineer for Google-AOL's awesome new browser !

      --
      "Only in their dreams can men truly be free 'twas always thus, and always thus will be."
      --Tom Schulman
  3. Python v. Perl by Shadow+Wrought · · Score: 3, Interesting

    So... Since Guido got an offer and Larry Wall didn't, does that mean that Google has tipped its hand in the debate?

    --
    If brevity is the soul of wit, then how does one explain Twitter?
  4. Re:His name is Guido? by moro_666 · · Score: 5, Interesting

    I dont think that the name Guido will give you any guarantees on the language quality ...

    However, could this be Google's move against Sun and Microsoft ?

    Sun has Java
    Microsoft has C#

    It would be pretty logical that google would like to control something that is comparable to sun and microsoft's bigtime server languages. Python has moderately fast bytecode (google stuff could improve a lot here) and it's got a decent oop model and a threading api. i/o is also usable. i think zope fans can hype their favourite thing in the responding posts too.

    i can't wait for the first version of GPython or Gython !

    --

    I'd tell you the chances of this story being a dupe, but you wouldn't like it.
  5. Re:His name is Guido? by a_karbon_devel_005 · · Score: 2, Interesting

    Umm... First of all Python has been part of Google since the beginning. There's even a quote about it on the Python.org homepage. Secondarily, Python is still much slower than C, and it's used internally or for prototyping, from what I've heard, at Google. Once an external project is prototyped and "proof of concept"ed they move to a faster language. Python is about speed of development, not necessarily execution and they would NEVER use Zope for Google, it's dog slow.

  6. Wikipedia entry? by Anonymous Coward · · Score: 1, Interesting

    His Wikipedia entry is already updated with the information:
    http://en.wikipedia.org/wiki/Guido_van_Rossum

    At first, I thought somebody was playing a prank. ;)

  7. This doesn't mean they want to "control" Python by Augusto · · Score: 4, Interesting

    Considering that last year google hired some of the main Java language guys (which still do talks about Java) last year; Joshua Bloch and Neal Gafter). Their background is mainly language/compiler design, my impression was and still is that I wouldn't be surprised if google was just working on their own (new) language. This just confirms this a little bit more ...

    --

    - sigs are for wimps.
    1. Re:This doesn't mean they want to "control" Python by Surt · · Score: 2, Interesting

      It would be fantastic to see a language from google that:
      1) is open source so the people who avoided java for that reason can participate
      2) is brace constrained, so the people who hate python for whitespace can participate
      3) has a full frontend for gcc, so the optimization freaks can participate
      4) has a vm, so the web folks can love it
      5) has an interpreter, so the python/ruby people can enjoy it
      6) has multiple inheritance or explicit delegates, so the people who can't live without that aren't stuck in c++
      7) builds on all the great features we've been seeing in language design lately
      8) has the functional programming features needed to draw in the ML/LISP crowd
      9) comes with a nice well rounded library with a good naming convention
      10) has the backing of a big name computer player (hence google)

      Is it too much to ask?

      Please, google?

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  8. Semi-Off-Topic Python vs. Perl discussion by kin_korn_karn · · Score: 2, Interesting


    While Perl is still my sentimental favorite, I'm open-minded about programming languages, especially those that are as widely used as Python. I've never been able to really understand Python, though, because of its bizarre syntax. (insert Perl syntax joke here) It's always seemed easier to just do what I need to do in Perl, since I know it so well.

    If I'm reasonably proficient in Perl, what would I gain by using Python instead? I'm not trying to troll here, I'm just wondering what I'm missing. If Google uses it internally it must have an advantage over other languages, but I've never not been able to do something in Perl if I really wanted to.

    1. Re:Semi-Off-Topic Python vs. Perl discussion by Anonymous Coward · · Score: 1, Interesting

      I've found that (what should be) simple things like manipulating multiply-nested arrays or basic OO programming can be very difficult in perl, even to the point that experienced users apparently just avoid those things (disclaimer: I am a beginner/intermediate perl user). I basically gave up trying to do much more than very basic programming in perl. In python I never hit such a learning curve wall. I know this raises the question of whether I am describing my own shortcomings rather than those of a language, but I don't think that explains it, because experienced perl programmers around me seem to have the same problem.

    2. Re:Semi-Off-Topic Python vs. Perl discussion by drgonzo59 · · Score: 2, Interesting
      I switched from Java to Python. Today's hardware probably runs Python just as fast as the hardware 5 years ago ran Java. My reasons why I like like Python in decreasing order (some of them you have mentioned):

      1. OO - with classes, inheritance and other OO goodies
      2. scripted - no need to compile, easy to debug
      3. powerful native data types - dictionaries (hashes), lists and sets(new in 2.xx)
      4. simple syntax (indentation => code blocks) - a blessing in disguise, I can read anybody's Python program - the format is always the same
      5. rich library and extensions - networking, GUI(wxWindows, Qt, Gtk, Tk...),math (SciPy, Numeric), regex, file and string manipulation etc.
      6. can inline C code with weave, can manipulate C data in Python with Pyrex, can use JIT compile with Psyco
      7. can use threads
      8. is a completely free and open source unlike Sun's Java
      9. has some functional/declarative constructs (lambda, map, reduce and apply)
      10. i like the name Guido - it sounds cool (ok, ok I don't really know how to say it but I needed the 10th reason...)
  9. Re:Becoming the new Xerox Parc by Amouth · · Score: 2, Interesting

    No .. to do that they would need to make amazing things and then throw them away saying no one will ever want that..

    google is making amazing things.. and they know everyone wants them

    Parc = !AxF(x)
    Google = AxF(x)

    --
    '...if only "Jumping to a Conclusion" was an event in the Olympics.'
  10. Dynamic Typing by kevin_conaway · · Score: 2, Interesting

    Let me first say that I love Python. I find that dynamic typing makes it easier as a developer and saves time. However, on projects where there are multiple developers and maintainers, is dynamic typing a hindrance? I suppose it comes down to if you document thoroughly what comes in and out of a function/class. Anyone have any thoughts on this? I'm curious

    1. Re:Dynamic Typing by mad.frog · · Score: 2, Interesting

      However, on projects where there are multiple developers and maintainers, is dynamic typing a hindrance?

      In my experience (with JavaScript/ActionScript, not Python): yes. Your mileage may vary.

      I suppose it comes down to if you document thoroughly what comes in and out of a function/class. Anyone have any thoughts on this?

      Hey, I've got an idea! We could have the compiler actually check to ensure that the documentation for argument types is present.

      And for bonus points, it could also check to make sure that the types used match the comments.

      We could call this, oh, I dunno, "strong typing"...

  11. Guido.. going.. going.. Gonkers... by TheUncleD · · Score: 2, Interesting
    I think that people immediately assume because he goes Google, that means Google as a whole is somehow going to revolutionize all the ways it does things to the 'Python' way (whatever that is). That is hardly going to be the case. He is just one man, who can, if they give him enough authority, make some significant contributions, but Google is already deep into its "ways" and it's difficult in terms of "quick overhauls" to do much of anything in terms of change.

    It might be nice to see some of the Guido python style in Google's future software though.

  12. Python vs. compiled Java and C by drgonzo59 · · Score: 4, Interesting
    The ability to inline C code in Python rocks.

    I like weave but I am waiting to see what will come out of the PyPy project - the author is the one who wrote Psyco (the JIT compiler for Python).

    Then there is Pyrex where Python can manipulate C data with language extensions, as opposed to weave where C code is inlined into the python code and Python data is manipulated in C.

    It is true that as a scripting language Python is slower than (byte)compiled languages. But it is slower by a constant factor. In other words people would say "Your Python solution is 4x slower than my Java solution!". What this means though is that just by upgrading the hardware that Python runs on, one can reach the speed of execution of the compiled program. In other words Python on an Athlon 64 fx 57 might run faster than java bytecode on a 1Ghz Athlon, or might even run faster than C on a 100Mhz machine (I am just making these numbers up, maybe someone knows of some benchmarks?). The point is that application that required C 15-20 years ago can probably be re-written in Python now.

    1. Re:Python vs. compiled Java and C by Anonymous Coward · · Score: 2, Interesting

      It is true that as a scripting language Python is slower than (byte)compiled languages.

      Python IS byte-compiled.

      But it is slower by a constant factor. In other words people would say "Your Python solution is 4x slower than my Java solution!".

      I'm not sure what the significance of this is. It is not possible to accurately predict the performance differential prior to actually trying it. Once you try something, you can see that it takes X times as long as something else, which means if you upgrade the hardware appropriately (CPU and/or memory bandwidth), your performance will increase accordingly. This is true of anything, including writing something in C and then rewriting it to go faster.

      The point is that application that required C 15-20 years ago can probably be re-written in Python now.

      That is rather understating the case. 20 years ago many of us were using 1 MHz 8-bit machines. Hardware is now commonly 2 GHz 64-bit machines. That's more than a 16,000-fold increase. Python is a lot better than 1/16000th the speed of C.

      Depending on what you're doing, it can be nearly as fast as C, if you are using a standard module which is implemented in C. E.g. various forms of text processing and even image processing (PIL).

      If you are using a lot of Python code instead, you might be 1/10th or 1/100th the speed of C. Then you use http://psyco.sourceforge.net/ If that's not fast enough, it often turns out that just re-writing a small part in C (the main bottleneck) can speed things up dramatically.

      You also have to keep in mind that a multiple-factor is not the only important part. For example, if you have a 3D game engine that is controlled by Python and does its rendering in C, the Python framework might take 1 ms per frame whereas the C framework might only take 0.1 ms. Only 1/10th the speed, you think? Not at all, because your theoretical framerate (1,000 fps vs 10,000 fps) is not important when the actual rendering in C takes 30 ms either way. Total frametime is 31 ms vs 30.1 ms, which is 32.25 fps vs 33.22 fps, less than 1 FPS difference. Additionally, if your graphics card is the bottleneck, it won't matter as much that you're burning extra CPU on Python, because you're already sending the GPU about as much as it can handle.

    2. Re:Python vs. compiled Java and C by kpharmer · · Score: 2, Interesting

      > It is true that as a scripting language Python is slower than (byte)compiled languages. But it is slower
      > by a constant factor.

      Python is just as fast as c or java when it comes to io-intensive applications:
          http://www.osnews.com/story.php?news_id=5602&page= 3
      That code that cannot be optimized by Pycho is considerably slower, though the above benchmark exaggerates it through errors in their use of python.

      My application processes over twenty million events a day through python - which includes transforming each event, and then applying a metadata-driven validation against each as well. The application is designed to handle a billion events a day. Performance is not a problem. Though at some point we might end up rewriting a few functions in c. We originally thought we would by 10 million events a day, but now realize that we should be fine until about 100 million a day.

      And the benefits? Very low labor costs, quick time to market, easy maintenance, almost no data quality problems due to code defects. The small performance trade off has been an extremely good compromise in my experience.

  13. Re:His name is Guido? by DARKFORCE123 · · Score: 4, Interesting

    It would be pretty logical that google would like to control something that is comparable to sun and microsoft's bigtime server languages. Python has moderately fast bytecode (google stuff could improve a lot here) and it's got a decent oop model and a threading api. i/o is also usable. i think zope fans can hype their favourite thing in the responding posts too.

    Microsoft hasn't been asleep either when it comes to Python. They hired the original guy who worked on the Iron Python project http://www.ironpython.com/ which brought Python to .NET.

    The latest updates on the Iron Python is right here
    http://www.gotdotnet.com/workspaces/workspace.aspx ?id=ad7acff7-ab1e-4bcb-99c0-57ac5a3a9742

  14. The Google Brain-Drain by Xthlc · · Score: 1, Interesting

    Hmm. I'm glad Google is providing opportunities for so many worthy people. But, from what I've heard, it's an intensely secretive atmosphere with little publicizing of work outside your own group. For that matter, my impression has been that unlike most large tech companies, Google doesn't like to work with universities -- they prefer to just hire the best faculty outright rather than collaborate.

    I'm reminded of the Microsoft Research brain-drain from a few years ago, when everyone was paranoid about what MSR was doing to universities. They gobbled up dozens upon dozens of top academics, and then . . . well, we haven't heard much from them since. Google is now doing the same thing to the open source community, to who knows what effect.

    1. Re:The Google Brain-Drain by Xthlc · · Score: 2, Interesting

      There's a bit of a difference between giving money and collaboration.

      Money is great. I have nothing against money. But treating a university like a farm team is not quite the same as working with a group of researchers and then publicizing the results. The former benefits just Google and the students who are around when the money hasn't been used up yet. The latter benefits Google, the researchers, the students, and (ideally) everyone who comes after them in that particular field.

      I'm thinking about the difference between Google's OSS approach (finance development, reap the benefits, hire the best that come out of that process) vs. id Software's approach (when something is no longer generating revenue, release it as OSS). How much of all the amazing stuff that I'm sure goes on behind Google's walls is going to vanish into the NDA void, never to be seen again? How much of that would've been shared with the public if its author had been working at a company that would allow it (vs. one that owns personal projects done on 20% time)?

      I'm not trying to bash Google here; I just have some honest concerns about their overall philosophy of absorbing the best and the brightest into a single monoculture. Perfectly happy to be shown that I'm wrong.