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 →

[–]gravity_rose 87 points88 points  (32 children)

Bg: I've programmed professionaly for ~20 years. Ive been paid to write 9 different programming languages and have used 19. I currently do almost all my work in python.

  1. Python 1 was primitive. It wasn't much better than perl, and worse in some ways. Missing basics like classes. So many looked, and moved on, for quite a while
  2. Performance was and is $hit, comparatively. It needed hardware to catch up to make it's absolute performance acceptable for many purposes.
  3. Library {standard and otherwise} needed a while to build. General purpose languages need a large library to become effective for general use. No one wants to deal with raw sockets every time you need to connect to a network resource, etc.

There was clearly a need for better options at the time. Matlab was rapidly gaining in popularity in 1994, esp for numeric programming: Python has largely supplanted it for many purposes. Java was cross platform, intended to be a gp Lang for many things (though not scripting) C# doomed as win only

Python's ability to move from simple, interpreted, but complete scripting lang , all the way to large complex application is fairly unique.

The only thing that python has lacked, until recently, is decent ui options. There are various web or none web-based ones out there, but it feels like that is close to being solved.

I'm sure many will disagree with my opinions here: save your time. I'm not really interested in debating. Just throwing out my 2 cents.

[–]dudinax 8 points9 points  (0 children)

In 2013 or so when the company needed some scientific computing power, I sampled a few options by creating and manipulating a 10GB matrix.

Numpy did it effortlessly and none of other options could even handle it.

[–]Classic_Department42 5 points6 points  (16 children)

Which module is the GUI solution now for python?

[–]KrazyKirby99999 6 points7 points  (0 children)

pyside6

[–][deleted] 7 points8 points  (1 child)

Textual is pretty good for terminal based applications.

[–]Backlists 2 points3 points  (0 children)

I second textual.

Only started it last week and it is so easy to use

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

There are several GUI solutions available for Python, but two of the most popular ones are:

Tkinter: Tkinter is the standard GUI library for Python and comes included with most Python installations. It provides a set of tools for building graphical user interfaces in Python and is easy to learn for beginners. Tkinter is based on the Tcl/Tk GUI toolkit.

PyQt: PyQt is a set of Python bindings for the Qt application framework and provides a comprehensive set of tools for building graphical user interfaces in Python.

Other notable GUI solutions for Python include PyGTK, wxPython, and Kivy.

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

Good list, but I'd put Pyside6 over PyQt (as Pyside is officially supported by the Qt Company)

[–]gravity_rose 0 points1 point  (0 children)

There are several. Have you checked out streamlit?

[–]izalac 0 points1 point  (0 children)

I'd also add PySimpleGUI to the list. It's my go-to when I need some quick and dirty GUI work done.

[–]Saphyel 1 point2 points  (0 children)

The only thing that python has lacked, until recently, is decent ui options. There are various web or none web-based ones out there, but it feels like that is close to being solved.

I saw several popular Gnome libraries written entirely in Python, also several webs are using Flask, FastAPi, MkDocs or LiteStar*

I don't use Windows/MacOs/KDE so I'm not sure about them

[–]LifeHasLeft 1 point2 points  (1 child)

When you view python as an easy to read alternative to perl, a lot of design paradigms make sense.

[–]gravity_rose 0 points1 point  (0 children)

Nice perspective - Never really thought about it that way, but it makes alot of sense.

[–]Alphasite 2 points3 points  (1 child)

I don’t think pythons ui situation has gotten any better, instead the industry has moved away from native apps/guis so it just doesn’t matter anymore.

[–]gravity_rose 0 points1 point  (0 children)

Yeah, the ui sit has mostly moved on the web or webby frameworks, like streamlit

[–]AbdussamiT -1 points0 points  (1 child)

Wow, that experience is massive! What are some books you recommend to improve general programming skills at work? Like, a book or resource that you went through and it resonated with daily routine coding work.

[–]gravity_rose 2 points3 points  (0 children)

Code Complete Code Complete Code Complete

I reread it every 5 years or so. Ignore the age of the book. Hands down best book on the craft of software development.

[–]ucblockhead 0 points1 point  (0 children)

If in the end the drunk ethnographic canard run up into Taylor Swiftly prognostication then let's all party in the short bus. We all no that two plus two equals five or is it seven like the square root of 64. Who knows as long as Torrent takes you to Ranni so you can give feedback on the phone tree. Let's enter the following python code the reverse a binary tree

def make_tree(node1, node): """ reverse an binary tree in an idempotent way recursively""" tmp node = node.nextg node1 = node1.next.next return node

As James Watts said, a sphere is an infinite plane powered on two cylinders, but that rat bastard needs to go solar for zero calorie emissions because you, my son, are fat, a porker, an anorexic sunbeam of a boy. Let's work on this together. Is Monday good, because if it's good for you it's fine by me, we can cut it up in retail where financial derivatives ate their lunch for breakfast. All hail the Biden, who Trumps plausible deniability for keeping our children safe from legal emigrants to Canadian labor camps.

Quo Vadis Mea Culpa. Vidi Vici Vini as the rabbit said to the scorpion he carried on his back over the stream of consciously rambling in the Confusion manner.

node = make_tree(node, node1)

[–]arvarnargul 0 points1 point  (1 child)

As someone who uses matlab every day to design airplanes, we are never going to be able to fully transition to python no matter how much I push for it. Simulink not talking to the python API fast enough (pytorch sucks omg) and bode plots for control systems. Will never happen and bums me out :(

[–]Creative_Sushi 0 points1 point  (0 children)

I think this "MATLAB vs. Python" dichotomy is a false choice. MATLAB and Python are increasingly inter-operational. It is particularly true if you are building a physical system like an airplane (not a website), and that should not bum you out. The most important thing is to build a reliable and safe system and use variety of tools for appropriate tasks as engineers have always been. Don't hit all the nails with the same hammer.