Slashdot Mirror


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

261 comments

  1. Re:Python VS PHP by Synerg1y · · Score: 1

    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.

  2. What does it mean for Google? by Anonymous Coward · · Score: 1

    It means they need to pay more or offer better perks to keep their employees.

    1. Re:What does it mean for Google? by BirdParrot · · Score: 2

      I've also noticed this huge change in companies. It seems like Google is too old and used now.

    2. Re:What does it mean for Google? by Threni · · Score: 1

      It means...nothing. Sometimes people get to the end of a project (Dropbox is done - you can store files in it and everything) and decide to do something different of their choice, not something different of their employer's choice. Confusing, huh?

    3. Re:What does it mean for Google? by Anonymous Coward · · Score: 0

      He's moving to Dropbox not away from Dropbox, dumb shit.

    4. Re:What does it mean for Google? by Anonymous Coward · · Score: 0

      Confusing, huh?

      Apparently.

    5. Re:What does it mean for Google? by qbel · · Score: 2

      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.

    6. Re:What does it mean for Google? by Anonymous Coward · · Score: 0

      Wrong. Founders of highly successful languages and operating systems tend to be very maternal about their inventions and will spend decades doing what it takes to keep it popular and relevant. They're not Edisons or Teslas by nature.

    7. Re:What does it mean for Google? by Threni · · Score: 1

      As some retards have pointed out, I typed `Dropbox` instead of `Drive`. (Anyone with a reading age greater than 11 probably figured this out already though...)

    8. Re:What does it mean for Google? by Anonymous Coward · · Score: 0

      I'm only 10, you incentive clod!

  3. Pay Decrease? by kc67 · · Score: 1

    Can Dropbox really pay more than Google can for Guido?

    1. Re:Pay Decrease? by Reverand+Dave · · Score: 1

      Maybe he's reached the end of his usefulness at Google and they just didn't care if he left. I'm not trying to imply anything, I'm just stating one possible scenario.

      --
      I got here through a series of tubes
    2. Re:Pay Decrease? by Anonymous Coward · · Score: 1

      No,

      But dropbox is willing to pay more than Google. What Google can afford to do and what they are willing to pay are two different things.

    3. Re:Pay Decrease? by grumpy_old_grandpa · · Score: 1

      Can they pay more? Probably not. But for Guido it must feel better to work with people who actually appreciates his contribution. AFAIK, with a few exceptions, Google was never big on Python.

    4. Re:Pay Decrease? by BirdParrot · · Score: 0

      Google has almost 40'000 employees now. You underestimate them. Their PR is good tho.

    5. Re:Pay Decrease? by Bill,+Shooter+of+Bul · · Score: 1

      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?

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    6. Re:Pay Decrease? by maccodemonkey · · Score: 1

      Google has almost 40'000 employees now. You underestimate them. Their PR is good tho.

      What does their employee count (or PR) have to do with their commitment to Python or appreciation for employees?

      A company's employee count or PR firm isn't connected to how good of an employer they are. Otherwise everyone at McDonalds or Walmart would be loving their jobs.

    7. Re:Pay Decrease? by kc67 · · Score: 1

      Well of course, but my point is that Google is significantly larger than Dropbox in terms of employees and income. I was just curious how much of a cut he would have endured.

    8. Re:Pay Decrease? by Anonymous Coward · · Score: 0

      Yeah, at a place like Google (or Facebook, etc) you'd think that scripting languages would be a flavor of the week type deal. Maybe Go or something else is picking up traction, and GvR sees the writing on the wall. The money would be a secondary consideration.

    9. Re:Pay Decrease? by Bill,+Shooter+of+Bul · · Score: 1

      No one can really answer that except for Guido and/or dropbox. I think my favorite job I've ever had paid the least. If I was comfortable enough finacially, I'd go back to it.

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    10. Re:Pay Decrease? by Anonymous Coward · · Score: 0

      Or maybe he wanted to leave a giant public company to go work for a small private company, that might have an IPO in their future.

    11. Re:Pay Decrease? by rk · · Score: 5, Insightful

      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.

    12. Re:Pay Decrease? by mandolin · · Score: 2

      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.

    13. Re:Pay Decrease? by Anonymous Coward · · Score: 3, Interesting

      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.

    14. Re:Pay Decrease? by Anonymous Coward · · Score: 0

      Maybe he just wanted to do something different. It happens. I've had coworkers who quit and go to work for other companies for no other reason than they were working there a long time and wanted to try something new.

    15. Re:Pay Decrease? by Anonymous Coward · · Score: 0

      I don't know about that. Python has pretty much been Google's official go-to scripting language. I remember wishing they'd change Sketchup to use Python scripting instead of the abomination that is Ruby, but it never happened before they eventually sold it to someone else.

    16. Re:Pay Decrease? by Anonymous Coward · · Score: 0

      It depends. Shovelling shit out from a barn for one hour is less annoying than having to fix shit programs for one hour (that said python programs tend to be less shitty than say PHP or VB.Net programs). So it depends on many other factors.

      I wouldn't mind doing one hour of shovelling per day, a few days per week. Shovelling isn't that bad plus the barn shovelling jobs are less likely to be outsourced to India ;).

      I can do the programming for fun in the rest of the hours. Might even do some of the programming thinking while shovelling. Plus I get some exercise.

    17. Re:Pay Decrease? by TheLink · · Score: 1

      Yeah, fixing some programs is like shovelling out shit from a huge barn that's built with shit. You have to be figure out carefully which shit to remove first and how to remove it, or you end up in deep shit.

      You could rebuild it, but the huge shit barn "sort of works", whereas your new barn won't work till it's mostly complete.

      I'd be happy to shovel shit from a barn for USD500/hour if I only had to do a very few hours a week ;).

      --
    18. Re:Pay Decrease? by hacker · · Score: 3, Interesting

      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.

    19. Re:Pay Decrease? by Anonymous Coward · · Score: 0

      Probably more about usefulness than anything else. And working for a more ethical company, probably.

      Google--vacuum up the world's information and make it unversally public and profilable--tends to bloat their sites with Javascript and, with the exception of server-side code, doesn't appear to use any Python code in their client-side code, minus their help sites. Do a View Source on any non-https Google site and see for yourself, only the help pages seem to call a .py file.

      Google--don't be evil except for varying changes of the concept of evil--appears to hardly have any major usage of Python on the client side of things, mostly Java and Javascript, it would seem.

      Google--App engine is only relevant if one has an Android phone, doesn't work for Windows Phone nor iPhone.

    20. Re:Pay Decrease? by Anonymous Coward · · Score: 0

      BS. There is not a single major consumer-facing service written in Python, and all the most performance critical systems still use C++.

      Signed, someone who actually works at Google.

    21. Re:Pay Decrease? by Anonymous Coward · · Score: 0

      That's funny, because I spend 40 hours a week there... They probably told you that because the vast majority of new hires have to work on maintaining older projects for a year or two - many of which are written in Java and Python. We are most definitely not actively porting code to Python.

    22. Re:Pay Decrease? by Anonymous Coward · · Score: 0

      Guido is a professional celebrity. Google hires him so that they can say he works there. He just does his own thing, and nobody pays too close attention. He gets bored, and moves on. He doesn't need money especially, and Google doesn't really care enough to shell it out for him anyway.

    23. Re:Pay Decrease? by Anonymous Coward · · Score: 0

      And no one expects you to shovel crap for more than 8 hours a day without paying you extra, and if there is a constant need for extra work, they're going to hire more shovelers instead of pressuring the current guys to do it for free.

    24. Re:Pay Decrease? by Sudline · · Score: 1

      A giant private company actually.

    25. Re:Pay Decrease? by DarkOx · · Score: 1

      I am not sure shoveling out barns is the best career move if you are looking to avoid bullshit. I don't have tons of experience in agriculture but I suspect quite a lot bullshit is produced in barns. Perhaps not as much as out in grazing fields but a substantial amount.

      --
      Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
    26. Re:Pay Decrease? by Anonymous Coward · · Score: 0

      Okay! Let me get my vacuum cleaner...

    27. Re:Pay Decrease? by Anonymous Coward · · Score: 0

      Please, tell me more about this "kernel level" python and java development experience, sounds interesting.

    28. Re:Pay Decrease? by Anonymous Coward · · Score: 3, Insightful

      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.

    29. Re:Pay Decrease? by balaband · · Score: 1

      500$/hr?!

      Fuck the shovel, I'll use the hands

    30. Re:Pay Decrease? by Paradise+Pete · · Score: 1

      Fucking the shovel costs extra.

    31. Re:Pay Decrease? by Anonymous Coward · · Score: 0

      They're moving kernel and filesystem stuff over to Python and Java? I'm sure I didn't understand that correctly. Please explain :)

    32. Re:Pay Decrease? by allo · · Score: 1

      isn't youtube built in python?

    33. Re:Pay Decrease? by jgrahn · · Score: 1

      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.

      Java? Why?

    34. Re:Pay Decrease? by Anonymous Coward · · Score: 0

      I think google will use more and more golang in new projects

    35. Re:Pay Decrease? by hacker · · Score: 1

      Because a significant portion of Google's backend infrastructure is run on Java.

    36. Re:Pay Decrease? by Anonymous Coward · · Score: 0

      Kernel level development - it's for a project targeted for a product users experience while consuming popcorn kernels.

    37. Re:Pay Decrease? by fyngyrz · · Score: 1

      No, no. He just misheard. It's about chicken. It's a project for Colonel level development...

      --
      I've fallen off your lawn, and I can't get up.
    38. Re:Pay Decrease? by Anonymous Coward · · Score: 0

      That's funny, because I actually work at Google. Python at Google is dead. Mike Burrows killed it. So Guido is leaving. End of story.

    39. Re:Pay Decrease? by HiThere · · Score: 1

      The public version doesn't seem to be improving very rapidly. That said, there are lots of good things about it (though I don't include the documentation).

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
  4. Not a fractal of bad design by tepples · · Score: 5, Informative

    What's more elegant and nicer in Python than PHP?

    Python isn't a fractal of bad design.

    1. Re:Not a fractal of bad design by Kergan · · Score: 1, Insightful

      In defense of PHP, Python and Ruby suck in their own ways too -- plain and simple. Maybe not as much, or in the same ways, but they still suck. Try them, and see for yourself; if you haven't seen why yet, it means you're doing it wrong or sticking to writing trivial code where they remain beautiful and all encompassing and what not.

      In the case of Python, since it's on topic, try recent versions of Python's hex() function for instance. Assume it works like it does for other languages, and use it to shovel through a Core Dump and see how it works out for you -- it's not a pretty sight.

      Just use whatever you're most comfortable with, and get your job done. Deliver, get paid, and get a life.

    2. Re:Not a fractal of bad design by cgt · · Score: 2

      In the case of Python, since it's on topic, try recent versions of Python's hex() function for instance. Assume it works like it does for other languages, [...]

      Why would you assume that?

    3. Re:Not a fractal of bad design by Anonymous Coward · · Score: 0

      I'm sure a Rolls Royce owner would have plenty of nitpicks about the car, but it's not roughly equivalent to a rusty pickup propped up on cinder blocks just because they're both cars and both have issues.

      Python is pretty okay. PHP is actively antagonistic.

    4. Re:Not a fractal of bad design by interval1066 · · Score: 5, Funny

      In defense of PHP, Python and Ruby suck in their own ways too...

      That's like saying "In defense of a knife to the eye, cheesecake and ice cream have their own drawbacks."

      I'm glad some one else will say what I've always said, PHP is a three-headed Satan baby. When the seventh seal was broken and the seventh trumpet sounded, PHP leaped out of the womb and ate its mother, the whore of Babylon.

      --
      Python: 'And then suddenly you have a language which says "we're all stuck with whatever the whiniest coder wants".'
    5. Re:Not a fractal of bad design by radtea · · Score: 2, Insightful

      I'm glad some one else will say what I've always said, PHP is a three-headed Satan baby. When the seventh seal was broken and the seventh trumpet sounded, PHP leaped out of the womb and ate its mother, the whore of Babylon.

      Thanks for that awesome metaphor!

      Every single time that delightfully deep and correct analysis of PHP's shortcomings is mentioned someone who doesn't know anything about language design chimes in with this ridiculous, "Yes but no language is perfect!" line. As if "every well-designed language consists of an intersection of compromises between incompatible ideals" is in any way an answer to, "PHP is fractal of bad design."

      I'm not totally sure why anyone thinks "no language meets some impossible standard I've just made up in my head" is relevant to the obviously true claim that "some languages are better than others, and all languages are MUCH better than PHP."

      --
      Blasphemy is a human right. Blasphemophobia kills.
    6. Re:Not a fractal of bad design by radtea · · Score: 1

      In defense of PHP...

      Your "defense" of PHP is that you know nothing about language design, so you can't see what the problem is?

      --
      Blasphemy is a human right. Blasphemophobia kills.
    7. Re:Not a fractal of bad design by Anonymous Coward · · Score: 0

      About half of the things in that article don't actually apply to PHP and the other half falls down to misunderstanding PHP. That article actually makes PHP haters look dumb. There's plenty of complaints to be had with PHP but using that article is a bad way to convince anyone.

    8. Re:Not a fractal of bad design by DigitalisAkujin · · Score: 2, Informative

      Every point in that write up has been rebutted. Linking to that over and over doesn't make any of it true.
      http://forums.devshed.com/php-development-5/php-is-a-fractal-of-bad-design-hardly-929746.html
      http://blog.ircmaxell.com/2012/04/php-sucks-but-i-like-it.html

    9. Re:Not a fractal of bad design by Anonymous Coward · · Score: 0

      whats your point there are hackjobs everywhere.

      They become hackjobs on their own, whereas PHP turns decent programmers into hackjobs since there's no other way of actually getting things done.

    10. Re:Not a fractal of bad design by Anonymous Coward · · Score: 1

      Seriously? One of those doesn't address any of the issues, the other sounds like a battered wife: "... he only hits me because he loves me!!!"

      In conclusion: choke on a bag of dicks you faggot.

    11. Re:Not a fractal of bad design by Anonymous Coward · · Score: 1

      A hackjob is someone who thinks a pair of smooth jaw pliers is an appropriate tool for turning bolts. You don't become a hackjob because your boss gives you a pair of smooth jaw pliers and tells you you have to turn bolts with them. you become a hackjob because you take a pair of smooth jaw pliers and try to turn bolts with them of your own free will. The author exposed themselves as a hackjob, they're shown the tools in php and try to use them like a completely different set of tools. Used appropriately PHP doesn't turn programmers into hackjobs.

    12. Re:Not a fractal of bad design by Anonymous Coward · · Score: 0

      A forum post claiming that a Python exception will "potentially destroy the memory space of other programs" is the best rebuttal you've got?

    13. Re:Not a fractal of bad design by Anonymous Coward · · Score: 1

      Author here. I think you're deliberately twisting the anecdote. This is meant to be a standard general-use toolbox, but it contains a screwdriver for an obscure type of screw (and no flathead or philips), a *double*-clawed nail puller (but no hammer), flat-nose pliers with no grip, etc. I'm sure any absurd carpentry tool I could dream up would have a very specific use somewhere to someone—but they are not general-purpose tools and they are not the first set of tools I would turn to.

      Yet adherents to this toolbox defend the existence of these tools because they all have some hypothetical use, despite that most applications just don't need any of these tools, and the robust general-purpose tools I want are missing.

      Which is exactly what you're doing here.

    14. Re:Not a fractal of bad design by Anonymous Coward · · Score: 0

      Yet PHP isn't supposed to be a general purpose toolbox, it's a web template language, to go into a watch repairman's toolkit and expect a claw hammer is ludicrous and just shows the author of the article is the real hackjob.

    15. Re:Not a fractal of bad design by Anonymous Coward · · Score: 0

      In the case of Python, since it's on topic, try recent versions of Python's hex() function for instance. Assume it works like

      If you don't know what a function does don't use it. It's no fault of the language if some of its users are retarded.

      By the way, hex works the same way "%x" does, which is coherent.

    16. Re:Not a fractal of bad design by k8to · · Score: 1

      Way to go proving the author's point. The article is nuanced and clear. Your screed is content free and laughable.

      --
      -josh
    17. Re:Not a fractal of bad design by Anonymous Coward · · Score: 0

      When you say a "bag", how big a bag are you talking? Also, when you say bag, is that an analogy? Or do you actually like cut off men's dicks and stick them in a bag. That's just cruel and I'll have no part of it. However, if they are still attached to the men, and if the men are happy about the whole affair, and if they are cute/handsome enough, and not smelly, and if they have nice personalities and so on, then I maybe willing to "choke on a bag of dicks". Though if you are one of the men, I'll happily cut your cock off and then just feed it to my pet dog. 'Cause seriously you're a shithead and a scum fucker. Die in a fire.

    18. Re:Not a fractal of bad design by Anonymous Coward · · Score: 0

      Apparently all programmers have forgotten the meaning of subjective.

    19. Re:Not a fractal of bad design by Brian+Feldman · · Score: 1

      I've been using Ruby for a decade and yet to find much suck. I love working with the language. Where should I be looking, pray tell?

      --
      Brian Fundakowski Feldman
    20. Re:Not a fractal of bad design by interval1066 · · Score: 1

      C++ is like tinkering with a loaded gun; the possibility of shooting yourself in the head is ever present, yet if you are a skilled marksman, you can actually hit a bulls' eye every time and if you are consistently safety conscious you will never shoot yourself in the head. PHP is like trying to hit a bulls' eye with a water hose. Sure, you can so it, but you are going to get water everywhere, no question, no matter how skilled you are.

      I remember when I first took up PHP after probably 15 years of object oriented programming with C++ and Java, necessary for a project my employer at the time was putting together. I remember using a method, or whatever functions are called in PHP, call it "doSomething()", and hoping the antithesis of that function was "undoSomething()". but the corollary method was "dontDo_something()", and I remember thinking right then "who the fuck creates a language like this."

      Right or wrong my feelings regarding PHP have been skewed ever since, and as I've had to use it for other employers and contracts I keep uncovering more and more about the language I find distasteful. PHP 5 with its so-called object oriented architecture is an idiot retard baby in OOP clothing. Clothing that drapes loosely about the loins and doesn't really pass off as OOP at even a casual glance. The very notion that it can be truly OOP is ridiculous when you realize its a one-pass request-response scripting language at its core as it works with http as its backbone, its a glom on to the http protocol.

      You want a little utility to do some simple tasks, even some simple db processing and some session control, sure, PHP can be used in a pinch. Except by me. Never use it unless I am told to.

      --
      Python: 'And then suddenly you have a language which says "we're all stuck with whatever the whiniest coder wants".'
    21. Re:Not a fractal of bad design by Kergan · · Score: 1

      Ruby is fine for shell scripting in my experience. Or for simple programs. As long as you don't need to do anything that might interact with a not-so-well written third party's ruby code (of which there are plenty), you're fine. The minute you do, you're not.

      When you do, the mutable nature of its data structures can turn an otherwise elegant language into a hugely verbose minefield. You also quickly find that threading support is a joke. That fibers are an absolute mess. That UTF support is arguably better than in other languages (PHP chief among them), but still lags far behind languages that eat UTF for breakfast. That is has hugely inconsistent quirks (and occasional side effects) that you get when using procs and lambdas interchangeably -- many of which are out there in the ruby bug tracker, but not fixed yet because deemed rare, low priority bugs. And it's dreadfully slow -- even with JRuby or Rubinius.

      If you're not seeing where I'm coming from, give your ruby code a cold hard look. Ask yourself how safe it plays with whatever is tossed at it. If your answer is something like "Not safe, but don't send me your internal state FFS!" (which is very likely), then welcome to the club -- thousands upon thousands of Ruby coders, and I am no exception, follow this exact same policy. In fact, nearly all of them. Including the developers of widely used gems such as Rake, Rack, Bundler, Thor, and of course Rails. (The only noteworthy exception I've noted is the guy who develops Sequel -- but then, I've never audited his code in its entirety, let alone recently.) Which, evidently, is fine. Until it bites your ass. Hard.

    22. Re:Not a fractal of bad design by Kergan · · Score: 1

      Except that, I didn't claimed PHP is a good language. I happen to know all three, and in some idealized world, I wouldn't be bothered to write a line of PHP except at gun point. Regardless, at the end of the day, it doesn't matter much. Write your code, deliver, get paid.

      There's little point in trolling about which language is best or most beautiful. In real life, the best language for the job is a language you know well, or the one that your customer is already using and expects you to use; not some ideal language specifically designed to deal with whatever you're doing then and there.

    23. Re:Not a fractal of bad design by Anonymous Coward · · Score: 0

      I've been using Ruby for a decade and yet to find much suck. I love working with the language. Where should I be looking, pray tell?

      You should be comparing Ruby with other languages. It's often impossible to see shortcomings of what you're used to until you see it done better. For example, I use Python every day and find most of its design to be good. However, there are warts, such as implicit variable declaration and crippled lambdas, that became extremely clear to me when I encountered Scheme.

    24. Re:Not a fractal of bad design by Anonymous Coward · · Score: 0

      In defense of PHP, Python and Ruby suck in their own ways too -- plain and simple.

      Yes, but PHP sucks at being a programming language.

      Is this Troll, Informative, or Funny?

    25. Re:Not a fractal of bad design by Anonymous Coward · · Score: 0

      Linking to that over and over doesn't make any of it true.

      No, the fact that it's an accurate description of reality makes it true.

      http://forums.devshed.com/php-development-5/php-is-a-fractal-of-bad-design-hardly-929746.html
      http://blog.ircmaxell.com/2012/04/php-sucks-but-i-like-it.html

      LMAO, die in a fucking fire, dumbshit.

  5. Re:Python VS PHP by mrvan · · Score: 3, Insightful

    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.

  6. Re:Python VS PHP by Atti+K. · · Score: 4, Informative

    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
  7. What will he be doing at DropBox? by afgam28 · · Score: 3, Interesting

    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?

    1. Re:What will he be doing at DropBox? by Anonymous Coward · · Score: 5, Informative

      AFAIK he was working on the Python part of Google App Engine, in particular the NDB API.

      He has also developed Mondrian, a code review tool that was partially open sourced as Rietveld.

      (Not a Google employee, so just going by public knowledge here)

  8. Big Question? by folderol · · Score: 5, Insightful

    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.

    1. Re:Big Question? by Riddler+Sensei · · Score: 5, Insightful

      Money is severely over-rated as a driver.

      Only when you already have it. Which, to be fair, he likely does.

    2. Re:Big Question? by Anonymous Coward · · Score: 2, Funny

      As is my wife.

    3. Re:Big Question? by Anonymous Coward · · Score: 1

      Or perhaps Dropbox is going to IPO soon and he'll get a lot bigger payout then he ever could at Google.

    4. Re:Big Question? by sco08y · · Score: 1

      Money is severely over-rated as a driver.

      As is my wife.

      Just drive with your other hand, then.

    5. Re:Big Question? by Swampash · · Score: 3, Insightful

      He's a hacker. Maybe he wants to work for a technology company instead of an advertising company.

    6. Re:Big Question? by Anonymous Coward · · Score: 0

      Ah, Guido. We loved you till Python three
      When you abandoned compatibility
      When you broke up our functions
      it made us rambunctious
      And of 2, we remained, licensee.

  9. Re:Python VS PHP by Anonymous Coward · · Score: 2, Interesting

    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

  10. Re:Python VS PHP by pmsr · · Score: 4, Informative

    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.

  11. Re:Python VS PHP by Frosty+Piss · · Score: 4, Funny

    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.
  12. should not matter by Anonymous Coward · · Score: 0

    GvR is not a dictator. This move should not matter to someone who wants to leave their creation run free.

    1. Re:should not matter by Anonymous Coward · · Score: 0

      GvR is not a dictator. This move should not matter to someone who wants to leave their creation run free.

      Which part of Benevolent Dictator For Life do you not understand?

      http://www.artima.com/weblogs/viewpost.jsp?thread=235725

    2. Re:should not matter by Anonymous Coward · · Score: 0

      Which part of "calling someone something doesn't necessarily mean they actualy are that thing" don't you understand?

  13. Re:Python VS PHP by Synerg1y · · Score: 1

    Well... I'm comfortable with creating archive parts, so I don't really pay attention to file size limits. Maybe lax restrictions wasn't the best description, but usability and integration with windows is great. It's the first desktop "drive" folder that I've used that works and I've been trying with them ever since google came out and somebody wrote a parts app to upload files to the 2gb they gave you back then. I also like the interface a lot more (yaya windows tiles), dropbox looks very business oriented and I could use a little less of that. Another perk is that it's my windows live account, which is one less account for me to remember. P.S. It's not supported on Linux to the best of my knowledge, limiting options, google drive is going to be an interesting one to see.

  14. Please, Take Python Out And Shoot It in the Head by curmudgeon99 · · Score: 0, Troll

    Please, God, cannot somebody please take that stupid abomination of a language Python out in back and shoot it in the head until dead. I have never used a less friendly piece of Monkey Pus than the "language" Python.

  15. FUD, and more FUD by Kergan · · Score: 4, Insightful

    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.

    1. Re:FUD, and more FUD by Anonymous Coward · · Score: 0

      I don't buy it. Assuming it is true that dropbox benefits from having the python creator on the team, I imagine google enjoyed the same benefits.

    2. Re:FUD, and more FUD by Anonymous Coward · · Score: 0

      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.

      What happens when you meet an elephant (Google), and you are a mouse? Well, you realize that the bigger the organization, the bigger the asshole at the top. The big organization lacks giving recognition to or complementing the developer within the elephant, for a job well done. Change is not always for money.

  16. it means they all get to upgrade to python 3.xxx by Anonymous Coward · · Score: 2, Funny

    and break every script they have

  17. Guido is overrated by Anonymous Coward · · Score: 1, Informative

    When I first saw the original Python's closure, I didn't know whether to laugh or cry. When I learned about the original Python's garbage collector, I just shook my head. I haven't looked at Python since.

    1. Re:Guido is overrated by sacrilicious · · Score: 1

      Well *I'm* convinced... your unsupported gripes say more than real evidence ever could.

      --
      - First they ignore you, then they laugh at you, then ???, then profit.
    2. Re:Guido is overrated by Anonymous Coward · · Score: 0

      Well *I'm* convinced... your unsupported gripes say more than real evidence ever could.

      1. A reference-counting garbage-collection should only be written by high-school students not by a language designer.
      2. Calling a language construct, that captures... nothing, a *closure* is an insult to computer science.

      Your post is very convincing about your computer science knowledge or l.t.o.

    3. Re:Guido is overrated by francium+de+neobie · · Score: 1

      The language works. The libraries work. The programmers like it. And there exist a fairly big set of products and services built from it that are successful as well.

      That, is what matters in the end. By your own logic, languages like C shouldn't have existed at all.

    4. Re:Guido is overrated by stenvar · · Score: 1

      Well, as a long time Python user, I tend to agree: the language implementation isn't all that great, and a big part of that is that Guido simply is not a particularly experienced or skilled programming language guy. But Python has good libraries, decent syntax, and good tools, and that matters more than whether the guy who started it is particularly skilled.

    5. Re:Guido is overrated by Gorobei · · Score: 2

      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.

    6. Re:Guido is overrated by shutdown+-p+now · · Score: 2

      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.

    7. Re:Guido is overrated by Jonner · · Score: 1

      The language works. The libraries work. The programmers like it. And there exist a fairly big set of products and services built from it that are successful as well.

      That, is what matters in the end. By your own logic, languages like C shouldn't have existed at all.

      The language works. The libraries work. The programmers like it. And there exist a fairly big set of products and services built from it that are successful as well.

      That, is what matters in the end. By your own logic, languages like C shouldn't have existed at all.

      While I do use Python every day and like it, the fact that lots of people use it is not a good argument for it being a good language. In particular, PHP and C++ are the best counter-examples I know: they should never have existed but are extremely popular. C is a good language because it does what it was designed to do well, which was to give programmers direct access to hardware in a structured way. It is often misused for things that do not need low level hardware access. C++ was not a good language because it started from C's limitations as a low level, hardware-oriented language and tried to make it into a general purpose application language.

    8. Re:Guido is overrated by sjames · · Score: 1

      And yet it all works.

  18. Re:Please, Take Python Out And Shoot It in the Hea by Frosty+Piss · · Score: 1

    Please, God, cannot somebody please take that stupid abomination of a language Python out in back and shoot it in the head until dead. I have never used a less friendly piece of Monkey Pus than the "language" Python.

    A fan og PHP, are you? It shows!

    --
    If you want news from today, you have to come back tomorrow.
  19. Re:Python VS PHP by dkleinsc · · Score: 5, Informative

    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:

    • * The basic library of Python is coherent and well written. PHP's is anything but.
    • * Python's syntax allows you to do the same thing as PHP with far less code. For instance, to filter an array in Python, you can do stuff like this:

      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"; });

    • * Python is massively easier to unit test: You can patch anything you possibly want, including system calls, it has fantastic mocking libraries and testing harnesses.
    • * Python supports modularity and has since day one. PHP's closest equivalent, namespacing, was tacked on at the last minute and not used properly.
    --
    I am officially gone from /. Long live http://www.soylentnews.com/
  20. Re:Python VS PHP by Anonymous Coward · · Score: 0

    Python has been conceived as a general purpose programming language. PHP is web markup templating language. You can still do other programming in it, but it just doesn't suits well.

  21. Re:Python VS PHP by MrEricSir · · Score: 5, Funny

    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."
  22. Re:Please, Take Python Out And Shoot It in the Hea by Anonymous Coward · · Score: 0

    Be positive. We can let python live.
    But more importantly, what should we use instead?

  23. Re:He Was Fired... by Anonymous Coward · · Score: 4, Insightful

    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.

  24. Re:Python VS PHP by Anonymous Coward · · Score: 1

    > The fact that the language is predictable and not error-prone out the ass, for one.

    That's a matter of understanding, not design flaws. If you would kindly put forth what you think "design" should provide, your assertions might seem credible as they could be compared to implementation.

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

    Opinions don't matter. There's no evidence that any of the criticisms made are poor design choices when you can't quantify what's important. Saying "this is done better a different way" is not an argument. It's more of the same nonsense that has been posted on the web since the 90's where language usage judgements are stacked onto others' opinions and are presented as facts. Grow up.

    > It CANNOT be fixed.

    You're using hyperbole again. Making nonsensical statements is typical of anti-php rhetoric. Most telling is the rest of the post which is more rhetoric as you've got nothing to offer but pointing to a blog post that you think is important because you're too weak minded to understand the implications of your own views so you have latched on to someone else who you think is smarter and more eloquent.

  25. Re:Python VS PHP by zach_the_lizard · · Score: 1

    Dropbox clearly is technically more advanced than Skydrive.

    I think I would agree that Dropbox is more technically advanced; however, I would say that Skydrive (for good or ill) is also more ingrained into the Microsoft technology stack. Office 2013, SharePoint 2013, and (I think) Windows 8 have the ability to use it. In Office I think it is the default now which will probably trip a few people when they go to browse for their file and mistakenly saved it on Skydrive instead of their local box.

    --
    SSC
  26. Re:Python VS PHP by H0p313ss · · Score: 5, Interesting

    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
  27. Gut reaction? by blamelager · · Score: 4, Informative

    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?

    1. Re:Gut reaction? by blamelager · · Score: 1

      Somebody modded me down for that?

      I like python, and use it a fair bit, but the news hardly comes across as an endorsement, does it? To be fair I'm not sure Python is a super-fantastic fit for Google - it may be easy to read, excellent for prototyping, glue, and access to useful (esp. scientific) libraries; but it's not the absolute best language for text processing, web stuff, GUIs or speed.

    2. Re:Gut reaction? by hanwen · · Score: 2

      AFAIK, nobody ousted Guido from the company, and he was just looking for something new.

      At Google, Python is popular for all kinds "operations" scripts, eg. scripts that help start up production jobs, or interact with version control systems. For production systems (ie. user-facing systems), it is not popular, since its performance sucks, and python programs are fragile. More complex programs have tons of dependencies, and other teams change dependencies from under you all the time. With a dynamic language like python it is hard to verify that such changes do not break things.

      --

      Han-Wen Nienhuys -- LilyPond

    3. Re:Gut reaction? by Anonymous Coward · · Score: 0

      With a dynamic language like python it is hard to verify that such changes do not break things.

      That is unless you use TDD

    4. Re:Gut reaction? by stenvar · · Score: 1

      Static typing helps reduce (but nowhere near eliminate) those problems, but at a much higher initial development cost. Furthermore, unlike dynamic languages, where people eventually figure out that they need to write tests, with static typing, teams often just limp along forever. In the end, static typing probably hurts more than it helps.

    5. Re:Gut reaction? by hanwen · · Score: 1

      The problem is that changes happen in the base libraries, and it's up to the maintainers of the base libraries to fix up their clients. This means people from outside the Python project have to fix up your code. For code written in Python, without type annotations and without a compile step, this generates much more overhead for the maintainer.

      --

      Han-Wen Nienhuys -- LilyPond

  28. Go lang by cameronl · · Score: 1

    Are Google's Python projects becoming Go projects?

    1. Re:Go lang by chronokitsune3233 · · Score: 1

      This is exactly what I was wondering. Python is nice, but I'm not sure that Google's Go programming language can't replace it. Python is far more mature, but Go just seems like a better option since it was created by Google in the first place. Additionally, I'll admit that I'm no fanatic of functional programming languages, mainly due to the syntax, but Go's take on it is rather clean in appearance to me, making it relatively easy to pick up and start using it.

      --
      I have been a captive in America my entire life. Everybody and everything uses customary units instead of metric.
    2. Re:Go lang by Anonymous Coward · · Score: 0

      Go is not a functional programming language.

  29. Re:Python VS PHP by bogaboga · · Score: 3, Insightful

    "...PHP encourages sloppy programming and lack of separation of concerns by sticking a lot of business logic in the presentation layer..."

    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.

  30. Google Drive and Linux as a motive? by MidGe · · Score: 2

    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?

  31. Web hosting providers slow to offer new PHP by tepples · · Score: 2

    $filtered = array_filter($unfiltered, function($x) { return $x->foo == "bar"; });

    Which looks a little like how Python would look without list comprehensions:

    filtered = filter((lambda x: x.foo == "bar"), unfiltered)

    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.

    1. Re:Web hosting providers slow to offer new PHP by Qzukk · · Score: 2

      PHP gets widespread hosting support for exactly one reason: mod_php. This is why it's impossible to run two PHPs at once, and why hosters are slow to upgrade.

      Compare the number of companies willing to install an apache module and just forget it (often to their peril) to the number of companies willing to babysit a million RAM-chewing django, rails, and java servlets for all their customers, and that's why.

      Someone should resurrect mod_python. It hasn't moved in over 2 years now.

      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
    2. Re:Web hosting providers slow to offer new PHP by tepples · · Score: 1

      PHP gets widespread hosting support for exactly one reason: mod_php. This is why it's impossible to run two PHPs at once, and why hosters are slow to upgrade.

      For one thing, two Apaches in two virtual machines can run two PHPs. For another, even if you don't run your app servers in virtual machines, you can still mount customer files on a file server and switch the user from the app server that handles 5.2 to the app server that handles 5.4.

      Compare the number of companies willing to install an apache module and just forget it (often to their peril) to the number of companies willing to babysit a million RAM-chewing django, rails, and java servlets for all their customers, and that's why.

      Which is part of why after this discussion I moved my own site from Go Daddy to WebFaction. It has Rails, Django, and other common frameworks as one-click installs alongside a more "typical" configuration with CGI and PHP, if I ever need them.

      Someone should resurrect mod_python.

      Its successor is mod_wsgi, but what advantage does this have over, say, FastCGI?

    3. Re:Web hosting providers slow to offer new PHP by dbIII · · Score: 1

      Apache is properly designed so that you don't need virtual machines. The problem here is people want a fix for something that is not backwards compatible - if PHP had their shit together it could be done with a differently named module for each incompatible version. Of course the major problem here is PHP does not have their shit together and the "slow to upgrade" is presumably so the stuff from the existing customers paying their bills doesn't get broken. If you need to go as far as virtual machines to work around development flaws then it's pretty clear that something is very badly broken.

    4. Re:Web hosting providers slow to offer new PHP by VortexCortex · · Score: 1

      Did you know that Apache will execute compiled C binaries and that you can simply read and write from STDIN & STDOUT to do CGI? Also, same with C++. Also, there's plenty of libs for parsing parameters and JSON and SQL DBI, etc. Bonus, no scripts to "compile" no need for mod_php or mod_perl to speed up scripts by pre-compiling (I did that when I built the program) and the server can run as many bins as I can make. They pretty much all still support this because that's how we used to do CGI back when the web was young and you hipsters with your scripts got involved.

      Hell, many hosts have a C compiler installed. Even if I wasn't using a compiled language I wouldn't use a host that didn't have git installed. The cross compiler build environment does a "git push" to update production... Unforseen bug? Just checkout the previous commit.

      Do the same on my mobile & tablets too -- Just run full-on Linux. Use compiled "apps" to get's tons more battery life than when it had Android on it.

    5. Re:Web hosting providers slow to offer new PHP by fatalGlory · · Score: 1

      If you do need a host that will babysit those processes for you, I strongly recommend WebFaction. They have the best support, best documentation and easiest management console for deploying multiple sites that I've ever had from any host, hands-down. They give you guaranteed memory, shell access, the ability to compile your own code on the server and a low number of accounts-per-server (meaning noticebly faster page-loads than my previous host). Under $10/month.

      --
      Censorship is the opposite of education. If neo-darwinism were defensible, people would not need to try and censor ID.
    6. Re:Web hosting providers slow to offer new PHP by Coriolis · · Score: 1

      Which looks a little like how Python would look without list comprehensions:

      filtered = filter((lambda x: x.foo == "bar"), unfiltered)

      True, but my brain just auto-converted that to a car analogy: "You know, if I take off one of the wheels off this fancy sports car, it doesn't drive too good" :)

      --
      Rgasuya aata! : I have been coding Perl and cannot tell where my fingers are now!
    7. Re:Web hosting providers slow to offer new PHP by MikeBabcock · · Score: 1

      I still use Zope when I want to write Python for the web.

      Its not perfect, but its one of the best options. Write your own module using the interfaces given and voila.

      --
      - Michael T. Babcock (Yes, I blog)
    8. Re:Web hosting providers slow to offer new PHP by MikeBabcock · · Score: 1

      Wait, you think testing C and C++ against possible exploits is easier than using an interpreted language like Python or Perl? I wouldn't go back to writing my CGI with C unless there was a no-lawsuits clause.

      --
      - Michael T. Babcock (Yes, I blog)
    9. Re:Web hosting providers slow to offer new PHP by Jonner · · Score: 1

      Someone should resurrect mod_python.

      Its successor is mod_wsgi, but what advantage does this have over, say, FastCGI?

      mod_wsgi can be easier to configure than a FastCGI setup. It supports both in-process and out-of-process modes. The former is more like mod_python and the latter is more like FastCGI. That said, the apps I work on run themselves and are accessed via mod_fcgid which is good for the custom control we need.

    10. Re:Web hosting providers slow to offer new PHP by Anonymous Coward · · Score: 0

      Its successor is mod_wsgi, but what advantage does this have over, say, FastCGI?

      echo Hello World > this_is_a_valid_program.php

      mod_python was almost that simple.

  32. foolish by Charliemopps · · Score: 2

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

    1. Re:foolish by dbIII · · Score: 1

      Well, Dropbox has got a long way on hype and a fairly shitty and insecure front end to Amazon storage, so who knows how far they could go with a solid product that's actually more secure than twenty year old vanilla FTP? They could end up as big as gmail.

    2. Re:foolish by Anonymous Coward · · Score: 0

      Not his problem if the company goes under, he'll just work somewhere else. That's the single advantage of being an employee.

    3. Re:foolish by Charliemopps · · Score: 1

      You're not getting it. They are going to get shut down by the feds any day now. Here's an email I just got from them today:

      Dropbox Links let you share files or folders (of any size) with anyone, even if they're not using Dropbox

      Sharing files is a huge pain - you have to compress, attach, upload, and a bunch of other verbs that are a waste of your time. Forget that! We just invented the best way to get stuff from your computer to the rest of the world.

      Happy Dropboxing!
      - The Dropbox Team

      That's got "Future MegaUpload" written all over it.

    4. Re:foolish by MikeBabcock · · Score: 1

      I thought it was more ironic that Google has just introduced Drive this year, their own Dropbox replacement.

      --
      - Michael T. Babcock (Yes, I blog)
    5. Re:foolish by dbIII · · Score: 2

      Back when they had their deduplication security hole they were the best file sharing site on the planet. With just a filename and a checksum the file was yours no matter who on dropbox had it and not matter what privacy settings they thought they had. People were getting their cams of current movies quickly that way without having to wait for a torrent to come in.

    6. Re:foolish by sjames · · Score: 1

      I don't know that I would consider that a security hole, it sounds too much like a feature. If you want to keep a file to yourself, don't hand out the hash value

  33. Re:He Was Fired... by TheSunborn · · Score: 1

    Google replacing Python with Go in large parts of the company. Do you have documentation for that? (I am really interested, because that would be an interesting event).

    But I don't think Python ever had an important job at Google. I can't even name any of their important projects which are done in Python.

  34. Re:LOL by Anonymous Coward · · Score: 1

    We are all Anonymous Coward right?

  35. Only two warts by tepples · · Score: 1

    In defense of PHP, Python and Ruby suck in their own ways too -- plain and simple. Maybe not as much [... See] "Python: teaching kids and biting bits don't mix" by yosefk

    If the hex() change and the division operator are the only "warts" in Python, then it at least has PHP beat. One of the warts that yosefk complains about (int / int = float) is there just as much in PHP, and unlike Python, PHP doesn't even have a floor division operator.

    As to the example motivating that article: I deal with binary files in Python, such as tools to manipulate NES programs and data, and the first thing I do 90 percent of the time when loading a binary file is put it in an array.array('B').

    1. Re:Only two warts by Anonymous Coward · · Score: 0

      >One of the warts that yosefk complains about (int / int = float)

      That's not a wart. That's how it's supposed to be. Is mathematics education so different in other areas of the world or what?

    2. Re:Only two warts by Darby · · Score: 0

      If the hex() change and the division operator are the only "warts" in Python

      Hardly. It uses white space for syntax. It's badly broken by design. That crap hasn't been done since FORTRAN and that was designed that way out of necessity for punch cards.

    3. Re:Only two warts by Coriolis · · Score: 2

      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!
    4. Re:Only two warts by yenic · · Score: 1

      >One of the warts that yosefk complains about (int / int = float)

      That's not a wart. That's how it's supposed to be. Is mathematics education so different in other areas of the world or what?

      You are right, but in mathematics. In programming you have bit limits so you want fractions rather than floating points.

      --
      http://www.accountkiller.com/en/delete-slashdot-account Stop visiting Slashdot.
  36. Re:Python VS PHP by Nerdfest · · Score: 2

    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.

  37. Re:Python VS PHP by tepples · · Score: 1

    If you would kindly put forth what you think "design" should provide

    Consistent naming conventions for functions in the standard library, for one thing. Some way to protect names of functions defined in a program from colliding with names of functions added to newer versions of the language, for another.

  38. Re:He Was Fired... by Anonymous Coward · · Score: 1

    Google replacing Python with Go in large parts of the company. Do you have documentation for that?

    I've seen Anonymous Coward postings about this here on Slashdot, but nothing else.

    Everything I have ever heard about Python at Google falls into two categories: server management stuff, and YouTube. And what I have heard is that the server management stuff is perpetually locked into an outdated version of Python.

    The thing is, Google doesn't spend a lot of time advertising what they are doing internally. They like their secrecy, and there really is no up-side to saying "we are doing less work in Language X and more work in Language Y". All you do is stir up the fanboys.

    Since Google Go is a somewhat similar language to Python, except that it has better performance and doesn't rely on white space, it is plausible that Go is gaining acceptance within Google. But I have no inside knowledge.

  39. Re:He Was Fired... by Anonymous Coward · · Score: 1

    The major one is Youtube which was unfortunately littered with Python. That is being actively upgraded to Go.

    There isn't anyone hunting down every line of Python in the company, but using Python in any new project is dead. Standing up in a meeting suggesting Python as a solution is right down there with Perl or Mono or Visual Basic.

  40. End of Google App Engine? by bill_mcgonigle · · Score: 2

    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)
    1. Re:End of Google App Engine? by Anonymous Coward · · Score: 1

      Where can one find this thread?

    2. Re:End of Google App Engine? by styrotech · · Score: 2

      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.

      AppEngine originally seemed like Java was the first class language and Python was the second class one, then that switched around with Python getting more love and the Java support stagnating. Now they both seem neglected in favour of Go. It wouldn't surprise me if AppEngine becomes Go only at some stage.

      Combined with Dart to replace Javascript, it really seemd Google is developing a major case of 'not invented here' and determined to be less and less open. Google Code is now a wasteland making Sourceforge look vibrant.

      'Open' is just a stepping stone to dominance for Google, and can be dropped once something gets a little success.

    3. Re:End of Google App Engine? by speedplane · · Score: 1

      App Engine itself is closed! It's telling that google isn't involved much with any open cloud initiatives.

      --
      Fast Federal Court and I.T.C. updates
    4. Re:End of Google App Engine? by Anonymous Coward · · Score: 0

      Umm, you could.... Google it.

  41. Re:Python VS PHP by metlin · · Score: 4, Informative

    One word for all you whiny kids today: MFC.

    Jesus H. I'd rather pull out my teeth. With pliers.

  42. Re:Python VS PHP by Anonymous Coward · · Score: 0

    That's right, teach the controversy, brother!
    There is no evidence that a sane and consistent language design is better for developers.
    In fact, some people prefer to get different results on 32 and 64-bits architectures, to silently ignore extra arguments to a function, and that the database bindings break depending on locale.
    Constantly having to second-guess what syntax the parser will recognize (Will it take foo()[$bar]? Or foo()()? ) is just a bonus. Don't let them come here with their "basic parsing has been a solved problem for over 30 years" opinions.

  43. What does it mean? by nurb432 · · Score: 2

    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 ----
    1. Re:What does it mean? by Anonymous Coward · · Score: 0

      Note to Guido himself: if you want Python to be even more useful then make it a recommendation to publishers such as O'Reilly NOT to have so many Monte Python references and NOT to have so many footnotes.

      Make the language seem like a joke, it will be viewed as a joke of a language. Not everyone is a Monte Python fan.

    2. Re:What does it mean? by Jonner · · Score: 1

      Note to Guido himself: if you want Python to be even more useful then make it a recommendation to publishers such as O'Reilly NOT to have so many Monte Python references and NOT to have so many footnotes.

      Make the language seem like a joke, it will be viewed as a joke of a language. Not everyone is a Monte Python fan.

      I've heard some silly arguments against languages, but complaining about the content of a third-party's books really takes the cake. I suppose you'd rather they used dry, forgettable examples to be considered a "serious" language. BTW, you may be unaware that Guido himself is the origin of the Monty Python references, which include the name itself obviously. I learned Python using the official docs and there are many other alternatives to O'Reilly so if the genius of Monty Python offends you, it will not be forced on you.

  44. Re:Python VS PHP by Anonymous Coward · · Score: 0

    I've likED...ITS...but who the fuck cares any more about the spelling, right?

  45. Re:Python VS PHP by Anonymous Coward · · Score: 1

    There is a reason that Java forces you to declare and working within the types - that is because they matter.

    Protip: you don't actually need to tell that to someone who's complaining about the lack of static typing in any particular language....

  46. Re:Python VS PHP by gl4ss · · Score: 1

    dropbox on windows = a magic folder that just works. not much to be business oriented about it.

    only problem with it is that it's just not that much free unless you whore ref codes etc. being able to make web links is certainly a plus.

    the only complaint I have is that shared folders(with others, like a company group) count against your drive space. that sucks bigtime.

    --
    world was created 5 seconds before this post as it is.
  47. Re:He Was Fired... by angel'o'sphere · · Score: 1

    ALL old google stuff was done in python.
    You seem pretty bad informed ...

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  48. Re:Python VS PHP by Anonymous Coward · · Score: 0

    Um, just save your office files in the dropbox folder...

  49. Wow by Anonymous Coward · · Score: 0

    Dropbox, your unencrypted and finite place to store data when you're not near your cell phone that has 16 gigs of flash drive.

  50. Re:LOL by Anonymous Coward · · Score: 0

    Basically the only part of Youtube that has any Python is the templating. Everything else on the backend is done with Java and C/C++.

  51. Re:Python VS PHP by SolitaryMan · · Score: 0

    Dunno, after SWIG, those looked kinda nice.

    --
    May Peace Prevail On Earth
  52. Google is a strange place to work by tlambert · · Score: 4, Interesting

    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.

  53. Re:Python VS PHP by Anonymous Coward · · Score: 0

    Constantly having to second-guess what syntax the parser will recognize (Will it take foo()[$bar]? Or foo()()? ) is just a bonus. Don't let them come here with their "basic parsing has been a solved problem for over 30 years" opinions.

    The best part is that they've started to fix that... using a Chinese water torture process of allowing a couple of new constructs with each new 5.x release. Your favourite pet peeve isn't being fixed in the current cycle? No problem, just wait another year, and if you've been a very good girl and you pray to Santa reeeeeaaaaall hard, you might just get that one step closer to where Lisp was in the 19 fucking 50s.

  54. Re:Python VS PHP by jthill · · Score: 3, Informative

    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.
  55. Re:He Was Fired... by Anonymous Coward · · Score: 0

    Since Google Go is a somewhat similar language to Python

    Why do people keep saying that? They're nothing alike!
    I can't imagine what kind of language you'd be coming from to get that impression.

  56. Re:Python VS PHP by AncientPC · · Score: 1

    Python list comprehension method:


            filtered = [x for x in unfiltered where x.foo=="bar"]

    Or you could just use Python's filter() which is conceptually the same as PHP's version:

            filtered = filter(lambda x: x.foo == 'bar', unfiltered)

    Python has better syntax than PHP, but this is one of the weaker examples.

  57. Higher priority at Dropbox by AncientPC · · Score: 4, Interesting

    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.

  58. Re:Python VS PHP by Frosty+Piss · · Score: 1

    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.

    I take it that you are not a C# programmer? Or maybe you a a Java guy who lost your mind years ago?

    --
    If you want news from today, you have to come back tomorrow.
  59. import job_at_Dropbox by Anonymous Coward · · Score: 1

    http://xkcd.com/353/

  60. Did anybody notice how REAL creators .... by Anonymous Coward · · Score: 0

    ... are leaving Google shortly after getting hired? Could it be that they don't want to get involved with in IP theft??

  61. Python Global Interpreter Lock by Anonymous Coward · · Score: 0

    There is a global lock in the Python interpreter that cannot be easily avoided (http://wiki.python.org/moin/GlobalInterpreterLock). This issue limits the ability to take advantage of parallel computation within the interpreter.

    Google has probably long ago realized the limits of the language and has been replacing the technology with GO.

  62. Re:Android Java replacement - Python by hobarrera · · Score: 1

    Why is this downvoted? If it's plain wrong, a reply clarifying that would have been better than a downvote!

  63. Re:Python VS PHP by Anonymous Coward · · Score: 0

    Python has its own set of problems.... The most recent that I had to contend with is the lack of any decent SOAP library and a lack of a decent postgresql library. It seems to have an abundance of half baked libraries/extensions, and the python 3 fiasco has just made it even worse.

    Python is a great language in itself, but getting any real work done with it is an exercise in reinventing the wheel.

  64. Re:Python VS PHP by dbIII · · Score: 1

    Also the advantage of Dropbox is you can share with ANYONE, whether you want to or not.
    Perhaps this guy will make it less of a joke. Last I heard you still couldn't revoke Dropbox access from someone you've given it to in the past, even though it gives you the illusion of doing so with a password change page. While that's not as bad as the legendary, but fixed, fuckups in the past of letting people get your stuff without any authentication other than your username, or the even more comical fuckup based on their deduplication where you could request a file by name and get it if somebody else had it, it's still sadly less secure in some ways than the state FTP was in twenty years ago.

  65. Re:He Was Fired... by Anonymous Coward · · Score: 0

    Google replacing Python with Go in large parts of the company. Do you have documentation for that?

    The grandparent post makes an absurd claim. The Google codebase is a mix of C++, Java, Python, Javascript with a smattering of Go and a custom data analysis language called Sawzall. I would just be utterly flabbergasted if management declared we were switching to only one or two languages. My experience has been that the team writing the code chooses the language (from the above list -- there are some constraints so that people can switch projects) based on the needs of the project.

  66. Re:Python VS PHP by dbIII · · Score: 1

    The last thing you want to do is use it in business because it would be so easy to fuck up and share things with the wrong client.
    Yes I know, the fine print says don't use it for anything you wouldn't want to see on the the nightly news, but idiots share commercially sensitive information with it anyway.

  67. Re:Python VS PHP by russotto · · Score: 1

    You think PHP is bad? Why in my day we used COM with VB and C++, uphill both ways.

    In my day, we used C and sometimes assembler.... no, on second thought, you win.

  68. nothing will change, it's instituionalized at goo by Anonymous Coward · · Score: 0

    i'm not exactly sure what the context of "what this will mean for Python" -- Google engineers have written millions of lines of code in Python. I can't imagine any scripting language surpassing it at Google, just for the simple fact that they have so "mannnnny" libraries written in Python

  69. Re:Python VS PHP by Anonymous Coward · · Score: 0

    Yeah, but that's like comparing some team's MLB third baseman with Arod and saying the former is a much better value.

  70. Re:Python VS PHP by Anonymous Coward · · Score: 2, Funny

    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?

  71. Re:Python VS PHP by VortexCortex · · Score: 1

    I still write my CGI in C, like everything else. C++? Why? Also: What's a "PHP" or a "VB"? And, isn't COM the same as EXE except for the 64k limit?

  72. Re:Python VS PHP by Anonymous Coward · · Score: 0

    > There is no evidence that a sane and consistent language design is better for developers.

    That is correct. Unless you can cite something? The rest of your post is, personal problems elevated to talking points. Typical.

    You know some languages don't have a working implementation at all? Must be broken. Not knowing how a language works on your architecture? Must be broken. Documentation is wrong? Language broken! If an implementation behaves differently with a different configuration, there's nothing wrong. Every language has to deal with this to some extent at some point. Some believe there are "modern language standards" to adhere to, but everyone has a different opinion about what that means as well until we actually get one. Should be coming out soon since you think it's straightforward, amirite?

    > Don't let them come here with their "basic parsing has been a solved problem for over 30 years" opinions.

    Naming convention is the issue, not parsing. Take a step back and recognize that you spout, what is scientifically baseless, propoganda conveniently sourced by your own opinion.

  73. Re:LOL by Anonymous Coward · · Score: 0

    I'm not.

  74. Re:Python VS PHP by dkf · · Score: 3, Informative

    Also: What's a "PHP" or a "VB"?

    A security exploit.

    --
    "Little does he know, but there is no 'I' in 'Idiot'!"
  75. Re:Python VS PHP by Alomex · · Score: 1

    The lack of static typing hurts a bit

    The understatement of the year. You know a language got a feature wrong when it comprises an inordinate proportion of the compiler error/bugs found. In Pascal it was the missing semicolon, though in that case the compiler caught it. In C it is the change in meaning of = to assignment and == to comparison (though not _that_ common of an error). In Python, more than half of the bugs are either an improper use of a variable or the wrong amount of white space after refactoring some nested code.

    Don't get me wrong, I love Python. But weaknesses are weaknesses. The sooner strong typing is added (like Perl did long ago_ the better Python will be.

  76. Re:Python VS PHP by Darby · · Score: 5, Funny

    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.

  77. Re:Python VS PHP by mrvan · · Score: 1

    In Python, more than half of the bugs are either an improper use of a variable or the wrong amount of white space after refactoring some nested code.

    I think the white space is mainly a red herring, but you are right that it is annoying to copy-paste code or refactor and have to remember how many spaces to shift a block to the right. In that regard curly braces and select-all + reindent does work easier.

    About static typing (I assume that you mean static vs dynamic and not strong vs weak typing?): I think I disagree. I've not looked at how perl did it, so my experience mainly comes from java. But in java you are spending so much time mucking around with interfaces, casting etc. that it becomes a big mess quite soon, and you need an IDE to make any sense of it; while I use python for a non-trivial program (>25kloc in >200 files in ~10 years and 3 rewrites) and a plain old text editor is fine.

    The "duck typing" is often misunderstood. In essence, python says that any object which supports a method, say ".count_parts()" implicitly implements the 'count_parts' interface. You can test membership in that class with 'hasattr' and you don't need to do any casting to use it. In java, if you have two classes from different libraries that happen to have the same method (e.g. becuase they both implement the same standard), if they haven't done it right by implementing the right interface (which is often not the case if you deal with 3d party code) it is a huge mess to do polymorphism: you either need to have complex conditional casting and executing, or define some sort of unified wrapper object and wrap them all.

    I would love a language that has "implicit" contracts and still a way to better check enforcement, but I wouldn't know how that would look like.

    Where I do feel an easy gain could be had is a sort of optional "strict" mode, although seeing pylint as a "compiler" step does that most of the time. It is annoying that typo's can often go unnoticed, making it harder to debug than needed. Also, the cpython compiler/interpreter seems to be missing out on some optimization that could be added with "cython-like" optimizer hints, ie "this thing over here is an int"...

    Don't get me wrong, I love Python. But weaknesses are weaknesses.

    Weaknesses are weaknesses, but dynamic typing is a choice that has negative and positive consequences. I would love to see ways to reduce the negatives while keeping the positives, but moving over to static typing feels like throwing out the baby with the bath water...

  78. Re:He Was Fired... by Paradise+Pete · · Score: 1

    Looks like you have an off-by-one error in your post. So what is it you do at Google?

  79. Re:Python VS PHP by Anonymous Coward · · Score: 0

    Don't let them come here with their "basic parsing has been a solved problem for over 30 years" opinions.

    Naming convention is the issue, not parsing.

    No, the parser not accepting things like foo()() is pretty unambiguously a parsing issue, it won't magically start working if you use a different function name. Did you not read the post you're replying to, or are you just too stupid to understand?

  80. Why reinvent the FTP server ? by Anonymous Coward · · Score: 0

    I don't understand Dropbox. It's just a centralized storage solution that allows cross-platform pseudo mounting. What does it do better than FTP ?
    I just don't get it.

    1. Re:Why reinvent the FTP server ? by Anonymous Coward · · Score: 0

      I don't get FTP. What does it do better than UUCP?

  81. Re:He Was Fired... by Anonymous Coward · · Score: 0

    No you don't.

  82. Re:Python VS PHP by Alomex · · Score: 1

    I think the white space is mainly a red herring,

    I used to be a big fan of white spaces and for small projects it is easy to keep in your head the nesting level at which code should be, but when you are editing someone else's code in a 1000 KLOC project it is much more difficult to remember where it should be. As I said it is an inordinately common source of bugs.

    But in java you are spending so much time mucking around with interfaces, casting etc. that it becomes a big mess quite soon,

    That a consequence of improper polymorphism, not static typing. Again once you get past 100 KLOC it gets very hard to keep types and names straight. You need the compiler/interpreter to flag you went you write ParetoOptimizer instead of ParetoOptimized or some similar type error.

  83. Inexact division by tepples · · Score: 1

    One of the warts that yosefk complains about (int / int = float)

    That's not a wart. That's how it's supposed to be.

    How it's supposed to be is int / int = fraction. Doing int / int = float is inexact.

  84. How does this Slashdot ecode bug affect Python? by tepples · · Score: 2

    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

    for some reason:
    if I use the ecode tag in Slashdot:
    it doesn't always preserve 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.

    1. Re:How does this Slashdot ecode bug affect Python? by shutdown+-p+now · · Score: 1

      Are you sure that
          You're using ecode
              And not tt or pre?

    2. Re:How does this Slashdot ecode bug affect Python? by tepples · · Score: 1

      I figured it out: <ecode> is broken in "HTML Formatted" mode. One has to switch to "Plain Old Text" to get indentation working in an <ecode> element.

      Oh, and your journal entry has expired.

    3. Re:How does this Slashdot ecode bug affect Python? by sjames · · Score: 1

      I translated all my C source into bitmaps and then jpeg compressed it. Imagine my surprise when I reversed the conversion and it wouldn't even compile!

      SURPRISE! Lossy conversions lose things.

  85. from collections import Counter as bag by tepples · · Score: 1

    When you say a "bag", how big a bag are you talking?

    Might it be this bag implemented in Python as collections.Counter?

  86. Encourages programmers to misunderstand it by tepples · · Score: 1

    the other half falls down to misunderstanding PHP.

    How about "PHP is bad because it all but encourages programmers to misunderstand it in a way that leads to security breaches?"

  87. Web hosting providers charge extra for C CGI by tepples · · Score: 1

    Did you know that Apache will execute compiled C binaries and that you can simply read and write from STDIN & STDOUT to do CGI?

    I was aware of that, in an environment that gives the user at least as much control as a VPS. But did you know that some providers' cheapest plans do not support C CGI, only PHP? This restriction is part of why I left Go Daddy shared hosting for WebFaction shared hosting.

    Do the same on my mobile & tablets too -- Just run full-on Linux. Use compiled "apps" to get's tons more battery life than when it had Android on it.

    Which brand of phone and tablet do you use, and where can I try them in a store in the United States? And how much more battery life do your tablets get than the eight hours that I get out of a Nexus 7?

  88. filter() by tepples · · Score: 1

    Yeah, the only time I really use Python filter(func, seq) instead of the sugar is when I'm applying a truth function already encapsulated in a named function, or just using filter(None, seq) to remove falsey values.

  89. I hope that's a good sign by stenvar · · Score: 1

    I don't like where Python has been going recently, and the C-Python implementation has failed to address its technical shortcomings (like the GIL) while introducing a lot of unnecessary b.s. I'm hoping Google is working on a new Python implementation from scratch, and Guido left because he didn't want to be part of such an effort.

  90. Re:Python VS PHP by lonecrow · · Score: 1

    The only handicap? How about being able to easily switch between Dropbox accounts? Say by right-clicking the tray icon and choosing a different account. The current method of switching accounts is unreasonably cumbersome.

  91. Hardening by fyngyrz · · Score: 1

    I wouldn't go back to writing my CGI with C unless there was a no-lawsuits clause.

    Write a small module that provides error checking. Always use it. No I/o, including DB, I mean literally NO I/o, except through it. Parameter length checking, character scrubbing, quote imbalance checking, credit card number validation, date validation, range checking, throttling, email validation, URL controls... whatever you need, and you can write it as you need it. If you find you need to make a call to something and you don't have it covered -- then you need it.

    Not only is this relatively easy to do, it's instructive and enjoyable work. And you get a heck of a lot of bang for your efforts.

    --
    I've fallen off your lawn, and I can't get up.
    1. Re:Hardening by Jonner · · Score: 1

      I wouldn't go back to writing my CGI with C unless there was a no-lawsuits clause.

      Write a small module that provides error checking. Always use it. No I/o, including DB, I mean literally NO I/o, except through it. Parameter length checking, character scrubbing, quote imbalance checking, credit card number validation, date validation, range checking, throttling, email validation, URL controls... whatever you need, and you can write it as you need it. If you find you need to make a call to something and you don't have it covered -- then you need it.

      Not only is this relatively easy to do, it's instructive and enjoyable work. And you get a heck of a lot of bang for your efforts.

      Validation of inputs is always a good idea. It's also a lot easier in a language with real strings and automatic memory management than in C.

    2. Re:Hardening by fyngyrz · · Score: 1

      Look, c has "real strings." They're trivially easy to deal with; if such management is actually beyond a programmer's skills, they're working in the wrong field. Starting with the basic 0-terminated model, you can create any kind of string management / data structure you want. That's the beauty of c. You can do anything you think you need to.

      As far as "easy" memory management goes, my goal as a programmer is to produce something that is as system-friendly, fast, compact, and as functional as possible. Easy is fine, until it conflicts with any of those goals, unless it has to (writing in assembler isn't practical when dealing with many architectures, for instance) So as soon as someone says "auto memory management is easy!", I respond with, "does it impact system-friendliness, speed, code size, or function?" If they can honestly answer "no", then I'm good with it.

      Often, though, auto memory management can lead to program stalls, general slowdowns, and these inherently interfere with the intended function. Ay which point I prefer to do it myself, using my knowledge of the actual scopes involved and various arrangements of pools and reserved areas to keep performance up.

      For me, it's not just about getting "done." I want to get done and know that the result was the best I knew how to do.

      --
      I've fallen off your lawn, and I can't get up.
    3. Re:Hardening by Jonner · · Score: 1

      Look, c has "real strings." They're trivially easy to deal with; if such management is actually beyond a programmer's skills, they're working in the wrong field. Starting with the basic 0-terminated model, you can create any kind of string management / data structure you want. That's the beauty of c. You can do anything you think you need to.

      malloc() is a crutch. If you can't write your own allocator, you don't deserve to call yourself a programmer.

    4. Re:Hardening by Jonner · · Score: 1

      Look, c has "real strings." They're trivially easy to deal with; if such management is actually beyond a programmer's skills, they're working in the wrong field. Starting with the basic 0-terminated model, you can create any kind of string management / data structure you want. That's the beauty of c. You can do anything you think you need to.

      If only we could clone you millions of times, we wouldn't have buffer overflow vulernabilities, but I doubt people would be able to stand so many elitist pricks.

    5. Re:Hardening by MikeBabcock · · Score: 1

      Look up DJB's stralloc.c sometime, its the closest C has ever gotten to having real strings.

      Now for comparison, look at Python's handling of strings: http://getpython3.com/diveintopython3/strings.html

      For the TL;DR people out there, Python has both strings of characters and sequences of bytes, and they are not the same things. C on the other hand only has sequences of bytes.

      --
      - Michael T. Babcock (Yes, I blog)
  92. PostgreSQL and Python by fyngyrz · · Score: 1

    lack of a decent postgresql library

    What's wrong with pgdb (PyGreSQL)? I use that as the basis for my postgreSQL interactions, seems to work fine.

    I did write a nice layer on top of it that does things a little differently, but that was the work of a few hours at most, and really just because I like things to work a certain way.

    --
    I've fallen off your lawn, and I can't get up.
  93. Re:Python VS PHP by shutdown+-p+now · · Score: 1

    I suppose that's why SkyDrive also has iOS and Android apps?

  94. Re:Python VS PHP by shutdown+-p+now · · Score: 1

    Static typing is not actually a hard requirement for autocomplete (and associated features such as refactoring or semantic code navigation). Most advanced Python IDEs have those, and they implement them by doing, effectively, type inference across your entire codebase, and doing type unions / intersections where various paths combine or diverge. The resulting accuracy is basically as good as your code is structured - if you don't do things like assigning completely different types of values with no intersection of members to the same variable on various conditional paths (and why would you?), you get something that's pretty close to what you see for Java or C#. Sometimes even better - e.g. PTVS can track literal values as well as types, so you can do stuff like this:

    def foo(**kwargs):
        kwargs['bar']. # cursor here
     
    foo(bar=123, baz=True)

    and you will get code completion dropdown for members of int inside foo.

    (I'm a member of PTVS team, and I'll be happy to explain how it all works in more detail if there is interest.)

  95. Re:He Was Fired... by shutdown+-p+now · · Score: 1

    Go is not at all similar to Python.

  96. Re:Python VS PHP by HiThere · · Score: 1

    I do, however, disagree with Guido's statement that "Python is fast enough". Whether it is or not depends entirely on what you're doing. For my purposes I don't think a 12-core computer optimally programmed in assembler would be "fast enough".

    It's faster to write code in Python than in C or C++ or Pascal or Java. But Python isn't "fast enough" unless your program is I/O bound. And it's inability to handle multiple processing uints gracefully is a real problem. (Not that anyone has a decent answer to that except the dataflow people and the pure functional language people.) Multiple core machines are now the rule rather than the exception, so the GIL is no longer acceptable. Even Ruby attempts to address that, though they didn't really follow through after considering their library situation.

    Another real problem that I have with Python is it's documentation system. (Again, nobody has a good answer.) The "built-in" documentation system is so bad that I prefer to use Doxygen, which itself isn't great. It's better than Epydoc, but barely. They need a much better system for generating html...one that doesn't create huge amounts of blank space. (Actually, they have a better system, but it only works to generate PDFs.) I know that I could customize it, but I also don't want to spend all my time fiddling with CSS.
    N.B.: I've only got one screen and it's not huge, so large blank spaces in the generated documentation are just not acceptable. I need to fit both the current documentation, and the code I'm working with on my screen, and frequently a few other references as well. So the documentation within the code needs to be compact, and so does the generated html display. BOTH

    Perhaps it's unfair to pick on Python for problems that nobody has really solved, but it needs to be said over and over until somebody figures out a decent fix.

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  97. Re:Python VS PHP by Anonymous Coward · · Score: 0

    It was an opinion, not a statement, you can tell from the two words that you conveniently cut off from the beginning of the quote. And you also failed to quote the following sentence qualifying the opinion, which conceded the possibility that it could be a result of the type of people who code in PHP. But I suppose your selective quoting gave you something to argue against.

  98. Re:Python VS PHP by Jonner · · Score: 1

    Python has its own set of problems.... The most recent that I had to contend with is the lack of any decent SOAP library and a lack of a decent postgresql library. It seems to have an abundance of half baked libraries/extensions, and the python 3 fiasco has just made it even worse.

    Python is a great language in itself, but getting any real work done with it is an exercise in reinventing the wheel.

    There are certainly plenty of things that could be better about Python, but you're going to need to be a lot more specific with your rants. What is not decent about psycopg2? What libraries are "half-baked" and why? What exactly is a fiasco about Python 3? If you do a lot of reinventing of the wheel, you may not have encountered the extensive standard library or abundance of good libraries at PyPi.

  99. Have to agree by gr8_phk · · Score: 1

    There was a question on stack overflow a while back where someone asked "what feature do you hate about your favorite language?" or something to that effect. Nice because it didn't ask to slam other languages, but to criticise a favorite. In the responses I learned some quirks of C and C++ (you know, 10[a] instead of a[10] type stuff), IIRC there wasn't much said about Python. But the endless stream of shit people said about PHP left me wondering how such an abomination ever came to be. I can't remember any of them but just concluded I was lucky to never use it.

    I'm now having a vague memory about numeric types not existing or something utterly stupid like that, but I honestly don't remember and don't want to.

    1. Re:Have to agree by Anonymous Coward · · Score: 0

      The biggest problem with php is it makes it very easy to write something that does what you want it to do. It doesn't enforce any sort of structure. So there's a lot of newbies in it. Later as they become less newbish (though still quite newbish compared to anyone with real experience) they decide to make a name for themselves by speaking out against PHP.

  100. Re:Python VS PHP by Jonner · · Score: 1

    I do, however, disagree with Guido's statement that "Python is fast enough". Whether it is or not depends entirely on what you're doing. For my purposes I don't think a 12-core computer optimally programmed in assembler would be "fast enough".

    It's faster to write code in Python than in C or C++ or Pascal or Java. But Python isn't "fast enough" unless your program is I/O bound. And it's inability to handle multiple processing uints gracefully is a real problem. (Not that anyone has a decent answer to that except the dataflow people and the pure functional language people.) Multiple core machines are now the rule rather than the exception, so the GIL is no longer acceptable. Even Ruby attempts to address that, though they didn't really follow through after considering their library situation.

    You're absolutely correct that whether a language implementation is "fast enough" depends totally on the problem being solved. If the program is I/O bound, as most are, Python and many other languages are fast enough. Even if part of the problem is CPU bound, there is usually a lot of code that is not, which is why hybrid C/Python solutions are so common. For example, NumPy can take advantage of multiple CPUs when doing matrix calculations, allowing one do heavy, fast number crunching without writing a line of C.

    If you need to do CPU-bound processing in Python code, threads won't help if you're using CPython, but they might if you're using Jython which is JVM implementation that has no GIL. Alternatively, you can use the multiprocessing module which avoids the GIL and a lot of other potential problems with threads at the cost of having to explicitly communicate between processes rather than share data structures directly.

  101. Re:Python VS PHP by Jonner · · Score: 1

    That a consequence of improper polymorphism, not static typing. Again once you get past 100 KLOC it gets very hard to keep types and names straight. You need the compiler/interpreter to flag you went you write ParetoOptimizer instead of ParetoOptimized or some similar type error.

    You need something to check for bad names and syntax errors. It doesn't have to be a compiler or interpreter. I run several static code checkers constantly via my editor so I can immediately see if I misspelled a variable name or left off a closing paren or something. If you would run a compiler to check static correctness of C or Java, why not run a checker on Python? There are several commonly used checkers. Here's a discussion comparing their relative merits.

  102. Re:Python VS PHP by Jonner · · Score: 1

    I think the white space is mainly a red herring,

    I used to be a big fan of white spaces and for small projects it is easy to keep in your head the nesting level at which code should be, but when you are editing someone else's code in a 1000 KLOC project it is much more difficult to remember where it should be. As I said it is an inordinately common source of bugs.

    Are those million lines of code in one module? Is the nesting depth greater than 8? Those are indications of poor code organization regardless of language or block style. If your modules are not too big and code is not too deeply nested, the way the language indicates block structure has little interaction with the overall size of the project. I read and write Python code written by me and others all day long and almost never encounter bugs resulting from white space.

  103. Re:Python VS PHP by HiThere · · Score: 1

    Thanks for understanding my point. I *do* know about Python's multiprocessing modules, but they aren't easy to use. Which is why I'm currently developing in D, despite Python having *MUCH* better libraries. D has a mode of parallelism where I can just say "execute this loop a parallel as you can". (Well, naturally it's a little bit more complicated than that, but that's the essence. I'm stepping through an array and each step is intended to be compatible with changes made by any other. So using numPy isn't the answer, or it doesn't appear to be from what I've read. I'd need to be calling back from numPy into Python all the time. And the Python parallel modes don't appear to do what I want either. A good message passing framework that didn't care what processor the destination was on would be good. A nice dataflow system would be good...but they don't seems to have developed. Probably because they showed up too early, and now they aren't fashionable anymore. But independent processes or threads aren't a good model for what I'm attempting.)

    Of course, what I'd really like is a good Python compiler with a strong message-passing module, or possibly a strong dataflow module, that had a better documentation system than Doxygen. (Here, and for me, better means that it uses less screen space to display the documentation. This probably means a system that pops up windows in response to a click on a menu rather than using html. I've seen applications that do it, though, so it's not a pure pipe-dream. Both Qt and wxWidgets can handle this kind of application. Gtk used to be able to, but I'm not sure that it can anymore. OTOH, I'm not at all sure that tcl/tk can handle it. Perhaps I just never got deeply enough into it.) (Note that Sphinx seems to not be a step in the right direction.)

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  104. Re:Python VS PHP by sjames · · Score: 1

    You can write unmaintainable code in any language. If the code is well factored, you won't have any problem keeping track of where the indentation should be. If you have a bunch of deeply nested 1000 line functions you'll lose track of it whether it's curly braces, parenthesis or white space.

  105. Re:Python VS PHP by Alomex · · Score: 1

    You can write unmaintainable code in any language.

    This is a non-sequitur. It's like saying you can kill someone with paper and with a gun. Sure, I can believe it is possible to fashion a lethal weapon out of paper, but facts are that it is much easier to kill someone with a gun than with a piece of paper.

    Same goes for languages. You can write non-readable code in any language, but it is much easier in certain languages than in others.

    This much should be obvious unless you are none too bright.

    If the code is well factored, you won't have any problem keeping track of where the indentation should be.

    Right, blame the user for the software flaws.

  106. Re:Python VS PHP by sjames · · Score: 1

    You'll note I also pointed out you'll likely lose track of braces in code written that badly in a language that uses them. Especially given that most C programmers use indentation to help keep track of braces.

    I don't think non-sequitur means what you think it does.

  107. Re:Python VS PHP by Alomex · · Score: 1

    Braces work in a completely different way than white space.

    Say, if I have a C block between braces, and cut and paste something inside it, I'm guaranteed to have that new code be part of the braced block.

    Now let's repeat the same exercise with Python. You cut and paste some code but said code happens to be indented shallower than the larger block because it is brought in from a different nested depth, and what happens? your original block and any others indented to the right of the cut and paste code now end where that inserted code begins.

  108. Re:Python VS PHP by sjames · · Score: 1

    You'll need to correct the indentation in any case. If you just leave it in the C code, it'll work but you're in for some real confusion later when you are revising the code. There's good reason most shops are militant about indentation.

    Just like it's an error to accidentally include (or sometimes not include) the brace with the cut/pasted code, it's an error to not correct the indentation in Python.

  109. Re:Python VS PHP by frs_rbl · · Score: 1

    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.

    Not as impressive as bashing two different technologies in a single line of text, while at the same time disdainfully refusing to bash the third, thus showing even deeper contempt for it

    --
    This is not my opinion. Actually, it's not even an opinion. And I'm nowhere to be seen near it
  110. Re:Python VS PHP by Alomex · · Score: 1

    You'll need to correct the indentation in any case.

    Actually you don't. Any good IDE will do it automatically for you. This is easy in C, impossible in Python.

  111. Re:Python VS PHP by sjames · · Score: 1

    Paste it in, use the editor to correct the indentation for the whole block at once. Not exactly rocket science.

  112. Re:Python VS PHP by Anonymous Coward · · Score: 0

    > No, the parser not accepting things like foo()() is pretty unambiguously a parsing issue, it won't magically start working if you use a different function name. Did you not read the post you're replying to, or are you just too stupid to understand?

    Picking a statement out of context to apply to previous statements you made, so you can continue to rant? Your inability to understand what points you are making (versus making up) is the problem.

  113. Re:Python VS PHP by Anonymous Coward · · Score: 0

    Picking a statement out of context to apply to previous statements you made, so you can continue to rant?

    No, focussing on the most gratuitously wrong part, as opposed to the remaining limp-wristed handwavy apologism. And there's no context that could possibly make that statement that I quoted make any sense.