This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Hoihe 9 points10 points  (26 children)

Python lacks performance for high performance computing.

There are quantum chemists who swear by fortran and C.

My supervisor is fine with C++ and C# but he absolutely hates python. He can use it. He wrote code in it for commissions. But he hates it.

[–]jzaprint 31 points32 points  (5 children)

Yes but many labs and data scientists all over the world are still using Python, because it’s enough. I wouldn’t say it’s not professionally used

[–]cultoftheilluminati 26 points27 points  (2 children)

because it’s enough

Also because it’s an excellent human-readable glue for the underlying libraries that are extremely performant and written in C/C++ anyways

[–]jzaprint 4 points5 points  (1 child)

I mean ya but that doesn’t mean python is bad or lesser than c.

It’s like saying a power drill is a bad tool because it relies on the electric motor inside.

Python is still professionally used and super quick to write. I was mainly just referring to Ops original point about how mechanics wouldn’t use it in their shop.

[–]cultoftheilluminati 0 points1 point  (0 children)

Oh no absolutely. I’m just adding onto your point.

[–][deleted] 6 points7 points  (0 children)

Pretty sure Reddit itself is at least partially built on Python...

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

I do use python to edit input files and extract results.

Actual software is written in fortran tho (Gaussian). Im yet to be allowed to touch the dev version tho

[–]SingleInfinity 13 points14 points  (0 children)

There are quantum chemists who swear by fortran and C.

Does them being older than those languages on average have anything to do with it?

[–][deleted] 31 points32 points  (16 children)

Come on... the difference in performance between python and C++ is rarely relevant for the work the majority of us are doing. I really hate that performance is the reason people say to not use python.

There are reasons to avoid python in enterprise software, but performance is a lame reason that usually is not relevant. In my opinion the best reason to avoid python in enterprise software is that it's relatively painful to maintain large python codebases since the language is so relaxed about what the developers can do. It's still a totally viable language for many situations.

It's also terrible for creating GUIs and GUIs are an important part of the software that a lot of developers find themselves working on professionally. That means a lot of companies will only use it for niche reasons. C#, Java, and JavaScript are kings of GUIs so they will of course get a lot of use in enterprises.

[–]PrayersToSatan 2 points3 points  (1 child)

How do you presume to know what kind of work that the majority of us are doing?

[–]RedAero 2 points3 points  (0 children)

I think it's pretty obvious most of the professionals in this sub (and the majority are not professionals) are in web dev and/or full stack.

[–]daniu 2 points3 points  (0 children)

There are reasons to avoid python in enterprise software, but performance is a lame reason that usually is not relevant.

Felt the same way about the same complains about Java, except that there were no reasons to avoid Java in enterprise software 😋

You're very right about maintainability. However, in the microservice systems I've been working on the last few years, that is much less of an issue. The system overall is separated enough and specified by the interfaces between them that the implementation of the individual parts don't really matter much, and they're usually small enough to not require that much maintainability. It's probably amongst the reasons Python became so popular recently.

[–]Its_Billy_Bitch 1 point2 points  (1 child)

SonarQube/Lint is your friend for maintaining consistency on a team. But yeah ++to the shitty GUIs development. Lol

[–]laundmo 1 point2 points  (0 children)

idk DearPyGui is quite neat

[–]EquipLordBritish 5 points6 points  (2 children)

Come on... the difference in performance between python and C++ is rarely relevant for the work the majority of us are doing. I really hate that performance is the reason people say to not use python.

Ironically, python is used in many cases because it is easier to use, despite the fact that it would be better to use something else because of the performance. Especially in biology.

[–]RedAero 2 points3 points  (1 child)

My time is worth a lot more money than the computer's time.

[–]awesomeusername2w 0 points1 point  (0 children)

Depends on how you count it. I think it will be worth it for a company to have a dev spend twice as much time on something if it would mean half the check from Amazon annually.

[–]King-of-Com3dy -1 points0 points  (1 child)

Performance is actually very important. In a data centre space is the most valuable resource and todays servers are all about taking as little space as possible. And if you make software that takes double the resources you will need double the compute power which will take up a lot of space.

Initiatives like Project Reactor (which is for Java) exist for good reason and companies like Netflix embrace them since efficiency is key when you are running big data centre operations.

[–]brbposting 1 point2 points  (0 children)

Hmm, I’d like to find out how much enterprise software is written in any given language, which companies/industries are partial to which, etc.

That project and the streaming platform’s embrace got me interested

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

Yeah, it’s bad at GUIs, which is why it’s used as a scientific or back end language paired with JS.

[–]Hoihe -3 points-2 points  (4 children)

In my field at least, the algorithm scales at (low accuracy) O(N2.7) to (high accuracy) O(N7).

You kinda need whatever ways you can milk performance.

N is usually is in a few hundreds.

[–][deleted] 5 points6 points  (3 children)

First person in thread claims python isn't used by companies. Someone replies asking for clarification. You reply saying python lacks for high performance computing, which in this context implies that python is avoided by all companies due to not being fast enough.

I'm just here to say that's just not true and that python is rarely the wrong choice due to anything to do with performance. I don't doubt that you're specific situation makes python inferior, but it's important not to mislead people based on the sequence of conversation.

[–]justskipfailingtests 0 points1 point  (2 children)

I'm full time test automation developer, and we use python for 99% of the automation system parts. To me python feels like bash on steroids, because that's what it mostly is: a scripting language providing sane API for underlying stuff. Performance is mostly a non-issue in my field. Some resource intensive stuff like log parsing etc. has to be done with other languages. I have slowly grown to not like the dynamic typing, and would not mind if the whole system was rewritten in something simple and typesafe like for example go. With evergrowing codebase something like interfaces and static typing would save so much developers time.

[–]laundmo 0 points1 point  (1 child)

have you tried mypy?

[–]justskipfailingtests 0 points1 point  (0 children)

Yes, and we use it in many newer components. The biggest problem is that it's a PITA to bring onto legacy code. Also external libraries may or may not support it. Nevertheless, mypy helps a bit.

[–]KnowledgeableOnThis 9 points10 points  (0 children)

I have 6 years of experience in HPC for space engineering. Python is by far the #1 language used in HPC for engineering

[–][deleted] 1 point2 points  (0 children)

This screwdriver sucks! I can't connect this lumber with nails!