Python Creator Guido van Rossum Leaves Google For Dropbox
New submitter mrvan writes "Guido van Rossum, the proclaimed Python Benevolent Dictator For Life, has left Google to work for Dropbox. In their announcement, Dropbox says they relied heavily on Python from the beginning, citing a mix of simplicity, flexibility, and elegance, and are excited to have GvR on the team. While this is, without a doubt, good news for Dropbox, the big question is what this will mean for Python (and for Google)."
I've also noticed this huge change in companies. It seems like Google is too old and used now.
What's more elegant and nicer in Python than PHP?
Python isn't a fractal of bad design.
I'm a big python fan. It encourages elegant and readable code and has a good library and community. The lack of static typing hurts a bit in now having good static checking ("compiler errors") and IDE autocomplete, but it also means that you can scrap tehe 90% of code that java forces you to write to declare and then work around interfaces and abstraction layers :-)
I haven't written PHP the last 10 years, so I can't really compare to state of the art, but I felt that PHP encourages sloppy programming and lack of separation of concerns by sticking a lot of business logic in the presentation layer. But that be more about the language being used by a lot of people without formal programming training than about the language itself.
What do you mean? Skydrive has a 2GB limit on filesize (just found this out the other day, when trying to store a 3 GB encrypted backup there). On Dropbox the only limit is your available storage. (I have 10 GB:) ) Skydrive has no differential sync. Change 1 byte in a 2GB file, it uploads the whole thing again. Dropbox breaks down the files in (I think) 4 MB pieces, uploads only what changed. I'm in no way affiliated with Dropbox, I just think it's more flexible. It's true that Skydrive offers more free storage space though.
.sig: No such file or directory
And what did he use to do at Google? Did he work on Python only in his spare time or did Google pay him to hack on it?
Why? Maybe he just wanted a change, and wasn't especially concerned about the pay - people do that you know. Sometimes job satisfaction is what does it. Sometimes a fresh set of challenges. Money is severely over-rated as a driver.
The fact that the language is predictable and not error-prone out the ass, for one.
PHP is exceptions wrapped in a language.
I moved away from that crap the instant I found out how buggy that crapware is.
A language developed by people who didn't even understand the difference between == and === has lost all hope of being taken seriously.
And the fact that they even ARGUED against it is even more annoying.
I know it gets linked ALL THE TIME in anything relating to languages, but it really needs to be read by every single person ever.
PHP seriously needs to die already. It CANNOT be fixed.
To use the tools in a box example, PHP is like hammering a nail with a sandwich. It is literally pointless and fruitless to even bother, because all you will end up with is pain, anger and annoyance in the end, and maybe literal bleeding hands after you smash either your keyboard, wall or monitor in frustration at how a language can somehow be worse than Visual Basic.
PHP - a fractal of bad design
Quite right. And don't forget about LAN sync. Dropbox clearly is technically more advanced than Skydrive. The only handicap I see with Dropbox is the lack of some sort of permission system when you share folders. Or at least a read-only setting.
I've always loved PHP - it gives flexibity and I just love coding using it. But I know many people love Python too. What's more elegant and nicer in Python than PHP?
I've always like skydrive a lot more than dropbox due to it's more lax restrictions. Nothing to do with the programming language whatsoever.
I too prefer to skydive rather than program in PHP. Personal preference, I suppose...
If you want news from today, you have to come back tomorrow.
Best I'm aware, Python was important for Google long before Guido got hired by Google. He was the cherry on the pie, if anything.
As such, it means absolutely nothing for Google, bar that they lost someone who they may have wanted to keep in-house.
and break every script they have
I've professionally programmed in both Python and PHP. There's no reasonable competition - Python wins hands down.
A few of the advantages of Python over PHP:
filtered = [x for x in unfiltered where x.foo=="bar"]
In PHP the same thing looks like:
$filtered = array_filter($unfiltered, function($x) { return $x->foo == "bar"; });
I am officially gone from
Is that with or without a parachute? Because falling out of an airplane to a grizzy death doesn't sound so bad after you've been programming PHP all day.
There's no -1 for "I don't get it."
I work for Google.
Let me just say that you're full of shit.
First of all, python is just as much in use now as before. Secondly, it will continue to be so.
Secondly - fired? Nope.
Is that with or without a parachute? Because falling out of an airplane to a grizzy death doesn't sound so bad after you've been programming PHP all day.
You think PHP is bad? Why in my day we used COM with VB and C++, uphill both ways.
But just try telling that to kids these days. They'll never believe you.
XML is a known as a key material required to create SMD: Software of Mass Destruction
In my case, was that Google are moving away from Python. Also see the last answer here:-
http://stackoverflow.com/questions/2560310/heavy-usage-of-python-at-google
Perhaps there are some anonymous Googlers out there that are brave enough to comment?
Dude, I disagree with this statement. Why? Because the choice of where to place business logic lies entirely on the coder. It isn't an attribute you'll find tied to a system just because it employs a particular a language, in this case PHP as you say. The same can be said about Microsoft's Visual Basic as used on its JET DB engine found in MS Access.
There could be more to this story, given the interest from the Linux community.
There is an on-going discussion, or rather expression of frustration with Google, going on in the Google groups regarding Google Drive and the lack of support for Linux See here: https://productforums.google.com/forum/#!topic/drive/j_SmC6bMsEo/discussion%5B276-300%5D
Could that be the reason behind the departure?
Or more interesting projects, or a change of scenery, or a different culture, or etc? No one but Guido and probably the people close to him can know exactly why he went to Dropbox from Google. People changes jobs all the time for a variety of reasons. I don't think we can assume it is just because of perks.
$filtered = array_filter($unfiltered, function($x) { return $x->foo == "bar"; });
Which looks a little like how Python would look without list comprehensions:
The worse part is that lambdas, such as your function($x) { return $x->foo == "bar"; }, are a fairly recent addition to PHP (5.3 series IIRC). This wouldn't be so bad, seeing as PHP 5.3 is three years old, except that shared web hosts have tended not to make it easy to run multiple PHP versions side by side for different applications or even to migrate a whole site to a newer version of PHP.
So... file sharing companies like dropbox are getting litigated out of business and shut down by the feds left and right... and yes, I see pirated shit on dropbox accounts all the time... but Google is poised to be one of the most powerful companies and history... that just seems foolish. Of course, he might know something we don't...
SkyDrive, like SharePoint is just another attempt at Microsoft lock-in. Personally I prefer it when people create suites of products that I *want* to use, not that I *have* to use. The Apple ecosystem is the same.
Actually, I'd take shoveling out a barn at 500/hr. It would get me exercise and a chance to be alone with my thoughts, which would let me do fun things like programming with python for things I want to program, instead of what someone else wants programmed.
I realize it's only speculation, but that's all we get with Google products. One minute it's a product, the next it's EOL. Or perhaps App Engine stays but the Python support gets phased out in favor of Java. Google products do sometimes lose features over time - the thread on why Google Docs took away table cell merging is a funny read if you get software freedom.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
One word for all you whiny kids today: MFC.
Jesus H. I'd rather pull out my teeth. With pliers.
Money isn't everything to everyone. If you were being paid $500.00 per hour to shovel out a barn, wouldn't you take a job that offered something more fun like programing with python even if it paid $490.00 per hour?
Depends on the job. Which one do I take to wade through the least amount of bullshit?
I'm burnt out enough that I might try the barn for a year just for the variety.
For the language, not much, as no matter where Guido ends up python is still his baby. And even if he got hit by a bus or something the language will continue on without him.
What does it mean to Guido? Well only he can answer that but i would imagine he was ready for a change in scenery. I dont think he is in it for the money anymore and doesn't have to work unless he wants to.
What does it mean to Google, not much there either, they used it before he got there, and im sure will use it after hes gone.
---- Booth was a patriot ----
Python use within Google has been on the decline for years now. It's not exactly a secret that they discourage using it for new projects.
Guido wasn't 'here's a box for you crap, you have five minutes before security escorts you out the door" fired. It was closer to 'we don't see a role for you here, quit now and save us both the hassle of having to let you go' type fired.
He has really accomplished nothing since he was hired. And needless to say with Google actively replacing Python in the company with Go, he was acting like a petulant ass.
Google is a strange place to work. It's entirely possible that, by the performance metrics they typically use, it was a mutual parting of the ways; I don't know, and unless you are on the performance review committee for his engineering subgroup, neither do you (and if you are, you should be keeping your mouth shut, instead of posting here, even as an AC). But assuming your theory is correct, don't mistake an organizational inability to effectively utilize his talents with him not having them.
That said, your second paragraph is basically BS. Go never really caught on because it did not have a cross-platform library; the reason was that it insisted on directly trapping its system calls itself, which is great, if you aren't an engineer with a MacBook Pro trying to do work at home, and want the same system call semantics for e.g. "kill" or "sigaction". Hint: at the top of Libc on Mac OS, kill takes 2 parameters; at the user/kernel boundary, it takes 3 so the kernel knows whether it should use traditional Mac OS signal semantics, or use POSIX 1003.1-2001 semantics (same as Linux). Until they drop Mac OS X for Linux (probably still running on Apple hardware), or the Go folks fix their language binding to use LibSystem (Libc) instead of trapping their own system calls, I don't see that changing in favor of Go adoption any time soon.
While Go is an "official language", along with C/C++ there are two others, one of which is Python, and not a lot of work was actually being done in Go. My last major project at Google was exclusively Python, and all of the testing infrastructure for Chrome OS is written in Python. One of the first classes you are offered as part of new employee orientation, apart from "How to use Perforce" is "Python Programming".
Personally, I could see him leaving as being part of the generally publicly announced Larry Page effort to focus Google on working on fewer total projects, and on hiring for specific roles, instead of just hiring everyone who met the right level of smart, and figuring something for them to do afterwards. But frankly, I do not see increased focus fixing what Larry's attempting to fix with it. I suspect this is more likely than your theory.
Either way, I expect his contributions at Dropbox will be valuable to them, and wish him luck there.
You know, I've gotten used to anti-language screeds being the frustration of the ignorant and lazy compounded with childish exaggerations and intemperance even I boggle at.
But .... wow. Just wow. NULL < -1 && NULL == 0? "0133" == "133" because of implicit string-to-numeric conversions, but 0133 != 133? And the ? : implementation just leaves those examples in the dust.
As always, all IMO. Insert "I think" everywhere grammatically possible.
Google's search engine was originally in Python, but the company has since moved on to use Java on the front end, C++ on the back end, and Python has been relegated to glue code.
On the other hand, Dropbox has been using Python for its entire stack. I believe they made a few performance related contributions to CPython as well.
Guido is a great engineer (besides being a language designer), and still writes a lot of code. He probably would get more satisfaction working at a growing company where Python is a first class citizen rather than at Google.
That's funny, because I just interviewed with Google last week for an SRE role, and they specifically wanted someone with hardcore Python and Java development experience, at the filesystem and kernel level. They're moving -everything- into those two language engines.
ARRGGH!!! &$ )!$!@$ !@ !!&*(!#@!!!!!!!!!
I had forgotten all about MFC, until you had to go bring it up again. I'm sure my lack of memory was due to some form of self-defense by my subconscious.
Some things are best left behind, that humanity can move on to enlightenment without having to admit our barbaric past.
DAMN YOU! What is wrong with you man? Do you play Justin Bieber recordings in public too?
Also: What's a "PHP" or a "VB"?
A security exploit.
"Little does he know, but there is no 'I' in 'Idiot'!"
True. SRE doesn't tend to write the consumer facing services. We tend to write the stuff that keeps stuff running.
And as you bloody well know, it's mostly written in Python and various DSL's.
Signed,
Someone who actually works in SRE at Google.
ARRGGH!!! &$ )!$!@$ !@ !!&*(!#@!!!!!!!!!
Now while writing an entire sharepoint replacement in one line of perl is impressive, it doesn't really constitute a specific argument against MFC.
No, it uses white space for block structure only, and honestly, don't knock it until you've tried it. Most people working with C-derived languages use some form of block indentation, and large shops usually have coding standards that insist you stick to it rigorously. This means most people already have the tooling in place to enforce indentation, so it's not like it'd be any extra effort to do it for Python. I'm in no way suggesting you'd find it to be a revelatory experience, but I think you would find that when it comes to writing code, it doesn't make things any harder, it in fact makes things slightly easier. But the difference is so small that it's practically irrelevant. I used to think the same way as you, that it was the dumbest idea I'd ever heard of. Then I tried it and realised I couldn't care less :D
Rgasuya aata! : I have been coding Perl and cannot tell where my fingers are now!
Most people working with C-derived languages use some form of block indentation, and large shops usually have coding standards that insist you stick to it rigorously. This means most people already have the tooling in place to enforce indentation
Anyway, my point is that code in languages that use braces for blocks can be sent through lossy channels that collapse whitespace and then reconstructed using an automated tool that applies these coding standards you mention.
2. Calling a language construct, that captures... nothing, a *closure* is an insult to computer science.
def f(a):
return lambda x: x+a
g = f(10)
print g(4)
>>> 14
That captured something. Maybe not what you want, but it did capture something.
CPython is the reference implementation. It's as much about being clear about how things work as it is about performance. You can literally drop down into standard library and interpreter code with zero understanding of it, and figure out what's going on right away.
If you want perf, there's always PyPy, Jython etc.