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."

20 of 255 comments (clear)

  1. Re:Python v. Perl by gtrubetskoy · · Score: 3, Informative
    So... Since Guido got an offer and Larry Wall didn't, does that mean that Google has tipped its hand in the debate?

    Google's always been pretty open about heavy Python use. There is fairly interesting presentation by Greg Stein about Python at Goole here (audio only).

  2. Re:I love Python, but... by H0p313ss · · Score: 2, Informative

    It would be great to see Python get some better documentation tools

    Doxygen claims to support Python.

    --
    XML is a known as a key material required to create SMD: Software of Mass Destruction
  3. Re:An assumption by viega · · Score: 2, Informative

    He's supposed to be spending 50% of his time on Python itself, which is a lot more than he was able to spend on it in his last job.

  4. Python was used in Google's first academic version by Anonymous Coward · · Score: 2, Informative

    In L&S's "Anatomy of a search engine article" they wrote:

    In order to scale to hundreds of millions of web pages, Google has a fast distributed crawling system. A single URLserver serves lists of URLs to a number of crawlers (we typically ran about 3). Both the URLserver and the crawlers are implemented in Python

    http://www-db.stanford.edu/~backrub/google.html

    A way of returning a favor, perhaps?

  5. Re:His name is Guido? by NewbieProgrammerMan · · Score: 4, Informative
    Once an external project is prototyped and "proof of concept"ed they move to a faster language.
    Based on what I've heard from people that work there, this is not always the case (I assume you're talking about re-writing entire applications in "something faster" after the Python prototype proves the concept). Sometimes it's not necessary to optimize the shit out of everything; to do so would be a waste of resources. One of the nice things about Python is that you can re-implement hotspots in other languages (such as C or C++) without having to rewrite the whole application (yes, I know you can do that sort of thing in other languages, too).
    --
    [b.belong('us') for b in bases if b.owner() == 'you']
  6. Re:I love Python, but... by Anonymous Coward · · Score: 2, Informative

    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.

    I've always found help(object in question) in the interpreter to be more efficient than looking it up in the sun javadocs or on msdn.

    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

    WxWidgets?
    PyGTK?

  7. Correct. by a_karbon_devel_005 · · Score: 2, Informative

    absolutely.

    Often times it's only required to rewrite the most crucial bits of an app. This is fairly straightforward in Python.

  8. Re:Semi-Off-Topic Python vs. Perl discussion by gorzek · · Score: 5, Informative

    I can't speak for anyone else, but I did make the leap from perl to Python, and have no regrets.

    I still use perl for quick-and-dirty text-processing and so forth, but Python is excellent for creating scripts you want to be able to maintain later. The syntax is sparse (compared to most other languages), so there isn't as much code to maintain. I found most of my favorite perl features were also represented (foreach, regular expressions, etc.)

    People who've never spent much time with Python will gripe about the whitespace. It was never an issue for me, and I've never had problems with it.

    If you plan to do any significant object-oriented programming, Python is very good for that. For procedural programs, the only edge it has over perl is readability, due to the concise syntax.

    One thing to keep in mind with Python, however, is that it does NOT convert between numbers and strings automatically, while perl does. It's no big deal to cast a number as a str() or cast a string as int(), but if you don't know about it beforehand, it will get you.

    From what I understand, Python is also very nice for metaprogramming, but I've never used it for that. I have used it for quick command-line utilities, GUI apps (with wxPython), and game programming. The object-oriented features are really why I prefer it over perl. They are intuitive, and you have a lot of power over how the objects behave in various circumstances.

    If you have any C# experience, I've found you can port C# code to Python with only minor (mostly cosmetic) changes. (This obviously excludes using libraries written for C#, though--I was referring to the syntax of the code itself as being easily ported.)

    Sorry if this explanation wasn't technical enough. I was just trying to lay out the general reasons I found a move from perl to Python relatively painless.

  9. PyPy: a Python implementation written in Python by YA_Python_dev · · Score: 4, Informative

    Python has moderately fast bytecode (google stuff could improve a lot here)

    A very interesting project that aims to create a faster Python implementation is PyPy, funded by the EU, by google (with Summer of Code) and by a lot of programmers that donate their own time.

    Even the Psyco guys say that the future is in PyPy!

    --
    There's a hidden treasure in Python 3.x: __prepare__()
  10. Re:I love Python, but... by YA_Python_dev · · Score: 4, Informative

    WxWidgets?

    Good point. I think that Python + wxPython + wxGlade is a very powerful combination for clean, fast and maintainable GUI development.

    If you do GUIs I suggest to try these tools: they are simple and powerful (wxPython even contains additional classes that are not present in wxWidgets).

    --
    There's a hidden treasure in Python 3.x: __prepare__()
  11. The Zen of Python by Anonymous Coward · · Score: 2, Informative

    For the curious......

    The Zen of Python (by Tim Peters)

    Beautiful is better than ugly.
    Explicit is better than implicit.
    Simple is better than complex.
    Complex is better than complicated.
    Flat is better than nested.
    Sparse is better than dense.
    Readability counts.
    Special cases aren't special enough to break the rules.
    Although practicality beats purity.
    Errors should never pass silently.
    Unless explicitly silenced.
    In the face of ambiguity, refuse the temptation to guess.
    There should be one-- and preferably only one --obvious way to do it.
    Although that way may not be obvious at first unless you're Dutch.
    Now is better than never.
    Although never is often better than *right* now.
    If the implementation is hard to explain, it's a bad idea.
    If the implementation is easy to explain, it may be a good idea.
    Namespaces are one honking great idea -- let's do more of those!

  12. Re:I love Python, but... by tomservo291 · · Score: 3, Informative

    Python is self documenting. You should be documenting it as you go along. Everything in python is an object, and every object has a doc string, therefore EVERYTHING in python has documentation built into it. Variables, functions, classes, anything and everything.

  13. Re:This doesn't mean they want to "control" Python by Anonymous Coward · · Score: 1, Informative

    Danny Thorpe was also recently hired (Borland Chief Scientist, Delpi/Kylix compiler architect).

  14. Re:An assumption by gstein · · Score: 3, Informative

    Oh, quite true. At Google, we use Python, Java, and C++ for all of our work. Python is critical to our development and infrastructure.

    I gave a keynote at PyCon last year about the importance of Python at Google. Some people transcribed the talk. You should be able to find it via Google. (heh!)

  15. Easter Egg by Poromenos1 · · Score: 4, Informative

    In the interpreter, do:

    >>> import this

    --
    Send email from the afterlife! Write your e-will at Dead Man's Switch.
  16. Re:An assumption by gstein · · Score: 5, Informative

    Ha! Guido would quit in a heartbeat if you tried to make him manage people. That just isn't where he's at. He's absolutely brilliant and loves to write excellent code. Great. We're gonna let him do just that :-)

    In any case: yeah, we hired him because we want him to work on Python itself. And as John says later in this thread -- about half his time.

  17. Re:His name is Guido? by julesh · · Score: 3, Informative

    Python has moderately fast bytecode (google stuff could improve a lot here) and it's got a decent oop model and a threading api.

    Python's biggest problem from a performance perspective is that the language effectively guarantees operations on several internal objects (e.g. lists, dictionaries, etc) are atomic (from a multithreading point of view). This means that some kind of lock must be held when working with such objects. Because this is how most Python programs spend most of their time, Python usually just has a global lock for all such objects that threads hold whenever they aren't blocked. This means that multithreaded Python apps do not usually benefit from having multiprocessing systems. The obvious alternative (per-object locks acquired when necessary) doesn't seem to help, as it slows single-thread performance significantly.

    I think this flaw means that Python cannot really compete with Java or C# on big server systems. And I don't see how to fix it, either, without breaking the beauty of the language.

  18. try pydoc by Ka-Ping Yee by goon · · Score: 2, Informative


      `... 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. ...`
     

    I make this same mistake everytime I program in python. If you dont read the docs [1] & other peoples code you can write functional code, but with a third to a half bloat penalty. That is of course unless you read lots of example code or the docs...

    So check again. Because PyDoc [2] is a tool that displays the documentation, from the source. It is pretty much on par with Java and .Net.

    Reference
    [1] google on `PyDoc the module`, `look for Ka-Ping Yee and PyDoc`:
    http://www.google.com/search?q=pydoc
    [Accessed Friday, 23 December 2005]

    [2] PyDoc, `The python documentation module by Ka-Ping Yee and PyDoc`:
    http://del.icio.us/goon/pydoc
    [Accessed Friday, 23 December 2005]

    --
    peterrenshaw ~ Another Scrappy Startup
  19. Re:I love Python, but... by Anonymous Coward · · Score: 1, Informative

    wxPython is terrible!!! it has loads of widgets which is great, but its like programming c++ in python. it is not pythonic at all! its a terrible wrap. if it was better wrapped and more pythonic it was def be the best GUI framework for python, but as it stand i say it is really terrible.