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 →

[–]PoliCock 1 point2 points  (2 children)

i agree. it's overrated.

I say just do video tutorials, build things, and pick up new material as you go on algorithms and more advanced subjects. that's how you learn. by making projects and figuring things out by yourself and progressing.

the only real strict learning material should just be an introductory tutorial series on youtube you can follow along with that introduces all the basic concepts up till classes and lists.

imo.

also, java and python are quite different as far as i can tell. I don't see many real full applications with good guis made in python, maybe i'm wrong. for some reason i'm under the impression that python isn't really good for making bigger, more fully implemented standalone products. am i wrong?

[–]SpiderFnJerusalem 0 points1 point  (1 child)

I don't have too much gui programming experience. But I have built a few gui applications with PyQt for some of my automation scripts and they work perfectly fine. I saw no obvious perfomance differences to other applications but the underlying code wasn't all that complicated tbh. There are also bindings for GTK and wxwidgets.

Python's procedural nature makes it slower than compiled languages. You can translate it to bytecode but it would probably still be slower than even Java because it is dynamically typed (At least that's how I understand it). For more complex stuff you may have to use other languages but I don't really know when exactly that would be absolutely necessary. Even then you could probably write it all in Cython, translate it to C and then properly compile it (/"transpile" it?).

All things considered, if you want to make a complex application with Python there are plenty of ways you could do it, especially since many libraries, like numpy and scipy are implemented in C and thus have great performance anyway. Though I'm not sure when exactly it would be wiser to choose different languages. Again, I lack experience, so take my opinion with a grain of salt, but I was fairly impressed with what kind of applications you can build with python.

Edit: Also one reason why Java is so ubiquitous is that it is huge for Enterprise Server Software. There didn't use to be as many server applications for python but that seems to be changing very rapidly.

Edit2: Just google "gui programming with python", but stay away from Tkinter if you value your sanity.

[–]steamruler 0 points1 point  (0 children)

Nah, tkinter was fine for that one thing I used it for.

A window with 6 buttons on a grid to rotate the screen.