I learned about them for GUIs, and they are indeed my favourite Python option for such purposes. However, they are so much more than that. They implement network sockets, media management, regular expressions, basic geometry, stuff like QVariant is basically a dynamic attribute handler...

I mean, it seems weird to just call them "GUI packages". It can be as little as a GUI, but it can also be pretty much an entire mask on top Python where you never use a naked function and rely on QObjects for everything.

Is there a name for this concept? Are there others that I should be aware about if I'm doing, say, scientific programming?

有帮助吗?

解决方案

Frameworks, platforms, toolkits. PyQT calls itself a toolkit. DirectX is a full featured framework like you described, and it is intended to run on platforms like Windows and Xbox. I use the ExpressJS framework for web development, but most of it's core functionality is either in the NodeJS server, which is not officially referred to as a framework AFAIK; it exposes pretty much the whole OS through a javascript interface for server side interweb code. For scientific programming, Matlab and Octave both just call themselves languages, but I would call them platforms because they have a graphical interface and GUI building tools, and a whole ecosystem of modules, and because your code lives inside of their system. OpenGL, scipy and numpy are libraries, by contrast, because they are used as a component inside of your project. And then there are content management systems (CMS) like Wordpress and Drupal, enterprise resource planning systems (ERP) like Tryton, and probably a bunch of other sub-categories of the "framework" and "platform" categories of software.

All in all, it's not easy to categorize software. We need to standardise a taxonomy, and then make new standardized taxonomies to make up for deficiencies in the first one ;)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top