miércoles, 19 de febrero de 2014

EVOLUCIÓN DE LAS COMPUTADORAS

 IMAGEN DE UNA LINEA DEL TIEMPO SOBRE LA EVOLUCIÓN DE LA COMPUTADORA





CRONOLOGÍA Y EVOLUCIÓN DE LAS COMPUTADORAS




TENDENCIAS Y EVOLUCIÓN  DE LA TECNOLOGÍA




APLICACIONES

El rápido despegue de los 'smartphones' ha cambiado "completamente la manera en la que nos comunicamos y utilizamos Internet", destaca la compañía. "Ahora vamos a entrar en una nueva fase de uso del smartphone marcada por la rapidez y la diversificación, y la gente está buscando aplicaciones en todos los aspectos de su vida en sociedad". Esto incluye todo, desde las compras al cuidado diario, la relación con las instituciones o el transporte. "Las aplicaciones se están convirtiendo en algo más importante que el propio teléfono", indican los expertos de Ericsson.


EL CUERPO COMO CONTRASEÑA

Las empresas en Internet están demandando contraseñas más largas con una mezcla de números, letras y símbolos. "Esta realidad está incrementando el interés por la biométrica", según el estudio. Por ejemplo, la investigación detectó que el 52% de los usuarios de 'smartphones' quieren utilizar sus huellas dactilares en lugar de contraseñas, y el 48% se muestra interesado en el uso del reconocimiento ocular para desbloquear su pantalla. Un total de un 74% cree que los smartphones biométricos se convertirán en una tendencia a lo largo del año que viene.

LA CUANTIFICACIÓN DE UNO MISMO


La presión sanguínea o el pulso son sólo unos ejemplos de cómo nos gusta medirnos a nosotros mismos con dispositivos móviles. Tal y como recuerda el estudio, "sólo necesitamos descargarnos una aplicación para hacer un seguimiento de nuestras actividades y conocernos mejor a nosotros mismos". Un 40% de los usuarios de smartphones quieren utilizar sus móviles para conectarles con su físico y el 56% desearía hacer un seguimiento de su presión sanguínea y el pulso utilizando un anillo.


INTERNET EN CUALQUIER SITIO


"La experiencia de Internet ha pasado a estar por delante de la de la voz", es otra conclusión del estudio. En este sentido, los usuarios "se han dado cuenta de que las señales de de cobertura del móvil pueden ser suficientes para una llamada de voz, pero no para acceder a servicios de Internet". En el informe que Ericsson ha realizado, se ha detectado que la más baja satisfacción de los usuarios se refiere a la calidad de la experiencia en Internet en el metro. Esta necesidad de los usuarios también marcará la agenda tecnológica de 2014.

LOS SMARTPHONES REDUCEN LA BRECHA DIGITAL


El acceso a Internet a escala global está todavía "inadecuadamente distribuido", pero la llegada de smartphones más baratos está suponiendo que los usuarios "ya no necesiten dispositivos caros para acceder a servicios de Internet". De esta forma, un 51% de los usuarios de todo el mundo perciben que sus móviles son su aparato tecnológico más importante. Para muchos se está convirtiendo en el "principal dispositivo" de acceso a Internet, según el informe.


LOS BENEFICIOS DEL MUNDO ONLINE PESAN MÁS QUE LAS PREOCUPACIONES

"En tanto que Internet se está convirtiendo en una parte más de nuestra vida, los riesgos asociados con estar conectado se están haciendo más palpables", resalta Ericsson ConsumerLab. El 56 por ciento de los usuarios diarios de Internet están preocupados por su privacidad. De cualquier forma, sólo el 4 por ciento asegura que utilizaría Internet menos. En cambio, los usuarios aplican estrategias para minimizar el riesgo, como ser más precavidos acerca del tipo de información personal que suministran.

VÍDEO E INFLUENCIA SOCIAL AL PODER


"A pesar de contar con una elección mediática más amplia, parecemos menos propensos a elegir lo que vemos", debido a que también existe una mayor dificultad de búsqueda. Tal es así que nuestros amigos ejercen una particular influencia en lo que vemos. Según la investigación llevada a cabo por Ericsson, un 38 por ciento de los encuestados asegura que ven vídeos recomendados por sus amigos varias veces a la semana. "Nuestros amigos tienen casi el mismo impacto que los blogs que leemos o nuestros hábitos musicales" en este sentido, resalta el informe.


DATOS VISIBLES


Un 48% de los usuarios utilizan aplicaciones para analizar mejor sus consumos de datos. Mientras que el 41% sólo quiere saber cuántos datos consume, el 33% desea comprobar que se le factura correctamente y el 31% no quiere superar sus cuotas de datos establecidas con el operador. La investigación también revela que el 37% de los usuarios de smartphones utiliza aplicaciones regularmente para probar su velocidad de conexión.


SENSORES PARA TODO

Según el informe, "los usuarios desean cada vez más que su entorno físico responda de igual manera". Para el año 2016, en torno al 60% de los propietarios de 'smartphones' confían en que los sensores serán utilizados en todos los ámbitos, desde la sanidad al transporte público, los coches, las casas y la oficina.


ENCIENDE, PARA Y REANUDA EN OTRA PARTE

El 19% del tiempo de descarga se invierte en teléfonos o tabletas, lo que demuestra que los usuarios desean poder disponer de los contenidos en movilidad y no preocuparse de si están en el baño con el 'tablet', en el metro con el móvil o en el salón con la Smart TV. Los usuarios quieren empezar a ver contenidos en casa, pararlos y reanudarlos de camino al trabajo y ese será otro camino por el que se avanzará aún más en 2014.


LENGUAJES DE PROGRAMACIÓN MAS COMUNES


Los 5 lenguajes de programación más utilizados en la actualidad



A continuación voy a exponer los 5 lenguajes de programación que bajo mi punto de vista son los más utilizados en la actualidad:


LENGUAJE C

Ventajas

  • Lenguaje muy eficiente puesto que es posible utilizar sus características de bajo nivel para realizar implementaciones óptimas.
  • A pesar de su bajo nivel es el lenguaje más portado en existencia, habiendo compiladores para casi todos los sistemas conocidos.
  • Proporciona facilidades para realizar programas modulares y/o utilizar código o bibliotecas existentes.

Caracteristicas

Un núcleo del lenguaje simple, con funcionalidades añadidas importantes, como funciones matemáticas y de manejo de archivos, proporcionadas por bibliotecas.

Es un lenguaje muy flexible que permite programar con múltiples estilos. Uno de los más empleados es el estructurado "no llevado al extremo" (permitiendo ciertas licencias de ruptura).

Un sistema de tipos que impide operaciones sin sentido.

Usa un lenguaje de preprocesado, el preprocesador de C, para tareas como definir macros e incluir múltiples archivos de código fuente.

Acceso a memoria de bajo nivel mediante el uso de punteros.

Interrupciones al procesador con uniones.

Un conjunto reducido de palabras clave.

Por defecto, el paso de parámetros a una función se realiza por valor. El paso por referencia se consigue pasando explícitamente a las funciones las direcciones de memoria de dichos parámetros.

Punteros a funciones y variables estáticas, que permiten una forma rudimentaria de encapsulado y polimorfismo.

Tipos de datos agregados (struct) que permiten que datos relacionados (como un empleado, que tiene un id, un nombre y un salario) se combinen y se manipulen como un todo (en una única variable "empleado").

Inconvenientes

El mayor problema que presenta el lenguaje C frente a los lenguajes de tipo de dato dinámico es la gran diferencia en velocidad de desarrollo: es más lento programar en C, sobre todo para el principiante. La razón estriba en que el compilador de C se limita a traducir código sin apenas añadir nada. La gestión de la memoria es un ejemplo clásico: en C el programador ha de reservar y liberar la memoria explícitamente. En otros lenguajes (como BASIC, Matlab o C#) la memoria es gestionada de forma transparente para el programador. Esto alivia la carga de trabajo humano y en muchas ocasiones previene errores, aunque también supone mayor carga de trabajo para el procesador.

El mantenimiento en algunos casos puede ser más difícil y costoso que con ciertos lenguajes de más alto nivel. El código en C se presta a sentencias cortas y enrevesadas de difícil interpretación.
Cabe destacar el contexto y época en la que fue desarrollado C. En aquellos tiempos existían muy pocos programadores, los cuales, a su vez, eran prácticamente todos expertos en el área. De esta manera, se asumía que los programadores eran conscientes de sus trabajos y capaces de manejar perfectamente el lenguaje. Por esta razón es muy importante que los recién iniciados adopten buenas prácticas a la hora de escribir en C y manejar la memoria, como por ejemplo un uso intensivo de indentación y conocer a fondo todo lo que implica el manejo de punteros y direcciones de memoria.



LENGUAJE C++


C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.

Posteriormente se añadieron facilidades de programación genérica, que se sumó a los otros dos paradigmas que ya estaban admitidos (programación estructurada y la programación orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de programación multiparadigma.

Actualmente existe un estándar, denominado ISO C++, al que se han adherido la mayoría de los fabricantes de compiladores más modernos. Existen también algunos intérpretes, tales como ROOT.

Una particularidad del C++ es la posibilidad de redefinir los operadores, y de poder crear nuevos tipos que se comporten como tipos fundamentales.

El nombre C++ fue propuesto por Rick Mascitti en el año 1983, cuando el lenguaje fue utilizado por primera vez fuera de un laboratorio científico. Antes se había usado el nombre "C con clases". En C++, la expresión "C++" significa "incremento de C" y se refiere a que C++ es una extensión de C.


Diferencias de tipos respecto a C

En C++, cualquier tipo de datos que sea declarado completo (fully qualified, en inglés) se convierte en un tipo de datos único. Las condiciones para que un tipo de datos T sea declarado completo son a grandes rasgos las siguientes:


  • Es posible al momento de compilación conocer el espacio asociado al tipo de datos (es decir, el compilador debe conocer el resultado de sizeof(T)).
  • T Tiene al menos un constructor, y un destructor, bien declarados.
  • Si T es un tipo compuesto, o es una clase derivada, o es la especificación de una plantilla, o cualquier combinación de las anteriores, entonces las dos condiciones establecidas previamente deben aplicar para cada tipo de dato constituyente.

En general, esto significa que cualquier tipo de datos definido haciendo uso de las cabeceras completas, es un tipo de datos completo.
En particular, y, a diferencia de lo que ocurría en C, los tipos definidos por medio de struct o enum son tipos completos. Como tales, ahora son sujetos a sobrecarga, conversiones implícitas, etcétera.
Los tipos enumerados, entonces, ya no son simplemente alias para tipos enteros, sino que son tipos de datos únicos en C++. El tipo de datos bool, igualmente, pasa a ser un tipo de datos único, mientras que en C funcionaba en algunos casos como un alias para alguna clase de dato de tipo entero.



LENGUAJE PHP

Fue creado originalmente por Rasmus Lerdorf en 1995. Actualmente el lenguaje sigue siendo desarrollado con nuevas funciones por el grupo PHP.
PHP es un lenguaje de programación de uso general de código del lado del servidor originalmente diseñado para el desarrollo web de contenido dinámico. Fue uno de los primeros lenguajes de programación del lado del servidor que se podían incorporar directamente en el documento HTML en lugar de llamar a un archivo externo que procese los datos. El código es interpretado por un servidor web con un módulo de procesador de PHP que genera la página Web resultante.

Características

  • Orientado al desarrollo de aplicaciones web dinámicas con acceso a información almacenada en una base de datos.
  • Es considerado un lenguaje fácil de aprender, ya que en su desarrollo se simplificaron distintas especificaciones, como es el caso de la definición de las variables primitivas, ejemplo que se hace evidente en el uso de php arrays.
  • El código fuente escrito en PHP es invisible al navegador web y al cliente, ya que es el servidor el que se encarga de ejecutar el código y enviar su resultado HTML al navegador. Esto hace que la programación en PHP sea segura y confiable.
  • Capacidad de conexión con la mayoría de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL.
  • Capacidad de expandir su potencial utilizando módulos (llamados ext's o extensiones).
  • Posee una amplia documentación en su sitio web oficial, entre la cual se destaca que todas las funciones del sistema están explicadas y ejemplificadas en un único archivo de ayuda.
  • Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.
  • Permite aplicar técnicas de programación orientada a objetos. Incluso aplicaciones como Zend framework, empresa que desarrolla PHP, están totalmente desarrolladas mediante esta metodología.
  • No requiere definición de tipos de variables aunque sus variables se pueden evaluar también por el tipo que estén manejando en tiempo de ejecución.
  • Tiene manejo de excepciones (desde PHP5).
  • Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a la hora de programar, aún haciéndolo, el programador puede aplicar en su trabajo cualquier técnica de programación o de desarrollo que le permita escribir código ordenado, estructurado y manejable. Un ejemplo de esto son los desarrollos que en PHP se han hecho del patrón de diseño Modelo Vista Controlador (MVC), que permiten separar el tratamiento y acceso a los datos, la lógica de control y la interfaz de usuario en tres componentes independientes.
  • Debido a su flexibilidad ha tenido una gran acogida como lenguaje base para las aplicaciones WEB de manejo de contenido, y es su uso principal.

Inconvenientes

  • Como es un lenguaje que se interpreta en ejecución, para ciertos usos puede resultar un inconveniente que el código fuente no pueda ser ocultado. La ofuscación es una técnica que puede dificultar la lectura del código pero no necesariamente impide que el código sea examinado.
  • Debido a que es un lenguaje interpretado, un script en PHP suele funcionar considerablemente más lento que su equivalente en un lenguaje de bajo nivel, sin embargo este inconveniente se puede minimizar con técnicas de caché tanto en archivos como en memoria.
  • Las variables al no ser tipificadas dificulta a los diferentes IDEs para ofrecer asistencias para el tipificado del código, aunque esto no es realmente un inconveniente del lenguaje en sí. Esto es solventado por Zend Studio añadiendo un comentario con el tipo a la declaración de la variable.

LENGUAJE C# Y .NET FRAMEWORK


C# es un lenguaje orientado a objetos elegante y con seguridad de tipos que permite a los desarrolladores compilar diversas aplicaciones sólidas y seguras que se ejecutan en .NET Framework. Puede utilizar C# para crear aplicaciones cliente de Windows, servicios Web XML, componentes distribuidos, aplicaciones cliente-servidor, aplicaciones de base de datos, y mucho, mucho más. Visual C# proporciona un editor de código avanzado, cómodos diseñadores de interfaz de usuario, depurador integrado y numerosas herramientas más para facilitar el desarrollo de aplicaciones basadas el lenguaje C# y .NET Framework.


La sintaxis de C# es muy expresiva, pero también es sencilla y fácil de aprender. La sintaxis de C# basada en signos de llave podrá ser reconocida inmediatamente por cualquier persona familiarizada con C, C++ o Java. Los desarrolladores que conocen cualquiera de estos lenguajes pueden empezar a trabajar de forma productiva en C# en un plazo muy breve. La sintaxis de C# simplifica muchas de las complejidades de C++ y proporciona características eficaces tales como tipos de valor que admiten valores NULL, enumeraciones, delegados, expresiones lambda y acceso directo a memoria, que no se encuentran en Java. C# admite métodos y tipos genéricos, que proporcionan mayor rendimiento y seguridad de tipos, e iteradores, que permiten a los implementadores de clases de colección definir comportamientos de iteración personalizados que el código cliente puede utilizar fácilmente. Las expresiones Language-Integrated Query (LINQ) convierten la consulta fuertemente tipada en una construcción de lenguaje de primera clase.



Como lenguaje orientado a objetos, C# admite los conceptos de encapsulación, herencia y polimorfismo. Todas las variables y métodos, incluido el método Main que es el punto de entrada de la aplicación, se encapsulan dentro de definiciones de clase. Una clase puede heredar directamente de una clase primaria, pero puede implementar cualquier número de interfaces. Los métodos que reemplazan a los métodos virtuales en una clase primaria requieren la palabra clave override como medio para evitar redefiniciones accidentales. En C#, una struct es como una clase sencilla; es un tipo asignado en la pila que puede implementar interfaces pero que no admite la herencia.


LENGUAJE JAVA





El lenguaje de programación Java fue originalmente desarrollado por James Gosling de Sun Microsystems (la cual fue adquirida por la compañía Oracle) y publicado en 1995 como un componente fundamental de la plataforma Java de Sun Microsystems. Su sintaxis deriva mucho de C y C++, pero tiene menos facilidades de bajo nivel que cualquiera de ellos. Las aplicaciones de Java son generalmente compiladas a bytecode (clase Java) que puede ejecutarse en cualquier máquina virtual Java (JVM) sin importar la arquitectura de la computadora subyacente.
Es un lenguaje de programación de propósito general, concurrente, orientado a objetos y basado en clases que fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible. Su intención es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo (conocido en inglés como WORA, o "write once, run anywhere"), lo que quiere decir que el código que es ejecutado en una plataforma no tiene que ser recompilado para correr en otra. Java es, a partir de 2012, uno de los lenguajes de programación más populares en uso, particularmente para aplicaciones de cliente-servidor de web, con unos 10 millones de usuarios reportados.


BIBLIOGRAFIA


http://msdn.microsoft.com/es-es/library/z1zx9t92.aspx

http://es.wikipedia.org/wiki/Java_(lenguaje_de_programacion)

Colección «Java a tope» de libros electrónicos (Universidad de Málaga. España)

Curso de Java, de cero a hasta conexión a MYSQL, (México)

Capacitación en Java sobre Grandes Proyectos

http://www.lavanguardia.com/tecnologia/20140102/54397737420/diez-tendencias-2014-tecnologias-consumo.html