Introduction to software¶
The software (pronounced soft.wer) is the set of programs and data of a computer system. They are the programs, the apps, the operating system, the image files, video files, text documents, presentations, etc. Software is information and therefore intangible, it cannot be touched.
Programs are sequences of instructions written to perform a specific task on a computer.
Programs are usually made by professional programmers who write human-understandable source code, and that source code is later converted into an executable file, understandable by computers.
Examples of programs are text editors, electronic messaging apps, video games or Internet browsers.
- Data files
Data files contain the information necessary for programs to perform their functions.
Examples of data files are a PDF document, a video, a JPG image, a Powerpoint PPTX presentation, the text of a message, an HTML web page, a DOCX text document, an MP3 song, etc.
Data files need a program or application to handle them to be able to represent them on the screen or to be able to modify them.
There are many types of programs depending on their utility or the service they provide, so that not all can be seen in this section they. In any case, we will see the most important types of programs based on their usefulness.
- Operating systems
Operating systems are the programs or set of programs that start computers and manage all their resources. They are necessary for the machine to start working and distribute the resources of the memory, the processor, the screen, the sound, etc. among the other programs that we want to run.
Examples of operating systems:
- Programming software
El software de programación sirve para crear el resto de los programas. Los programadores escriben código fuente comprensible por los humanos y, posteriormente, ese código fuente se puede convertir en una aplicación o un sistema operativo.
El código fuente se puede compilar para generar un programa o aplicación que instalamos en nuestros ordenadores. Ejemplos de lenguajes de programación compilados son:
- The C language, which is used to create programs such as operating systems, browsers, office automation, etc.
- The Java language that is used to create Android applications.
Otros lenguajes no se compilan sino que se interpretan a medida que se necesita. Con estos lenguajes interpretados se crean las aplicaciones que ejecutamos en el navegador, sin instalar ningún programa. Ejemplos de lenguajes de programación interpretados son:
- The PHP and Python languages used to create the programs we see on the Internet, such as YouTube, Instagram, Gmail, etc.
In addition to programming languages, there are also code editors that help the programmer when writing programs. Well-known and free editors are Eclipse, Visual Studio Code, Notepad++, Vim, Emacs, etc.
- Application software
Within this section we can find a multitude of programs that users use to carry out specific tasks that can be automated.
Examples of application software:
Office automation applications. They include word processing, spreadsheet, and presentation software. LibreOffice is an open source office suite.
Computer Aided Design programs (CAD). They helps to create building and mechanical plans (Autocad), printed circuits (KiCAD), or 3-dimensional figures (Blender).
Multimedia. They are programs used to manipulate images (Photoshop, GIMP, Adobe Illustrator, Inkscape), sounds (Audacity, Adobe Audition) or video (Adobe Premiere, Corel Video Studio, Windows Movie Maker).
Image, audio or video players such as Irfanview, Foobar2000, VLC, etc. can also be included in this section.
Educational software such as Moodle (used in virtual classrooms), Plotagon, etc.
Business software such as programs for managing payroll, invoices, customer management, etc.
Internet browsers such as Google Chrome, Apple Safari, Microsoft Edge, Mozilla Firefox, Opera, etc.
Social networks such as Whatsapp, Telegram, Line, Instagram, Facebook, Twitter, etc.
Video games like FIFA, Minecraft, Mario Kart, The Sims, Fortnite, etc.
Database managers. They are programs that manage information to store, search and relate it. They are used to support other programs that need to manage information in a massive way. For example, databases store bank accounts, messages from social networks, content of web pages, etc.