News for hackers. Stuff that matters.
Re:Python Is Eating the World by pbreit on Sunday August 11, 2019 @11:22PM (#20672127)
Considering Python can power the largest web sites (Netflix, Instagram), I don’t understand why there’s so much use of much more complicated platform/languages (eg java, .net)?

Note: I am an amateur which is likely the reason for my ignorance.

Re:Python Is Eating the World by _delirium on Sunday August 11, 2019 @11:34PM (#20672200)
A lot of stuff powered "by Python" is in practice powered by multi-language infrastructures, which can be pretty complex. For example, the Python ecosystem for data science is mostly implemented under the hood in a mix of C, C++, and Fortran, with high-level Python bindings, due to a mixture of legacy reasons and pure Python being too slow. Obviously lots of people still like the end result, but saying this kind of software is in Python is only half the story.
Re:Python Is Eating the World by hyperpallium on Sunday August 11, 2019 @11:58PM (#20672301)
Python is eating the world, just not digesting it.
Re:Python Is Eating the World by hyperpallium on Thursday August 15, 2019 @03:24AM (#20703270)
Python has already eaten the world — it's just not very evenly digested.
Re:Python Is Eating the World by jahewson on Sunday August 11, 2019 @11:55PM (#20672289)
The is true of node.js too. Lots of native modules. Yet the package management experience there is much better.

Anaconda does a reasonable job of fixing this for Python, but as noted, it’s yet another 3rd party solution with some pretty annoying defaults.

Re:Python Is Eating the World by closeparen on Monday August 12, 2019 @01:16AM (#20672631)
- Language design characteristics like static typing and a general lack of support for "magic" can help maintain order in large, long-term, many-contributor codebases.

- The JVM and CLR are both significantly faster and less resource intensive than CPython for a lot of workloads.

- Java and .NET library ecosystems are mature and extensive. Python 2's ecosystem was also mature and extensive, but the community is in the process of throwing it away.

- The real heavy lifting for media transcoding, storage, and serving is certainly not done in Python. Python is acting as orchestration glue for C/C++ programs there, which is a role it does well.

Re:Python Is Eating the World by KptMarchewa on Monday August 12, 2019 @04:48AM (#20673655)
>general lack of support for "magic"

Don't throw this kind of comments when in next line you're mentioning Java, where everything worth using is implemented by reflection fuckery.

Re:Python Is Eating the World by dehrmann on Monday August 12, 2019 @12:19AM (#20672387)
Someone I know made the observation that Python doesn't scale well with code complexity and team size. Statically tyed languages like Java give you a lot of guardrails, and IDEs make it easy to navigate around code, so it's easier for larger teams with larger projects to safely reason about things.
Re:Python Is Eating the World by krapht on Sunday August 11, 2019 @11:31PM (#20672185)
Difficult problems remain difficult no matter what language you use.

Also, there's a real cost to everything being dynamically typed in large systems. Humans can't keep all the program types in their brain, and having the compiler help you out is kind of a big deal.

Re:Python Is Eating the World by pbreit on Monday August 12, 2019 @01:01AM (#20672570)
I would say 90% of software is glorified CRUD. Very little is that complicated. Over-complicated, for sure.
Re:Python Is Eating the World by paxys on Sunday August 11, 2019 @11:25PM (#20672145)
Java and .NET are no more or less "complicated" than Python or PHP or any other language/stack. The most suitable language for any app/service is what the founding team knows very well.
Re:Python Is Eating the World by brightball on Sunday August 11, 2019 @11:30PM (#20672178)
You can do anything in anything. Everything boils down to trade offs for the problem or company at hand.

I can say with Java and .NET shops, it's usually because the company has heavily invested in Java and .NET infrastructure, process, automation, tooling, monitoring, etc. If there are certifications involved, I also know for a fact that Microsoft feeds big discounts on expensive products (SQL Server) depending on how many employees you have with Microsoft Certifications.

It becomes a self feeding system. You're already invested so much in the stack that the choice of using something else is far more complicated than language comparisons. It's one of the reasons that there are so many language options available that run on the JVM that can take advantage of all of that investment without forcing the devs to write raw Java (Groovy, Scala, Clojure, Kotlin, etc).

Re:Python Is Eating the World by RhodesianHunter on Monday August 12, 2019 @02:35AM (#20672974)
It isn't just the company's heavy investment, it is the community's.

The availability of good, tested, performant OSS libraries available in Java is unparalelled.

People talk about languages like Python being "faster" to develop in because they're easier to write. This is true until you need a solid concurrency friendly loading cache or a DB connection pool that works at scale and in Java that's just adding a dependency that you know you can trust.

Re:Python Is Eating the World by brightball on Monday August 12, 2019 @09:28AM (#20675198)
I didn’t expand on it, but that’s what I meant by trade offs for the problem at hand. Agreed.
Re:Python Is Eating the World by adrianN on Monday August 12, 2019 @12:33AM (#20672435)
Python is pretty slow. If you can rewrite your stuff in Java or Go or something else that runs faster you can save half your servers at least. At a certain size that's a lot of money.
Re:Python Is Eating the World by RhodesianHunter on Monday August 12, 2019 @02:37AM (#20672980)
A great deal of Netflix is Java, which is why a great deal of OSS Java libs were written by Netflix.
Re:Python Is Eating the World by chrisseaton on Sunday August 11, 2019 @11:38PM (#20672216)
> I don’t understand why there’s so much use of much more complicated platform/languages (eg java, .net)?

What language is Python implemented in? Is it Python, or something else? This tells you that even the implementors of Python don't think Python is suited for everything.

Re:Python Is Eating the World by zys5945 on Sunday August 11, 2019 @11:44PM (#20672234)
PyPy is a python implementation in python (RPython to be exact)
Re:Python Is Eating the World by joshuamorton on Monday August 12, 2019 @01:53AM (#20672797)
No it doesn't. As someone else mentioned, RPython exists, and in general, bootstrapping is nice, but there are a variety of compelling reasons to not rewrite CPython in python, that have nothing to do with it being "suited" or not.

History, reliability, simplicity, lack-of-value, etc. At this point there's not much to gain by rewriting cpython in python (pleasing some guy on the internet), and quite a lot to lose (simple c-interop) for what would be years of work by a lot of people.

Re:Python Is Eating the World by chrisseaton on Monday August 12, 2019 @04:59AM (#20673701)
It wouldn't have been years of work if they started right after Python was first implemented instead of a big-bang now. For 25 years each time they've implemented a new feature they've chosen C over Python to do it, for reasons of it being better suited, some of which you've listed yourself! Like simple C-interop!

I don't think it's a criticism of Python! I've worked on meta-circular implementations of languages and I don't do it for the sake of it. Not every language is suited for every task.

Re:Python Is Eating the World by joshuamorton on Monday August 12, 2019 @10:54AM (#20675937)
Right, but all of those are historical, not innate, which makes your comment wildly misleading.

If the Python ecosystem weren't c-based, it wouldn't matter. But it is. But that has nothing to do with python the language in a vacuum, and everything to do with choices some guy made 25 years ago.

Re:Python Is Eating the World by rhacker on Monday August 12, 2019 @12:01AM (#20672312)
You typically have to bootstrap your language in a different one. There are some languages that have since gone back and re-wrote the compiler or runtime engine in the same language (in those languages that need a runtime).