There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

programmer_humor

This magazine is from a federated server and may be incomplete. Browse more on the original instance.

Legendsofanus , in python < shell (for scripts)
@Legendsofanus@lemmy.world avatar

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

rothaine , in Sometimes there is a better choice than Javascript

“Sometimes there is a better choice than JavaScript”

We call it TypeScript

bjornp_ ,

I heard they’re looking to add typing to JavaScript in a very similar style as TypeScript. Basically running TypeScript in the browser without tsc.

There’s at least a proposal which I hope they’ll continue with.

Overtheveloper , in python < shell (for scripts)

Obligatory relevant xkcd xkcd.com/1205/

Diplomjodler , in python < shell (for scripts)

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.

sigh ,
@sigh@lemmy.world avatar

holy shit you’re right

bort ,

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

grue ,

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 ,
@thomcat@midwest.social avatar

“Metastasized” is a fantastic verb for JavaScript

dukk ,

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.

Chunk ,

I have worked on a lot of real time simulation with python glue. It is… not fun. I’m a better programmer for it though.

Diplomjodler , (edited )

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.

noli ,

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.

Vulwsztyn ,

Not since 3.11, python is now one of the fastest languages

dukk ,

Definitely not even close to being one of the fastest languages, but still faster nonetheless.

entropicdrift ,
@entropicdrift@lemmy.sdf.org avatar

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.

nixfreak ,

Even worse when you look at a class that’s over 1k long.

Diplomjodler ,

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

grue ,

Python is secretly a functional-paradigm language. If you’re not making liberal use of comprehensions instead of loops (especially loops with LBYL conditions in them), you’re doing it wrong.

kogasa , in python < shell (for scripts)
@kogasa@programming.dev avatar

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.

Reborn2966 ,

i would not run a python script with root.

ultimitchow ,

i run my daily NAS backup python script with root.

AProfessional ,

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

kogasa ,
@kogasa@programming.dev avatar

That’s fair.

alexcoder04 OP ,
@alexcoder04@programming.dev avatar

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

corm ,

Better than subprocess.getoutput?

MonkderZweite ,

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

AProfessional ,

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 ,

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

AProfessional ,

brew install bash

IRQBreaker ,

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.

bort ,

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

kogasa ,
@kogasa@programming.dev avatar

Why not?

Chunk ,

Because you could be on another machine that doesn’t have Python 3.X it only has 3.X-1. or you could write code for Python 3.12 and then four years later no one has 3.12 anymore.

Sometimes you need to download packages from pip but pip might not be available or you may be hitting your company’s internal pip mirror.

kogasa ,
@kogasa@programming.dev avatar

How often are you writing scripts that accidentally require a specific minor version of Python 3 to run? If you have dependencies, 1) you’re no longer scripting, and 2) you need to manage your runtime environment anyway.

RubberDucky ,

Runtime environments can change often, if you need to install your application on a ton of PC’s you don’t want to install python version 3.X on all of those instead you could just compile it into a native binary, pip is the most unsafe hell

kogasa ,
@kogasa@programming.dev avatar

If you’re compiling a native binary you DEFINITELY aren’t in scripting territory anymore.

CoderKat ,

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 ,
@kogasa@programming.dev avatar

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.

sanosuke001 , in python < shell (for scripts)

Python is never the right answer!

darcy ,
@darcy@sh.itjust.works avatar

what is a well-known genus of non-venomous snake ?

Chunk ,

Anaconda!

Wait…

sanosuke001 ,

This isn’t jeopardy! 🤣

darcy ,
@darcy@sh.itjust.works avatar

lol

Reptorian ,

I know there’s a lot of downvotes because there are people reading this as hate toward Python. On one hand, one can make the case that it is overused and this doesn’t bold well for those that simply can never like it’s syntax. On the other hand, Python is perfect for small scripts that isn’t tailored for a Domain or just quick codes.

sanosuke001 ,

Honestly, I’m not really a fan of the formatting and syntax of Python but I agree, it is a fine choice for scripting things quickly if you don’t mind the language itself.

The biggest issue I have with it are all the incompatible versions, juggling modules, having some other random thing with a ridiculous configuration, where a bash script would be infinitely easier. Anything more complicated and Python is just too much of a headache.

southernwolf , in web development
@southernwolf@pawb.social avatar
Just_Dominic ,
@Just_Dominic@programming.dev avatar

Do I have to laugh or cry? - I don’t know, so I will do just both.

ulkesh , in meanwhile electron
@ulkesh@beehaw.org avatar

Lol, server side JavaScript far predates nodejs.

alexcoder04 OP ,
@alexcoder04@programming.dev avatar

Do you mean Rhino? This is the first time I come across it and the fact that it’s written in Java completes a full circle of hell

ulkesh ,
@ulkesh@beehaw.org avatar

Ha, yeah that’s one I remember using. I believe there were other implementations of interpreting javascript on the server. LiveWire, maybe? It’s been so long since I even attempted it, honestly. I will say, nodejs is clearly far superior to them all, especially with how lean a nodejs service runs on the server.

outdated_belated , in python < shell (for scripts)

Both are < HTML:https://i.imgur.com/SUNN1yc.jpg

itadakimasu ,
@itadakimasu@lemmy.world avatar

How to meet ladies?

Haus , in python < shell (for scripts)
@Haus@kbin.social avatar

MFW I'm using sh variant 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.

CookieJarObserver , in meanwhile electron
@CookieJarObserver@burggit.moe avatar

So PHP but “script”?

lastunusedusername2 , in web development

Is this the code or the developers?

southernwolf ,
@southernwolf@pawb.social avatar

Yes

scrapeus , in meanwhile electron

Cries in Polkit

argv_minus_one ,

Out of curiosity, which language would you prefer Polkit policies be written in?

scrapeus ,

Tbh I wouldn’t use languages but rather chainable configurations. Those could be yaml, JSON, toml etc.

I really dislike running any dynamic code for those things. I mean you really only need rbac providers and/Auth providers.

Maybe I underestimate Polkit by a far at the current state, but the 2 times I used it could have been a config file.

argv_minus_one ,

That’s how polkit used to work. It was changed, presumably because the old system was excessively complex and inflexible. Arbitrary code is the correct solution when the set of potentially needed behaviors is unbounded, which in this case it is.

Another example of this is CSS. The vast majority of its features today—shadow effects, filter effects, animations, layout modes, even text colors—could have been implemented with WebAssembly and shaders. Instead, all of this stuff is implemented by the browser, and as a result, there are only three browser engines, two of them are on life support, and there is zero hope of meaningful competition among browsers ever arising again.

Let’s not overcomplicate polkit, please. It’s more than enough of an attack surface already.

jrandiny ,

TIL that polkit uses js for its rule

lowleveldata , in python < shell (for scripts)

Groovy is better

mundane ,
Dasnap , in python < shell (for scripts)
@Dasnap@lemmy.world avatar

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

joyjoy ,

Shellcheck really helps

  • All
  • Subscribed
  • Moderated
  • Favorites
  • [email protected]
  • random
  • lifeLocal
  • goranko
  • All magazines