domingo, 24 de marzo de 2013

Sistemas de almacenamiento de datos actuales


Debido a la gran cantidad de datos e información que se manejan es necesario disponer de mecanismos que nos permitan poder almacenar dicha información para, posteriormente, recuperarla cuando sea necesario. La información se puede almacenar de manera permanente o, por el contrario, puede ser eliminada cuando ya no sea útil.
Dicho esto, se procede a comentar una serie de dispositivos de almacenamiento que son considerados de mayor uso en la actualidad.

Bases de datos
Una base de datos es un conjunto de datos estructurados que están relacionados entre sí, es decir, es un "almacén" que permite guardar grandes cantidades de información para, posteriormente, acceder a ella.
Las bases de datos son manipuladas (construir, utilizar, mantener, reorganizar) por medio de un software denominado Sistema Gestor de Bases de Datos (SGBD).
Por seguridad y para proteger la información contenida en las bases de datos, se realizan backups, es decir, copias de seguridad que actúan como puntos de restauración cuando ocurre algún fallo en el sistema permitiendo recuperar toda la información que se encontraba guardada hasta la fecha del último backup.
Son el sistema de almacenamiento por excelencia en las empresas, oficinas, universidades u hospitales para poder almacenar toda la información que se maneja en estos lugares (empleados, proveedores, operaciones,..).

Disco duro
También denominado disco rígido (Hard Disc Drive, HDD), es un dispositivo de almacenamiento no volátil que permite guardar grandes cantidades de información digital mediante un sistema de grabación magnética.
Las características más relevantes de estos dispositivos son:
  • Capacidad: son grandes almacenes de información que permiten guardar cantidades desde MB hasta TB. Actualmente existen discos duros de 4 TB de capacidad.
  • Velocidad de giro: Dependiendo de las características del ordenador se puede tardar más, o menos, en acceder a la información del disco.
  • Velocidad de transmisión: Operan a grandes velocidades y, actualmente, alcanzan transferencias de 3GB por segundo.
Los discos duros tradicionales se encuentran integrados en el ordenador, es decir, están instalados dentro del propio ordenador y, por lo tanto, no son fáciles de extraer.
Actualmente existen discos duros externos (portátiles) que se conectan al ordenador mediante una conexión USB. Estos discos se pueden utilizar en diferentes aparatos electrónicos, no sólo en el ordenador, como pueden ser: televisiones, videoconsolas, DVD. También se utilizan para intercambiar información de un ordenador a otro pudiéndose conectar a cualquier ordenador que cumpla los requisitos mínimos de utilización.

Discos ópticos
Son dispositivos de almacenamiento de forma circular donde se codifica y almacena la información.
  • CD-ROM: es un disco óptico compacto no volátil que sólo permite realizar la operación de     lectura de datos. Su capacidad de almacenamiento es de 700 MB o 80 minutos de reproducción. Desde que aparecieron los DVD, están cayendo en desuso debido a su menor capacidad y velocidad de lectura de datos.
  • DVD: disco óptico que ofrece mayor velocidad y capacidad de almacenamiento que el CD-ROM. Si con un CD podemos almacenar un máximo de 700 MB, un DVD permite almacenar 4,7 GB y en el caso de los DVD de doble capa 8,5 GB. Los DVD pueden ser de sólo lectura (DVD-R), de una única escritura (DVD+R)  o regrabables (DVD-RW, DVD+RW).
  • Blue-ray Disc: es la nueva generación de los discos ópticos e incluye alta definición y una capacidad de almacenamiento de 25 GB. La capacidad depende del número de capas del disco siendo esta de 50 GB en los discos de doble capa y de 1 TB en los de 32 capas. Aparentemente tiene las mismas dimensiones que un DVD y se diferencia de éste en lo mencionado anteriormente, la resolución en alta definición y en la capacidad de almacenamiento.
Memoria flash

  • Memoria USB o Pen drive: permite almacenar información fácilmente por medio de una memoria flash. Se conecta al ordenador o cualquier otro dispositivo por medio de un puerto USB. Es el dispositivo de almacenamiento más utilizado en la actualidad debido a su pequeño tamaño, portabilidad y a las diversas capacidades de almacenamiento que ofrece, siendo éstas desde MB hasta 1 TB. Han desplazado ha dispositivos tradicionales como son el CD, DVD o el disquete.
  • Tarjetas de memoria: se trata de memorias flash no volátiles de pequeño tamaño. Las más utilizadas en la actualidad son: la tarjeta SD y la Memory Stick.
    • SD (Secure Digital), es una tarjeta de memoria flash que se utiliza en dispositivos electrónicos portátiles (móviles, ordenadores, cámaras de fotos,..). Existen dos variantes de la tarjeta SD de tamaño más pequeño que son las tarjetas MiniSD y MicroSD. La capacidad máxima de almacenamiento actual es de 64 GB.
    • Memory Stick, tarjeta de memoria creada por Sony que posee un uso y caracterísitcas similares a las tarjetas SD. Una variante es la Memory Stick Pro Duo que tiene 32 GB de capacidad y opera a mayor velocidad que la Memory Stick normal.
Almacenamiento online
Se denominan clouds o nubes de información y están llamados a sustituir a los discos duros en el futuro.
La información se almacena en línea, es decir, en internet y permiten poder acceder a ella en todo momento desde cualquier dispositivo que tenga acceso a internet. Estos sistemas pueden ser gratuitos o pagando una cierta cantidad anual. Estos últimos ofrecen mayores capacidades de almacenamiento.
Los sistemas de almacenamiento online más utilizados son: Dropbox, Google Storage, Minus.com, SugarSync y Adrive.


miércoles, 6 de marzo de 2013

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:
C
Creado en 1972 por Dennis MacAlistair Ritchie en los laboratorios Bell como evolución del anterior lenguaje B. Es un lenguaje orientado a la implementación de sistemas operativos, concretamente Unix que fue desarrollado en C.
Es un lenguaje de propósito general muy utilizado cuyas principales características son:
  • Combina características de los lenguajes de bajo nivel con los de alto nivel, lo que permite crear programas eficientes.
  • Es un lenguaje pequeño ya que sólo ofrece sentencias de control sencillas y funciones.
  • Permite la programación estructurada y el diseño modular lo que mejora la apariencia, comprensión y mantenimiento de los programas.
  • Se realizan programas portables que se pueden ejecutar sin necesidad de realizar cambios en diversos ordenadores.
  • Incluye la utilización de punteros. Un puntero es una variable que apunta (contiene) a la dirección de memoria de otra variable.
  • Modularidad, el programa se puede dividir en módulos que se tratan de manera independiente.
Todo programador sabe programar en C debido a que es uno de los primeros lenguajes que se aprenden a utilizar. El motivo de que sea uno de los primeros es porque varios lenguajes de programación están formados a partir de C y es necesario conocer sus estructuras e instrucciones.
El lenguaje C es uno de los más utilizados en la actualidad ya que nos permite crear programas eficientes, característica muy importante a la hora de realizar un programa.  Es un lenguaje simple y fácil de entender, lo que reduce los tiempos de desarrollo y comprensión de los programas.
Por último decir que es muy común programar sistemas en C ya que nos permite tener un control casi absoluto del ordenador.
  • Ejemplo de un programa en C: 
#include <stdio.h>

int main()
{
        printf("Hola mundo");
        return 0;
}


C++
El lenguaje de programación surgió a mediados de los 80 gracias a Bjarne Stroustrup y fue desarrollado a partir del lenguaje en los laboratorios AT&T Bell.
  • Es un lenguaje orientado a objetos aunque también tiene las mismas características que C, como por ejemplo su eficiencia y el uso de punteros.
  • Como es lógico, y debido a que se creó a partir de C, C++ cuenta con diversas mejoras y avances respecto de C, lo que le hace un lenguaje más completo y por ello que los programadores tienden a programar más en este lenguaje. Un programa en C++ soporta instrucciones escritas en C, pero un programa escrito en C no nos permite ejecutar instrucciones de C++, por lo que viéndolo de ésta forma resulta más cómodo programar en C++.
  • Es un lenguaje muy popular debido a la eficiencia y robustez de sus programas.
  • Además de ser un lenguaje orientado a objetos, también nos permite realizar programas estructurados, lo cuál nos da libertad a la hora de programar. Nos da cierta libertad debido a que no es tan estricto a la hora de escribir código como en C.
  • Es un lenguaje compilado, es decir, compila directamente al código que entienden los ordenadores por lo que es uno de los lenguajes más rápidos.
  • Es portable al gran número de compiladores que permiten utilizar los programas en diversos ordenadores con diferentes sistemas operativos.
  • Soporta varios paradigmas de programación. Un paradigma de programación (dicho de manera informal) es una forma de pensar a la hora de programar, el más utilizado es el paradigma de programación orientada a objetos.
Un aspecto importante a destacar es la amplia cantidad de manuales, libros y código fuente disponibles sobre C++, lo que nos da ciertas facilidades a la hora de aprender a programarlo.
  • Programa en C++:
#include <iostream>

using namespace std;

int main() {

    cout << "Hola Mundo" << endl;

    return 0;

}


Java
Surgió en 1991 gracias a un grupo de ingenieros de Sun Microsystems como lenguaje de programación para electrodomésticos.
Fue en 1995 cuando Java comenzó a utilizarse como lenguaje de programación de ordenadores.
Las características más importantes de este lenguaje de programación son:
  • Es un lenguaje orientado a objetos. Un objeto se compone de atributos (estado del objeto) y métodos (comportamiento) que actúan sobre esos  atributos. Para comprender lo que es un objeto, voy a mostrarles una analogía del mundo real: al igual que en el mundo virtual, en el mundo real los objetos tienen un estado y un comportamiento. Por ejemplo, un coche es un objeto que tiene una serie de estados o atributos (matrícula, marca, modelo, color, marchas) y una serie de comportamientos o métodos (corriendo, parado, aparcando, cambio de marcha). Todos los objetos tienen un identificador único que los diferencia del resto de objetos. En el ejemplo anterior el identificador del coche es la matrícula. 
  • Modularidad, nos permite dividir los programas en pequeños módulos denominados clases, para reducir la complejidad del problema y, en caso de producirse un fallo, éste solamente afecta al módulo donde se produjo y no a todo el programa.
  • Es robusto, es decir, es un lenguaje de programación fiable que reacciona adecuadamente ante situaciones excepcionales.
  • Es un lenguaje de programación portable que nos permite utilizar los programas desarrollados en java en cualquier ordenador con cualquier sistema operativo.
  • Dinámico, podemos compilar y ejecutar los programas en tiempo real.
  • Seguro, elimina los accesos ilegales a memoria que realizan los punteros en C.
En definitiva, Java es uno de los lenguajes más utilizados actualmente ya que podemos reutilizar el código de los programas y su arquitectura neutral nos permite utilizarlo en cualquier arquitectura y sistema operativo independientemente de la máquina en que se realizó el programa.
Es un lenguaje fácil de aprender lo que reduce los tiempos de formación y aprendizaje de las personas que lo vayan a utilizar.
Las perspectivas de futuro son que prácticamente toda la programación será orientada a objetos, aspecto con el que ya cuenta Java y permite acercarnos a la forma de pensar de las personas.
Actualmente Java cuenta con diversos entornos de desarrollo muy buenos como son Netbeans o Eclipse.
  • Programa en Java:
public class Hello {
  public static void main(String[] args) {
    System.out.println("Hola mundo");
  }
}


Python 
Python apareció en 1991 gracias a Guido Van Rossum. 
Se dice que es un lenguaje multiparadigma ya que soporta diversos tipos de paradigmas de programación como son la orientación a objetos, la programación imperativa o ,en menor medida, la programación funcional.
Este lenguaje de programación es soportado por varios sistemas operativos, característica conocida como portabilidad.
En cuanto al código, es un lenguaje simple y sencillo con instrucciones claras y fácil de leer. Se utilizan clases y sentencias de control, sin embargo, no presenta encapsulación. Se pueden escribir instrucciones en código C para poder ejecutar el código de una manera más rápida , por lo que Python es compatible con instrucciones de C. También cabe destacar que es un lenguaje interpretado por lo que no es necesario compilar el código antes de ejecutarlo, lo cual reduce los tiempos de espera.
Es un lenguaje tipificado que cuenta con un gran número de librerías, tipos de datos y funciones que sirven de mucha ayuda al programador y simplifican su trabajo.
Uno de los aspectos más importantes es que se trata de un lenguaje libre y gratuito por lo que se pueden realizar copias del software y modificarlo como se quiera con tal de mejorarlo. Como consecuencia de ello existen diversas versiones de Python.
Se utiliza con mucha frecuencia gracias a que es un lenguaje de propósito general que nos permite realizar desde cualquier tipo de programa hasta desarrollar páginas web.

print "Hola mundo

PHP
PHP fue creado en 1995 por Rasmus Lerdorf para el desarrollo de aplicaciones web dinámicas y se puede incorporar directamente a páginas HTML. PHP es interpretado y ejecutado en el lado del servidor web y posteriormente se envía el resultado al navegador.
Es un lenguaje "Open Source", es decir, es software libre al cual pueden acceder todos los usuarios.
PHP fue creado a partir de C, C++, Java, Pearl y Python por lo que ,a parte de tener unas características propias, tiene una mezcla de características de los lenguajes citados anteriormente.
La sintaxis es muy simple, clara y fácil de aprender ya que no es necesario definir los tipos de variables y nos permite utilizar el paradigma de la programación orientada a objetos, así como, la programación orientada a procedimientos, imperativa y reflexiva. Como consecuencia de ello, obtenemos un código sencillo, ordenado, estructurado y fácil de manejar.
Al igual que el resto de lenguajes citados, es portable y nos permite utilizarlo en cualquier servidor web de cualquier sistema operativo. Como se ha comentado anteriormente, PHP fue diseñado para Microsoft y sus sistemas operativos, por lo que si se quiere utilizar en otros sistemas operativos que no sean de Microsoft es necesaria una adaptación.
Es un lenguaje robusto y estable que dota de gran seguridad a las páginas web contra ataques no deseados.
Por último destacar su gran capacidad para conectarse a cualquier base de datos como pueden ser MySQL, PostgreSQL, Oracle, etc.

·         Ejemplo PHP:

<?php
echo "Hola Mundo!";
?>

En definitiva, la mayor parte de la programación de hoy en día se centra en la programación orientada a objetos mediante el empleo de clases, métodos y sus correspondientes objetos.
Para elegir el lenguaje de programación que mejor se adapte a las aplicaciones a realizar, hay que analizar las características de cada uno de ellos y ver cuál se adapta mejor a los requisitos de dicha aplicación.


-Referencias bibliográficas:

     http://www.webtaller.com/manual-java/caracteristicas-java.php
     Aprenda Java como si estuviera en primero
     http://www.cplusplus.com/info/description/
     http://dev.laptop.org/~edsiper/byteofpython_spanish/ch01s02.html
     http://www.desarrolloweb.com/articulos/1325.php
     Programación en lenguajes estructurados
     es.wikipedia.org/