this post was submitted on 16 Sep 2024
685 points (97.2% liked)

Programmer Humor

32054 readers
1590 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 106 points 2 days ago (1 children)

I didnt upvote the other python-beginer friendly meme cause it wasn't accurate. But this one is on point.

[–] [email protected] 19 points 2 days ago

Hey, no pointers!

[–] heavy 88 points 2 days ago (3 children)

I don't know who needs to hear this, but Python, like most languages, can be as complex as you make it.

[–] [email protected] 19 points 2 days ago (1 children)

Yeah my code is a disaster!

[–] [email protected] 9 points 2 days ago
[–] [email protected] 16 points 2 days ago
load more comments (1 replies)
[–] [email protected] 55 points 2 days ago

Some people in the comments didn't take it as tongue-in-cheek as I did. 😝

I thought this was really funny. That's a good collection of toe stubs.

There is a lot of stuff to learn to be good at python but I still love it.

[–] [email protected] 19 points 2 days ago (1 children)

This is so true & unfortunately everyone keeps telling beginners to start at Python

[–] [email protected] 8 points 1 day ago (1 children)

But and instead of && means beginner friendly

[–] [email protected] 2 points 1 day ago

Embrace your forefather ALGOL: 🤚‍ and, && 👉

[–] [email protected] 54 points 2 days ago (8 children)

Best scientific packages in the open source by far, a library for everything, everybody knows it. Works on all kinds of systems. Available by default in many OSs.

You might not like it, but you can't leave.

[–] [email protected] 40 points 2 days ago (2 children)

The summary that I liked from the last post was "python is the second best language for everything". There's always something specialized and better for every given job. But, if you want one tool that'll do a solid job everywhere, python is your go to.

[–] [email protected] 3 points 1 day ago* (last edited 1 day ago)

I don't think that's quite right. It's more like if you have to choose a language before you know what you're doing, Python is the best choice. For anything large enough it's multiple places down the list, but you really don't want to have to learn Rust and possibly reinvent wheels for your quick boilerplate hack.

[–] [email protected] 21 points 2 days ago

I literally used to say this last decade, but as I grew experienced with more languages/paradigms/systems, it became 3rd best, then 4th, until I realized it actually not really great at anything other than there is an large ecosystem around it (wildly varying in quality). To some that might be enough, & going outside what you know isn’t typically the most wise thing to do, but it’s not particularly simple, or readble, or performance, or composable, or offering great patterns. Anything that used Python in Nixpkgs tend to be the most unreliable software for actually building & using.

[–] [email protected] 13 points 2 days ago

Can't speak for the science libraries as I've never used em, and I'll gladly just blindly accept that as truth, but for everything else it's always a pain in the ass. For being designed to "run on anything" it sure is funny that 90% of the time I download a python app it doesn't fucking work and requires me to look up and manually setup a specific environment for it. Doesn't help that the error messages are usually completely random and unrelated to this...

I always dread when some fucking madman makes the installer for their app in python, knowing it'll probably fail... God forbid it's a script that's supposed to modify something else. Always a good time for reflection upon the choices that led me to this point.

Even my old scripts I kept around for sentimental value. Half of those don't work either, and I can't be bothered to figure out what version I made em for.

I tried my best to scrub python from my pc out of principle, but as you say, it's soo common my distro uses it as a dependency, fucking bullshit!

[–] [email protected] 18 points 2 days ago
[–] [email protected] 5 points 2 days ago (1 children)
load more comments (1 replies)
load more comments (4 replies)
[–] [email protected] 17 points 2 days ago* (last edited 2 days ago)

oh my fuck. circular imports.

I set out to create a Discord Bot in Python, then gave up trying to use an easy "proper" server-side language and just did it in TypeScript

[–] [email protected] 46 points 2 days ago (11 children)

Oh god, I feel this. Why can't there be a sane language‽

[–] [email protected] 45 points 2 days ago (1 children)

There are 2 types of programming languages

  • The type everyone keeps complaining about
  • The type no one uses
[–] [email protected] 1 points 9 hours ago

People complain about perl, but no one uses perl.

[–] [email protected] 53 points 2 days ago (1 children)

But the Lord came down to see the ~~city~~ OS and the ~~tower~~ app the people were building. The Lord said, “If as one people ~~speaking~~ programming the same language they have begun to do this, then nothing they plan to do will be impossible for them. Come, let us go down and confuse their language so they will not understand each other.”

So the Lord scattered them from there over all the earth, and they stopped building the ~~city~~ OS. That is why it was called Babel—because there the Lord confused the language of the whole world. From there the Lord scattered them over the face of the whole earth.

This message brought to you by TempleOS

[–] [email protected] 15 points 2 days ago (1 children)

Amen. Now, where’s that Wine?

[–] [email protected] 13 points 2 days ago (1 children)

Computer programming, regardless of language, is hard. The computer does exactly what you tell it to.

[–] [email protected] 1 points 1 day ago

Yes. That being said, it matters which language you choose. COBOL is always a bad choice, unless writing in COBOL is the whole point. There isn't really a universal best choice, either. Python is often a good one, but if you're doing something big it will become this meme.

[–] [email protected] 24 points 2 days ago

It would have to be written by sane people.

load more comments (7 replies)
[–] [email protected] 35 points 2 days ago
[–] [email protected] 18 points 2 days ago (7 children)

Very little of this is uniquely a problem in Python. It seems to me that your problem is with software development in general.

[–] [email protected] 8 points 2 days ago (1 children)

No, the dependency management in Python is a nightmare. There's like a billion options for it.

[–] [email protected] 4 points 2 days ago (1 children)

Use pipenv and don’t think about it anymore.

[–] [email protected] 1 points 1 day ago

What's the difference? I rarely use Python and every time I do I have to relearn which tools are the go to ones. In Java it's a little simpler, we really just have Maven and Gradle. They have their own problems, sure, what tool doesn't, but the thing that annoys me about python is the quantity of tools. There often isn't a clear winner.

Now, to be fair to python, a lot of the ones mentioned on this post are very specifically for data science use cases and not general purpose development.

[–] [email protected] 15 points 2 days ago (3 children)

My problem is with semantic whitespace

load more comments (3 replies)
load more comments (5 replies)
[–] [email protected] 17 points 2 days ago (2 children)

Are any of those things that you actually deal with as a beginner, though? Sure, those add complexities, but by the time you start to get into them, you are probably no longer a beginner.

[–] [email protected] 21 points 2 days ago (2 children)

Of course... But the idea is that it is misleading... And there's more traps the beginners falls into. I have a feeling if beginners begin with C++, or other language that is strongly typed and requires memory management and then do some other language that is more abstract like python; they will become better programmers compared to them doing it in reverse.

[–] [email protected] 2 points 1 day ago (1 children)

For someone starting out, I would say that a major advantage of Python over any compiled language is that you can just create a file and start writing/running code. With C++ (which I'm also a heavy user of) you need to get over the hurdle of setting up a build system, which is simple enough when you know it, but can quickly be a high bar for an absolute beginner. That's before you start looking at things like including/linking other libraries, which in Python is done with a simple import, but where you have to set up your build system properly to get things working in C++.

Honestly, I'm still kind of confused that the beginner course at my old university still insists on giving out a pre-written makefile and vscode config files for everyone instead of spending the first week just showing people how to actually write and compile hello world using cmake. I remember my major hurdle when leaving that course was that I knew how to write basic C++, I just had no idea how to compile and link it when I could no longer use the makefile that we were explicitly told to never touch...

[–] [email protected] 2 points 21 hours ago

100 times this.

I think I have a solid grasp of C++ and its manual memory management, but give me a build error and I'll have zero clue how to fix it.

load more comments (1 replies)
[–] [email protected] 9 points 2 days ago

I don't know, man, far too many people seem to think that "easy to learn" means they'll know all they need to know in relatively short time.

Like, you talk to our data scientists and they'll tell you doing anything in Python, no problem. But you talk to our seasoned software engineers and you see the war flashbacks in their eyes, because it racks up in complexity so fucking quickly, it's insane.

[–] [email protected] 5 points 2 days ago

I think venv is the best because it's built in. But I'm also not a Python dev.

load more comments
view more: next ›