I learned Python and understand the mechanics to write scripts with functions and classes, etc. Most of my scripts run via the interactive prompt but I've done a little GUI programming to create some menus and buttons.

I don't understand how larger programs are put together on a high level. While I understand that everything consists for loops, while, if-then, etc. what is the larger structure to an application? For example, what is the structure to a full-blown program like Excel, Photoshop, Firefox, etc.

Sorry if this is bit confusing.

Larger programs can be built in many different ways using different designpatterns. We can take an application used in a customer service as an example. To store all information about customers, items for sale and items that customers have bought, there are a database to hold the information. This database has to be created in the meaning that you need to decide how you want to store your information and how you want to be able to reach the information you have in the database. Then you have the view (the user interface) or maybe views. It can be the view that the customer service uses to add an order, handle payment, update customer information like adress and so on. This can be one or many views depending on the size of the system.One way of building such a system is to use OOP. Often you choose to design your application in layers like for example GUI (user interface) in one layer, logic (how to do things) in one layer and storage (database) in one layer. There are, as I said, many different ways of doing things and a bank system is not built in the same way as a customer service system or a system on an airport. But I hope this example will give you some kind of picture of how a larger system can be built. Try to find books about software developement in some library if you are interested.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.