this post was submitted on 26 Feb 2024
8 points (62.5% liked)

Unpopular Opinion

6216 readers
1 users here now

Welcome to the Unpopular Opinion community!


How voting works:

Vote the opposite of the norm.


If you agree that the opinion is unpopular give it an arrow up. If it's something that's widely accepted, give it an arrow down.



Guidelines:

Tag your post, if possible (not required)


  • If your post is a "General" unpopular opinion, start the subject with [GENERAL].
  • If it is a Lemmy-specific unpopular opinion, start it with [LEMMY].


Rules:

1. NO POLITICS


Politics is everywhere. Let's make this about [general] and [lemmy] - specific topics, and keep politics out of it.


2. Be civil.


Disagreements happen, but that doesn’t provide the right to personally attack others. No racism/sexism/bigotry. Please also refrain from gatekeeping others' opinions.


3. No bots, spam or self-promotion.


Only approved bots, which follow the guidelines for bots set by the instance, are allowed.


4. Shitposts and memes are allowed but...


Only until they prove to be a problem. They can and will be removed at moderator discretion.


5. No trolling.


This shouldn't need an explanation. If your post or comment is made just to get a rise with no real value, it will be removed. You do this too often, you will get a vacation to touch grass, away from this community for 1 or more days. Repeat offenses will result in a perma-ban.



Instance-wide rules always apply. https://legal.lemmy.world/tos/

founded 1 year ago
MODERATORS
 

Python is the most popular programming language and beloved by many. However I can't understand why (this is still the case in 2024).

Here are my main gripes with it:

  • It is slow, performance intensive tasks have to be offloaded to other languages, which makes it complicated to analyse. Moreover I wonder how many kwH could have been saved if programms were written in more performant languages. (and there are better alternatives out there)
  • The missing type system makes it easy to make errors, and the missing compiler makes it hard to catch them
  • It has no linear algebra built in, so you always have to convert things to numpy arrays, which is quite annoying
  • Managing virtual environments and pip packages feels overly complicated

I guess much comes down to personal, but I just can't understand the love for python.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 8 months ago (1 children)

I'm not a huge python fan but I'm pretty confused about point 3. What alternative languages have decent linear algebra support built in?

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

Julia, R, Matlab, Mathematica and Fortran.

[–] [email protected] 5 points 8 months ago (2 children)

Sounds like you're just using the wrong tool for the job, then.

It's like you're trying to drive a screw in with a hammer.

[–] [email protected] 2 points 8 months ago* (last edited 8 months ago)

Not only can you sometimes drive a normal wood screw with a hammer, they also make hammer drive screws. And nails that screw....

Also, every tool is also a hammer.

(Sorry. I had to pick a little bit of fun at that analogy.)

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

No I mean, Python is definitely the most used language in scientific computing, but yeah, I would use something else if I could.

[–] [email protected] 1 points 8 months ago* (last edited 8 months ago) (1 children)

Why would it be better or important in any way to have that be a "language feature" instead of a library?

If it can be a library, it's obviously not something that needs to be a part of the language. Most uses have absolutely no need for linear algebra. Why drag on useless baggage and bloat?

[–] [email protected] 2 points 8 months ago

Yeah that point was not entirely accurate. What I meant was, that a np.array and a list don't work together. Coming from julia and matlab it just does not make sense to me, why I can't use a function written for a list for a np.array even if they basically represent the exaxt same thing.

Julia for example hast linalg as a module but functions work on lists with no problem.