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




viernes, 12 de febrero de 2016

La información

Este blog esta basado en la asignatura de Búsqueda y gestión de la Información y Recursos Multimedia de la Universidad de Alcalá.

Tema 1. La información.


¿Qué es la información?


Antes de empezar a desarrollar el tema, es importante que sepamos que es la información. Definición (1): Comunicación o adquisición de conocimientos que permiten ampliar o precisar los que se poseen sobre una materia determinada. Es muy importante que se diferencie entre datos e información.

Los datos es todos aquellos datos que se recoge por separado de diferentes personas (nombre, apellidos, edad,...), lugares (número de visitas, capacidad máxima,...), acontecimientos, (fecha, capacidad,...), etc. Por ejemplo, los datos personales de las personas o los datos de las compras que realiza.

Y la información es aplicar conocimiento sobre esos datos que hemos recogido. Por ejemplo, obtener un perfil tipo de las personas que suelen comprar en una página web, el número de ventas que se han ido produciendo durante un periodo de tiempo (por ejemplo, las navidades) con el fin de predecir el comportamiento de las personas y tener los recursos disponibles en esos momentos donde se producen un alto volumen de ventas.

¿Dónde podemos encontrar la información?


Hoy en día podemos acceder a la información en cualquier momento y lugar, gracias a Internet y a las nuevas tecnologías que disponemos, por ejemplo los smartphones, smartwatch, tablets, etc. Pero debemos mirar para atrás para conocer como se ha ido trasmitiendo la información a lo largo del tiempo, por ejemplo los jeroglíficos, los pergaminos, los libros, etc. Debido a esa información que nos han dejado podemos conocer más sobre su época.

Volviendo a nuestros días, Internet es nuestra gran fuente de información pero eso no quiere decir que todo lo que se pone es verdad, ya que cualquiera puede publicar, unos ejemplos muy comunes es dar a gente por muerte en las Redes Sociales, por tanto, toda la información que queramos sacar d 

Pero estos errores no sólo los hemos cometido ahora, si no anteriormente también se cometían, como el fin del mundo que predijeron los Mayas, que sería el 21 de Diciembre del 2012 y aquí estamos todos.

Si nos damos cuenta, siempre el canal de comunicación de la información se ha ido cambiando a lo largo del tiempo, ahora estamos en el tránsito de si desaparecerá el papel como tal. Personalmente, creo que no, pero sí que se reducirá drásticamente su uso, ya que hace unos años todos los trámites burocráticos se hacía a través de solicitudes en papel, ahora hemos cambiado ese formato y se realizan a través de Internet ahorrando grandes cantidades de papel, además de tiempo ya que se puede automatizar todo mucho más deprisa, un claro ejemplo es a la hora de realizar la matrícula de la Universidad que ya se hace a través de Internet. Si nos fijamos ahora en el caso de los libros de lectura siguen la misma tendencia aunque una parte de los consumidores prefieren los libros físicos es que según The Guardian (2) la venta de libros físicos han caído en 150£ millones.


¿Dónde guardar la información?


Todos sabemos que muy fácil subir nuestros documentos a Internet y poder acceder a ellos donde queramos. Antes de analizar este tema, volvamos a mirar para atrás. Los diferentes medios que se han ido usando para guardar nuestra información han pasado desde los disquetes (ya desaparecido prácticamente), dispositivos ópticos (CD-R, DVD), tarjetas de memoria, memorias USB, discos duros, y la nube.

Los más usados son los Discos Duros, gracias a su gran tamaño para almacenar información, llegando a tener PetaBytes (1.000.000TG) o incluso ZettaByte (1.000 millones de GB), pero lo que verdaderamente está en más uso es el almacenamiento en la nube, es decir, poder subir tu información a Internet y acceder a ella desde quieras. Esto supone una ventaja para la mayoría de los consumidores, ya que en realidad no nos importa donde se almacena físicamente la información, de hecho no se suelen conocer el lugar de los CPD (Centro de Procesamiento de Datos) por motivos de seguridad. Pero si nos fijamos en los casos de la información que pueda gestionar administraciones públicas, si es importante donde se almacena la información, ya que por temas legales aquellos servidores donde se sube la información deben de estar en España.

Posicionamiento de las Web


Prácticamente usamos todo el mundo diferentes buscadores para acceder a la información y estos nos proporcionan una serie de enlaces para acceder a las diferentes páginas web. El truco está en cómo el buscador pone unas páginas web antes que otras, ya que es muy importante estar en las primeras posiciones porque son las que más se accede, se puede hacer a través de dos formas: SEO y SEM(3):

El SEO se basa principalmente en configurar tu web de una forma interna con parámetros que el buscador tiene en cuenta a la hora de posicionar la web (4). 

El SEM es pagar por ciertas palabras para que cuando se usen esas palabras en el buscador aparezca la web que quieres posicionar.

Si entrar en profundidad, yo personalmente recomiendo, para las paginas nuevas, una inversión en SEM a corto plazo, ya que es más eficaz, y una inversión a largo plazo en SEO, ya que es más lenta y pero que a la larga tiene mejores resultados.



Web a las que se ha consultado: