domingo, 28 de febrero de 2016

Representación de la información

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




4 comentarios:

  1. Buena elección y descripción de los lenguajes más actuales.

    Un saludo !

    ResponderEliminar
  2. Me ha servido para desconectar de las practicas de DTE bien explicado compañero!

    ResponderEliminar
  3. Muy bueno! Habia algunos que ni conocía, buena entrada!!

    ResponderEliminar
  4. Bien, coincido bastante con los lenguajes que has escogido

    ResponderEliminar