1. Introducción
En la entrada de hoy, trataremos la forma de como representar la
información. Esto lo conseguimos gracias a los lenguajes de programación. Es
importante que sepamos que es un lenguaje de programación: "Un lenguaje de
programación es un lenguaje formal diseñado para realizar procesos que pueden
ser llevados a cabo por máquinas como las computadoras". Estos lenguajes
de programación suelen seguir una serie de pasos:
- Un
desarrollo lógico del programa para resolver un problema en particular.
- Escritura
de la lógica del programa empleando un lenguaje de programación específico
(codificación del programa).
- Ensamblaje
o compilación del programa hasta convertirlo en lenguaje de máquina.
- Prueba
y depuración del programa.
- Desarrollo
de la documentación.
También es importante diferenciar entre dos tipos de lenguajes de
programación:
1.1.
Lenguajes de bajo nivel
Son lenguajes totalmente dependientes de la máquina, es decir, el programa
que se realizar con este tipo de lenguaje no se puede usar en otras máquinas.
En este nivel, encontramos dos tipos:
- Lenguaje
máquina: Este
lenguaje ordena a la máquina las operaciones fundamentales para su
funcionamiento. Consiste en la combinación de 0 y 1 para formar las
ordenes entendibles por el hardware de la máquina.
- Lenguaje
ensamblador: es
un derivado del lenguaje máquina y está formado por abreviaturas de letras
y números llamadas mnemotécnicos. Con la aparición de este lenguaje se
crearon los programas traductores para poder pasar los programas
escritos en lenguaje ensamblador a lenguaje máquina.
1.2.
Lenguaje de alto nivel
Son aquellos que se encuentran más cercanos al lenguaje natural que al
lenguaje máquina. Se tratan de lenguajes independientes de la arquitectura del
ordenador. Por lo que, en principio, un programa escrito en un lenguaje de alto
nivel, lo puede usar en otra máquina sin ningún tipo de problema. Estos
lenguajes permiten olvidarse al programador del funcionamiento interno de la
máquina, tan solo hace falta un traductor que entienda el código fuente como
las características de la máquina.
Como alumno de la facultad de la politécnica de la Universidad de Alcalá
hago mi análisis personal de los que considero los lenguajes más actuales.
Java
Java es un lenguaje de programación orientado a objetos, debido a esto
podemos decir que es muy similar a la forma de pensar de los humanos, ya que a
ser de objetos hay que ir desarrollando poco a poco dicho objeto. Ejemplo: un
coche (el objeto) está formado por: puertas, volante, puertas, etc. (los
atributos). Es decir, a la hora de diseñar los objetos tenemos una cierta
facilidad ya que es similar a la forma de pensar que tenemos.
Se trata de un lenguaje multiplataforma, permitiendo así poder desarrollar
para distintas tecnologías: aplicaciones de escritorio, móvil, web, etc. La
gran ventaja es que una vez que aprendemos su sintaxis es relativamente fácil
alternar entre plataformas. Además, gracias al JDK nos provee de herramientas
de desarrollo, siendo fácil su instalación, ya que se puede usar de manera
local en una máquina o usar a través de la red. Dispone de la máquina virtual
(JVM) que nos permite olvidarnos de la gestión de memoria.
Sus principales desventajas es que evolucionan lentamente, si los
comparamos con C# o Python. También tenemos que tener en cuenta que su
principal objetivo no es el rendimiento. Es un lenguaje, aunque su visión de
orientado a objetos puede ayudarnos, es difícil de aprender si lo tomamos como
primer lenguaje a la hora de aprender a programar.
Python
El lenguaje de Python es bastante similar al lenguaje natural, siendo una
buena opción empezar por este lenguaje para todos aquellos que quieran aprender
a programar.
Las principales ventajas que tiene, es que consigues buenos resultado con
apenas pocas líneas de código. Es un lenguaje muy ordenado y limpio, ya que, si
por ejemplo, queremos una lista de varios datos, no es necesarios tener que
declarar cada uno. Esto ayudar a legibilidad, que es debida a su reducción de
líneas y ayuda a que cualquier otro programador pueda trabajar sobre él de
manera sencilla. Además cuanta con la facilidad de ser muy portable a cualquier
sistemas operativo.
Las desventajas que podemos encontrar, es que su curva de nivel no es tan
sencilla cuando entramos en la parte de la web, y pude llegar a ser algo
compleja. Otra de las desventajas es que su documentación no es tan buena
comparando con Java.
C#
C# es un lenguaje de programación que se diseñó para compilar diversas
aplicaciones en .NET Framework.
Las principales ventajas es que podemos encontrar un rango más amplio y
definido de tipos de datos que se encuentran en otros lenguajes, por ejemplo
C++ o Java. Dispone de recolección de basura automática, así nos podemos
olvidar de la gestión de memoria. En C# no se usan punteros, como en C++. Otra
de las cosas que nos ayuda a la hora de programar es que no importa el orden de
declaración, pudiendo así declarar una función y posteriormente definirla.
Las principales desventajas que encontramos es que para trabajar sobre este
lenguaje tenemos que cumplir una serie de requisitos mínimos del sistema. Es un
lenguaje difícil si va a ser nuestro primer lenguaje de programación, además si
queremos acceder algún tutorial oficial sobre la programación en C# tendremos
que tener conexión a Internet.
SQL (Structured Query Languaje)
Sql es un lenguaje declarativo de acceso a bases de datos relaciones que
permite especificar diversos tipos de operaciones en ellas. Una de sus
características es el manejo del álgebra y el cálculo relacional que permite
efectuar consultas con el fin de recuperar, de forma sencilla, información de
bases de datos, así como hacer cambios en ellas.
La principal ventaja es que es un lenguaje muy simple de utilizar y fácil
de entender.
PHP (Hypertext Preprocessor)
PHP es un lenguaje de código abierto muy popular especialmente usado para
el desarrollo web y que puede ser incrustado en HTML.
Las principales ventajas que encontramos es que es un lenguaje totalmente
gratuito y abierto. Además tiene una curva de aprendizaje muy baja. Los
entornos de desarrollo son fáciles de configurar y también rápidos. Pero la
principal ventaja que tiene, es que tiene una amplia comunidad en la que te
será fácil poder resolver los problemas que te vayan surgiendo.
La principal desventaja que encontramos es que el lenguaje se encuentra en
ejecución para ciertos usos y esto puede ser un problema para la seguridad ya
que el código fuente no puede ser ocultado.
Bibliografía
Apuntes de clase
Videoconferencia