官术网_书友最值得收藏!

Other types of applications

Of course, we have several other categories that software can fall into. Let's look at some of them.

Systems software

The software in this category helps the user, applications, and computer hardware to interact and function together. These applications create an environment that other programs can work in. When a computer is powered on, the first thing that is loaded into the computer's memory is system software applications. They will mostly run in the background, even if some of them can have a visual user interface. Because these programs work directly with the computer's hardware, they are often referred to as low-level software.

The most well-known type of application we find in this category is operating systems. As we saw in Chapter 1, Introduction to Computer Programs, they let other software run and take care of the direct communication with the hardware.

The most well-known operating systems for desktop computers and laptops are as follows:

  • Microsoft Windows
  • macOS and macOS X (for Apple devices)
  • Linux

For smartphones and tablets, we have the following operating systems:

  • Android
  • iOS (for Apple devices)
  • Microsoft Windows Mobile

Programming software

In this category, we find the tools and applications used by programmers when they write and test software. First, we need the programs that are the actual language the programmers use. To be able to write a program in C++, Java, Python, or any other language, we must first install the software that will take care of the translation of the source code into machine code (see Chapter 2, Introduction to Programming Languages).

A programmer often uses specialized text editors that will assist them when writing code. Some programs are even more advanced and will provide not only an editor for writing the code but a range of other built-in tools that are useful to have access to when writing programs. These are called Integrated Development Environments (IDEs). An example of a built-in tool is a debugger, which is a program that will help the programmer to find errors in the code.

Serverless applications

A serverless application is a specialized variant of cloud-based applications. It can come in several different forms. Common to all these variants is that the cloud provider runs the servers needed, and dynamically manages all the resources the application needs. What this means is that we, for example, will not need to buy storage of a fixed size. The provider will add more storage as we need it, and we will pay for the storage we use. We can compare this to a scenario where if our hard disk is full, it just keeps increasing its storage capacity to meet our needs for more space.

This kind of software is interesting if you want to automate the maintenance of servers, storage, and other aspects of your infrastructure. These solutions are intelligent, so they can adapt to changes, for example, by giving us more storage when we need and reducing it again when the need drops.

主站蜘蛛池模板: 蚌埠市| 德化县| 湄潭县| 叶城县| 德钦县| 乾安县| 齐齐哈尔市| 迁安市| 江阴市| 靖州| 三亚市| 建水县| 玉龙| 新郑市| 舟曲县| 马山县| 克什克腾旗| 旬邑县| 泰来县| 大田县| 通城县| 江津市| 阿尔山市| 衡东县| 南靖县| 邵东县| 吴桥县| 吴桥县| 聂拉木县| 商都县| 铜鼓县| 普格县| 自治县| 亚东县| 亚东县| 鄂州市| 呼和浩特市| 安泽县| 建平县| 阜新市| 新和县|