Características de los Lenguajes de programación

Existen muchas clasificaciones para los lenguajes de programación y dependen de muchas de sus características. Empezaremos por ir de lo general a lo particular para tratar de entenderlos.

Los lenguajes de programación básicamente están clasificados en dos grandes categorías: Lenguajes de bajo nivel y Lenguajes de alto nivel, sin embargo existe un lenguaje intermedio llamado Ensamblador (que es del tipo de maquina pero simbólico)

El lenguaje de bajo nivel es el lenguaje de maquina y los de alto nivel son los lenguajes de programación que utilizamos hoy en día, como: C, C++, PYTHON, RUBI, PHP, HTML, JAVA, etc.

En el caso del Lenguaje ensamblador se utiliza para crear programas ejecutables en código de máquina y no son portables ya que son creados para la maquina especifica en la que se está trabajando. No así los lenguajes de alto nivel ya que son portables pero posteriormente requieren de una interpretación o compilación para convertirlos en lenguaje de maquina y que la computadora los entienda.

Jerarquía de los lenguajes de programación:


El lenguaje de maquina o Ensamblador son únicos para cada tipo de computadora (CPU).

Existe el índice TIOBE para detectar los lenguajes de programación más utilizados en la actualidad - Indice TIOBE

Características de un lenguaje de programación:

  • Un lenguaje de programación debe ser simple, fácil de aprender y usar, tener buena legibilidad y ser humano reconocible.
  • La abstracción (aislar una función concreta del objeto) es una característica imprescindible para un lenguaje de programación en el que se puede definir la estructura compleja y luego su grado de usabilidad.
  • Siempre se prefiere un lenguaje de programación portátil.
  • La eficiencia del lenguaje de programación debe ser alta para que pueda convertirse fácilmente en un código de máquina y ejecutarse, además de consumir poco espacio en la memoria.
  • Un lenguaje de programación debe estar bien estructurado y documentado para que sea adecuado para el desarrollo de aplicaciones.
  • Las herramientas necesarias para el desarrollo, depuración, prueba, mantenimiento de un programa deben ser provistas por el mismo lenguaje de programación.
  • Un lenguaje de programación debe proporcionar un entorno único conocido como Entorno de desarrollo integrado (IDE).
  • Un lenguaje de programación debe ser coherente en términos de sintaxis y semántica.

Cada lenguaje de programación tiene características únicas que lo hacen que se especialice en ciertas cosas en particular, por ejemplo:

En cuanto a los lenguajes que se utilizan para la web existen los front-end (del lado del usuario) y los back-end (del lado del servidor)

  • HTML – Para desarrollo de páginas webs (front)
  • CSS – Para maquetar (diseño) archivos HTML (front)
  • PHP – Para desarrollo de páginas web dinámicas y uso de bases de datos (back)
  • JavaScript – Para desarrollo de páginas web (front)
  • ASP y ASP.NET – Desarrollado por Microsoft para webs dinámicas (back y front)
  • JSP – Para desarrollo de páginas web dinámicas (back)

Otros lenguajes de programación:

  • C – de propósito general para software de sistema y crear aplicaciones
  • C++ - extensión de C para programar orientado a objetos
  • C# - Diseñado por Microsoft para desarrollar aplicaciones de Windows orientada a objetos
  • Go – Utilizado por Google para desarrollo de aplicaciones Android
  • Python – de propósito general para crear aplicaciones, desarrollo web y análisis de información
  • Fortran – para matemáticas y de aplicaciones de cálculo científico
  • OCALM – Lenguaje orientado a objetos utilizado por Facebook para proyectos menores
  • COBOL – Lenguaje de programación orientado a negocios
  • LUA – programación orientada a objetos y datos ROBLOX este hecho en este Lenguaje
  • Java – El lenguaje de programación mas popular de la actualidad orientada a objetos
  • Visual Basic .NET – Orientado a objetos con beneficios tipo framework
  • Ensamblador – Para manipular el hardware directamente
  • SQL – Para manipular y manejar bases de datos
  • Swift – enfocado al desarrollo de aplicaciones para iOS y macOS
  • Ruby – orientado a objetos y para programación web con Rails y gemas que son paquetes
  • Matlab – muy utilizado en universidades y centros de investigación y para crear GUIs
  • Perl – principalmente utilizado por su facilidad en el proceso de texto de propósito general
  • Lisp – Principalmente utilizado en la investigación de la inteligencia artificial
  • Objective-C - lenguaje principal de programación para Mac OS X, iOS y GNUstep
  • RUST - Un nuevo lenguaje destinado a reemplazar lenguajes como C
  • SCRATCH - de programación visual diseñado para que los niños aprendan
  • Smalltalk - lenguaje reflexivo de programación, orientado a objetos y con tipado dinámico
  • TCL – Muy utilizado para crear interfaces graficas de usuario

 


Si quieres o te interesa sumergirte en la programación de video juegos, te recomiendo que uses primero frameworks (macros como: Polycode, Turbulenz y MonoGame ) y motores ya desarrollados para esto en particular que incluye herramientas de alto nivel como Unity, UDK, Unreal Engine y CryEngine.