Model Comparison 100% sign agreement
Model Editorial Structural Class Conf SETL Theme
@cf/meta/llama-4-scout-17b-16e-instruct lite 0.00 ND Neutral 0.90 0.00 technology
@cf/meta/llama-3.3-70b-instruct-fp8-fast lite 0.00 ND Neutral 0.90 0.00 no human rights
claude-haiku-4-5-20251001 +0.18 +0.02 Mild positive 0.14 0.17 Freedom of Information & Knowledge Sharing
claude-haiku-4-5 lite 0.00 ND Neutral 1.00 0.00 Programming language history
deepseek/deepseek-v3.2-20251201 +0.18 -0.20 Neutral 0.12 0.24 Free Expression
meta-llama/llama-3.3-70b-instruct:free ND ND
Section @cf/meta/llama-4-scout-17b-16e-instruct lite @cf/meta/llama-3.3-70b-instruct-fp8-fast lite claude-haiku-4-5-20251001 claude-haiku-4-5 lite deepseek/deepseek-v3.2-20251201 meta-llama/llama-3.3-70b-instruct:free
Preamble ND ND 0.03 ND 0.10 ND
Article 1 ND ND ND ND ND ND
Article 2 ND ND ND ND ND ND
Article 3 ND ND ND ND ND ND
Article 4 ND ND ND ND ND ND
Article 5 ND ND ND ND ND ND
Article 6 ND ND 0.15 ND ND ND
Article 7 ND ND ND ND ND ND
Article 8 ND ND ND ND ND ND
Article 9 ND ND ND ND ND ND
Article 10 ND ND ND ND ND ND
Article 11 ND ND ND ND ND ND
Article 12 ND ND ND ND ND ND
Article 13 ND ND ND ND 0.20 ND
Article 14 ND ND ND ND ND ND
Article 15 ND ND ND ND ND ND
Article 16 ND ND ND ND ND ND
Article 17 ND ND 0.12 ND ND ND
Article 18 ND ND ND ND ND ND
Article 19 ND ND 0.27 ND 0.22 ND
Article 20 ND ND 0.12 ND ND ND
Article 21 ND ND 0.06 ND ND ND
Article 22 ND ND ND ND ND ND
Article 23 ND ND 0.12 ND 0.20 ND
Article 24 ND ND ND ND ND ND
Article 25 ND ND ND ND ND ND
Article 26 ND ND 0.06 ND ND ND
Article 27 ND ND ND ND 0.20 ND
Article 28 ND ND 0.09 ND 0.10 ND
Article 29 ND ND ND ND ND ND
Article 30 ND ND ND ND ND ND
+0.18 Python Is Eating the World (www.zdnet.com S:+0.02 )
879 points by gilad 2394 days ago | 957 comments on HN | Mild positive Editorial · v3.7 · 2026-02-28 11:55:17 0
Summary Freedom of Information & Knowledge Sharing Advocates
This ZDNET article is a biographical history of Python's creation and rise to prominence, authored by Nick Heath. While primarily a technology narrative, it implicitly advocates for human rights values—particularly freedom of information and expression through open-source distribution, recognition of individual achievement, and global collaboration. The article celebrates knowledge democratization and the enabling of diverse participation in innovation.
Article Heatmap
Preamble: +0.03 — Preamble P Article 1: ND — Freedom, Equality, Brotherhood Article 1: No Data — Freedom, Equality, Brotherhood 1 Article 2: ND — Non-Discrimination Article 2: No Data — Non-Discrimination 2 Article 3: ND — Life, Liberty, Security Article 3: No Data — Life, Liberty, Security 3 Article 4: ND — No Slavery Article 4: No Data — No Slavery 4 Article 5: ND — No Torture Article 5: No Data — No Torture 5 Article 6: +0.15 — Legal Personhood 6 Article 7: ND — Equality Before Law Article 7: No Data — Equality Before Law 7 Article 8: ND — Right to Remedy Article 8: No Data — Right to Remedy 8 Article 9: ND — No Arbitrary Detention Article 9: No Data — No Arbitrary Detention 9 Article 10: ND — Fair Hearing Article 10: No Data — Fair Hearing 10 Article 11: ND — Presumption of Innocence Article 11: No Data — Presumption of Innocence 11 Article 12: ND — Privacy Article 12: No Data — Privacy 12 Article 13: ND — Freedom of Movement Article 13: No Data — Freedom of Movement 13 Article 14: ND — Asylum Article 14: No Data — Asylum 14 Article 15: ND — Nationality Article 15: No Data — Nationality 15 Article 16: ND — Marriage & Family Article 16: No Data — Marriage & Family 16 Article 17: +0.12 — Property 17 Article 18: ND — Freedom of Thought Article 18: No Data — Freedom of Thought 18 Article 19: +0.27 — Freedom of Expression 19 Article 20: +0.12 — Assembly & Association 20 Article 21: +0.06 — Political Participation 21 Article 22: ND — Social Security Article 22: No Data — Social Security 22 Article 23: +0.12 — Work & Equal Pay 23 Article 24: ND — Rest & Leisure Article 24: No Data — Rest & Leisure 24 Article 25: ND — Standard of Living Article 25: No Data — Standard of Living 25 Article 26: +0.06 — Education 26 Article 27: ND — Cultural Participation Article 27: No Data — Cultural Participation 27 Article 28: +0.09 — Social & International Order 28 Article 29: ND — Duties to Community Article 29: No Data — Duties to Community 29 Article 30: ND — No Destruction of Rights Article 30: No Data — No Destruction of Rights 30
Negative Neutral Positive No Data
Aggregates
Editorial Mean +0.18 Structural Mean +0.02
Weighted Mean +0.12 Unweighted Mean +0.11
Max +0.27 Article 19 Min +0.03 Preamble
Signal 9 No Data 22
Volatility 0.07 (Low)
Negative 0 Channels E: 0.6 S: 0.4
SETL +0.17 Editorial-dominant
FW Ratio 49% 22 facts · 23 inferences
Evidence 14% coverage
6M 3L 22 ND
Theme Radar
Foundation Security Legal Privacy & Movement Personal Expression Economic & Social Cultural Order & Duties Foundation: 0.03 (1 articles) Security: 0.00 (0 articles) Legal: 0.15 (1 articles) Privacy & Movement: 0.00 (0 articles) Personal: 0.12 (1 articles) Expression: 0.15 (3 articles) Economic & Social: 0.12 (1 articles) Cultural: 0.06 (1 articles) Order & Duties: 0.09 (1 articles)
HN Discussion 20 top-level · 30 replies
umvi 2019-08-12 03:13 UTC link
If only its package management were as easy as its syntax...

I wish pip worked the same way as npm: -g flag installs it globally, otherwise it creates a local "python_modules" folder I can delete at any time. And optionally I can save the dependency versioning info to some package.json...

Instead, pip is a nightmarish experience where it fails half the time and I have no idea where anything is being installed to and I'm not sure if I'm supposed to use sudo or not and I'm not sure if I'm supposed to use pip or pip3, etc.

emersonrsantos 2019-08-12 03:18 UTC link
Definitely EVE Online's MMO secret weapon is Python: https://www.eveonline.com/article/stackless-python-2.7 - as well as its numerous ecosystem utilities like Pyfa, Evernus, used by tens of thousands per day.
pbreit 2019-08-12 03:22 UTC link
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.

ssivark 2019-08-12 03:34 UTC link
Python's success is richly deserved. The fact that it has been a long time coming (Python is almost 30 years old!) is an indication of the amount of sheer effort involved, and should give heart for all those working on building up the next generation of languages.

Since this forum is likely to have some folks looking towards the future, I found interesting a couple of talks by Python veteran Armin Ronacher [1, 2]. Watching that presentation makes me wonder whether I should think of this in the context of "Worse is better". That said, Python's runtime introspection is such a killer feature that it's difficult to explain how empowering it feels for someone who is relatively new to programming.

[1]: How Python was Shaped by leaky Internals -- https://www.youtube.com/watch?v=qCGofLIzX6g

[2]: A Python for Future Generations -- https://www.youtube.com/watch?v=IeSu_odkI5I

blaisio 2019-08-12 03:34 UTC link
Python has a lot of problems that really slow down development, but they are all fixable.

The biggest issue, in my opinion, is in dependency management. Python has a horrible dependency management system, from top-to-bottom.

Why do I need to make a "virtual environment" to have separate dependencies, and then source it my shell?

Why do I need to manually add version numbers to a file?

Why isn't there any builtin way to automatically define a lock file (currently, most Python projects just don't even specify indirect dependency versions, many Python developers probably don't even realize this is an issue!!!!!)?

Why can't I parallelize dependency installation?

Why isn't there a builtin way to create a redistributable executable with all my dependencies?

Why do I need to have fresh copies of my dependencies, even if they are the same versions, in each virtual environment?

There is so much chaos, I've seen very few projects that actually have reproducible builds. Most people just cross their fingers and hope dependencies don't change, and they just "deal with" the horrible kludge that is a virtual environment.

We need official support for a modern package management system, from the Python org itself. Third party solutions don't cut it, because they just end up being incompatible with each other.

Example: if the Python interpreter knew just a little bit about dependencies, it could pull in the correct version from a global cache - no need to reinstall the same module over and over again, just use the shared copy. Imagine how many CPU cycles would be saved. No more need for special wrapper tools like "tox".

mantap 2019-08-12 04:06 UTC link
In general JavaScript is eating the world.

Python still dominates in numerical computing and JavaScript hasn't been able to make a single dent. Because nobody wants to write

    a.mul(k).add(b)
rather than

    k * a + b
or

    a.set([i,j], b)
rather than

    a[i,j] = b
JavaScript's lack of operator overloading is keeping Python alive.

Python also has integers that feel part of the language, rather than being segregated from normal numbers in case anybody uses integers by accident.

brainless 2019-08-12 04:10 UTC link
Remember NOT to jump into Python for your new product if don't know Python. If you are developing for a young startup, have time crunch, then stick to what you know.

IF you do not have a language, or know Python a bit, then pick Python. Here are some of the reasons why I stick to Python (young startup/web APIs):

  - OOPs is not too strict (might give a headache to some folks)
  - Mixins, lambda, decorators, comprehensions - Pythonic ways make me feel productive easily
  - Create a data Model, drop into a shell, import and try things
  - Can do that on a live server
  - Do the same with Controllers, or anything else actually
  - really nothing fancy needed
  - Command line processing, SSH, OS integration, etc. has so many great libs
  - Python Dict someone looks like JSON (this is purely accidental but useful)
  - Debugger support even in free IDE like PyCharm Community Ed is great
  - Integration to a world of services is so easy, even ones you do not commonly see
  - Documentation - many libs have consistent structure and that helps a LOT
  - Really large community, perhaps only smaller than Java
  - The even larger group of people using Python in all sorts of domains from Biotech to OS scripts
What I would like improved in the language would be an even longer list. Every language has a list like that, but when you are focused on being scrappy and building a product, yet making sure that software quality does not take a big hit, Python helps a lot.
dehrmann 2019-08-12 04:20 UTC link
There ware a time when I wondered if I should learn Ruby or Python. These days, unless I'm going to be a Rails dev, hands-down Python.
KirinDave 2019-08-12 04:32 UTC link
Reading this got me thinking and I wonder if other people feel like me about this, so I'm going to share it. This is not serious, but not entirely unserious...

I try to be a good sport about it, but every time I write python I want to quit software engineering. It makes me angry how little it values my time. It does little for my soured disposition that folks then vehemently lecture me about the hours saved by future barely-trained developers who will ostensibly have to come and work with my code. Every moment working with python (and that infernal pep-8 linter insisting 80 characters is a sensible standard in 2019) increases my burnout by 100x.

I try to remind myself that we're trying to make the industry less exclusive and more welcoming to new developers and "old" isn't necessarily "good" (in fact, probably the opposite), but damn I just don't understand it.

It used to be that I could focus on other languages (Erlang, Nemerle, F#, Haskell, Ocaml, even C++) and sort of balm myself. But now, I can't even overcome the sinking feeling as I read the Julia statistics book that I'm going to be dragged back to Python kicking and screaming in the morning, so why even bother?

And frustratingly: it's one of the few languages with decent linear algebra libraries. And that means it's one of the few languages with good ML and statistics support. So it's very hard not to use it because when you want to cobble together something like a Bayesian model things like PyMC or Edward actually give you performance that's obnoxiously difficult to reproduce.

This is what the industry wants and evidently a lot of people are okay with it, but to me it's misery and I can't work out why people seem to like it so much.

simula67 2019-08-12 04:33 UTC link
In my opinion, the biggest problem facing Python is still concurrency. The mitigation efforts still look to me like Perl's 'bolted on' implementation of object orientation. Python should have gotten rid of the GIL during the 2 to 3 transition. It may have also been an opportune moment to introduce optional typing and maybe even optional manual memory management, making it useful to develop almost all kinds of software. Write a WASM backend and it could have even been used for front end development.
RcouF1uZ4gsC 2019-08-12 04:49 UTC link
Python is not eating the world so much as becoming the new Excel. It has a pretty easy learning curve for people who are not programmers. It has pretty good built in tooling. A domain expert, who is not a programmer, can put together pretty impressive models and visualizations relatively quickly.

However, like with Excel, there are serious issues regarding reproducibility, performance, and long term maintenance.

DonHopkins 2019-08-12 05:32 UTC link
It's so refreshing to not see anyone here whining about Python forcing them to indent their code properly. The kind of people who think that's a PROBLEM instead of a FEATURE really should not be ever writing any new code, and instead should be punished by forcing them to maintain other people's code written with that same lazy misguided attitude, until they recognize how self indulgent, inconsiderate, and disrespectful that is not just to other people who have to read their code, but also to themselves.

The same kind of people criticize Lisp for having too many parenthesis, then go on to write unintelligible shell scripts, Perl and C++ code chock full of skewbald menageries of sigils and punctuation bound together with a towering inferno of precedence rules, terribly worse than Lisp's "too many parenthesis".

randomsearch 2019-08-12 06:52 UTC link
According to people who work with a lot of programmes teaching coding, the reason python is so appealing to new coders is the syntax. Particularly the lack of braces, the indents, the nice keywords, that make reading code much easier to a newcomer.

Having taught both python and JavaScript, I can tell you that the former is far far less confusing to newcomers than the latter. Imagine explaining the problem with equality comparison or prototypes in JS to someone who just learnt what an IF statement is.

The reason I agree that python will dominate programming for decades to come is the batteries included and pythonic approach that enables people to do cool things with just a few lines of code. As a result of the above, the ecosystem has reached critical mass. For most tasks there’s a library that does that, and it’s good, and it’s easy to use, and the developer of the library usually doesn’t expect you to understand their opinionated philosophy to use it.

I love the python convention of putting a minimal example on the homepage of a library.

You’re not going to get your average developer to appreciate the beauty of Lisp or the value of static typing. They want their ML to work, or their graphics to display, that’s all. Ends not means, almost entirely, for most people who aren’t full-time programmers.

Let’s not hate on a language that opens up programming to the world, unless we want to be gatekeepers. If you want to maintain an air of superiority, just learn Lisp or Haskell or C++ and write code that’s “deeper” into the tech labyrinth. Programming will probably specialise into “end user programming” and “Service and system programmers”. Embrace the democratisation of coding.

mixmastamyk 2019-08-12 07:07 UTC link
One thing very interesting about Python is how gradual the ride up has been. Perl dominated then sputtered. Java shot up and hit the ceiling. C# is mostly limited to Windows, JavaScript mostly to the web. Ruby stole the spotlight for a few years and then faltered mysteriously. Others found their niche. But Python just keeps chugging along slowly gaining ground almost everywhere like a tortoise to multiple hyped-up hares.
xxxpupugo 2019-08-12 07:12 UTC link
The part that Python really bothers me, as someone who had write Python for almost 10 years, and right now doing it professionally, though personally I don't consider myself a Python developer rather than a Python senior user, is actually obvious to nail down, and frustratingly, difficult to handle.

SLOW. The sin of all. I don't want to make other arguments with people who just come to repeat 'Oh you can make it fast, you are doing it the wrong way'. Sorry, I have heard that 100 times, now is sounds like bug-as-feature excuse to me.

Sorry, but Python is just slow. All the stuff people might bring up is just trying everything to bypass Python itself. Multiprocessing is hell to work with, buggy and unpredictable. Cython is OK but it is not Python.

Python's slowness is like cancer, and terminally so. Down deep, it is because its overtly flexible/loose type system, the never-going-away GIL, and prematurely exposing of C-API makes it almost impossible to optimize without breaking the existing compatibility.

And most importantly, I don't think it is solvable, truth is the patches are so integrated, people already forget what problem they tried to fix in the first place and just live with it.

But it will haunt Python in long term though, people will be struggling with Python in performant production until they start reimagining a world that without Python. Maybe a better Python in that sense.

Agentlien 2019-08-12 07:52 UTC link
What stood out to me, reading the comments, is how among the first few comments I read there were 4 comments from people with decades of experience writing python professionally. Each stating their dislike for the language and citing entirely different parts of the language as its biggest problem.

Personally, I'm primarily a C++ programmer with about a decade of professional experience in C++. I also used to do daily work in C# for a few years. For me, python is a language which I use for making simple command line tools, for processing input and clobbering together different tools. I use it to build interfaces which streamline certain workflows. Essentially, I use it as a more powerful replacement for bash or batch. For that purpose, I find that the language works wonders and is quick and easy to work with.

lucb1e 2019-08-12 08:22 UTC link
For what it's worth, I have none of the issues the currently top voted comments describe. Dependency hell (apt does that for me), closer to burnout any time I work with it, would rather work with C++ (a language with a completely different purpose)? If the author of the article had written this, people would fall over themselves to say how wrong they are. Nearly everyone who tried Python loves it. From this thread you'd think we're talking about Visual Basic for Applications.

There is a reason Python is one of the most popular languages. PHP was popular because it's quick and dirty, but Python is popular because people love working with it. The arguments in this thread are beyond me. (They're also unsubstantiated, but if I ask for substantiation I'm sure someone can rationalize some reasons to dislike any language, so that's pointless.)

Ensorceled 2019-08-12 10:20 UTC link
Holy Crap! What a lot of irrational, hyperbolic hate for Python.

I think everybody should spend their first couple of years working in Fortran IV on IBM TSO/ISPF. No dependency management because you had to write everything yourself. Or maybe [edit: early 90's] C or C++ development where dependency management meant getting packages off a Usenet archive, uudecoding and compiling them yourself after tweaking the configure script.

I'm not saying Python is perfect, but if it's causing your burnout/destroying your love of programming/ruining software development you seriously need some perspective.

sunaurus 2019-08-12 11:12 UTC link
Am I correct when I assume that most of the people hating on Python here are using it for medium or big projects?

I feel like the dev community figured this out ages ago: Statically typed languages are easier to read, harder to write, dynamically typed languages are easier to write, harder to read (and also harder to refactor).

For small projects (scripts, prototypes, etc), you don't care about readability, you just want it to be as easy to write as possible. Python really shines here.

For bigger projects, using Python is painful, but that's also the case with pretty much any other dynamic language..

blumomo 2019-08-12 12:52 UTC link
Reading all the comments here I have the impression that there are 2 groups of programmers:

There's one group that uses Python regularly and which is getting their stuff done right now.

And there is the other group which has time to complain about Python.

sametmax 2019-08-12 03:22 UTC link
Use virtualenv. Always.

Python 3 comes with it as "python -m venv". Once in the virtualenv, you don't have to worry about the various pip forms and effects, you can just pio install.

You can get fancier than that of course, but that's what works with stock python, on all OS.

geofft 2019-08-12 03:22 UTC link
Here's a simple but less-than-completely-documented way to keep Python package management under control:

1. Don't install anything globally. Don't pip install --user, definitely don't sudo pip install.

2. For each project you want to work on, create a venv. Yes, there are tools for this, but the base venv tool is totally fine. (venv should be included in your Python, but a few distributors like Debian put it in a separate package - install it from them if needed.) Use python3 -m venv ~/some/directory to create a venv. From here on out

3. As a first step, upgrade pip: ~/some/directory/bin/pip install -U pip.

4. Install things with ~/some/directory/bin/pip install.

5. Run Python with ~/some/directory/bin/python.

Slightly advanced move: make a requirements.txt file (you can use .../bin/pip freeze as a starting point) and use .../pip install -r requirements.txt. That way, if you get any sort of package resolution error, you can just delete your venv and make a new one. (Downloads are cached, so this isn't super annoying to do.)

A "project" can either be actual Python development, or just a place to install some Python programs and run them out of the resulting bin/.

(Edit: Yes, I know about activate, see the replies below for why I don't recommend it. With these rules, you get to say "Never ever type pip, only .../bin/pip", which is a good safety measure.)

paxys 2019-08-12 03:25 UTC link
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.
krapht 2019-08-12 03:31 UTC link
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.

krapht 2019-08-12 03:34 UTC link
I would not use Eve-Online as an example of performance.

Once it gets to a few thousand concurrent users they have to drastically slow down the server tick rate. It's like playing a turn-based strategy game at that point.

*Disclaimer: I quit Eve awhile ago.

hardwaregeek 2019-08-12 03:34 UTC link
Exactly. NPM gets a lot of hate but lockfiles and local install by default is great. The default mode should not be global installation. Also imo virtual environments aren't amazing. Having some mode you have to remember to flip on that changes essentially the semantics of your pip commands seems a little brittle. Tools that work on top of pip and venv like Pipenv or Poetry seem a lot better.
_delirium 2019-08-12 03:34 UTC link
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.
vonseel 2019-08-12 03:34 UTC link
Meanwhile, all the python developers who have started doing any Js work are saying “I wish npm worked as easy as pip/virtualenv”...

It really isn’t that difficult, it’s just different. Different always seems wrong, at first.

astonex 2019-08-12 03:44 UTC link
>Most people just cross their fingers and hope dependencies don't change

Is there anything wrong with pip freeze > requirements.txt and then pip install -r requirements.txt ? This would install the exact versions

j88439h84 2019-08-12 04:05 UTC link
The solution to this is Poetry. https://poetry.eustace.io

It's good. Projects should use it.

j88439h84 2019-08-12 04:05 UTC link
Just use Poetry. https://poetry.eustace.io
dehrmann 2019-08-12 04:19 UTC link
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.
ChrisRackauckas 2019-08-12 04:20 UTC link
Python's dependency hell is what made me first look at Julia. I develop on Windows (someone has to :) ), and it was just impossible to get all of the numerical libraries like pydstool, scipy, FEniCS, Daedalus, etc. playing nicely together... so I gave Julia a try. And now the only time I have issues getting a package to run are Julia packages which have a Python dependency. Python is a good language, but having everything in one language and binary-free is just a blessing for getting code to run on someone else's computer.
mkl 2019-08-12 04:40 UTC link
It seems to value my time quite highly, as I can achieve most things more quickly and easily in Python than any other language I know.

Can you be more specific about how it increases your burnout? Is it the language, or someone forcing you to use that linter and settings?

l0b0 2019-08-12 04:46 UTC link
Re. linting, I'd highly recommend Black with whatever line length you want - it'll reliably reformat your code, and once you lose the urge to reformat while typing it's fantastic. It's like deleting a bunch of useless mental code. And the code reviews are even better: include a linting step (ideally with isort) in CI and you can avoid 95% of formatting comments.
jnwatson 2019-08-12 04:55 UTC link
The 2 to 3 transition was already too difficult.

It now has optional typing.

medecau 2019-08-12 05:01 UTC link
> JavaScript's lack of operator overloading is keeping Python alive.

right...

- https://www.scipy.org/

- https://news.ycombinator.com/item?id=20661311

mark_l_watson 2019-08-12 05:01 UTC link
TensorFlow.js is actually very nice to work with: it seems to be well supported and comes with many quality examples.
medecau 2019-08-12 05:09 UTC link
One who writes a program is a programmer irrespective of being a domain expert or not.

If you write code in Excel you are an Excel programmer.

closeparen 2019-08-12 05:16 UTC link
- 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.

burlesona 2019-08-12 05:25 UTC link
Ruby is a nicer language for general scripting, ie “better bash,” as that’s what it was originally designed for. It’s also a bit faster, and has a vastly better / simpler package management system.

Python does have great scientific / math libraries, and is worth knowing.

One nice thing is the two languages are so similar that it’s pretty easy to switch between them and use whichever fits the bill.

sien 2019-08-12 05:34 UTC link
Now there is Julia that has concurrency.

Julia, because it's much newer also seems to have dependency management built in as well.

Surely a lot of people who write numerical software are going to either look at or switch to Julia for these reasons.

hyperion2010 2019-08-12 05:36 UTC link
I am about to hit a decade of python experience. I work with it daily, all my major codebases are written in it.

I hate it.

It has an ok object system which is possibly its only redeeming quality. I found Racket about 4 years ago, and any new project that I work on will be in Racket or CL.

I could go on at length about the happy path mentality of python and the apologists who are too ignorant of other people's use cases to acknowledge that maybe there might be some shortcomings.

The syntactic affordances are awful and you can footgun yourself in stupidily simple ways when refactoring code between scopes. Python isn't really one language it is more like 4, one for each scope and type of assignment or argument passing, and all the sytactic sugar just makes it worse.

Not to mention that packaging is still braindead. I actually learned the Gentoo ebuild system because pip was so unspeakably awful the moment you stepped away from the happy path.

Blub blub blub, someone help I'm drowning in mediocrity.

kazinator 2019-08-12 05:44 UTC link
The best, brightest and most informed/experienced people who do not think it is a good idea for significant whitepace to be the determiner of syntactic nesting do not hold that position because they would like to inflict badly formatted code on their maintainers. You've invented a stupendously silly strawman.
autokad 2019-08-12 06:12 UTC link
Disclaimer, I am a data scientist

I feel the complete opposite. I really enjoy working with python over any other language. R does linear models and time series better and matlab has its charm, but overall I prefer python. Python is so easy to read and quick to program in. I am so glad I am not in the Java/C++ world anymore, but I know people in different roles have to deal with different issues.

kccqzy 2019-08-12 06:13 UTC link
There was a time (more than a decade ago) when I wondered if I should learn Perl or Python. Unfortunately I picked Perl, subsequently forgot it and learned Python instead.
jes5199 2019-08-12 06:37 UTC link
I was a Ruby programmer for a long time, but I think the world has moved on. Nowadays, I want a language with some type checking, and Ruby is extremely hostile to any kind of static analysis. Rails was pretty exciting as a replacement for how we built websites in the perl/php era, but now that React has taken over, Rails feels weirdly bloated. I would probably choose Typescript for basically everything now.
boyobo 2019-08-12 06:56 UTC link
I am a novice programmer who started with python and have recently been using javascript, where I use auto-indent-on-save.

Coming back to python is annoying because it's harder to make sure code is at the right indent level than to use { }.

In fact writing this comment inspired me to find this: https://github.com/mathialo/bython

langitbiru 2019-08-12 07:06 UTC link
Yes, Yes, Yes. I remember when I translated Bitcoin Python code to JavaScript, I was frustrated. Operator overloading is not available in JavaScript. By default JavaScript only supports 32 bit number. You have to use BigInt or use 3rd party library like big-integer. There is no default support for module exponentiation. And many more.
reallydontask 2019-08-12 07:23 UTC link
> Particularly the lack of braces

Since most of my professional experience is with C like syntax languages, I don't get how the lack of braces is an advantages, quite the opposite in my limited experience with Python.

Braces define scope unequivocally, they are easy to visually parse and don't care whether you are using tabs or spaces or even if you, loud gasp, mix them. Furthermore, you can copy and paste, say for loop from a method to another method and it will work. In Python you might have to faff about with spaces (I'm sure there must be IDEs that solve this problem but it was no fun on vim or even notepad++)

Editorial Channel
What the content says
+0.35
Article 19 Freedom of Expression
Medium Advocacy Framing Practice
Editorial
+0.35
SETL
+0.26

Article advocates strongly for freedom of information and expression through open-source knowledge distribution. Celebrates Python's release via newsgroup and global dissemination: 'easier to distribute Python without a suitcase full of tapes.' Frames open access as enabling innovation.

+0.25
Article 6 Legal Personhood
Medium Advocacy
Editorial
+0.25
SETL
+0.25

Article extensively recognizes van Rossum's personhood, agency, and individual achievement. Biographical narrative, direct quotes, and photo documentation affirm his right to recognition and identity.

+0.20
Article 17 Property
Medium Advocacy Framing
Editorial
+0.20
SETL
+0.20

Article frames open-source intellectual property rights positively. It celebrates Python released 'under what was pretty much an open-source licence, six years before the term was first coined,' treating shared knowledge as an advancement.

+0.20
Article 20 Assembly & Association
Medium Advocacy
Editorial
+0.20
SETL
+0.20

Article celebrates freedom of assembly and association through Python community building. Highlights 'first-ever workshop for the newly-created Python programming language' (1994) and van Rossum's reflection: 'interacting with the fledgling Python community that came into existence. That felt like a big deal.'

+0.20
Article 23 Work & Equal Pay
Medium Advocacy Framing
Editorial
+0.20
SETL
+0.20

Article celebrates meaningful work and choice in employment. Van Rossum: 'Programming is fun for me...I just really enjoyed the idea of starting a big project on my own, of laying out the code I wanted to lay out and designing it the way I wanted.' Frames work as fulfillment and creative choice.

+0.15
Article 28 Social & International Order
Medium Advocacy
Editorial
+0.15
SETL
+0.15

Article celebrates global cooperation and international order. Python described as enabling worldwide collaboration: 'Millions of people use Python each day' globally. Highlights international organizations: Netflix (100M+ homes), Instagram, NASA, and collaborative science (black hole imaging).

+0.10
Article 21 Political Participation
Low Advocacy
Editorial
+0.10
SETL
+0.10

Article mentions 'In 2001, the year the Python Software Foundation was established,' implying participatory governance through self-directed community institution.

+0.10
Article 26 Education
Low Advocacy
Editorial
+0.10
SETL
+0.10

Article implicitly supports education through emphasis on Python's accessibility and clarity. 'Professional and amateur developers' use Python, indicating democratized access to knowledge and skills.

+0.05
Preamble Preamble
Low Advocacy
Editorial
+0.05
SETL
+0.05

Article implicitly celebrates human achievement and individual creative potential through Guido van Rossum's story. The narrative frames personal initiative and innovation as valuable contributions to human progress.

ND
Article 1 Freedom, Equality, Brotherhood

No substantive engagement with equality or non-discrimination principles.

ND
Article 2 Non-Discrimination

Article does not address non-discrimination.

ND
Article 3 Life, Liberty, Security

Article does not address life, liberty, or security of person.

ND
Article 4 No Slavery

Article does not address slavery or servitude.

ND
Article 5 No Torture

Article does not address torture or cruel treatment.

ND
Article 7 Equality Before Law

Article does not address equality before law.

ND
Article 8 Right to Remedy

Article does not address remedies for rights violations.

ND
Article 9 No Arbitrary Detention

Article does not address arbitrary arrest or detention.

ND
Article 10 Fair Hearing

Article does not address fair trial or due process.

ND
Article 11 Presumption of Innocence

Article does not address presumption of innocence.

ND
Article 12 Privacy

Article does not address privacy rights.

ND
Article 13 Freedom of Movement

Article does not address freedom of movement.

ND
Article 14 Asylum

Article does not address right to asylum.

ND
Article 15 Nationality

Van Rossum's Dutch nationality mentioned contextually but no engagement with nationality rights.

ND
Article 16 Marriage & Family

Article does not address marriage or family rights.

ND
Article 18 Freedom of Thought

Article does not address freedom of thought or conscience.

ND
Article 22 Social Security

Article does not address social security or welfare.

ND
Article 24 Rest & Leisure

Work-life balance mentioned tangentially but not substantively engaged.

ND
Article 25 Standard of Living

Article does not address standard of living.

ND
Article 27 Cultural Participation

Article does not substantively address cultural participation or scientific benefits.

ND
Article 29 Duties to Community

Article does not address community duties.

ND
Article 30 No Destruction of Rights

Article does not address limitation or destruction of rights.

Structural Channel
What the site does
+0.15
Article 19 Freedom of Expression
Medium Advocacy Framing Practice
Structural
+0.15
Context Modifier
ND
SETL
+0.26

Page provides free public access without paywall. Professional journalism with byline (Nick Heath, Contributor) and publication date supports transparency and credible information distribution.

0.00
Preamble Preamble
Low Advocacy
Structural
0.00
Context Modifier
ND
SETL
+0.05

Website provides standard public access.

0.00
Article 6 Legal Personhood
Medium Advocacy
Structural
0.00
Context Modifier
ND
SETL
+0.25

No relevant structural signals.

0.00
Article 17 Property
Medium Advocacy Framing
Structural
0.00
Context Modifier
ND
SETL
+0.20

No relevant structural signals.

0.00
Article 20 Assembly & Association
Medium Advocacy
Structural
0.00
Context Modifier
ND
SETL
+0.20

No relevant structural signals.

0.00
Article 21 Political Participation
Low Advocacy
Structural
0.00
Context Modifier
ND
SETL
+0.10

No relevant structural signals.

0.00
Article 23 Work & Equal Pay
Medium Advocacy Framing
Structural
0.00
Context Modifier
ND
SETL
+0.20

No relevant structural signals.

0.00
Article 26 Education
Low Advocacy
Structural
0.00
Context Modifier
ND
SETL
+0.10

No relevant structural signals.

0.00
Article 28 Social & International Order
Medium Advocacy
Structural
0.00
Context Modifier
ND
SETL
+0.15

No relevant structural signals.

ND
Article 1 Freedom, Equality, Brotherhood

No relevant structural signals.

ND
Article 2 Non-Discrimination

No relevant structural signals.

ND
Article 3 Life, Liberty, Security

No relevant structural signals.

ND
Article 4 No Slavery

No relevant structural signals.

ND
Article 5 No Torture

No relevant structural signals.

ND
Article 7 Equality Before Law

No relevant structural signals.

ND
Article 8 Right to Remedy

No relevant structural signals.

ND
Article 9 No Arbitrary Detention

No relevant structural signals.

ND
Article 10 Fair Hearing

No relevant structural signals.

ND
Article 11 Presumption of Innocence

No relevant structural signals.

ND
Article 12 Privacy

Website uses standard ad tracking and analytics, typical for commercial publishers.

ND
Article 13 Freedom of Movement

No relevant structural signals.

ND
Article 14 Asylum

No relevant structural signals.

ND
Article 15 Nationality

No relevant structural signals.

ND
Article 16 Marriage & Family

No relevant structural signals.

ND
Article 18 Freedom of Thought

No relevant structural signals.

ND
Article 22 Social Security

No relevant structural signals.

ND
Article 24 Rest & Leisure

No relevant structural signals.

ND
Article 25 Standard of Living

No relevant structural signals.

ND
Article 27 Cultural Participation

No relevant structural signals.

ND
Article 29 Duties to Community

No relevant structural signals.

ND
Article 30 No Destruction of Rights

No relevant structural signals.

Supplementary Signals
How this content communicates, beyond directional lean. Learn more
Epistemic Quality
How well-sourced and evidence-based is this content?
0.67 medium claims
Sources
0.8
Evidence
0.6
Uncertainty
0.5
Purpose
0.8
Propaganda Flags
1 manipulative rhetoric technique found
1 techniques detected
exaggeration
Headline uses 'eating the world' and 'hottest programming language on the planet'—hyperbolic framing of Python's popularity.
Emotional Tone
Emotional character: positive/negative, intensity, authority
celebratory
Valence
+0.6
Arousal
0.5
Dominance
0.5
Transparency
Does the content identify its author and disclose interests?
0.70
✓ Author
More signals: context, framing & audience
Solution Orientation
Does this content offer solutions or only describe problems?
0.44 mixed
Reader Agency
0.4
Stakeholder Voice
Whose perspectives are represented in this content?
0.65 4 perspectives
Speaks: individualsinstitution
About: developersorganizationscorporations
Temporal Framing
Is this content looking backward, at the present, or forward?
mixed historical
Geographic Scope
What geographic area does this content cover?
global
Netherlands, United States
Complexity
How accessible is this content to a general audience?
accessible medium jargon general
Longitudinal · 7 evals
+1 0 −1 HN
Audit Trail 27 entries
2026-02-28 12:25 eval_success Lite evaluated: Neutral (0.00) - -
2026-02-28 12:25 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
reasoning
ED, neutral tech article
2026-02-28 12:25 rater_validation_warn Lite validation warnings for model llama-4-scout-wai: 0W 1R - -
2026-02-28 12:19 eval_success Lite evaluated: Neutral (0.00) - -
2026-02-28 12:19 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral)
reasoning
ED, neutral tech article
2026-02-28 12:19 rater_validation_warn Lite validation warnings for model llama-4-scout-wai: 0W 1R - -
2026-02-28 12:17 eval_success Lite evaluated: Neutral (0.00) - -
2026-02-28 12:17 rater_validation_warn Lite validation warnings for model llama-3.3-70b-wai: 0W 1R - -
2026-02-28 12:17 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral)
reasoning
tech article no rights stance
2026-02-28 11:55 eval Evaluated by claude-haiku-4-5-20251001: +0.12 (Mild positive) +0.02
2026-02-28 09:33 eval Evaluated by claude-haiku-4-5-20251001: +0.10 (Mild positive)
2026-02-28 02:22 eval Evaluated by claude-haiku-4-5: 0.00 (Neutral)
2026-02-26 23:05 eval_success Evaluated: Neutral (0.00) - -
2026-02-26 23:05 eval Evaluated by deepseek-v3.2: +0.00 (Neutral) 13,274 tokens
2026-02-26 23:05 rater_validation_warn Validation warnings for model deepseek-v3.2: 0W 54R - -
2026-02-26 22:08 rater_auto_disable Model llama-4-scout-wai auto-disabled: 5 consecutive parse failures - -
2026-02-26 22:08 rater_validation_fail Validation failed for model llama-4-scout-wai - -
2026-02-26 20:01 dlq Dead-lettered after 1 attempts: Python Is Eating the World - -
2026-02-26 20:01 dlq Dead-lettered after 1 attempts: Python Is Eating the World - -
2026-02-26 20:01 eval_failure Evaluation failed: Error: Unknown model in registry: llama-4-scout-wai - -
2026-02-26 20:01 eval_failure Evaluation failed: Error: Unknown model in registry: llama-4-scout-wai - -
2026-02-26 19:59 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 19:59 dlq Dead-lettered after 1 attempts: Python Is Eating the World - -
2026-02-26 19:59 eval_failure Evaluation failed: Error: Unknown model in registry: llama-4-scout-wai - -
2026-02-26 19:59 eval_failure Evaluation failed: Error: Unknown model in registry: llama-4-scout-wai - -
2026-02-26 19:58 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 19:57 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -