Vous êtes sur la page 1sur 27

21 MOTORES DE BASE DE DATOS MÁS UTILIZADAS POR LOS

DESARROLLADORES
26 FEBRERO, 2019

En este artículo te mostramos los lenguajes y gestores de bases de datos más usados actualmente en la comunidad
de desarrolladores

Tanto si eres un estudiante, programador o administrador de BD (DBA), debes saber que existen diferentes tipos de bases
de datos como las relacionales (SQL) y no relacionales.

Por ello, aquí te mostramos los sistemas y lenguajes de BD más populares junto con sus principales características.

¿Qué es un gestor de bases de datos?

Un sistema de gestión de bases de datos (SGBD o DBMS) es un software que proporciona una forma de almacenar y
recuperar la información de una base de datos de manera práctica y eficiente.

Básicamente, un SGBD ofrece una interfaz entre la base de datos y los usuarios finales o aplicaciones, asegurando
que los datos estén organizados de manera consistente y que sean fácilmente accesibles.

De esta manera, los usuarios pueden crear, leer, actualizar y eliminar datos de una BD.

Según esta encuesta de Stack Overflow (el sitio de preguntas y respuestas para programadores), estas son las bases de
datos más usadas por los desarrolladores:

1. MySQL

MySQL es el gestor de base de datos de código abierto más popular utilizado en la web, principalmente con el lenguaje de
programación PHP.

La eficacia, fiabilidad y facilidad de uso son las principales características de esta base de datos utilizada en aplicaciones
web como Facebook y Twitter.

Características:

o Compatibilidad con SQL.


o Arquitectura cliente/servidor.
o Procedimientos almacenados.
o Soporte multiplataforma.
o Soporte de Unicode.
o Consulta de caché.
o Soporte SSL.

2. SQL Server

SQL Server es un gestor de base de datos desarrollado por Microsoft y que se basa en el lenguaje de consultas
estructurado SQL.

Además, cuenta con diferentes versiones que se adaptan a diferentes cargas de trabajo y demandas.

Características:

o Admite una amplia variedad de aplicaciones de procesamiento de transacciones.


o SQL está vinculado a Transact-SQL (T-SQL).
o Visualización de datos e informes en dispositivos móviles.
o Compatibilidad con nube híbrida.
o Escalabilidad y seguridad.

3. PostgreSQL

PostgreSQL es un potente gestor de bases de datos relacionales orientado a objetos que extiende las funciones de SQL.

Disponible para múltiples plataformas, PostgreSQL admite transacciones, subselecciones, disparadores, vistas, integridad
referencial de clave externa y bloqueo sofisticado.

Características:

o Tipos definidos por el usuario.


o Herencia de tablas.
o Extensibilidad.
o Mecanismo de bloqueo sofisticado.
o Clave foránea de integridad referencial.
o Integridad de datos.
o Vistas, reglas, subconsultas.
o Control de concurrencia multi-versión (MVCC).

4. MongoDB

Se trata de la base de datos NoSQL más popular del mundo orientada a documentos, con gran escalabilidad y flexibilidad.

Mongo DB almacena los datos en documentos similares a JSON, lo que significa que los campos pueden variar de un
documento a otro y la estructura de los datos se puede cambiar con el tiempo.
Características:

o Gratuito y de código abierto.


o Alta disponibilidad.
o Escalado horizontal.
o Colecciones de tamaño fijo.
o Duplicación de datos.
o Distribución geográfica.
o Balanceo de carga.
o Indización y replicación.

5. SQLite

SQLite es un motor de base de datos SQL autónomo, de alta confiabilidad, integrado, completo y de dominio público.

El término “Lite” en SQLite significa poco peso en términos de configuración, administración de bases de datos y recursos
necesarios.

Características:

o Configuración cero.
o Sin servidor.
o Archivo de base de datos único.
o Compacto.
o Registro de longitud variable.
o Código fuente legible.

6. Redis

Redis, acrónimo de REmote DIctionary Server, es un motor de base de datos donde las claves pueden contener
cadenas, hashes, listas, conjuntos y conjuntos ordenados.

A diferencia de otros sistemas, Redis es utilizado principalmente para el almacenamiento en caché y la administración de
sesiones.

Características:

o Increíblemente rápido.
o Simplicidad.
o Operaciones atómicas.
o Admite varios lenguajes de programación.
o Replicación maestro/esclavo.
o Persistencia instantánea.
o Fácil de usar, instalar y mantener.
7. Elasticsearch

Elasticsearch es un software de código abierto utilizado para el análisis de registros, búsqueda de texto completo,
inteligencia de seguridad, análisis de negocios y casos de uso de inteligencia operacional.

Accesible a través de una API extensa y elaborada, Elasticsearch puede impulsar búsquedas extremadamente rápidas que
admiten sus aplicaciones de descubrimiento de datos.

Características:

o Operaciones de búsqueda casi en tiempo real.


o Alto rendimiento.
o Facilita la coubicación de datos.
o Indización de documentos al repositorio.
o Almacenamiento de documentos sin formato.
o Altamente distribuible y escalable.

8. MariaDB

MariaDB es un SGBD relacional derivado de MySQL, con licencia GPL y las mismas características de MySQL (con algunas
extensiones).

El sistema se basa en SQL y admite el procesamiento de datos de estilo ACID con atomicidad, consistencia, aislamiento y
durabilidad garantizados para las transacciones.

Características:

o Admite API de JSON.


o Replicación de datos en paralelo.
o Múltiples motores de almacenamiento.
o Notablemente escalable.
o Amplia selección de motores de almacenamiento.
o Utiliza un lenguaje de consulta estándar y popular.
o Velocidad y alta seguridad.

9. Oracle

Oracle Database es el sistema de BD relacional que compite con SQL Server en el mercado de las base de datos
empresariales.

Al igual que SQL Server, cuenta con diferentes versiones de software, según los requisitos y el presupuesto. Además, es
compatible con la mayoría de las plataformas principales, incluidos Windows, UNIX, Linux y Mac OS.
Características:

o Totalmente escalable.
o Inteligencia de negocios.
o Agrupamiento
o Gestión de contenidos.
o Servicios de localización.
o Gestión del servidor.
o Inteligencia de negocios.
o Alto rendimiento, seguridad y análisis.

10. Microsoft Azure


(Tables, CosmosDB, SQL, etc)

Se trata de la plataforma en la nube de Microsoft que proporciona a los desarrolladores un servicio de base de datos
relacional inteligente en la nube.

Microsoft Azure, conocido anteriormente como Windows Azure, permite a las organizaciones crear, administrar e
implementar aplicaciones en una red global masiva utilizando sus herramientas y marcos favoritos.

Características:

o Construya sitios web con ASP.NET , PHP o Node.js.


o
o Migrar aplicaciones e infraestructura.
o Base de datos SQL.
o Caching.
o CDN.
o Virtual Network.
o Servicios móviles.

11. Google Cloud Storage

Google Cloud Storage es el servicio de Google que permite el almacenamiento mundial y la recuperación de cualquier
cantidad de datos en cualquier momento.

Las empresas pueden usar este servicio para servir el contenido de su sitio web, almacenar datos para archivar y recuperar
en caso de desastres, o distribuir objetos de datos grandes a los usuarios a través de descarga directa.

Características:

o Redundancia geográfica.
o Disponibilidad.
o Durabilidad.
o Una sola API para toda clase de almacenamiento.
o Alto rendimiento y escalabilidad.
o Consistencia fuerte.
12. Memcached

De código abierto, Memcached es un sistema de almacenamiento en caché de memoria distribuida, utilizado


principalmente para acelerar las aplicaciones web dinámicas al reducir la carga de la base de datos.

Memcached se compone de cuatro componentes principales. Estos componentes permiten que el cliente y el servidor
trabajen juntos para entregar datos en caché de la manera más eficiente posible.

13. Amazon DynamoDB

(Amazon DDB) es un servicio de base de datos NoSQL totalmente administrado proporcionado por Amazon Web Services.

DynamoDB utiliza un modelo de base de datos NoSQL (no relacional), lo que permite tener documentos, gráficos y
columnas entre sus modelos de datos.

Características:

o Admite operaciones CRUD básicas y operaciones condicionales.


o Bajas latencias.
o Alta disponibilidad y durabilidad.
o Escalabilidad masiva.
o Seguridad superior.
o Rendimiento altamente predecible.

14. Amazon RDS/Aurora

Más conocido como Amazon Aurora, se trata de un motor de base de datos relacional creado para la nube.

Aurora combina la velocidad y fiabilidad de las BD comerciales de gama alta con la sencillez y la rentabilidad de las BD de
código abierto.

Además, es compatible con MySQL y PostgreSQL, pero con un rendimiento muy superior a estos.

Características:

o Seguridad y fiabilidad de las bases de datos de nivel comercial.


o Sistema de almacenamiento distribuido tolerante a errores.
o Alto rendimiento y disponibilidad.
o Baja latencia.
15. Cassandra

Apache Cassandra es una base de datos distribuida para administrar grandes cantidades de datos estructurados en
muchos servidores de productos básicos.

Características:

o Disponibilidad continua.
o Rendimiento a escala lineal.
o Simplicidad operativa.
o Escalabilidad y alta disponibilidad.
o Fácil distribución de datos.
o Tolerancia a fallas.

16. IBM DB2

DB2 es un sistema de gestión de bases de datos relacionales (RDBMS) propiedad de IBM.

Al igual que otros motores de bases de datos de alto rendimiento, IBM Db2 cuenta con todas las funciones capaces de
manejar grandes cantidades de datos y servir simultáneamente a muchos usuarios.

Características:

o Recuperación de desastres de alta disponibilidad.


o Resiliencia, escalabilidad y seguridad de nivel empresarial.
o Alto rendimiento gracias al optimizador de costes.

17. Neo4j

Neo4j es una base de datos de gráficos que permite encontrar relaciones entre los datos y extraer su verdadero valor.

Desarrollado en Java, el software está pensado para mantener los datos sin restringirlos a un modelo predefinido. En su
lugar, los nodos de un gráfico representan las entidades, mientras que las relaciones representan la asociación de estos
nodos.

Características:

o Modelo de datos flexible.


o Altamente escalable.
o Información en tiempo real.
o Datos conectados y semiestructurados.
o Alta disponibilidad y fácil recuperación.
18. Amazon Redshift

Amazon Redshift es un servicio de almacenamiento de datos totalmente administrado, confiable, rápido y que forma parte
de la plataforma de computación en la nube Amazon Web Services.

Es ideal para cargas de trabajo de estilo OLAP, como almacenes de datos, análisis, big data y ELT. Además, es casi
linealmente escalable, y se puede poner en marcha de manera rápida, fácil y económica.

Características:

o Procesamiento en paralelo de forma masiva.


o Aprendizaje automático.
o Almacenamiento en caché de resultados.
o Copias de seguridad automatizadas.
o Tolerante a errores.
o Integración con herramientas de terceros.
o Almacenamiento de datos a escala de petabytes.

19. Apache Hive

Apache Hive es una herramienta de almacenamiento de datos y ETL desarrollada sobre el Sistema de archivos
distribuidos de Hadoop (HDFS).

Este software de almacenamiento de datos facilita la lectura, escritura y administración de grandes conjuntos de datos que
residen en el almacenamiento distribuido utilizando SQL.

Características:

o 8Análisis de grandes conjuntos de datos.


o Encapsulación de datos.
o Escalable , familiar y extensible
o Latencia alta.
o Soporte limitado de subconsultas .

20. Google BigQuery

Google BigQuery es un servicio web de análisis de big data basado en la nube.

El servicio se ejecuta en la infraestructura de almacenamiento en la nube de Google y se puede acceder a él mediante una
interfaz de programa de aplicación (API) orientada a REST.
Características:

o Recopilación de datos en tiempo real.


o Distribución de datos.
o Copia de seguridad y restauración automatizadas.
o Alta disponibilidad.
o Permite el uso del dialecto SQL estándar.

21. Apache HBase

Apache HBase es una base de datos de código abierto creada para ejecutarse sobre el Sistema de archivos distribuidos
de Hadoop (HDFS).

Además, es conocido por proporcionar una gran consistencia de datos en lecturas y escrituras, lo que lo distingue de otras
bases de datos NoSQL.

Características:

o Escalabilidad en forma lineal y modular.


o Almacenamiento distribuido.
o Fragmentación automática de tablas.
o Soporte de conmutación por error.
o Procesamiento en tiempo real.
o Consistencia.

Los 22 entornos de desarrollo integrado más populares


LOS 7 MEJORES IDE PAR A PROGRAM AR EN JAV A
11 FEBRERO, 2019

¿Cuál es el mejor IDE para programar en Java? Tanto si eres un novato o un programador avanzado, aquí te mostramos
una selección de los mejores IDE Java con todas sus características, ventajas y desventajas, que harán que te inclines
por uno u otro.

Java es el lenguaje de programación orientado a objetos más popular del mundo y el tercero de los lenguajes de
programación más utilizados en GitHub.

Además, no solo es utilizado para desarrollar software de escritorio y empresarial, sino también para crear aplicaciones web
y móviles.

Por ello, es importante elegir un IDE que mejor se adapte a la naturaleza del proyecto y que incluya las funciones que
necesitas.

¿Qué es un IDE?

Un IDE (entorno de desarrollo integrado) es un programa que incluye diferentes herramientas para escribir código y
probar el software, generalmente, de un lenguaje específico.

Estos IDE’s facilitan la tarea de programar gracias a que incluyen un editor de código, un compilador o intérprete y un
depurador, a los que se acceden mediante una interfaz gráfica de usuario.

Mejores IDE para programar en Java

De entre todos los IDE para Java, destacan especialmente dos: Eclipse y Netbeans, siendo los más populares y utilizados
por los desarrolladores.

Pero estos no son los únicos, aquí veremos una lista de los mejores entornos para JAVA, disponibles para Linux,
macOS, Windows e incluso versiones en línea.

Eclipse

Empezamos la lista con el que es quizás el IDE de Java más popular, aunque, para algunos, esto no precisamente lo haga
ser el mejor.

Desarrollado originalmente por IBM, Eclipse es un entorno multiplataforma de código abierto que actualiza su versión
cada año.

Con Eclipse podrá desarrollar aplicaciones de escritorio, web y apps móviles. Además, gracias a su amplia variedad de
plugins, no solo soporta Java, sino también lenguajes como C, C++, JSP, Perl y PHP.
Ventajas:

o Depuración de código, con una perspectiva específica y vista de errores.


o Excelente gestión de proyectos.
o Soporte para plugins.
o Opciones de personalización.
o Permite la integración de soluciones de terceros.
o Ofrece herramientas para repositorios y servidores.

Desventajas:

o Mayor consumo de recursos.

Con una gran comunidad detrás, Eclipse está disponible para Windows, Linux y Mac.

Por otro lado, si lo que estás buscando es un IDE Java online, puedes optar por su versión en la nube: Eclipse Che, que
permite desarrollar aplicaciones desde un navegador web. Aunque, eso sí, el tiempo de ejecución de este IDE en línea es
más lento que su versión de escritorio.

Netbeans

Netbeans es un IDE gratuito y de código abierto inicialmente desarrollado por Sun Mycrosystem y ahora propiedad de Oracle.
Una de las ventajas de usar este entorno es la facilidad con la que se pueden crear aplicaciones con interfaz
gráfica gracias a la función Drap and Drop.

Por esta razón, es muy utilizado por quiénes recién se inician en la programación. Sin embargo, la facilidad con la que se
pueden crear interfaces gráficas, pueden hacer que el usuario se vuelva dependiente de los botones de arrastrar y soltar.

Por otro lado, con Netbeans puedes desarrollar todo tipo de aplicaciones Java Web, J2SE, EJB y aplicaciones móviles.
Además, soporta otros lenguajes de programación como C/C++, XML, HTML, PHP, Groovy, Javadoc, JavaScript y JSP.

Ventajas:

o Eficiente gestión de Proyectos.


o Reutilización de Modulos.
o Identifica y soluciona problemas de código comunes.
o Librería visual de Netbeans.
o Herramientas de desarrollo integrado.

Desventajas:

o Genera código basura al usar los botones de arrastrar y soltar.


o Las librerías y complementos hacen que sea “muy pesado”.

El software está disponible para los sistemas Windows, Linux, Solaris y macOS.

Desarrollado por JetBrains, IntelliJ IDEA incluye una versión gratuita (Community) y otra de pago (Ultimate) con algunas
funciones adicionales.
La versión Community ofrece soporte para Java, Groovy, Kotlin, XML, JSON, YAML; mientras que la versión
Ultimate soporta estos y otros lenguajes como JavaScrip, TypeScript, SQL, XSL, XPath.

Además, algunos otros lenguajes como Ruby, Phyton o PHP también son soportados por medio de plugins.

Para un programador Java, la versión Community puede ser suficiente; aunque si lo que quieres es desarrollar proyectos
profesionales o para empresas de gran tamaño, deberás optar por la versión de pago: Ultimate.

Ventajas:

o Herramientas integradas para desarrolladores.


o Soporte de frameworks.
o Atajos de teclado.
o Enfocado a proyectos complejos.
o Soporte técnico (solo para la versión de pago).

Desventajas:

o Pagos de suscripción mensual/anual para la versión Ultimate.

IntelliJ IDEA está disponible para Windows, Linux y Mac.


Codenvy es un IDE Java en línea de código abierto que permite a los desarrolladores modificar, ejecutar y depurar código
en la nube sin necesidad de instalar ningún software.

Gracias a que está basado en Eclipse Che, este entorno de desarrollo integrado agrega multitenencia, controles de
seguridad y automatización.Además, facilita la depuración y prueba de código Java gracias al entorno de tiempo de
ejecución personalizado.

Al igual que IntelliJ IDEA, Codenvy cuenta con versiones gratuitas y de pago. Así tenemos que las ediciones Developer y
Team son gratuitas, pero con algunas limitaciones; mientras que la versión Enterprise es enteramente de pago.

Ventajas:

o Entorno de ejecución personalizado para probar y depurar código.


o Acceso SSH para ejecutar el contenedor en cada imagen.
o Entornos preconstruidos para acelerar el desarrollo.
o Posibilidad de compartir el progreso del trabajo con un cliente.
o Funciones de finalización de código, refactorización y resaltado de sintaxis.

Desventajas:

o No cuenta con aplicación de escritorio

Finalmente, Codenvy incluye soporte para otros lenguajes de programación compilados e interpretados como C++, C#,
JavaScript y PHP.
IBM Rational Application Developer (RAD)

Rational Application Developer, también conocido como RAD, es un popular IDE comercial basado en Eclipse.

RAD proporciona herramientas para analizar, desarrollar, diseñar visualmente y desplegar aplicaciones desarrolladas en
Java.

No solo eso, también se puede utilizar para implementar y administrar servicios web, aplicaciones web que utilizan JavaScript
y XML y activos de arquitectura de componentes de servicio.

Ventajas:

o Integración con el servidor de aplicaciones de IBM Websphere.


o Herramientas para desarrollar, implementar y probar aplicaciones en WebSphere Application Server.
o Altamente personalizable.
o Extensa documentación.
o Facilidad de uso y tiempo de despliegue.

Desventajas:

o Alto costo de la licencia.


o Consumo de recursos elevado.

IBM RAD es de pago y está disponible para Windows y Linux.


JCreator es un IDE Java comercial propiedad de Xinox Software. Ofrece dos ediciones de pago: JCreator Lite, con funciones
más que suficientes para un programador Java; y JCreator Pro, con algunas funciones extra como CVS y el Depurador JDK.

A diferencia de otras aplicaciones para programar en Java, JCreator está escrito en C++, lo cual hace que sea más rápido.

Una de sus principales características, es que cuando necesites compilar una aplicación, no es necesario seleccionar el
documento principal de tu proyecto, JCreator lo detecta automáticamente.

Ventajas:

o Gestión de proyectos.
o Plantillas de proyecto.
o Interfaz de depuración independiente.
o Interfaz de usuario totalmente personalizable.

Desventajas:

o No ofrece versiones gratuitas.


o No es apto para desarrollar sistemas complejos de gran tamaño.

El software está disponible únicamente para Windows.


jGRASP, siglas de “Representaciones gráficas de algoritmos, estructuras y procesos”, es
la aplicación más ligera para programar en Java.

A pesar de estar implementado en Java, jGrasp produce diagramas de estructura de control (CSD) para varios lenguajes de
programación como C, C++, Python, Objective-C y Ada.

Además, incluye funciones para hacer que las aplicaciones de software sean integrales al generar la visualización del
software automáticamente.

Gracias a este IDE, los desarrolladores pueden generar diagramas de estructura de control y diagramas de clase UML.

Ventajas:

o Entorno de desarrollo ligero.


o Extremadamente fácil de usar.
o Gestión de Proyectos para C, C ++, Objective-C, y Ada.

Desventajas:

o Funcionalidades muy básicas.

jGrasp puede ejecutarse en Windows, macOS y Linux con una máquina virtual Java instalada.

Como has podido ver, los desarrolladores disponen de diferentes IDE para programar en Java. La elección de uno u otro
dependerá de las necesidades de cada uno, de su nivel de programación y del proyecto a desarrollar.
LENGU AJES DE PROGRAM ACIÓN: QUÉ SON,
HISTORI A, TIPOS Y EJEMPLOS
5 FEBRERO, 2019

Conoce los diferentes tipos de lenguajes de programación, su historia, ejemplos y algunos de los más populares utilizados
por los desarrolladores.

Desde su aparición, estos lenguajes han servido para programar los chips de computadora, los teléfonos móviles y diferentes
dispositivos electrónicos.

Sin embargo, escribir código que pueda ser entendido por el procesador (código máquina) no siempre fue fácil.

No sería hasta la llegada de los lenguajes de alto nivel (comprensibles por los humanos) en que ya no era necesario escribir
en binario para darle instrucciones al ordenador.

Historia
En 1936, el alemán Konrad Zuse empezó la construcción de la Z1, la primera computadora programable del mundo. Esto lo
llevó a crear, entre 1942 y 1945, el primer lenguaje de programación de alto nivel: Plankalkül, diseñado exclusivamente
para la Z1. Sin embargo, este no fue publicado hasta 1992.

Por ello, desde la aparición de las primeras computadoras comerciales entre 1950 y 1957, se utilizó los códigos binarios
(lenguaje de primera generación) para su configuración/programación. El problema era que la configuración de una
computadora no servía para otra.

Una de las mejoras para este código máquina (binario), fue la creación del lenguaje ensamblador. Sin embargo, pese a que
evitaba tener que recordar códigos numéricos, seguía siendo igual de complicado de escribir.

Fue entre 1952 y 1955, que la ex oficial de la Armada de Estados Unidos, Grace Hopper, comenzó a trabajar en una forma
más fácil de configurar computadoras, proponiendo el lenguaje Flow-Matic. Considerado como el primer lenguaje de
procesamiento de datos, Flow-Matic permitía escribir código mucho más rápido y los programas resultantes podían ejecutarse
en diferentes máquinas.

Pero no sería hasta 1957 que IBM y un equipo liderado por John Backus desarrollaron el primer lenguaje de
programación comercial: FORTRAN. Este lenguaje contaba con un compilador que convertía las líneas de FORTRAN en
código Asembler, incluso mucho mejor que el que se podía escribir a mano.

Más tarde, en 1959, un consorcio de empresas y el gobierno de los Estados Unidos desarrollaran COBOL. Basado en Flow-
Matic, COBOL tenía como objetivo ser un lenguaje de programación universal compatible con cualquier
computadora.

Después de esto, empezaron a crearse los demás lenguajes de alto nivel. Lisp, para el procesamiento de listas; SnoBol, para
el procesamiento de cadenas; Algol, que influyó en la creación de lenguajes como C y Pascal; Basic, creado originalmente
como una herramienta de enseñanza; y más tarde Java, uno de los más populares a día de hoy.

¿Qué es un lenguaje de programación?


Básicamente, un lenguaje de programación es el medio para darle instrucciones a la computadora y hacer que haga
aquello que tú quieras.

Los ordenadores tienen millones de interruptores que están encendidos (1) o bien apagados (0). Así, puedes darle
instrucciones al computador por medio de bits (cadenas de 0s y 1s). Sin embargo, esto resulta demasiado complejo.
Por ello se crearon los lenguajes de programación, para escribir código legible que será traducido al lenguaje máquina
(binario). Es decir, para que sean intermediarios entre los desarrolladores y el hardware.

De esta manera, mientras que para comunicarte con las personas utilizas idiomas como el inglés o español, para comunicarte
con las máquinas utilizas los lenguajes de programación (de tipo humano).

A diferencia del lenguaje natural que tiene muchas ambigüedades, los lenguajes de programación son concisos y claros,
con propiedades matemáticas y significados bien definidos.

Tipos de lenguajes de programación


Existen diferentes lenguajes de programación, los cuales están clasificados según su proximidad al hardware o al
usuario.

En ese sentido, y aunque no hay una clasificación exacta, existen dos tipos de lenguajes de programación: bajo nivel y
alto nivel. Aunque, para algunos, existe también el lenguaje de medio nivel.

Lenguaje de bajo nivel Lenguaje de alto nivel

Gestión de memoria directa. Necesitan ser interpretados o compilados.

Dependen del hardware. Son independientes del hardware.

Ejecución más rápida. Menor rendimiento.

Excelente rendimiento pero difícil de escribir. Sintaxis flexible y fácil de leer.

Poco apoyo y difíciles de aprender. Gran comunidad detrás.


1. Lenguajes de bajo nivel
Los lenguajes de bajo nivel son aquellos que están más próximos al lenguaje de máquina (de ceros y unos). Es decir, tienen
un control directo sobre el hardware.

A diferencia de los lenguajes de alto nivel, no necesitan compiladores. Se ejecutan directamente en el procesador y
dependen de la arquitectura del hardware.

Los programas que se crean con estos lenguajes de bajo nivel dependen totalmente del hardware. Por esta razón, no se
pueden migrar o utilizar en otras máquinas.

Además, pese a que aprovechan mejor las características del hardware, son los tipos de lenguajes más difíciles de entender
y aprender.

Existen dos tipos de lenguajes de bajo nivel: máquina y ensamblador.

Lenguaje de máquina

Es aquel que es interpretado directamente por el procesador, por lo que su ejecución es mucho más rápida.

El lenguaje máquina consta de cadenas de números binarios (0s y 1s), razón por la que programar en este lenguaje es
una tarea bastante tediosa que requiere una mayor cantidad de tiempo.

Los programas escritos en este lenguaje no necesitan ser traducidos, pues es el único que el procesador entiende
directamente.

Además, pese a que hacen un uso eficiente de la memoria, encontrar un fallo en el lenguaje de máquina es una tarea casi
imposible.

Lenguaje ensamblador
El lenguaje ensamblador (assembler o asm) no es más que códigos mnemotécnicos (abreviaturas de letras y
números) de las instrucciones máquina (binario). Por tanto, los programas escritos en ensamblador se traducen
a código máquina de forma inmediata.

Este lenguaje de bajo nivel depende estrictamente del tipo de procesador utilizado. Por tanto, programar en
ensamblador requiere conocer, en forma detallada, las especificaciones del hardware.

De igual forma, el software escrito en este lenguaje resulta ser poco o nada portable. Aunque, como ventaja, ocupa
menos memoria, es más fácil de depurar y su código fuente resulta ser más corto.
2. Lenguajes de alto nivel

Los lenguajes de alto nivel están más próximos al lenguaje humano y más alejados de la máquina. Por tanto, resultan
más fáciles de entender y son más flexibles a la hora de programar.

Este tipo de lenguaje de programación es traducido al lenguaje máquina mediante un intérprete o compilador.

Al ser independientes del hardware, los programas escritos en estos lenguajes de alto nivel pueden ejecutarse en diferentes
plataformas (Windows, Linux, etc.).

A diferencia de los lenguajes de bajo nivel, permiten utilizar paradigmas de programación, suelen usar tipos de datos, toman
menos tiempo para escribir y los errores son más fáciles de encontrar y corregir.

Además, tienen la ventaja de generar código más sencillo (palabras reservadas generalmente en inglés) y comprensible para
diversas máquinas y sistemas operativos.

Lenguajes de alto nivel – Imagen: makeitreal.camp

Al haber una gran cantidad de lenguajes de alto nivel, su clasificación es muy diversa. Aquí vamos a señalar dos tipos de
lenguajes de alto nivel: lenguajes compilados e interpretados.

Compilados

Los lenguajes compilados son aquellos que son traducidos al lenguaje de máquina (cadenas de bits) de una sola vez.
Por tanto, cada modificación que realices en el código fuente requiere volver a compilar (traducir a código máquina) todo.

Sin embargo, hay algunos lenguajes como Java que primero compilan a bytecode (un código intermedio) y luego es
interpretado a máquina.

En contraste con los lenguajes interpretados, los programas escritos en un lenguaje compilado tienen un rendimiento
ligeramente superior y están optimizados para su ejecución.

Ejemplos: C, C++, Ada, ALGOL, Delphi, Fortran, Java, Lisp, Pascal, Perl, Go, Scala, Swift, Rust, entre otros.
Lenguajes compilados – Imagen: overiq.com
Interpretados

Los lenguajes interpretados son traducidos, instrucción por instrucción, al lenguaje máquina. Es decir, empieza por la
primera línea de código, pasa a la siguiente y así hasta traducir todo el código.

Este tipo de lenguaje de alto nivel facilita las cosas al programador, ya que el código es convertido a máquina a medida
que es ejecutado. Sin embargo, son más lentos que los lenguajes compilados.

La ventaja es que no dependen de la máquina donde se ejecuta el intérprete.

Ejemplos: Ruby, Python, JavaScript, PHP, VBScript, etc.

Lenguajes interpretados – Imagen: overiq.com

Ejemplos de lenguajes de programación


Existen varios lenguajes de programación, creados para distintos fines. Incluso, empresas como Facebook y Google han
creado sus propios lenguajes.

Aquí veremos algunos ejemplos de lenguajes de programación y sus características, tanto de propósito general como
de propósito específico.

Los ejemplos mostrados a continuación imprimen el mensaje “Hello World” al ejecutarse.

Máquina:

Se trata del lenguaje de bajo nivel que entiende el procesador y que consta de cadenas de bits.
“Hello world” en código máquina

Ensamblador:

Es el lenguaje legible por los humanos pero tan difícil de escribir como el lenguaje máquina. Se encuentra en sistemas
operativos y motores de juegos 3D.

“Hello World” en código ensamblador

ALGOL:

Desarrollado por científicos informáticos en la década de 1950, ALGOL (lenguaje algorítmico) es contemporáneo de otros
lenguajes como FORTRAN, Lisp y COBOL. Su sintaxis y estructura influyó en la creación de otros lenguajes como C,
Pascal y Ada.

“Hello World” en ALGOL


Bash (Unix Shell):

Este lenguaje de scripting es utilizado para administrar sistemas Linux y Unix mediante línea de comandos.

“Hello World” en Bash

Java:

Creado a principios de los 90, Java es una lenguaje orientado a objetos que puede ejecutarse en cualquier sistema operativo.
Es también el lenguaje utilizado para crear aplicaciones de Android.

“Hello World” en Java

C:

C es un lenguaje estructurado que puede ser compilado en múltiples plataformas. Es el lenguaje utilizado para la
construcción de los sistemas operativos Windows, Mac OS X, iOS y Android.

“Hello World” en C

C++:

C++ encapsula las características del lenguaje de alto y bajo nivel. Es utilizado para construir todo tipo
de aplicaciones y es muy similar a C.
“Hello World” en C++

C#:

Se trata de un lenguaje de programación multipropósito desarrollado por Microsoft para utilizarse en sus plataformas.
Destaca por su facilidad de uso, rapidez y fácil de mantener.

“Hello World” en C#

Go:

Creado por Google, Go es un lenguaje de código abierto sencillo, confiable y eficiente. A pesar de ser un lenguaje
compilado, se siente como un lenguaje interpretado de forma dinámica.

“Hello World” en Go
Javascript:

Javascript es el lenguaje de programación web utilizado para crear sitios web interactivos. Es también el lenguaje más
utilizado por los desarrolladores en GitHub y presente en la mayoría de sitios web como Facebook o Twitter.

“Hello World” en Javascript

PHP:

PHP es un lenguaje interpretado que se ejecuta del lado del servidor. Es utilizado para construir el backend de sitios web,
desde blogs hasta los sitios más populares del mundo.

“Hello World” en PHP

Python:

Este lenguaje interpretado, creado a principios de 1990, permite la creación de todo tipo de aplicaciones. Python destaca
por su sintaxis simple, de allí que sea uno de los lenguajes ideales para aprender programación.

“Hello World” en Python

Swift:

Se trata del lenguaje de programación creado por Apple y que busca reemplazar a Objective-C. Con una sintaxis concisa
pero expresiva, Swift es un lenguaje de programación rápido, seguro e interactivo.

“Hello World” en Swift

Ruby:

Ruby es un lenguaje muy popular para crear sitios web, siendo utilizado por empresas como Twitch y Airbnb. Con
una sintaxis fácil de leer y escribir, Ruby puede ejecutarse en una variedad de plataformas como Windows, Mac OS y
UNIX.

“Hello World” en Ruby

Scratch:

Scratch es un lenguaje de programación visual utilizado en las escuelas para introducir a los niños en la programación. A
diferencia de otros lenguajes, no necesitas escribir código; el código se genera conforme arrastras y sueltas bloques.
“Hello World” en Scratch

Lenguajes más utilizados


Las tendencias con respecto a los lenguajes de programación han ido cambiado. Si antes era Java el lenguaje más
utilizado, ahora lo es Javascript.

Esta es una lista de los lenguajes de programación más usados en la plataforma Github:

1. JavaScript: el lenguaje para la web utilizado junto con HTML.


2. Python: uno de los lenguajes de programación que usan los hackers, utiliza para crear aplicaciones web y scripts.
3. Java: uno de los lenguajes más conocidos orientado a objetos que necesita de la JVM para su ejecución.
4. Ruby: de código abierto, Ruby está enfocado en la simplicidad y productividad.
5. Go: el lenguaje de Google inspirado en la sintaxis de C.
6. PHP: orientado al desarrollo web.
7. C++: una extensión de C, pero con características más avanzadas.
8. C: lenguaje de programación de propósito general con acceso de bajo nivel a la memoria.
9. TypeScript: desarrollado por Microsoft, TypeScript es un lenguaje que se compila a un JavaScript simple.
10. C#: otro lenguaje de Microsoft que forma parte de su plataforma .NET.

Vous aimerez peut-être aussi