jueves, 24 de abril de 2014

Caso 6. Business intelligence

Ya hemos hablado anteriormente de la búsqueda de información y algo sobre el tratamiento, pero cuando pensamos en que este tratamiento de información tiene que estar perfectamente optimizado, y además es a gran escala, estamos describiendo el problema de las empresas. Business Intelligence (BI) es como se denomina a la habilidad, técnica o metodología utilizada para transformar los datos en información y ésta en conocimiento de forma que se pueda optimizar el proceso de la toma de decisiones. Esta en la inteligencia empresarial que obviamente necesitan los negocios para optimizar el rendimiento y así poder aumentar los beneficios.

El BI permite reunir, depurar y transformar datos e información desestructurada en información estructurada para su posterior explotación o análisis y conversión en conocimiento. La diferencia entre datos, información y conocimiento está expuesta de manera resumida en el caso 1 de este blog. Una vez que sometes la información a análisis y extraemos conocimiento ya podemos tener acceso a la toma de decisión. La toma de decisiones es primordial a la hora de manejar un negocio, y como tal el conocimiento debe ser estudiado a fondo para sacar el máximo provecho a la hora de tomar las decisiones. Este sistema de toma de decisión debe cumplir con unos requisitos mínimos: debe ser rápida; tomada en el momento oportuno; estar fundamentada en información muy concreta. El fin de estos requisitos es que las decisiones sean eficientes y tengan el menor costo para la empresa, que a fin de cuentas es lo importante en un negocio, que las ganancias se optimicen.


Para hacer la toma de decisiones de una forma lo más eficiente posible es necesario tener almacenados una cantidad de datos bastante elevada y ser capaz de transformarlos en conocimiento para poder tomar las mejores decisiones para una empresa. Esto le sucede también a cualquier usuario en su propio domicilio pero estamos hablando de escalas totalmente diferentes. Cuando una empresa maneja millones de euros no puede permitirse el lujo de perder información u omitir información relevante. Para ello están los sistemas que componen el BI, para controlar toda esta información y dar un conocimiento lo más ajustado posible a las necesidades de la empresa, para que simplemente el propietario tenga que elegir dar una orden o no.

Los principales sistemas que se utilizan en el BI son el DSS (Decision Support System), el EIS (Executive Information System) y el CMI (Cuadros de Mando Integrales). Cada sistema actua de manera diferente pero todos ellos son parte del BI en la medida en que ayudan al propietario en la toma de decisiones, aportando un conocimiento fiable sobre aspectos específicos. ¿Cómo sabemos que ese conocimiento es fiable? Ya hemos visto en qué consiste la inteligencia empresarial, pero... ¿Qué nos aporta en realidad?

Lo primero en cualquier proceso de toma de decisiones es observar lo que está ocurriendo, en este caso en la empresa, para poder solucionar cualquier problema que se presente. Inmediatamente después se extrae el conocimiento comprendiendo qué es lo que está pasando. Una vez que sabemos por qué ha surgido el problema tenemos que intentar predecir qué es lo que pasaría si hacemos esto o hacemos lo otro. Después de hacer una predicción lo más aproximada posible hay que ponerse a trabajar sobre el tema. Y por ultimo aparece la toma de decisiones, cuando ya nos hemos reunido y hemos colaborado para obtener el conocimiento y creemos que tenemos la mejor solución.

Para facilitar todo este proceso de cualquier BI tenemos los sistemas anteriormente nombrados.

  • El DSS o Sistema de Soporte para la Toma de Decisiones es un modelo basado en una serie de procedimientos que ayudan a procesar la gran cantidad de datos que una empresa maneja. En definitiva, es un sistema que extrae información de los datos y nos permite navegar por los datos de manera sencilla. El tener acceso al gran número de datos en forma rápida supone una gran mejorar en cualquier sistema de toma de decisiones.
  • El EIS o Sistema de Información para Ejecutivos es un sistema que permite automatizar la obtención de datos de una determinada empresa en un determinado momento. Es decir, si necesito saber cómo va mi empresa en este mismo momento para tomar cualquier tipo de decisión, este sistema extrae los datos de forma automática sin tener que hacer un gran esfuerzo.
  • El CMI o Cuadros de Mando Integrales es una herramienta del BI que permite medir la evolución de la actividad de una empresa o compañía y sus resultados. (http://www.lantares.com/blog/bid/331346/Cuadro-de-Mando-Integral-Todo-lo-que-Debes-Saber) La obtención de esta información de otra manera sería mas complejas y los resultados podrían no ser los optimo. 
Pero todo esto no tiene sentido si la empresa no posee una base de datos donde tenerlos almacenados. El Datawarehouse es una base de datos que nos permite integrar y depurar información de otra fuentes para luego procesarla y analizarla.(http://www.sinnexus.com/business_intelligence/datawarehouse.aspx)
Esta base de datos nos permite trabajar con datos fiables y homogéneos para que el proceso de toma de decisiones sea lo más eficiente posible, que a fin de cuentas, como ya dijimos antes, es el principal objetivo de cualquier empresa. Esta tecnología en un domicilio no tiene sentido ya que la toma de decisiones no requiere de un almacenaje de datos tan extenso. 

Esta base de datos nos permite también aplicar los sistemas que hemos tratado anteriormente y junto con los Datamart conforman una solida red de datos empresariales que nos permitirán tener todos los detalles actualizados para actuar en el momento oportuno. Los Datamart son bases de datos de un departamento concreto. Éstos permiten almacenar información muy especifica de cada departamento para hacer las búsqueda y el tratamiento de la información, si cabe, de manera más optima. Es posible que estos datos sean los que tenemos en el Datawarehouse, aunque exista la posibilidad de que sean exclusivos.

En España en estos momentos, y en una gran parte de Europa, estamos en una situación de crisis en que las empresas necesitan una muy buena organización para hacerse cargo de sus negocios sin sufrir una consecuencias económicas muy graves. El BI, sobre todo para mediana y gran empresa es un sistema bastante fiable de tomar decisiones que favorezcan al negocio, y además sus sistemas no requiere de personal especializado en informática que los maneje, pero si personal especializado en los datos que hay que manejar, por supuesto.

Para una información mas completa sobre las opciones del Business Intelligence: www.sinnexus.com.

lunes, 14 de abril de 2014

Caso 5. Recuperación de la información

Como ya sabemos, hay mucha información al alcance de casi cualquier persona, y más desde que tenemos acceso a la red. Está información suele estar en servidores en la red a los que debemos acceder para poder aprovecharnos de dicha información. Pero realmente, ¿cuál es el proceso que seguimos para recuperar la información? Y sobre todo, ¿qué es esto de recuperar la información?


La recuperación de la información "es la ciencia de la búsqueda de información en documentos electrónicos y cualquier tipo de colección documental digital". Esta definición es la que viene recogida en la página de wikipedia (http://es.wikipedia.org/wiki/Recuperación_de_información). Entonces podemos decir que recuperar información es todo el proceso de búsqueda de información desde que nos surge la necesidad de realizar la búsqueda hasta que conseguimos encontrar una información que creemos de calidad. Pero esto sólo son el primer y último punto de todo el proceso de recuperación. Tendremos entonces que definir, en la medida de lo posible, todos los pasos de este proceso.






Lo primero y más importante es que tengamos la necesidad de realizar una búsqueda. Esto quiere decir que tenemos una necesidad de información y creemos que en la red podremos paliar esta necesidad. Pero para empezar con la búsqueda de información es esencial que identifiquemos y definamos correcta y muy concretamente qué información voy a necesitar. Algunos criterios van a ser el idioma, el nivel de concreción sobre la materia, la temporalización (es decir, si quiero información actualizada y no es una condición indispensable) o el tipo de documento sobre el que me interesa obtener información (Libro, artículo de prensa, artículo científico, etc.). Una vez que tengo bien definidos los aspectos principales de mi búsqueda es el momento de seleccionar una herramienta de búsqueda, y sobre todo, qué características requiero de dicha herramienta.



* En este punto podemos hacer una total separación entre sistemas de Bases de Datos y sistemas de Recuperación de Información. Como ya se dijo en entradas anteriores, datos e información no es lo mismo. A la hora de su recuperación también se comportan de manera totalmente diferente. Para buscar un dato se introduce un algoritmo determinado y te devuelve los resultados exactos que cumplen con la búsqueda. Sin embargo en los sistemas de recuperación de información intervienen bastantes mas variables que hacen que la información devuelta no sea tan precisa.



¿En qué me baso para elegir un sistema u otro? Bueno, principalmente, la mayoría de las búsquedas se hacen en buscadores conocidos. Por lo que una de las cosas en las que nos basamos para elegir los sistemas de recuperación suele ser precisamente este aspecto. Sin embargo, hay otros muchos que deben ser más importantes para nosotros y que pueden representar una gran mejora en nuestras búsquedas a través de la web. Algunos de estos aspectos pueden ser el idioma en que me busca y devuelve resultados de búsqueda, mayor o menos cobertura geográfica (cantidad de servidores de diferentes regiones geográficas) y temática (cantidad de temáticas diferentes), nivel de concreción en las búsquedas, etc. 




En la diferencia está el gusto, y cada sistema de recuperación de información, que en este caso va a ser un buscador de internet, trabaja de forma diferente. No podemos meternos a estudiar uno por uno el funcionamiento de cada buscador pero si que vamos a comentar de manera general qué podemos encontrar detrás del logo de las compañías encargadas de ellos. Estos buscadores poseen un algoritmo especifico, y en la mayoría de los casos diferente, para recuperar la información. Estos están basados en algunas técnicas que hacen más fácil la identificación, sobre todo de términos, pero también de oraciones o texto entrecomillado, como son el proceso de depuración de textos, que consiste en separar fragmentos de texto para su posterior indexación, quitar peso a las palabras vacías (son palabras con un indice de aparición muy superior a la media), reducción de palabras a sus raíces, indexación (hacer indices ordenados con la aparición de las palabras en el texto) y fulltext, donde todas las palabras del texto entran a formar parte de la indexación. Esta técnicas ayudan a los buscadores a aumentar el rendimiento y la fiabilidad en las búsquedas. 


Pero antes de eso tendremos que saber qué tipo de información tenemos disponible. Vamos a hacer un breve comentario sobre las bases del conocimiento nombrado algunas de ellas. En la red podemos encontrar colecciones y documentos. Los documentos son cualquier unidad básica de información que encuentres en la red, ya sea un articulo de revista, una monografía, una pagina web o un resumen. También existen los documentos sustituto, que son un previsualización del documento que se pueden encontrar en paginas de resultados. Además de los documentos podemos encontrar colecciones, que son un conjunto de documento seleccionados previamente por el método webcrawling, que no es nada más que la forma en que una araña web selecciona información de diferentes fuentes para conformar una colección. Esta es por ejemplo la forma que tiene Google de investigar la red.

Y a partir de aquí es cuando nosotros tenemos que analizar la información devuelta por el buscador y procesarla para poder construir el conocimiento. Si por lo general estamos satisfechos con la búsqueda tomamos la información de estos documentos como relevantes y no buscamos mas información. Si por el contrario no somos capaces, o el buscador no ha sido capaz, de encontrar la información requerida es común volver a realizar la búsqueda en el mismo buscador con otros términos. Esto ya entra dentro de las estrategias de búsqueda de cada uno y de la capacidad de abstracción que tengamos para intentar anticiparnos a los resultados que nuestro buscador pueda buscar para nosotros. Los sistemas de recuperación deben recibir una retroalimentación, que puede venir de parte del usuario con puntuación de los resultados de búsqueda, o bien que realizan ellos mismo analizando el número total de respuestas ante un termino, el tiempo de respuesta y la relación entre el total de resultados y el numero de resultados relevantes. Esto debe servirles para mejor su servicio. 

Y lo que le sirve a cualquier usuario a la hora de realizar una búsqueda es desarrollar las habilidades necesarias para ello, que pueden ser la capacidad para seleccionar la herramienta de búsqueda adecuada en cada momento y formular la cuestión de la mejor manera posible (ayuda conocer algo a cerca del buscador), conocer las fuentes potenciales de búsqueda o saber adecuarse a cada situación, la formulación de un plan correcto de actuación, definiendo correctamente los términos de búsqueda y, sobre todo, ser capaz de evaluar los resultados obtenidos de cada búsqueda, para poder mejorar de cara a las siguientes.

jueves, 3 de abril de 2014

Caso 4. Acceso a la información. Búsqueda.

Cuando hablamos de acceso a la información solemos pensar, en términos de informática, en Google. ¿Por qué? Muy fácil, es uno de los buscadores mas potentes que se vienen utilizando desde que casi todo el mundo tiene acceso a Internet y sobre todo a la web. Pero por supuesto antiguamente el acceso a la información era la lectura de libros o enciclopedias, las conversaciones con otras personas o grupos de personas, como puede ser la universidad (entre otras cosas), etc. Y no tan antiguamente, porque a día de hoy este tipo de acceso a la información sigue siendo mucho mas eficiente que conectarte a Internet y buscar un servidor que te ofrezca la información que deseas.

O sea, que no se nos olvide que una buena fuente de acceso a la información es una charla con los amigos, por ejemplo. Ya se habló en su momento, y estamos de acuerdo en que compartir la información de esta forma es perfectamente válido y de hecho recomendable. En este contexto encontramos mucha información compartida entre iguales, pero quizás para determinadas situaciones necesitamos información contrastada sobre un hecho en concreto. Esta información puede que no la tengan las personas de alrededor y acudamos a la web a consultarlo. Por supuesto podemos buscar la información en libros de consulta o en cualquier otra fuente, pero ahora vamos a centrarnos en la web.

¿Cómo buscar información en la web? Lo primero que tenemos que hacer, obviamente, es entrar en Google (probablemente nuestra página de inicio) y teclear la información que queremos que nos devuelva. ¿Seguro? De momento vamos a explorar otras opciones y ya volveremos más tarde a la funcionalidad de Google, si fuese necesario.

Igual que este buscador gigante que encontramos en la red hay otros mucho aspirantes a superarse y superarle. Ultimamente se lee y escucha mucho Yahoo o Bing, que son otros dos buscadores bastante conocidos y están entre los 3 buscadores más utilizados. Particularmente estos 3 buscadores de los que hablamos (Google, Yahoo y Bing) manejan las bases de datos mas grandes de la web, y gracias a ello nos permiten acceder a la información que estamos buscando. Pero por desgracia no siempre podemos encontrar con exactitud lo que estábamos buscando, o gastamos mucho tiempo buscando una información muy concreta porque los buscadores no nos leen la mente y no saben qué les estamos pidiendo.

Para ello tenemos unas opciones de ayuda en los buscadores que nos permiten conocer algo mejor como funciona el buscador para así poder ajustar al máximo nuestras búsquedas. Y por otro lado tenemos otra opción prácticamente desconocida entre usuarios de a pie que son los metabuscadores.
Estos buscadores lo que hacen es rastrear la información que tecleamos directamente en otros buscadores, para dar un abanico más amplio de posibilidades. Sin embargo los buscadores obtienen la información directamente del servidor que aloje el sitio web.

Como usuario de la red considero que no se aprovechan todos los recursos que ésta ofrece. Hasta hace no mucho tiempo mi único buscador de información era Google, y estoy convencido de que muchos de los usuarios de Internet se cierran posibilidades de búsqueda por el mismo motivo. Es normal que lo primero que se le ocurre a cualquier usuario con pocos conocimientos de informática es entrar en Google y buscar allí la información necesaria, pero sería recomendable. no sólo probar con otros buscadores, sino saber cómo funcionan las búsquedas con cada buscador, y así poder crear estrategias de búsqueda acordes a lo que necesitemos.

Por poner unos ejemplos de eficiencia buscando información: Si necesito saber la hora que es, miro el reloj más cercano, igual que antiguamente miraban al cielo y buscaban el sol para saber la hora aproximada que era. Para este caso en concreto no es recomendable buscar en Internet. Para saber si el coche del vecino es nuevo o de segunda mano lo razonable es obtener la información de éste mismo, y no buscarla en Internet. Sin embargo, para encontrar la funcionalidad de una aplicación para un ordenador probablemente lo mejor que puede hacer un usuario normal es buscar a través de ciertos buscadores. Lo primero que podría buscar sería en la propia aplicación, que es lo más lógico. Si de aquí no consigo sacar lo que busco ya puedo pasar a buscar información, desde el metabuscador que más domine al buscador más específico de la materia. Pasando por este amplio espectro habrá que valorar qué opción es mas recomendable para la situación. Y esto sólo se consigue si se conoce el buscador. Además esto me permitirá tomar la decisión adecuada en cualquier momento.

Pero claro, cuando voy a buscar una cosa en Internet, antes de conocer todo esto que acabo de leer, lo mas eficiente es ir a Google y buscar entre los enlaces que me salgan. Y este es el gran problema con la amplia gama de buscadores, que normalmente una persona que entre con una frecuencia media a realizar sus búsquedas, lo único que quiere es que sea rápido para luego poder emplear el tiempo en tratar la información. Esto ya es algo personal, pero lo mejor es perder algo de tiempo un día para después no malgastar el tiempo en el resto de búsquedas navegando a la deriva por enlaces y más enlaces sin encontrar esa información que necesitabas. Por qué como ya dijimos antes, los buscadores no nos leen la mente, pero si tratamos de comprender cómo funcionan quizás seamos nosotros los que amoldemos las búsquedas a los buscadores para que el resultado obtenido de la búsqueda sea el idóneo.

Para esto es recomendable buscar alguno comandos que me hagan las búsquedas mas rápidas y eficaces, es decir, ciertos consejos que me permitan acotar mi búsqueda al máximo para optimizar el rendimiento. Estos consejos se pueden también buscar a través de Google, o después de leer este documento, en cualquier otro buscador de los que tenemos por la red. A continuación hay algunos enlaces para que sea algo más sencillo encontrar información relacionada con el tema. Es estos hay algunos consejos de búsqueda con Google, comparativas de buscadores y un poco de información general sobre estos.



Ahora si, encuentres este post desde el buscador que lo encuentres espero que haya sido de ayuda.



domingo, 23 de marzo de 2014

Caso 3. Sistemas de almacenamiento actuales y futuros


Hoy en día en los países desarrollados la mayor parte de la población tiene un ordenador en su casa. Y todos los usuarios han empezado a compartir información e intentar almacenarla en su discos duros. Todas esta información ocupa determinada capacidad en la memoria dependiendo del tipo de información que se maneje. Pongamos un ejemplo sencillo, que puede ser perfectamente una fotografía digital que enviamos a nuestro ordenador. Esto ocupa un lugar en nuestra memoria del ordenador mientras esté guardado en él.

Pero también podemos almacenar información en otro tipo de medios, que cada vez son más amplios y más variados. Algunos ejemplos son el CD, el pen drive o el disco duro externo o portátil. Pero, ¿cómo organizamos toda esta información? Lo primero que se me viene a la cabeza cuando pienso en muchas información es organizarla de acuerdo a mis necesidades, es decir, separándola por categorías y subcategorías. A nivel de usuario esto es muy sencillo con un sistema de árbol de carpetas que me permite crear carpetas dentro de carpetas y almacenar de la información organizada.

EL problema de esto es que posiblemente esta estructura sólo me beneficie a mi, como usuario. Cuando otra persona abre tu ordenador y quiere encontrar un fichero lo tiene complicado para saber dónde guardaste tú ese fichero o archivo. Aún así no tardará mucho en encontrarlo. Pero pongamos que por tus relaciones personales o profesionales es necesario que la información de tu ordenador esté disponible para mucha gente. ¿Es práctico este sistema de almacenamiento? Obviamente no. Hay que buscar otra forma de organizar la información para que su uso no esté restringido al organizador.

Este mismo caso vamos a extrapolarlo a una empresa que maneja datos bastante mas pesados y con una gran complejidad de relaciones entre ellos. Pueden tener datos de trabajadores, clientes, material, salarios, ingresos, etc. y algunos de ellos relacionados entre si. Imaginemos nuestro árbol de carpetas para esta situación. Es una situación inviable. Ya no es práctico para una sola persona, como para que encima esa información tenga que ser usada por varias personas y probablemente al mismo tiempo. Incluso esa información puede estar editándose, actualizándose o simplemente siendo consultada.

Entonces, según hemos dicho hasta ahora, hay unos dispositivos que nos permiten almacenar información en mayor o menor medida, pero que nos permite tenerlo almacenado y organizado. Estos dispositivos están avanzando cada vez mas y son una herramienta muy potente hoy en día porque a nivel de usuario todo el mundo puede tener almacenada prácticamente la información que quiera sin necesidad de invertir una gran cantidad de dinero en ello. O sea que en este sentido un usuario normal, con su ordenador, teléfono móvil, Tablet, etc. y su disco duro organizado en carpetas, tiene exactamente lo que necesita.

Pero ya hemos dicho que hay algunas entidades como las empresas que necesitan algo más que esto. Y para organizar la gran cantidad de información con la que se trabaja a esos niveles es necesario un sistema de almacenamiento acorde a la situación. Este sistema son las bases de datos.

¿Qué son?

Las bases de datos son un conjunto de datos organizados relacionados entre sí y que tienen un significado implícito. Es decir, que tenemos una serie de datos que hemos tenido que organizar, pero que además requerimos que estos datos estén relacionados entre sí. Por tanto ahora no nos valen las carpetas y subcarpetas.

Las bases de datos, a nivel de usuario, son conocidas por el programa Access, que es un SGBD (Sistema de Gestión de Bases de Datos). Este sistema, como todos, por supuesto con sus diferencias, está basado en un sistema de datos agrupados en diferentes campos, que se estructuran en filas y columnas. Las filas corresponden a los registros y las columnas son los campos, que son los atributos de los registros. Estas bases son bases de datos relacionales.

Como todo el mundo de la información, tiene que existir un sistema con el que trabajar las bases de datos. Para meter los registros y relacionarlos hemos visto que son necesarias las claves primarias y foráneas, pero necesitamos un lenguaje que sustente las ordenes que se le den al procesador o SGBD. Las claves primarias y foráneas son datos que se toman de un campo concreto para ser utilizado por otra base de datos paralela. Cuando queremos relacionar dos bases de datos marcamos un campo como clave primaria y en la base de destino marcamos el lugar correspondiente como clave foránea. El lenguaje de consulta es el conocido como SQL (Lenguaje Estructurado de Consultas), que es un lenguaje declarativo que permite especificar diversos tipos de operaciones en las bases de datos, inclusive permite el álgebra y el cálculo.

Los SGBD, como todo en la informática, está avanzando mucho cada día. Surgen nuevos problemas y nuevas posibles soluciones, y para adecuarse al futuro la tendencia que está marcando ahora los avances es la orientación de las bases de datos a objetos y a manejar información multimedia, a parte de otras tantas.

Aún así, lo que realmente se espera para el futuro es el almacenamiento en la nube, o “cloud”, como se suele conocer. Este dispositivo abstracto de almacenamiento es relativamente nuevo y está basado en almacenar archivos en línea a través de la red de internet y recuperarlos en cualquier momento de nuevo a través de la red de internet. Es decir, es como el disco duro que tiene nuestro ordenador pero está flotando nuestra información a la espera de que la recuperemos. Por eso el nombre de nube. Aunque podrás pensar que no es muy seguro que tu información esté en la nube, y al alcance de millones de usuario. No, tu información está almacenada en un servidor que está a tu disposición las 24 horas del día.

Así a priori, si no somos muy escépticos, parece una idea muy buena para generar espacio en los discos duros propios o incluso para tener copias de seguridad por si le sucede algo a tu ordenador o disco duro.

Esto es muy importante para las empresas, que pueden tener gran cantidad de información sin necesidad de mucho espacio físico para discos duros. Pero también es de bastante utilidad para cualquier usuario. Desde compartir información en grupos cerrados, como por ejemplo un grupo de amigos o trabajos de la universidad, hasta compartir con todos los dispositivos que tengan acceso a internet de que dispongas. Por ejemplo puedes hacer una foto con el teléfono móvil (algo muy de moda últimamente) y subirla a la nube para recuperarla inmediatamente en el ordenador, televisión, Tablet u otro dispositivo móvil. O sea que realmente tiene mucha utilidad y nos facilita la tarea sobre todo en cuanto al tiempo de ejecución.

Debido a que tu información está en un servidor que no es tuyo, esto puede acarrear un coste para ti como cliente de una empresa que almacena tu información. Pero también hay servidores gratuitos para almacenar tu información en la nube.

Con la aparición y expansión de la nube se está empezando a distinguir bastante más el concepto de virtualización. La virtualización consiste en algo así como separar el hardware del software, es decir, que se crean maquinas virtuales con las características del software y se utilizan estas maquinas virtuales para proteger el software original. Hay más conceptos novedosos que podría comentar pero creo que este es de los más importantes.


Pero... ¿qué es esto del cloud computing que encuentro por todos lados? A continuación hay un video explicativo sencillo sobre qué es el cloud computing y sobre todo los posibles usos de gestión de información de pequeñas y grandes empresas.



Para consultar información relacionada con la de este blog aquí teneís algunos enlaces interesantes.





sábado, 22 de febrero de 2014

Caso 2. Lenguajes de programación con visión de futuro

Según la información aportada en las diapositivas explicativas de la asignatura y otras fuentes consultadas por internet, los lenguajes de programación que considero más importantes para la actualidad y un futuro cercano son los siguientes, sin considerar el orden de aparición en este documento cómo una representación de su importancia o calidad.

Entre los siguientes se encuentran una pequeña parte de todos los existentes. Todos ellos tienen algo que aportar a los sistemas que saldrán en el futuro y sustituirán a los existentes pero no puedo hacer el análisis de todos ellos. 

OBJECTIVE-C à Es actualmente el lenguaje de programación de Mac OS X e iOS, con la importancia que sabemos que tienen estos dos sistemas operativos de Apple. Esto, obviamente, le suma importancia al lenguaje de programación, pero no es solo por esto por lo que creo que puede ser uno de los sistemas de programación con más visión de futuro.

He estado revisando información de varias fuentes de internet y de acuerdo a estas, este lenguaje es una mejora del lenguaje de programación C (lenguaje de programación que encabeza el índice TIBOE de enero de 2013) con ciertas aportaciones de Smalltalk (lenguaje reflexivo de programación, orientado a objetos y con tipado dinámico). Esto hace de OBJECTIVE-C un lenguaje de programación como un conjunto del lenguaje de programación C con un modelo de objetos similar al de Smalltalk. Otra ventaja que puede tener futuro, y algo que debe ser perseguidos por investigadores en programación es que el lenguaje de programación sea lo más cercano al que utilizamos para dar órdenes entre personas, es que la sintaxis de OBJECTIVE-C admite el pseudo-nombrado de argumentos.

JAVA à Es uno de lo más conocidos por los usuarios de internet por su uso frecuente tanto en el lado del usuario como el lado del servidor. Además, según sus características está diseñado para ser ejecutable en cualquier dispositivo. A diferencia por ejemplo del OBJECTIVE-C, este lenguaje lo podemos encontrar en casi cualquier sistema operativo, algo que lo hace muy atrayente y muy funcional, y sobre todo, una apuesta de futuro. 

Este lenguaje tiene una estructura y una sintaxis muy similar a la de C o C++, aunque es más orientada a objetos, de hecho, todo en java en un objeto. Pero como ya comenté anteriormente, lo que más me llama la atención de este lenguaje de programación para ser uno de mis elegidos como más importantes en la actualidad es la independencia que tiene de la plataforma en la que se trabaje. Este lenguaje se programa da manera que sea reconocible en cualquier dispositivo. Esto significa, por supuesto, que los dispositivos móviles como teléfonos inteligentes y tabletas (que son cada vez más avanzados y requerimos a la vez más de ellos) pueden contener aplicaciones java.

C à Es un lenguaje de programación bastante antiguo que sigue entre los más importantes actualmente, como ya dije anteriormente está el número 1 en el indice TIBOE de enero de 2013. En general es el lenguaje que más ha influenciado a otros lenguajes actuales. Este lenguaje es de nivel medio tirando a nivel bajo, y uno de los objetivos principales de éste es que con una pocas instrucciones se pueda traducir cada elemento del lenguaje. 

Lo que le da versatilidad a este lenguaje es que es muy flexible y permite programar con muchos estilos, además de que es apto para muchas plataformas. Personalmente es el único del que he aprendido algo y desde mi experiencia no resultaba excesivamente difícil crear programas sencillos pero si que era muy engorroso porque eran necesarias muchas líneas para un programa sencilla de una operación matemática. Y otra cosa de las que recuerdo es que en la fase de creación, si alguna linea del programa estaba mal te detectaba el error y no dejaba continuar. La sintaxis es algo enrevesada y es muy específica para este lenguaje de programación, lo que es un gran defecto, pero siendo uno de los más usados actualmente creo que se va a mantener así en un futuro cercano.

PHP à Una de las cualidades de este lenguaje de programación es que es de uso o propósito general, lo que significa que es polivalente y
puede ser utilizado para variadas funciones, desde sistemas operativos a plataformas pasando por servidores web. Esta característica es determinante para que considere este lenguaje de programación uno de los más utilizados en la actualidad y con visión de futuro. Que te de tanta amplitud de campo de uso supone la posibilidad de expansión inmediato de este lenguaje. Si es de uso tan general quizás no llegue nunca a ser el mejor lenguaje para ningún campo, sino simplemente una segunda opción.

Por otro lado, es un lenguaje libre, lo que posibilita su utilización por un gran número de usuarios. Como los anteriores, éste también está enfocado a una programación orientada a objetos. Esto junto con su simple, clara y fácil de aprender sintaxis hacen de este lenguaje una buena base para pequeños programadores.

A modo de conclusión, los lenguajes de programación no tienen porque ser mejores o peores para aparecer entre los más utilizados actualmente, además de que esa clasificación depende en gran medida de los criterios que se utilicen para medirla. Los lenguajes de programación son más o menos utilizables según las necesidades de cada momento. La situación en la que nos encontramos actualmente es: en ordenadores hay una competencia directa entre dos opciones que son Microsoft y Apple sin prácticamente mas opciones en el mercado, una rápida e importante expansión de dispositivos móviles como smartphones y tablets, con necesidades cada vez mayores (prácticamente las mismas que un ordenador pero con más maniobrabilidad debido a la característica táctil de los mismo) y la aparición de dispositivos de diferentes clases que requieren un software más complejo (Relojes, consolas, coche, etc.). 

Si unimos esas dos premisas básicas y sacamos una conclusión no es muy difícil llegar a que cuanto más flexibles y mas usabilidad tenga el lenguaje de programación, mejor se va a desenvolver. Entonces nos preguntaremos por qué OBJECTIVE-C sigue entre los más importantes, y obviamente está ahí porque Apple sigue teniendo entre sus productos una inmensa cantidades de opción de compatibilidad que hacen de este lenguaje una flexibilidad notable, repito, dentro de estos soportes.