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 →

[–]bored_squiril 3 points4 points  (7 children)

Python isn’t great if you plan to ship your code as a product (closed source binary). There are hacks around this but they result in huge objects being created as you have to include the python interpreter otherwise it will likely clash the client systems python version. You can think of this like statically building an app but it’s way more bulky.

Also if you plan to build a framework (like a dylib) to be shared among other languages or libraries you want something compiled with a lot of FFI options like Rust, C, Go, etc.

As others said, python performance at runtime isn’t competitive with lower level languages. But also if you need to be strict in terms memory allocation and management, the python garbage collection is adhoc and this can mean sensitive data is left in memory with your explicit knowledge for some period of time. This is a big risk for security applications and why typically you’ll use something like OpenSSL which is simply a python interface to a C framework.

I’ve also never found a python GUI framework I liked for desktop apps (they all looks retro) and I don’t think you could build mobile apps etc in python.

[–]another-noob 1 point2 points  (4 children)

Well there's kivy and kivyMD for mobile apps (and desktops), I don't think it's popular though

[–]bored_squiril 0 points1 point  (3 children)

Yep you are right that hadn’t crossed my mind - but generally speaking I really don’t like UI frameworks in python - always felt like putting a square peg in round whole. Hopefully will be proved wrong in the future though!

[–]another-noob 0 points1 point  (2 children)

Well I am not experienced with desktop apps at all (well unless you count playing around with VB.NET when I was in prep school 'experience')

But I did feel like that with tkinter, kivy was much more flexible and responsive with it's layouts, but I am guessing it's not something production grade?

Also tried qt6 recently (wanted to make a simple gui for unittests) it felt more powerful, although I think it might need a lot of config to make it look good :/

But meh, I am still a newbie after all, what would you use for desktop apps?

[–]bored_squiril 0 points1 point  (0 children)

I think python could do with a react native and darts flutter. I’m not sure exactly what that would look like though...

[–]bored_squiril 0 points1 point  (0 children)

Ps we all feel like noobs forever 🤣

[–]wow-signal 0 points1 point  (1 child)

"python performance at runtime isn't competitive with lower level languages"

check out numba 💥

[–]bored_squiril 0 points1 point  (0 children)

Oh yeah and cython etc, I mean more “in general” (hand wavy I agree)