614
top 50 comments
sorted by: hot top controversial new old
[-] Diplomjodler@feddit.de 42 points 2 years ago

Python is the second best language for everything. Having one language that does it all is better than learning several that might do it a little bit better.

[-] bort@lemmy.sdf.org 34 points 2 years ago

Careful, that attitude is how we ended up with this infestation of JavaScript!

[-] grue@lemmy.ml 5 points 2 years ago* (last edited 2 years ago)

JavaScript is very much not the second best language for anything.

JavaScript came about because it was the only choice in the context for which it was designed, and then it metasticized into other contexts because devs that used it got Stockholm syndrome.

[-] thomcat@midwest.social 4 points 2 years ago

"Metastasized" is a fantastic verb for JavaScript

[-] dukk@programming.dev 8 points 2 years ago

Speed is a serious problem in Python though. Python has its use cases, and so do other languages. Things would not end well if we started using Python for everything.

[-] noli@programming.dev 4 points 2 years ago

This might be an unpopular opinion but python's speed wouldn't even be an issue if it was 5x slower than it is now.

Python is a language designed for write-time performance, not runtime performance.

[-] Diplomjodler@feddit.de 3 points 2 years ago* (last edited 2 years ago)

If I wanted to write a 3D game engine, I wouldn't use Python either. But there's zero chance of me ever doing that. For 90% of things 90% of people do, Python works just fine. And the performance thing is actively being worked on and getting better all the time.

load more comments (2 replies)
[-] entropicdrift@lemmy.sdf.org 5 points 2 years ago* (last edited 2 years ago)

Python is the best "glue" language I've ever used. When you want to chain together your program's high-level logic and all of the loops happen inside lower-level languages like Rust, Go, Zig, D or C, Python's performance is perfectly adequate and it's so clear and concise it reads like pseudocode.

[-] Diplomjodler@feddit.de 2 points 2 years ago

As long as you do all your lookups with dicts or sets performance is pretty decent for smaller workloads.

load more comments (1 replies)
load more comments (1 replies)
[-] sigh@lemmy.world 4 points 2 years ago

holy shit you're right

[-] TheBananaKing@lemmy.world 38 points 2 years ago

Friends don't let friends do string manipulation in bash.

[-] princess 23 points 2 years ago

youre right

thats what sed is for

[-] entropicdrift@lemmy.sdf.org 22 points 2 years ago
[-] andarwaid@lemm.ee 6 points 2 years ago
load more comments (1 replies)
[-] Dasnap@lemmy.world 30 points 2 years ago* (last edited 2 years ago)

Anything I can do in Shell I will do in Shell and yes I am a devops engineer thanks for asking.

[-] joyjoy@lemmy.world 15 points 2 years ago

Shellcheck really helps

[-] Overtheveloper@lemmy.world 18 points 2 years ago

Obligatory relevant xkcd https://xkcd.com/1205/

[-] kogasa@programming.dev 14 points 2 years ago* (last edited 2 years ago)

I can't think of a single reason to use bash over Python. Anything you can do in bash can be done in pure Python. Unless you're working in some embedded environment it's a non-issue to install a Python interpreter (you certainly already have one). I would only use sh/bash for packages I'm distributing to avoid the external dependency, and then only if it's a relatively simple script.

[-] bort@lemmy.sdf.org 17 points 2 years ago

I know whatever environment I run my shell script in has sh, I can't rely on (the right version of) python being there.

load more comments (1 replies)
[-] alexcoder04@programming.dev 17 points 2 years ago

Bash is much better for doing file operations and piping the output across multiple commands

load more comments (1 replies)
[-] Reborn2966@feddit.it 13 points 2 years ago

i would not run a python script with root.

[-] kogasa@programming.dev 5 points 2 years ago

That's fair.

[-] ultimitchow@sh.itjust.works 2 points 2 years ago

i run my daily NAS backup python script with root.

[-] AProfessional@lemmy.world 2 points 2 years ago

It is fine, just should be more careful with modules used.

[-] MonkderZweite@feddit.ch 8 points 2 years ago

Why is always about bash? POSIX shell scripts run everywhere.

[-] AProfessional@lemmy.world 3 points 2 years ago

BASH has some useful features and I’ve literally never had an environment with bash unavailable (even if a package is needed, so what).

[-] MonkderZweite@feddit.ch 2 points 2 years ago

MacOS ships only 3.something version, which has some compatibility issues with Bash 4+.

[-] AProfessional@lemmy.world 4 points 2 years ago

brew install bash

[-] IRQBreaker@lemmy.kozow.com 2 points 2 years ago

Granted, it's a kind of niche use case but in the embedded world there's usually size constraints which prevents a full blown bash installation.

However, things are better now than 20 years ago. Flash is cheap.

[-] CoderKat@lemm.ee 7 points 2 years ago

Python is superior for string anything (parsing, searching, manipulating). But Bash is much simpler for running existing CLI tools. Plus you should already be using Bash as a simple terminal language already, so wrapping what you're used to into a simple script flows naturally.

Eg, if I have some admin tool for updating a user thingamajig, a common scripting need is just running that tool for every user in a file (or the output of another command). The string manipulation that often requires is annoying in bash, but running the commands is easier than Python.

[-] kogasa@programming.dev 4 points 2 years ago

If what you're doing is essentially a few shell commands, then you may as well put it into a script. If you're talking about how "elegant" your shell scripts are and comparing them to Python, you're probably wrong and should be using Python.

[-] Haus@kbin.social 11 points 2 years ago* (last edited 2 years ago)

MFW I'm using sh variant #7923 and trying to write a for loop.

On that other site, I compared it to being a lifelong English-speaking resident of Chicago and being unable to order a pizza in Indianapolis without a phrasebook.

[-] outdated_belated@lemmy.sdf.org 10 points 2 years ago
[-] pulaskiwasright@lemmy.ml 9 points 2 years ago

Things that could have been done in bash is python’s best usecase. And bash sucks for scripting. Why not python?

[-] entropicdrift@lemmy.sdf.org 19 points 2 years ago* (last edited 2 years ago)

There are many cases where bash/shell is better than Python. For one, any time you're just stringing together 2-4 existing shell tools, bash has unbeatable speed since it's all running in C. Plus, you should probably learn the tools anyways to handle CLI stuff on a day-to-day level, so the knowledge is reusable and becomes very intuitive to compose into some crazy one-liner piped chains of commands. If I just want to loop over a set of directories and do a couple chained CLI commands on each directory, this is the way I go.

That said, in cases where you're doing something very custom, any time you're doing something that can't be simply described as a chain of CLI tool transformations, and any time you want to maintain a global state across a complex set of operations outside of a pipeline, I agree that Python is generally a more robust solution with much easier maintainability.

[-] jim_stark@programming.dev 4 points 2 years ago

compose into some crazy one-liner piped chains of commands

Why not something that is completely redesigned from the ground up:

[-] princess 8 points 2 years ago

have you ever tried to recreate a simple shell pipeline in Python

[-] pulaskiwasright@lemmy.ml 2 points 2 years ago

If we’re talking about 5 like script, then sure. Just use bash. But python is much better long term, in my experience, for scripts any bigger than that.

[-] dukk@programming.dev 3 points 2 years ago

Not really true. Python was created for, and is still best used for data science. It’s user-friendliness made it a first for many inexperienced programmers too, and it started to be used for way more than it was initially intended. I’m not saying it’s bad at everything else, but there’s most certainly better tools for the job.

[-] pulaskiwasright@lemmy.ml 5 points 2 years ago

I won’t argue with what it was created for, but I disagree that it’s best usecase isn’t as a bash replacement. That’s the only spot I’ve used and liked it.

load more comments (1 replies)
[-] eochaid@lemmy.world 8 points 2 years ago

The only validation you should expect and need is self-validation.

Your work is absolutely valid and important. Your efforts are absolutely appreciated and worthwhile. But people are stuck in their own heads and work and stress and concerns and desires and validation loops and it takes actual work to break out of that to not only offer appreciation but to even realize that they need to offer it.

And for that reason, you should also really appreciate anyone that validates you.

[-] Legendsofanus@lemmy.world 7 points 2 years ago

I know a bit of HTML so I just started learning Python. It's fairly easy and fun, haven't made anything real yet tho

[-] lowleveldata@programming.dev 5 points 2 years ago
[-] darcy@sh.itjust.works 4 points 2 years ago
[-] alexcoder04@programming.dev 5 points 2 years ago

Lua is weird, but I would rank it same as Python

[-] SingularEye 3 points 2 years ago

lua is hot and sexy

load more comments (2 replies)
[-] Reptorian@programming.dev 2 points 2 years ago

I'm using G'MIC for raster-graphic image-processing, but I can do other things in it too with ease. I feel this post so much.

load more comments
view more: next ›
this post was submitted on 06 Aug 2023
614 points (100.0% liked)

Programmer Humor

22250 readers
156 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS