domingo, 28 de febrero de 2016

        

Tema 2: Representación de la Información



          ¿Qué son los lenguajes de programación?

Un lenguaje de programación es una estructura que, con una base sintáctica y semántica, imparte diversas instrucciones a un programa de ordenador. El origen del lenguaje de programación se lo debemos a Ada Lovelace, considerada la primera programadora de ordenadores del mundo. (1)

Existe una gran cantidad de lenguajes de programación, por lo que se han desarrollado lo que conocemos como intérpretes (programas que adaptan las instrucciones a otro lenguaje) y compiladores (programas que traducen el lenguaje a lenguaje máquina).

Vamos a clasificar los lenguajes de acuerdo a su nivel de abstracción:

Primeramente tenemos el lenguaje máquina, que es el conjunto de códigos binarios directamente interpretables por una computadora.
Seguidamente tenemos el lenguaje de bajo nivel, que es aquel lenguaje totalmente dependiente del ordenador
Por último tenemos el lenguaje de alto nivel, que es aquel que se encuentra más cercano al lenguaje natural que al lenguaje máquina.



      .NET vs JAVA

Vamos a comparar las dos principales plataformas de desarrollo que hay en la actualidad. (2)

JavaSEE/JavaEE es una gran plataforma de desarrollo y pertenece a Oracle, además de estar respaldada por grandes gigantes de la industria como son IBM o RedHat. Destacar que el crecimiento de la plataforma Android le ha dado un impulso a esta plataforma. (2)

Por otro lado .Net es también una excelente plataforma de desarrollo. Pertenece a Microsoft, que posee más del 90% del mercado de sistemas operativos de ordenador. (2)

Ahora veamos las principales ventajas de cada una de las plataformas:

En el caso de Java, funcionaría bien en alguno de los siguientes escenarios:

-  El desarrollo de aplicaciones multiplataforma. Es uno de los puntos fuertes de esta plataforma.
-  El desarrollo de aplicaciones Android. En .Net existen herramientas para desarrollar en Android como Xamarin, pero el lenguaje natural de Android es Java.
-    Gran variedad de herramientas para el desarrollo. Java tiene muchísimas opciones donde escoger entre frameworks, IDE’S, servidores de aplicaciones, etc.
-     Gran afinidad con GNU/Linux y Open Source, a pesar de que ni Java es del todo libre, ni .NET es totalmente propietario.

Para el caso de .NET, podríamos considerar como beneficiosos alguno de los siguientes escenarios:

-    Si tu empresa posee muchos productos de Microsoft, la opción recomendable es .NET porque esta plataforma corre mejor en ambientes Windows.
-   La compañía de Microsoft está apostando fuerte por .NET y esto lo demuestra con los numerosos productos y actualizaciones que se presentan con gran frecuencia.
-  Gran variedad de herramientas para el desarrollo. Java tiene muchísimas opciones donde escoger entre frameworks, IDE’S, servidores de aplicaciones, etc.
-  Uniformidad en las herramientas de desarrollo existentes en .NET: el IDE por defecto es Visual Studio, el servidor web es ISS, el framework MVC es ASP .NET MVC, etc.



        SmartGWT

GWT es un framework perteneciente a Google que tiene como ventaja principal que el código se escribe en Java, y después de compilarlo produce archivos JavaScript que pueden correr en cualquier navegador. (3)

SmartGWT es una variación de GWT, en la cual se implementan todos los widgets disponibles en la librería de JavaScript SmartClient. Nos ofrece un set de formularios, grillas y muchos otros componentes. Posee funcionalidades que se resuelven dentro del mismo widget. (3)

Las ventajas que posee son las siguientes:

-  A partir de una clase de java, obtenemos una pantalla con grillas, formularios y un look and feel muy profesional.
-  Evitamos confrontaciones con las distintas versiones de Internet Explorer, sus cambios de implementación y su renderización obsoleta de JavaScript y CSS.
-  Posee una gran variedad de widgets para utilizar.

Las principales desventajas son las siguientes:

- La versión LGPL, no habilita el uso del lado del servidor en la versión gratuita.
-  El tiempo de compilación es largo si lo comparamos con una aplicación nativa en HTML, JavaScript y CSS.
-  El HTML generado para representar los componentes es demasiado complejo.



      Lenguajes de programación del futuro

Todo programador ha oído hablar de lenguajes de programación como HTML, Phyton, PHP, JavaScript, etc. Pero hay otros muchos que podrían reinventar el futuro del desarrollo de software.

Algunos de estos lenguajes son Dart, Go, F# o Ceylon.

-  Dart es un lenguaje de código abierto, estructurado y flexible orientado a objetos. Es fácil de aprender y está adaptado a todos los navegadores web. El código se puede compilar en Java Script para ejecutarlo en cualquier navegador. Permite la  creación de aplicaciones web bastante complejas con un rendimiento muy elevado. También es una opción interesante para el desarrollo de aplicaciones en la nube porque permite un único lenguaje para el cliente, para el servidor y todo a través de la plataforma en la nube de Google (Google Cloud Platform).

-  Go es un lenguaje inspirado en C, con una excelente biblioteca estándar y recolector de basura. Es ideal para desarrolladores que conozcan C pero con la particularidad de que lenguajes como C, Java o C++ son pesados y Go es todo lo contrario. También admite la tipificación dinámica de datos. Además no es un lenguaje orientado a objetos, no hay clases ni objetos ni herencia.

-  F# es un lenguaje multiparadigma de código abierto, orientado a objetos y admite funciones de la plataforma anteriormente descrita .NET. Este lenguaje se utiliza mucho dentro de la industria asociada a los Big Data.

-  Ceylon es un lenguaje de programación orientado a objetos desarrollado por la archiconocida empresa Red Hat, responsable de la creación del sistema operativo de código abierto Linux. Tiene una sintaxis parecida a Java pero es mucho más legible, más regular y se apoya en estructuras de árbol. En definitiva es una sintaxis cuyo fin es una programación de proyectos de desarrollo más funcional que la de Java porque simplifica y elimina elementos de ese lenguaje.



domingo, 14 de febrero de 2016

Tema 1: La información


¿Qué es la información?

Primeramente vamos a diferenciar entre datos, información y conocimiento.

Un dato es un elemento aislado, recabado para un cierto fin, pero que no ha pasado todavía por un proceso que lo relacione con otros de manera funcional para un fin concreto. (1)

La información es un conjunto de datos procesados y relacionados, de manera que pueden dar pauta a la correcta toma de decisiones según un fin concreto. (1)

Por último llamamos conocimiento a la información adquirida por un ser humano a través de la experiencia o la educación. (1)

Hoy en día los métodos de almacenamiento de la información más conocidos son el papel, los dispositivos ópticos, las memorias USB, los discos duros y el almacenamiento en la nube.



 ¿Qué es la documentación?

La documentación es el conocimiento que se dispone de un tema, adquirido a partir de la información que se ha percibido por parte de él. (2)

Vamos a comentar los siguientes tipos de documentación:

La primera es la Archivología, que es la primera actividad desde el punto de vista informativo que apareció en el mundo. Los primeros documentos que existieron contenían asuntos legales que se debían conservar, como por ejemplo los textos de una propiedad o de una venta.

Más tarde apareció la bibliotecología, que se debe relacionar con la evolución del libro, las bibliotecas y las técnicas, además de los métodos utilizados para el estudio y la organización de la información para su uso posterior.

Posteriormente surgió la bibliografología, es una consecuencia del auge alcanzado por los materiales impresos con la aparición de la imprenta. Es de vital importancia en la época moderna debido a que es un valioso recurso para llegar a las fuentes del saber humano.

Con el paso de los años, y con el consecuente aumento de información, surgió la ciencia de la información a mediados del siglo XX. Esta ciencia tiene como objetivo primordial el estudio de la actividad científico-informativa, es decir, tiene como objetivo la propia información y todo lo relacionado con ésta, su organización, su uso, procesos, características, etc.



La fiabilidad de la información en Internet

El principal problema al que nos enfrentamos en Internet es saber qué información es veraz y cuál simplemente es una invención. Para evaluar la información de una Web podemos seguir los siguientes criterios:

Primeramente debemos fijarnos en la Autoridad, es decir, debemos fijarnos en quién es el autor de la información que estamos consultando y si dicho autor es un experto en el tema que está tratando. (3)

Acto seguido evaluaremos el contenido, fijándonos tanto en el contenido material como en la presentación formal del mismo.

A continuación nuestra atención debe recaer sobre el propósito de la información, fijándonos atentamente en si la publicación va dirigida a un destinatario o a un sector en concreto. En todas las páginas Web con un mínimo de fiabilidad hay una sección de “quienes somos” o “about us” donde podemos recopilar información.

La objetividad de la publicación es el siguiente criterio que evaluaremos. Es importante ver si trata de persuadir o convencer de algo, para ello nos fijaremos en los diferentes puntos de vista y observaremos con atención las opiniones que se defienden.

También es importante evaluar la pertinencia de la información. Debido a la ingente cantidad de información a la que tenemos acceso, es necesario que omitamos toda aquella información que no es relevante, es decir, lo que nos interesa es información concreta y precisa.

Por último miraremos lo que se denomina el concepto de actualización, es decir, que la información que estamos consultando está actualizada.

Debemos dudar siempre de la información que aparece en Internet, es decir, debemos evaluar dicha información y contrastarla, y no fiarnos simplemente de los resultados de las búsquedas que aparecen en las primeras posiciones de los principales buscadores.



El posicionamiento de las Web

En el anterior apartado terminábamos con la afirmación de que no debíamos fiarnos de los resultados de las búsquedas que aparecen en las primeras posiciones de un buscador como Google. ¿Por qué esas páginas Web aparecen en las primeras posiciones? ¿Poseen una mayor fiabilidad por estar en los primeros puestos?

Veamos los tres principales tipos de posicionamiento de las Web:

Empecemos hablando del posicionamiento SEO, el objetivo de esta técnica es conseguir que tecleando una serie de palabras concretas que identifican el producto o servicio de la empresa, ésta aparezca en las primeras posiciones de Google. (4)

Otra de las técnicas más conocidas es el posicionamiento SEM, que se basa en mejorar la visibilidad de la página Web en los buscadores mediante el pago por publicidad. El sistema más conocido del SEM es Google Adwords, que funciona con el sistema de pago por clic, es decir, que sólo se paga cuando alguien hace clic en el anuncio.

Pongamos como ejemplo que tecleamos en google la palabra <<ordenadores>>: podemos ver que en la parte central aparecen los resultados de búsqueda “normales” (SEO) y en la parte superior y en el lateral derecho los relativos a anuncios de pago por clic (SEM).

Por último tenemos el posicionamiento SMO, y hace referencia al posicionamiento en los social media (blogs, redes sociales, etc.).



Referencias