Live data from Hacker News

Python at Netflix

techblog.netflix.com

31–40 of 78 posts

Re: Python at Netflix

#31
post #2

As one of the main drivers of Python at Netflix, this one is near and dear to my heart. Let me know if you have any questions, or come visit our booth!

I have to say that after doing a python project I totally don't get why people love it so much. The syntax is slightly cleaner, but the lack of threading, first-class functions and dependency management tools make it waste at least as much time as it saves. I honestly don't believe in the concept of a programming language being able to make code more or less readable. A Java project with a POM file can be up and running on any OS in about 5 minutes.

Re: Python at Netflix

#32
post #29
post #14

Earlier quoted context omitted.

Unfair tone. I hope it was in jest. My life is not all about productivity. There is a leisure aspect as well: http://en.chessbase.com/home/TabId/211/PostId/4008728

FWIW, I knew he was kidding. He's a reddit engineer too. :)

That's the other bsimpson. ;-)

Re: Python at Netflix

#33
post #27

Re: Web applications in python - I am curious about the overall feeling for them - Do you write web apps in python because rapid development makes up for any performance problems and if you run into problems you would rewrite it in something faster, or do you feel like a python web app can be just as good as alternatives when it comes to speed? Put another way - when you think of python for web applications / service…

I like Python for the speed of development. Also, at least for these internal apps, speed is generally of secondary concern, since these aren't typically high load applications. At reddit we solved the problem by writing the most often called parts in C and using c extensions. There is definitely more work to do there, but overall I think Python gets a bad rap as far as speed is concerned. It's certainly not the quic…

Thanks for the information!

Re: Python at Netflix

#34
post #30

Earlier quoted context omitted.

So when you think of execution speed in web applications / services - what do you think of?

> when you think of execution speed in web applications The whole web application is not CPU bound. The parts which are CPU intensive are rewritten in performant language. For eg, if you are twitter, you still render templates in Rails, and write CPU bound services in Java/Scala. Replacing the whole app with Scala/Java will be pointless. That doesn't mean that every time you need a service, you can't use Ruby/Python.…

Understood - was just curious when it comes to CPU intensive portions what you would characterize as performant vs python. Scala/Lift is on my list to check out - So my question now is - if you got to the point of needing to write CPU bound services in Scala, why wouldn't you go ahead and write everything in Scala? Does python offer enough advantages to outweigh having to support multiple languages/environments/ecosystems?

Re: Python at Netflix

#35
post #31
post #2

As one of the main drivers of Python at Netflix, this one is near and dear to my heart. Let me know if you have any questions, or come visit our booth!

I have to say that after doing a python project I totally don't get why people love it so much. The syntax is slightly cleaner, but the lack of threading, first-class functions and dependency management tools make it waste at least as much time as it saves. I honestly don't believe in the concept of a programming language being able to make code more or less readable. A Java project with a POM file can be up and runn…

Python doesn't have first class functions?

Re: Python at Netflix

#36
post #31
post #2

As one of the main drivers of Python at Netflix, this one is near and dear to my heart. Let me know if you have any questions, or come visit our booth!

I have to say that after doing a python project I totally don't get why people love it so much. The syntax is slightly cleaner, but the lack of threading, first-class functions and dependency management tools make it waste at least as much time as it saves. I honestly don't believe in the concept of a programming language being able to make code more or less readable. A Java project with a POM file can be up and runn…

a) python-pip combined with virtualenv gives very good requirement support.

b) python does have first class functions?

c) threading still happens, you just can't take advantage of multiple cores. This isn't as big of a problem as you'd think though, you can still write very fast code.

Re: Python at Netflix

#37
post #31
post #2

As one of the main drivers of Python at Netflix, this one is near and dear to my heart. Let me know if you have any questions, or come visit our booth!

I have to say that after doing a python project I totally don't get why people love it so much. The syntax is slightly cleaner, but the lack of threading, first-class functions and dependency management tools make it waste at least as much time as it saves. I honestly don't believe in the concept of a programming language being able to make code more or less readable. A Java project with a POM file can be up and runn…

Ummm, not sure where you're getting your information but Python has threads (http://docs.python.org/2/library/threading.html), first-class functions (http://en.wikipedia.org/wiki/First-class_function), and dependency management tools (google for pip, easy_install, etc.)

Re: Python at Netflix

#38

Earlier quoted context omitted.

Just curious, why would this be downvoted?

If I had to guess, I would say because GP didn't actually give any real reasons why adding complexity (a new language) would improve or solve a problem. Advocating languages is fine, we all have our pet languages, but it is important to remember they each are just one tool in the toolbox and that what is more important is how the language solves the problem well, instead of just blindly advocating one language over a…

Language comparison are so ridiculously multi-dimensional and my knowledge of Netflix's internal applications are shallow enough I thought specifics would be a waste of time. I see Go in general as a reaction to the overcomplexity of Java/C++ and the performance issues of Python/Ruby. Since Go seems to be popular with people who use Java/Python, and Netflix uses Java/Python, I was curious if Go was on the table. I would hardly call my original post blind advocacy...

Re: Python at Netflix

#39
Python really does hit a sweet-spot for many types of operations. Devops capacity in system scripting, crawling and scraping with excellent web frameworks (Django through to Bottle). On top of all that there are great machine learning libraries as well as good APIs to almost anything not written in Python. My site gets huge amounts of NLP, machine learning and information extraction done in just a few lines because of libraries available in python that aren't in the languages that it's usually compared to.

I've also pretty much replaced bash with the ipython shell at this point, as you can use all of the bash commands anyway and even seamlessly mix them with python, file_list = !ls, it's a excellent environment for data analysis and manipulation.

Re: Python at Netflix

#40
post #31
post #2

As one of the main drivers of Python at Netflix, this one is near and dear to my heart. Let me know if you have any questions, or come visit our booth!

I have to say that after doing a python project I totally don't get why people love it so much. The syntax is slightly cleaner, but the lack of threading, first-class functions and dependency management tools make it waste at least as much time as it saves. I honestly don't believe in the concept of a programming language being able to make code more or less readable. A Java project with a POM file can be up and runn…

It has its share of warts, but doesn't lack any of those things you mention.

Java shines at the huge end, but for most everything else python is a more productive choice as it is so much more concise. Perhaps you are not yet using it optimally?

Post reply on HN