Live data from Hacker News

Why did Quora choose Python (over PHP and others) for its development?

quora.com

21–30 of 45 posts

Re: Why did Quora choose Python (over PHP and others) for its development?

#21
post #17

Earlier quoted context omitted.

That's because Python is actually used extensively in the West outside the context of web development. Ruby really isn't. Rails became popular, and people decided to learn Ruby so they could use Rails. Most people who choose Python web frameworks do so because they are already familiar with Python.

Why do you say "In the West"? But I agree, I learned Python because it seemed like a great language, and learned Django because I was moving into web dev after years of other work with Python. I don't believe I'll ever pick up Ruby for anything other than learning Rails (and I doubt I'll even do that, since Python is so similar).

I take that to mean the United States and Europe. Python is used extensively in the sciences and financial services on both sides of the pond.

Re: Why did Quora choose Python (over PHP and others) for its development?

#22

The biggest issues with Python are speed and the lack of typechecking. Interesting that they took this bit of wisdom away from programming in PHP . I say this because I've never heard anyone consider a lack of type-checking as an issue when considering Python. It's a feature. You either need type-checking or you don't. I suspect that the Quorum engineers didn't need type-checking, so I don't understand why the felt t…

Python tends to raise errors for type mismatches, which forces you to do the work to avoid them or handle them. PHP usually does something nonsensical instead, which probably screws you over--but you don't necessarily notice unless you are independently sanity-checking its results.

Re: Why did Quora choose Python (over PHP and others) for its development?

#23

"We didn't want to take the risk of being on Mono [...] It's not clear how long funding will be around for that project" Can anyone elaborate on that or point to some reading?

I guess they're implying that Mono ins't a money maker at Novell? Mono is great and all, but maintaining an entire development platform, along with IDE and and myriad of docs, strictly for internal use may be a bit too much for a company of their size.

Re: Why did Quora choose Python (over PHP and others) for its development?

#25
@ ruby babies

Get over yourself....]

No one in their right mind uses Ruby, The Failure of twitter has shown everyone that ruby is worthless if you ever wish to make millions and scale. Unless of course you are living off pennies like 37 signals ppl otherwise get over it, Use python all smart people use it.

Re: Why did Quora choose Python (over PHP and others) for its development?

#26

The biggest issues with Python are speed and the lack of typechecking. Interesting that they took this bit of wisdom away from programming in PHP . I say this because I've never heard anyone consider a lack of type-checking as an issue when considering Python. It's a feature. You either need type-checking or you don't. I suspect that the Quorum engineers didn't need type-checking, so I don't understand why the felt t…

> Spare yourself this yammering rant. They chose Python because that's what everyone else at the company was cool with. End of story.

I don't think it's a bad idea to evaluate the alternatives, even if you are very comfortable with a specific language. Granted we were pretty cool with Python and that is definitely a major factor in the decision, but it can't be the only one.

For example, we were all very comfortable using SVN (another technology Facebook uses and is now locked in with). But we didn't use Subversion; we decided to use Git, because the advantages of using a DVCS outweigh our personal sense of comfort.

Re: Why did Quora choose Python (over PHP and others) for its development?

#28
post #9

My biggest problem with Django is that the entire data model layer is designed with relational database in mind (i.e. normalization and JOINs). Many of the new data stores (RDF stores, Google Data Store for App Engine, etc) are inheritantly non-relational.

start with web.py then incrementally add code as you need it, how/where you need it, including how to persist

How have your experiences with web.py been? The disadvantages I saw with it are that it just doesn't have a really large community, plus there are features I just don't want to build myself. Django's built-in admin/ app, for example, or Pylon's error page.

Re: Why did Quora choose Python (over PHP and others) for its development?

#29
post #2

The python/ruby thing seems to be at an interesting point. Python as a language has a bigger mindshare but none of the python web stacks has close to the adoption that rails does. As far as I can tell there seems to be a lot more peripheral innovation in the ruby camp though, particularly in testing tools. Are there python equivalents to rspec, cucumber, factory_girl/machinist, shoulda, passenger, haml, webrat etc?

There are equivalents to many testing tools:

rspec: I'd argue doctest does the same thing, but without being clever consultantware. I've seen passing mentions to similar things in Python.

cucumber: http://lettuce.it/

factory_girl: I can't keep up with data fixture libraries, but there's quite a few

machinist: I don't quite understand it. It seems like a mocking library to me? There's a half dozen of those at least...

shoulda: Seems like Cucumber? I don't get this one either. Just a bunch of comparison helpers for your testing?

passenger: as in mod_passenger? Technically it supports Python. mod_wsgi is very similar.

haml: there's a bunch of more-or-less direct ports.

webrat: Twill, WebTest, zope.browser are a couple.

There's a lot of testing tools in Python; this list is very out of date, but at least shows some of them: http://pycheesecake.org/wiki/PythonTestingToolsTaxonomy

Re: Why did Quora choose Python (over PHP and others) for its development?

#30
post #29
post #2

The python/ruby thing seems to be at an interesting point. Python as a language has a bigger mindshare but none of the python web stacks has close to the adoption that rails does. As far as I can tell there seems to be a lot more peripheral innovation in the ruby camp though, particularly in testing tools. Are there python equivalents to rspec, cucumber, factory_girl/machinist, shoulda, passenger, haml, webrat etc?

There are equivalents to many testing tools: rspec: I'd argue doctest does the same thing, but without being clever consultantware. I've seen passing mentions to similar things in Python. cucumber: http://lettuce.it/ factory_girl: I can't keep up with data fixture libraries, but there's quite a few machinist: I don't quite understand it. It seems like a mocking library to me? There's a half dozen of those at least...…

I know what you mean about clever consultantware. Sometimes it seems like clever beats out practical in the ruby world.
Post reply on HN