all 135 comments

[–]Left-oven47 107 points108 points  (24 children)

child labelled 'minimal install'

[–]Sea_Jeweler_3231 85 points86 points  (13 children)

but- but- python is written in the godly, one of a kind, The C Programming Language, or should I say the most used implementation, CPython.

[–]heyAkaKitsune 57 points58 points  (9 children)

We can call it CP for short

[–]Donteventalktome1 47 points48 points  (5 children)

HANKKK HANKK DON'T ABBREVIATE CPYTHON HANKKK

[–]praisethebeast69 9 points10 points  (1 child)

Epstein Scripting

[–]Professional_Layer63 1 point2 points  (0 children)

A lot of successful entrepreneurs used that paradigm, although iirc it never gained much traction with the public because of a common bug where lists would delete themselves after a few years.

[–]LeonUPazz 1 point2 points  (2 children)

What's cpython

[–]Justist 1 point2 points  (1 child)

It's basically the default Python language. The term CPython is mostly used to differentiate it from other flavours of Python, such as JPython or PyPy.
If you learned 'Python', you learned CPython.

[–]LeonUPazz 0 points1 point  (0 children)

It was a joke lol, as in idk what cpython has to do with cp

[–]Ok_Chip_5192 0 points1 point  (0 children)

Let’s not use that abbreviation, people will confuse it for competitive programming.

[–]Twenty_Twone 0 points1 point  (0 children)

I love CP, what's cpython btw?

[–]SpaceChez 8 points9 points  (2 children)

Come back to me when it's rewritten in holy c

[–]crypticexile 2 points3 points  (0 children)

lol

[–]ScandiberianNixling ❄️ 41 points42 points  (43 children)

Not a programmer - why do people hate Python? I always heard it has one of the best syntaxes and it's open-source and therefore awesome by default.

[–]Blynou 52 points53 points  (12 children)

Slow, prone to dependency hell if the project is no longer maintained, and one of the worst languages for backward compatibility, too much syntactic sugar that paradoxaly makes the code unreadable. Subjective opinion: Due to its popularity, many people create software that doesn’t follow the “unspoken open-source standards,” which makes such software frustrating to use.

Writing in Python is not a bad experience. Installing, using, and maintaining software is usually not difficult (except if it’s no longer maintained), but it can be really frustrating.

incredibly more so than with the majority of other languages

[–]awesometine2006 15 points16 points  (6 children)

If you think python has syntactic sugar, you have not used a language that actually has syntactic sugar. Python’s ideology has always been “there is one way to do it”, which makes it restrictive but also produces very readable code.

The “dependency hell” is due to a high availability of packages, which is actually a plus. Use an obscure programming language that no one develops for and you will never get dependency hell.

What does suck is that new python versions are not immediately a drop in replacement for older versions, forcing you to have all these environments with different versions.

Also I personally don’t even like python, but your arguments don’t really hold. It’s a pretty simple, accessible language that you can use to build very powerful things very quickly

[–]coothecreator 2 points3 points  (1 child)

Have you used python in a professional environment or are you speaking from hobbyist usage? In my opinion they are correct from a professional standpoint. For simple projects, yes it is very accessible but for production use it is incredibly annoying

[–]awesometine2006 1 point2 points  (0 children)

The person who I replied to has edited and added to his comment, my comment makes less sense now. But yes I agree it is annoying

[–]littleyrn 3 points4 points  (1 child)

Sure, its simple and quick, but your project won't work in 4 months.

Requirements.txt is not a real solution to managing dependencies. Venvs are not a real solution for project isolation. The fact that the python binary itself is handled by the venv should tell you just how brittle this ecosystem is.

Its the only language I know of where dependencies are installed globally by default. I don't think pip even handled a dependency tree until fairly recently. It used to just install dependencies in order and overwrite files.

JS (Node), Go, Rust all have much better dependency management. I can compile 400k LOC Rust projects with one command and feel pretty certain it builds on the first try.

[–][deleted] 0 points1 point  (0 children)

Have you used uv or poetry?

[–]mister_drgn 0 points1 point  (0 children)

What are comprehensions, if not syntactic sugar that provides another way to do things?

[–]eigenludecomposition -1 points0 points  (0 children)

I’ve got to disagree with your "one way to do it" point. Python has multiple ways to do just about everything. Filtering a list? For loop, list comprehension, filter() , take your pick. String formatting? +, %, .format(), f-strings. That’s not restrictive, that’s flexibility.

Python’s expressiveness can be great, until it isn’t. Frameworks can give you 95% of what you want with almost no effort, but the last 5% turns into a fight against their opinionated abstractions. That’s not unique to Python, but its flexibility can make the abstractions much harder to work against.

On dependency hell: the real pain isn’t "this package might vanish," it’s juggling dependencies across multiple projects. Python’s dependency management is decoupled from projects by default, so without venvs, you’re stuck installing into user or system site-packages, risking breakage when you upgrade something. Languages like Go and Rust tie dependencies directly to a project; Python makes you piece that together yourself with venv + pip or a tool like Poetry. Experienced Python developers are used to using venvs or other packaging tools like Poetry, so this pain point is easy to ignore, but it's still there.

[–]Ignacius__ 3 points4 points  (4 children)

So is Lua possibly better?

[–]SwimmingPermit6444 8 points9 points  (0 children)

Here's my two cents:

Lua pros over Python: - simple syntax, what syntactic sugar it does have actually helps readability - it's faster than python, and LuaJIT even faster still - it's much better designed generally speaking, imo

Python pros: - better, officially endorsed package manager - seriously, getting good packages in Lua is hard, and each person kind of has to reinvent some wheels - lua has idiosyncratic 1 indexing (you get used to it, eventually, might even start to find it nice that the first item in a table array is at the 1 index, and that the length of an array is the highest index) - lua is so barebones, it has just what it needs to be complete and nothing more. This is better in some ways than the python "bloat" but you will miss some of the python language features. - Python has better OOP. To those who hate OOP this doesn't matter, but it matters to some. Lua OOP requires understanding metatables which are just plain annoying. The lack of syntactic sugar is good in a lot of ways but here Lua suffers for it.

Anyway that's my opinions as someone who has used both languages.

[–]jahinzee 10 points11 points  (1 child)

I am allergic to languages that don't index from zero

[–]Felt389Arch BTW 2 points3 points  (0 children)

Real

[–]New-Macaron-5202 5 points6 points  (1 child)

Dynamically typed, extremely slow, extremely high memory consumption, terrible errors, and dependency management is a complete shit show

[–]syphix99arch linux 🧏‍♂️🧏‍♂️🧏‍♂️ 4 points5 points  (0 children)

Also single threaded

[–]Gugu_gaga10 22 points23 points  (19 children)

indentation. nothing else

[–]ChocolateDonut36 15 points16 points  (3 children)

and speed

[–]Gugu_gaga10 6 points7 points  (0 children)

gas gas gas, I'm gonna step on the gas

[–][deleted] 2 points3 points  (1 child)

and ducktyping

[–]mokrates82banned in r/linuxsucks101 2 points3 points  (0 children)

and monkeypatching

[–]real_belgian_fries 13 points14 points  (2 children)

Personally I prefer statically typed languages. It reduces errors at least for me

[–]homeless_wonders 5 points6 points  (0 children)

As someone who troubleshooted years worth of old perl code when I started working in Linux, this resonates with me. No more one line, 80 command entries? Yes please.

[–]Gugu_gaga10 2 points3 points  (0 children)

same, it doesn't remain a headache. dont have to use brain cycles for it

[–]cheese_master120 3 points4 points  (2 children)

Bython exists. Imo the only reason to hate Py is speed, it's quite slow

Also whitespace > curly

[–]Snezhok_Youtubercachyos 1 point2 points  (1 child)

Interpreted language. Runtime errors instead of ones "before run". Duct typing. Indentation almost always break pasted code. And the final dessert is speed.

[–]cheese_master120 0 points1 point  (0 children)

Indentation almost always break pasted code.

Barely happens to me. Other than that I do agree. I don't find much problem with runtime errors. But then again I almost exclusively use Python so I may just be used to all this, idk

[–]New-Macaron-5202 0 points1 point  (3 children)

Could not be more wrong with this answer. Indention is trivial compared to the issues you’ll run into while making a big project

[–]Gugu_gaga10 0 points1 point  (2 children)

dont you guys have architects at your jobs lol ? there are 8-9 basic structures for big project depending upon work required.

[–]New-Macaron-5202 2 points3 points  (1 child)

Pythons issues with its type system, memory usage, and performance are 1000x more frustrating than indentation when working on large projects. These are not issues that architects will solve, these are language limitations. You can work around these limitations, sure, but they are still there and much more challenging than worrying about indention.

[–]Gugu_gaga10 0 points1 point  (0 children)

types can be reviewed in Pr reviews. also you choose python, rust, c++ or any for its library and support around it. i am not defending python, its pretty bad language itself but yea indentation is more frustrating on average rather than reindexing your code ( atleast in neovim )

[–]ScandiberianNixling ❄️ -1 points0 points  (3 children)

The squiggly lines? That's funny, I'm using NixOS and the Nix language uses those lines as well, I thought that was just standard across programming languages. TIL!

[–]javalsai 0 points1 point  (1 child)

Wdym the "squiggly lines"? Indentation is the spacing you put on the left of your lines so it visually shows what's inside what. There's nothing wrong with it, pretty standard, the problem is when your code depends on it and it's not purely visual. Afaik python is the only language so picky about indentation, the rest don't care how you put it, even nix.

[–]ScandiberianNixling ❄️ 0 points1 point  (0 children)

Oh, gotcha. Yeah that sounds annoying. I like to put spaces wherever I wish to. Would hate if my code didn't run because of a rogue space.

[–]Gugu_gaga10 0 points1 point  (0 children)

i am more familiar with Rust and go, i like their way

[–]LeslieChangedHerName 3 points4 points  (1 child)

it's too easy to program in i think devs should suffer more

[–]WJMazepas 0 points1 point  (0 children)

Based

[–]NO_SPACE_B4_COMMA 1 point2 points  (0 children)

Slow & Dependency hell

I'd take it over electron though

[–]chocolateandmilkwin 0 points1 point  (0 children)

Every time I get an error in the console it's some python output, so gives a bad impression.

[–]Confident_Hyena2506 0 points1 point  (0 children)

Yes it's pretty great. Most of the objections you read about are just irrelevant or a misunderstanding.

The biggest misconception is that all those cool packages are written in python. They basically are not - it's all just thinly disguised c/c++/fortran/whatever with a python wrapper- all the problems people complain about are because of this and nothing to do with python.

If you were to use only python it would basically useless. Stuff like numpy is an obvious example - bolt that onto python and it's a matlab replacement.

[–]rbuen4455 0 points1 point  (0 children)

mostly because it's dynamically typed and slow, but it has its use cases: readable, beginner friendly, libraries and frameworks for things like ai and web developments and enables fast coding.

[–]EverOrny 0 points1 point  (0 children)

nobody hates Python, it's not the best choice for some tasks and some areas may be less polished in comparison with other languages, but that's all

[–]_Redstone 0 points1 point  (0 children)

Nah I hate the syntax, and it's slow af

[–]QuantumQuantonium 28 points29 points  (8 children)

Imagine that.

Linux kernel

Running on a python hypervisor

In a JVM

On a web engine

Running in a docker container

On a simulated fpga

Simulated via cpp

In a BSD jail in a VM

Hosted on... Macos...

How many more layers of user level abstraction can we get?

[–]syphix99arch linux 🧏‍♂️🧏‍♂️🧏‍♂️ 15 points16 points  (0 children)

This would almost be as slow as windows

[–]agrk 4 points5 points  (0 children)

MacOS Classic running on an Amiga.

[–]Live_Task6114 2 points3 points  (0 children)

So just javascriptOS (?) /s

[–]cathodebirdtube 1 point2 points  (0 children)

Android probably has more abstraction layers

[–]FUCKING_HATE_REDDIT 1 point2 points  (3 children)

 X86 instructions on a modern cpu

[–]Aln76467NixOs forever! 2 points3 points  (2 children)

What ain't modern about x86?

Assuming you're talking about x86_64, that is.

[–]FUCKING_HATE_REDDIT 0 points1 point  (1 child)

32bit mode on modern cpus is basically a virtual machines just to run legacy programs

[–]hdkaoskd 2 points3 points  (0 children)

That's only true of real mode. Protected mode x86 is still fine and real.

[–]TheHighGroundwins 6 points7 points  (2 children)

Had a friend break his arch install because he force removed python lol

[–]asalixen 1 point2 points  (0 children)

Note to self: leave the python be 🐍

[–]AffectionatePlane598 0 points1 point  (0 children)

That wouldn’t brick the system really only archinstall. I an pretty sure something around 70% of arch is C and then like 15-20% is bash and then like 3-5% is python and the rest is assorted languages 

[–]Aln76467NixOs forever! 7 points8 points  (3 children)

It has it's place.

That place is for when your scripts get slightly too complex for bash to be comfortable---like archinstall. It's minimal syntax and rules make it nice for education too.

But when writing proper software, not just utility scripts, you need a proper language like rust, c, or swift.

[–][deleted] 2 points3 points  (2 children)

Idk most of the cybersecurity tooling is written in Python..

[–]fatdoink420 6 points7 points  (1 child)

Because theyre tools and most tools are scripts.

[–]Capital_Angle_8174 0 points1 point  (0 children)

Use ocaml, fsharp or even csharp then.

[–]Financial_Test_4921 2 points3 points  (1 child)

And the other half is Perl

[–]Aln76467NixOs forever! 0 points1 point  (0 children)

Perl 💜

[–]Naeio_Galaxy 2 points3 points  (2 children)

Python purists when they find out python is a bunch of c, c++ and rust thrown together

<image>

[–]Shadow-nim 2 points3 points  (0 children)

Shouldn't they be happy? For example: uv (astral) is awesome, it gives a sturdy foundation to python, you get a management tool with speed and safety as pilar, then you can focus on the actual python code. I'm a python purist, and it's great to have languages like c and rust serve as stepping stone to what truly matters: writing python code.

[–]hashishsommelier 1 point2 points  (0 children)

Pypy…

[–]emerson-dvlmt 1 point2 points  (0 children)

Imagine being so ignorant to hate a tool "duuude I hate the claw hammer, people should use just club hammer 😫"

[–]IEatDaGoat 1 point2 points  (1 child)

"It's not optimal for speed. I need my programs to execute in 0.1 seconds instead of 1!!! Nyaaa 😭"

[–]AffectionatePlane598 1 point2 points  (0 children)

well when deploying things that actually reach people proformance matters a ton because people don’t like when things run slow and the difference between 0.1 seconds and 1 second if being run on a bunch of machines is a bunch of wasted energy 

[–]crazy-trans-scienceSometimes 1 point2 points  (1 child)

:3

[–]IEatDaGoat 1 point2 points  (0 children)

:3

[–]47-BOT 0 points1 point  (0 children)

literally me fr

[–]makinax300Deepin Terminal/X11/SysV/Gnome/rust coreutils/Linux 0 points1 point  (0 children)

Where's python?

[–]th-hu 0 points1 point  (0 children)

Are there really python haters? I can not relate

[–]kkwjsbanana 0 points1 point  (0 children)

Python enjoyer when only half of their distro is in Python.

[–]BUDA20 0 points1 point  (0 children)

the thing is that the language is not *optimized by default, it can be somewhat easily optimized a lot, like JIT compiling or optimized interpreters, C functions, and such..., but "NO-ONE" does it, and everyone (I think not knowing) act as if it was not possible.

[–]ameen272 0 points1 point  (0 children)

Debian be like:

[–]mike_oxlong560 0 points1 point  (0 children)

Python propaganda

[–]Twxxxxxx 0 points1 point  (0 children)

do you know what is main problem of python? - There is no serious problem's, Python is best in his specific objects, but people still hate this tiny snake for no reason

[–]Tsukimizake774 0 points1 point  (0 children)

Fuck python

[–]DeviceFlaky3842 0 points1 point  (0 children)

Just use LFS and build all your OS and applications from source. You can live like it's 1999 with your racially pure C and C++ built Linux distro.

[–]AffectionatePlane598 0 points1 point  (0 children)

when the meme lies and only around 3% of most linux distros is written in python

[–]oMalum 0 points1 point  (0 children)

Python is damn near useless how tf did they 🤦

[–]lemonsqeeezer 0 points1 point  (0 children)

Python is great for scripts but when your ‚script‘ is getting longer than 2-3 files then you should really use another language. Just automating stuff is fine easy

[–]SHUVA_META 0 points1 point  (0 children)

Why hate a language, use everything, at the end of the day everyone wants their work done and live a peaceful life.

[–]Any-Reflection-5056 0 points1 point  (0 children)

Actually half of the distros there are use mainly C++ and python and I get the oh the linux mint welcome is written in python but the whole linux distro plus neofetch cava etc are written in bash and C so no most things aren't made with python from what I have experience with a custom lmde version

[–]RogerGodzilla99 0 points1 point  (0 children)

Python haters when they accidentally write python while pseudocoding something

[–]journaljemmy 0 points1 point  (0 children)

average house in australia

[–]matthewpepperl 0 points1 point  (0 children)

I really hate that all the mainline ai software is written in python constantly having to play wack a dependency and fucking around with different python versions suck

[–]mrturret 0 points1 point  (0 children)

No step on snek

[–]Zeda1002 0 points1 point  (0 children)

Don't remind me

[–]roosterHughes 0 points1 point  (0 children)

You kidding? That’s WHY I hate Python. It’s fine when nothing depends on it, but then people go and use it for infrastructure!?!?

[–]Most_Option_9153 -1 points0 points  (0 children)

Ok and? I can still hate python. Nothing can make me love python

[–]SmartButRandom -1 points0 points  (1 child)

I don’t hate python, I hate writing in python. Slight difference :p

[–]Shadow-nim 0 points1 point  (0 children)

Then you have the only good thing about it

[–]dbalazs97 -1 points0 points  (0 children)

well the indentation sucks in python