Existen varios tipos de software distintos en el mundo de la informática. Si hacemos una clasificación según las funciones del software veremos que podemos agruparlo en cuatro categorías bien definidas y bastante distintas unas de otras.
Las más populares son: software de aplicación (como editores de texto, reproductores multimedia, etc.), software de sistema (como drivers o sistemas operativos), software de programación y finalmente el famoso software malicioso (dentro del cual encontramos virus, troyanos y malware en general, es decir, programas destinados a causar problemas al usuario). Este artículo está enfocado en el tercer tipo de software mencionado en el párrafo anterior, que obviamente es el software de programación.
¿Qué es el exactamente el software de programación? ¿Cuáles es el software de programación más popular? ¿Cómo se originó el software de programación? Si te estás haciendo algunas de estas preguntas entonces sigue leyendo, porque te contaremos sobre todo eso y muchísimo más.
¿Qué es el Software de Programación?
En primer lugar, debemos definir qué es el software de programación exactamente: el software de programación es un tipo de software bastante peculiar que destaca por ser el usado para crear otros software, es decir, son programas y herramientas a los que se le da uso para crear otros programas y herramientas.
La mayoría de los software de programación vienen equipado con todo lo que un programador puede necesitar para llevar a cabo sus tareas. Entre las utilidades que se integran se puede encontrar por ejemplo un procesador de texto, un depurador, distintos tipos de compiladores, entre otros.
Si pensamos por un momento seguramente vamos a darnos cuenta de que el software de programación a primera vista es una especie de paradoja, ya que son programas para crear programas… que evidentemente tuvieron que haber sido creados por otros programas, y así sucesivamente.
Recuerda un poco al caso del huevo y la gallina, pero la realidad es que es muy diferente, y para entenderlo debemos conocer el origen de este tipo de software.
Orígenes del Software para Programación
Si bien los primeros registros datan de los años 1940, lo cierto es que el software de programación tuvo sus orígenes hace alrededor de mil años, en tiempos en que obviamente ni siquiera existían las computadoras.
Por supuesto no era software como lo conocemos hoy en día, sino que se trata de dispositivos y máquinas que estaban “programados” para llevar a cabo distintas “tareas”, y entiéndase por tareas algo tan sencillo como reproducir un ritmo de un tambor.
En el siglo XIX hubo varios avances en la materia, aunque aún era muy distante de lo que conocemos hoy en día. La idea de almacenar datos en una máquina que pudiera interpretarlos surgió hacia fines del mencionado siglo.
Unas 5 décadas más tarde, lo que se conocía como programación era en realidad un montón de tableros, paneles de control y cables, pero poco tiempo más tarde, y ante la necesidad de contar con mejores sistemas, fueron ideados los primeros lenguajes de computadora (llamados lenguajes de bajo nivel), los cuales venían integrados en un hardware y estaban basados en código binario.
Este tipo de lenguajes solo eran capaces de funcionar con un hardware específico, lo cual obviamente los hacía muy limitados.
Trabajar de esta forma era complicado, y como la necesidad es la madre de todos los inventos pronto aparecieron los primeros lenguajes de programación de alto nivel, similares a muchos de los usados hoy en día, aunque claro no brindaban al usuario las mismas posibilidades que el software moderno. Este tipo de lenguajes era más sencillo de utilizar y más fácil de entender.
De allí en más, el efecto fue como el de una bola de nieve y en cuestión de pocos años se lograron grandes avances y fueron apareciendo varios de los lenguajes en los que están basados los lenguajes de programación más populares de la actualidad.
Tipos de software de programación
El software de programación puede ser clasificado en varios tipos distintos. Veamos a continuación cuáles son:
- Editores de texto: como su nombre lo dice se trata de programas cuyo propósito es procesador y almacenar texto, simple y llano. No debe confundirse como programas como Word, que brindan muchas más posibilidades y funciones. La tarea del editor de texto es que podamos usarlo para escribir y para ver el contenido de archivos de texto plano.
- Compiladores: el compilador es una herramienta cuya función radica en realizar una traducción del código de un software, de forma que el mismo pueda ser correctamente interpretado por una computadora para lograr una ejecución exitosa. El compilador básicamente tiene la tarea de convertir un lenguaje de alto nivel en un lenguaje de bajo nivel que el hardware pueda interpretar.
- Interpretador: también conocido como intérprete se trata del programa que nos permite realizar un análisis y/o una ejecución de un código escrito en un lenguaje de programación de alto nivel. Comparados con los compiladores, los intérpretes son más complejos y por lo general trabajan de forma más lenta, aunque también tienen una mayor flexibilidad.
- Enlazadores: a veces llamados linkers, la función de estos es la de crear enlaces entre diferentes objetos obtenidos de la primera fase de una compilación, para posteriormente unirlos en un solo archivo o fichero que puede ser ejecutado.
- Depuradores: conocidos a menudo como debuggers, estas utilidades permiten al desarrollador realizar pruebas con el código de su software, para así poder detectar y eliminar errores en el mismo. La mayoría brindan la posibilidad de interpretar un código paso a paso, lo cual hace más sencillo detectar fallos en el software.
- Entorno de desarrollo integrado: abreviados como EDI o IDE en inglés, se trata básicamente de herramientas todo en uno que integran varios tipos de software de programación, como por ejemplo un editor de texto, un compilador y un depurador. Existen muchas variantes, aunque el propósito general de este tipo de programa es que el desarrollador pueda crear en ella su software desde cero hasta finalizarlo, además de realizar todas las pruebas y depuraciones necesarias sobre el mismo.
Ejemplos de Software de Programación más usados
Existen una enorme cantidad de herramientas para desarrollar software, así que vamos a echar un vistazo a algunas de las más usadas.
NetBeans
NetBeans es uno de los entornos de desarrollo integrado más populares y usados en el mundo, siendo además un programa de software libre. Se utiliza principalmente para programar en Java, aunque se pueden utilizar distintos módulos para extender sus funciones. Muchos programadores que trabajan con PHP también utilizan, en especial aquellos que hacen uso del framework Symfony.
Microsoft Visual Studio
Microsoft Visual Studio durante mucho tiempo ha sido considerado como uno de los mejores IDE para crear software de todo tipo. Se trata de una herramienta multiplataforma y que cuenta con compatibilidad para gran cantidad de lenguajes populares, incluyendo por ejemplo PHP, Java, Python, C++, Ruby, entre otros. Está
orientado principalmente al desarrollo web, y cuenta con soporte para Django y ASP.NET.
GeneXus
GeneXus es un potente software de desarrollo que se usa principalmente en el sector empresarial, y nos permite crear aplicaciones para entornos Windows, aplicaciones para móviles y también páginas web. Para los desarrolladores web es especialmente útil ya que cuenta con integración con distintos tipos de motores de base de datos como MySQL, PostgreSQL, Oracle, Microsoft SQL Server, etc.
WinDev
WinDev es un EDI bastante popular y usado principalmente a la hora de realizar aplicaciones rápidamente, particularmente con un enfoque a datos. Brinda al usuario distintos modelos gráficos para elegir y es sumamente interactivo. Cuenta con soporte para Java, C# y .NET, e incluso brinda la posibilidad de crear programas para plataformas como Linux y Mac.
Notepad++
Notepad++ probablemente el editor de texto y código fuente más usado del mundo. Es gratuito y extremadamente liviano, sin mencionar que tiene soporte para más de 50 lenguajes de programación e incluso nos brinda la posibilidad de añadir lenguajes propios. Si bien está orientado para Windows, mediante herramientas como Snap es posible correrlo en muchas distribuciones de Linux.
En el siguiente video también podrás ver algunos ejemplos más de software de programación popular y muy utilizado.
Aplicaciones populares escritas con software de programación
- XYplorer: se trata de un software de gestión de archivos orientado para Windows y que fue desarrollado en Visual Basic. Ha ganado bastante popularidad en los últimos años y cuenta con una versión gratuita y con una licenciada. Esta última por supuesto cuenta con más y mejores funciones que su contraparte libre de costo.
- Minecraft: es un videojuego muy popular creado en Java. Se trata de un juego de mundo abierto donde se total libertad al jugador para crear todo tipo de construcciones, explorar, combatir y mejorar su personaje, integrando además diversos modos online para poder jugar partidas con otros jugadores de todo el mundo. Actualmente es propiedad de Microsoft, compañía que adquirió su desarrolladora, Mojang AB, por nada menos que $2500 millones de dólares.
- ThinkFree: se trata de un conjunto de programas de oficina creados en Java y compatibles con diversas plataformas como Android, Windows, Linux y Mac OS. Esta suite de oficina consiste en 5 herramientas: el procesador de textos Write, una hoja de cálculo conocida como Calc, un software para realizar presentaciones llamado Show, un editor de HTML y también un editor para blogs que recibe el nombre de Note.
- Oracle Developer Studio: conocido anteriormente como Oracle Solaris Studio, se trata de un IDE basado en NetBeans y orientado a entornos como Solaris, RHEL y varias distribuciones de Linux. Está enfocado en la programación en lenguajes como Fortran, C y C++.
- Sweet Home 3D: se trata de un programa de arquitectura y diseño gráfico que nos permite crear planos 2D de una casa o de habitaciones o salas y posteriormente ver los resultados en un entorno de tres dimensiones. Corren en diversos entornos como Linux, Mac y Windows y fue desarrollo en NetBeans.
- Chrome: el popular navegador web de Google está hecho principalmente en Visual Studio, ya que se trata de una herramienta que puede realizar un avanzado análisis y debug de C++. Chrome es navegador más utilizado del mundo hoy en día, y está hecho a partir del proyecto Chromium.
Lenguajes de programación populares
De acuerdo con el conocido portal para desarrolladores GitHub, en 2018 los lenguajes de programación más populares fueron:
- Javascript
- Java
- Python
- PHP
- C++
Por otro lado, la analizadora de software TIOBE, líder de su sector, ha indicado el siguiente top 5 en sus resultados de los lenguajes de programación más usados en junio de 2019:
- Java
- C
- Python
- C++
- .NET
Si comparamos los resultados de ambas, podemos ver que algunos como Java, Python y C++ se presentan en los dos casos entre los 5 lenguajes de programación más populares, así que es seguro asumir que, efectivamente, están entre los más usados del mundo.
La importancia del IDE (Entornos de Desarrollo Integrados) en el Software de programación
Previamente les comentábamos que los EDI (o IDE en inglés) son una especie de herramientas todo en uno usadas por los desarrolladores, y cabe mencionar que son muy importantes a la hora de crear un software de calidad y poder depurarlo rápidamente.
Si bien se puede trabajar perfectamente usando un editor como Notepad++, lo cierto es que un EDI nos brinda muchas funciones más y a la larga nos será mucho más útil. Las ventajas hablan por sí solas:
- Nos permite hacer un debug de nuestro código.
- Podemos rápidamente encontrar archivos con variables y funciones declaradas.
- Podemos realizar validaciones de código, es decir, verificar que no haya errores en nuestra sintáxis.
- Se pueden integrar plugins o extensiones para añadir y mejorar sus funciones.
- Permite trabajar sobre proyectos enteros desde una sola sesión.
Con todas estas mejoras a mano frente a un editor de texto corriente, queda bastante claro que hacer uso de un EDI nos beneficia muchísimo a la hora de programar. Por supuesto el uso de un EDI o no dependerá en gran partes de las necesidades de nuestro proyecto, ya que por ejemplo si estás creando un script muy sencillo de pocas líneas es muy probable que usar un editor de texto sea suficiente.