Right, you hear a lot of griping about moving from Python 2 to 3 but I personally didn't have as much trouble as expected. Some of my projects just worked. One small tip I don't think they mentioned. Start using the logging module instead of print and it will eliminate one class of potential issues.
Instagram Makes a Smooth Move to Python 3
21–30 of 62 posts
Re: Instagram Makes a Smooth Move to Python 3
#22Earlier quoted context omitted.
And at that scale you can make additional microservices for the critical path where it matters.
Not really. You'll notice a pattern in most tech bigcos where they move from dynamic lang X to a statically typed language that can multithread properly. A few examples: Ruby on rails to java (twitter). Java & c++ (google). Java (linked in). Python/Node -> Java/Go (uber). Or they start doing silly things like make a new VM (facebook).
Re: Instagram Makes a Smooth Move to Python 3
#23Earlier quoted context omitted.
And at that scale you can make additional microservices for the critical path where it matters.
Not really. You'll notice a pattern in most tech bigcos where they move from dynamic lang X to a statically typed language that can multithread properly. A few examples: Ruby on rails to java (twitter). Java & c++ (google). Java (linked in). Python/Node -> Java/Go (uber). Or they start doing silly things like make a new VM (facebook).
Re: Instagram Makes a Smooth Move to Python 3
#24“Yeah, Python is great in so many ways, too bad it’s not really scalable.” I'm not even sure what this means anymore. I guess I'm just not sure how any language, when used correctly, could be inherently unscalable. My guess is statements like this came from a time when monoliths were the application design of choice? Now, assuming Instagram has just 1,000 photo handling servers, each one is only responsible for 95,00…
Almost every language can handle typical performance requirements. But when people say slow or unscalable it's almost always in relation to other languages.
Re: Instagram Makes a Smooth Move to Python 3
#25Earlier quoted context omitted.
And at that scale you can make additional microservices for the critical path where it matters.
Not really. You'll notice a pattern in most tech bigcos where they move from dynamic lang X to a statically typed language that can multithread properly. A few examples: Ruby on rails to java (twitter). Java & c++ (google). Java (linked in). Python/Node -> Java/Go (uber). Or they start doing silly things like make a new VM (facebook).
Re: Instagram Makes a Smooth Move to Python 3
#26types in python 3.5?! I had no idea -- that's exciting.
Note they are type annotations . They are for tooling/development only; the runtime doesn't care about the types at all.
Re: Instagram Makes a Smooth Move to Python 3
#27Re: Instagram Makes a Smooth Move to Python 3
#28“Yeah, Python is great in so many ways, too bad it’s not really scalable.” I'm not even sure what this means anymore. I guess I'm just not sure how any language, when used correctly, could be inherently unscalable. My guess is statements like this came from a time when monoliths were the application design of choice? Now, assuming Instagram has just 1,000 photo handling servers, each one is only responsible for 95,00…
The threading story isn't great. It's not statically typed, which can make working on a large codebase with more people more painful. It also forces you to write more unit testing code coverage to make up for the lack of a static compiler checking things for you. Raw performance is not good compared to golang or java. When you start getting to a certain scale, developers are cheaper than your server costs in some cas…
Re: Instagram Makes a Smooth Move to Python 3
#29Earlier quoted context omitted.
Note they are type annotations . They are for tooling/development only; the runtime doesn't care about the types at all.
That's not entirely true. The information from the type annotations is available at runtime. ApiStar takes advantage of this, for example.