martes, 13 de noviembre de 2007

20 Tips para ser un mejor programador

1. Estudia, estudia y estudia

El estudiar nos permite perfeccionarnos, cuanto mas estudiemos mas oportunidades de programar mejor tendremos, no solamente estoy hablando de universidades, ni tampoco de cursos, hoy por hoy gracias a internet existen infinidad de tutoriales y manuales, sin ir mas lejos el sitio oficial de PHP es realmente muy bueno.

2. Busca antes de preguntar
Esto es un mal común del que quiere aprender a programar, es mas fácil preguntarle a alguien que sepa, pero realmente no tiene que ser así por varias razones, primero por que es algo de muy de vago, luego que cuando alguien nos da la respuesta fácil no aprendemos nada, lo interesante cuando se nos presenta un problema es buscar la solución nosotros mismos, sino damos con la respuesta recién ahí preguntar, este ejercicio realmente es muy beneficio, nos permite preparar nuestra cabeza para solucionar futuros problemas.

3. Busca scripts ya desarrollados
Por lo general podemos encontrar muchas funciones, scripts listos para utilizar, pero lo interesante es estudiarlos, ver como funcionan, de ahí aprendemos si copiamos y pegamos vamos mal.

4. Lee el código fuente libre
Yo muchas veces descargo algunas aplicaciones para ver como están programadas, de verdad que se aprende mucho, a medida que realicemos esta practica cada vez iremos aprendiendo mas, en especial si estas aplicaciones son de uso popular en donde miles de programadores del mundo “meten” mano para mejorarla. Un buen ejemplo de esto es Wordpress.

5. No copies y pegues
Es fácil, entramos a google buscamos una función que sirva para lo estamos necesitando y listo. Pero la realidad es que no siempre lo que descargamos es correcto, y si luego tenemos que solucionar un problema lo mas probable es que no tengamos ni idea por donde empezar. Ni hablar del factor aprendizaje cero que esta practica implica.

6. Buscar el momento para programar
Estas sentado delante de tu ordenador, llaman por teléfono, tu compañero de trabajo o familiar te pregunta algo, realmente es lo mas molesto e incomodo que hay, es difícil concentrarse, es preferible hacer algo mas “Light” antes de programar algo mal y después tener que arreglarlo.

7. Ten tu propia Wiki
Esto lo recomiendo muchísimo, es muy sencillo instalar una Wiki en nuestra pc, simplemente podemos descargar el Easyphp y tener en nuestro ordenar un servidor funcional, y mejor aun si quieres hacer la instalación “a mano”. La wiki es interesante para poder almacenar rutinas que usamos frecuentemente, en mi caso suelo guardar validaciones, etc. Una vez que aprendimos a hacer algo y lo tenemos lo mejor posible es interesante tenerlo a mano para no perder tiempo escribiendo lo mismo una y otra vez.

8. Comenta todo lo que sea necesario
Escribir comentarios en el código suele ser bastante molesto y parecer innecesario, pero comentar las cosas importantes nos puede ahorrar mucho tiempo cuando tengamos que retocar el código meses después.

9. Participa en foros/comunidades
Es interesante para interactuar con otras personas que estén en nuestra misma sintonía, muchas veces ayudaremos nosotros y otra vez nos podrán ayudar. En línea general estas comunidades tienen muy buena onda, y la ayuda mutua es lo que abunda, unas líneas de código pueden ser útiles para muchas personas, de ahí que entre todos se puede perfeccionar. Recuerden respetar el punto 2.

10. Habla con otros programadores
Mensajería instantánea, en un café, por teléfono, etc. Es interesante tener amigos que están en lo mismo, no solamente por el tema de la ayuda mutua, estos grupos suelen ser también de ayuda “emocional” del programador, unos chistes, algún comentario puede ser una inyección de energía para continuar con un problema que no podemos resolver.

11. Tiempo libre para otras cosas
Me encanta programar, pero entendi que no es lo unico en la vida, a veces es bueno una salida, una película, realmente es necesario desenchufarnos.

12. Arma tu bunker
Tener un espacio de trabajo acorde con tus gustos es indispensable para programar, un buen sillón que no dañe nuestra columna, un lindo escritorio que nos permita desparramar CDS, libros, etc. También hay que ser organizado, pero siempre a nuestro gusto, es bueno que sea TU espacio y que nadie meta mano, uno a la larga lo termina sintiendo como un refugio.

13. Tu equipo en condiciones
Otro punto importante, una buena computadora, que no tenga problemas, si es necesario un poco mas de RAM, no hace falta tener una supermáquina para programar con PHP pero si algo que no se este colgando cada 2 seg.

14. Usa herramientas gratuitas
Si no podes pagar ciertas herramientas realmente ni te gastes en bajar las versiones piratas, en PHP no se necesita mucho y realmente no vale la pena estar trucando programas.

15. Organiza tu propia biblioteca de scripts
Relacionado con el punto 7. La wiki es muy buena, pero hay que tenerla organizada, sino encontrar algo puede llevarnos mas tiempo que volverlo a escribir. Yo soy bastante desorganizado, pero con los años aprendí a manejar mi problemita :D

16. Se agradecido con los que te ayudan
Si alguien te ayuda, por favor al menos di gracias. Recuerda que las personas que te rodean no son tu soporte técnico (Al menos que les pagues). Si alguien se molesta en responder a tus consultas agradécele, para la próxima esa persona seguirá teniendo buena predisposición.

17. Se humilde
Esencial. Siempre hay alguien que sabe más que uno y mas en este “rubro” en donde hay verdaderos cráneos, Yo hace varios años que programo en PHP y sin embargo siempre aprendo algo nuevo, y en parte eso es lo que me gusta de programar, siempre se puede mejorar.

18. Siempre busca perfeccionarte
Relacionado con el punto anterior. Las tecnologías evolucionan y nosotros debemos hacer lo mismo. Una linda practica cuando tenemos un poco de tiempo libre es tratar de optimizar un código nuestro de unos meses anteriores, si aprendimos cosas nuevas de seguro que podemos hacerlo mejor que antes.

19. Intenta ser eficiente y luego inténtalo de nuevo
Que funcione no quiere decir que este bien. También una de las cosas más lindas de programar: Siempre se puede hacer una función mas eficiente, que consuma menos recursos, no hay que conformarse que arroje los resultados que queremos, probablemente lo podemos hacer mejor.

20. Programa primero lo que menos te gusta
Esto es bastante personal, pero por lo general me da buenos resultados. Cuando me siento a programar algo los primeros minutos son de “ambientación” luego tengo un periodo de concentracion digamos maxima, en ese momento las cosas que parecen o son mas complicadas son cuando mas rápido y mejor salen, luego cuando uno esta mas cansado puede dedicarse a las cosas mas sencillas y rutinarias.

via: kabytes.com

jueves, 8 de noviembre de 2007

¿Qué es JavaScript?

Segun geneura.ugr.es JavaScript es un lenguaje interpretado, al igual que VisualBasic, Perl, TCL... sin embargo, posee una característica que lo hace especialmente idóneo para trabajar en Web, ya que son los navegadores que utilizamos para viajar por ella los que interpretan (y por tanto ejecutan) los programas escritos en JavaScript. De esta forma, podemos enviar documentos a través de la Web que incorporan el código fuente de un programa, convirtiéndose de esta forma en documentos dinámicos, y dejando de ser simples fuentes de información estáticas.

Los programas en JavaScript no son la primera forma que conoce la Web para transformar información, dado que el uso de CGIs está ampliamente difundido. La diferencia básica que existe entre un programa CGI y uno escrito en JavaScript es que el CGI se ejecuta en el servidor de páginas Web mientras que el programa en Javascript se ejecuta en el cliente (es decir, en el navegador). Por regla general, el CGI necesita unos datos de entrada (que normalmente se proporcionan mediante un formulario), los procesa y emite un resultado en forma de documento HTML. Esto implica tres transacciones en la red. La primera carga la página del formulario, la segunda envía los datos al servidor, y la tercera recibe la nueva página que ha generado el CGI. Por el contrario, los programas escritos en JavaScript se ejecutan en el navegador del cliente, sin necesidad de que intervenga el servidor. De esta forma, una sola transacción basta para cargar la página en la que se encuentra tanto el formulario, para los datos de entrada, como el programa en JavaScript que proporciona los resultados. Sin embargo, esto no significa (como veremos después) que los CGI vayan a ser substituidos por JavaScript.

Las dos principales características de JavaScript son, por un lado que es un lenguaje basado en objetos (es decir, el paradigma de programación es básicamente el de la programación dirigida a objetos, pero con menos restricciones), y por otro JavaScript es además un lenguaje orientado a eventos, debido por supuesto al tipo de entornos en los que se utiliza (Windows y sistemas X-Windows). Esto implica que gran parte de la programación en JavaScript se centra en describir objetos (con sus variables de instancia y métodos de "clase") y escribir funciones que respondan a movimientos del ratón, pulsación de teclas, apertura y cerrado de ventanas o carga de una página, entre otros eventos.

Por último, es necesario resaltar que hay dos tipos de JavaScript. Por un lado está el que se ejecuta en el cliente. Este es el JavaScript propiamente dicho, aunque técnicamente se denomina Navigator JavaScript. Pero también existe un JavaScript que se ejecuta en el servidor. Este, más reciente, se denomina LiveWire JavaScript. Nos centraremos solo en el primero, el Navigator JavaScript.

Este tutorial es muy básico, ideal por tanto para aquellas personas que no hayan tenido ningún contacto con JavaScript. Pretende ser un primer punto de referencia para aplicaciones más avanzadas, de modo que se explican en él los conceptos más básicos. Los ejemplos son extremadamente sencillos e intentan clarificar el uso de un determinado objeto o función, aunque la aplicación que se les dé no sea muy vistosa o útil.

En el apéndice se pueden encontrar otros sitios Web en los que podrá encontrar más documentación sobre Javascript.


2. ¿Qué NO es JavaScript?

Ante todo no es un lenguaje de propósito general. No permite un control absoluto sobre los recursos del ordenador, tal y como estamos acostumbrados al crear un programa (aunque las últimas innovaciones de los navegadores en cuestiones de seguridad le están dando un mayor operatibilidad) . Cada programa en JavaScript solo tiene acceso al documento HTML en el que va inmerso y, si acaso, a las ventanas en las que se ejecuta el navegador dentro del cual se está ejecutando el programa en JavaScript.

Como ya se ha dicho, tampoco es un sustituto de los CGIs. Ciertas cosas no se pueden hacer en JavaScript, especialmente las relacionadas con acceso a ficheros en todos sus sentidos. Sin embargo es muy útil para depurar errores en los datos antes de pasárselos al CGI que los trata, por lo que el uso combinado de JavaScript y CGIs redunda en un mejor tratamiento de datos y un menor número de transacciones en la Web cuando se usan los CGIs.

Por último, no es un lenguaje orientado a objetos, ya que, por ejemplo, no existe el concepto de clase. Es basado en objetos, de modo que se trabaja directamente con instancias de objetos.

3. Conceptos fundamentales de programación

Antes de empezar con Javascript como tal, daremos algunsa nociones fundamentales de programación sin las cuales poco podremos hacer con Javascript. Estas nociones son comunes al 99% de los lenguajes actualmente existentes, aunque daremos algunas características especiales de este lenguaje.

3.1. Datos e instrucciones

Lo primero que hay que tener en cuenta es que programar es básicamente tomar datos, realizar operaciones con ellos y mostrar resultados. Claro que dicho así parece que hubiéramos convertido en una simpleme calculadora nuestro ordenador. Sin embargo, hay que tener en cuenta que al programar podemos manipular datos de tipo numérico (enteros y reales), pero también podemos manejar cadenas (string), caracteres (character), y valores lógicos (los valores true y false, que no tienen nada que ver con las cadenas), entre otros. Más aún, no solo podemos trabajar con cada uno de estos datos por separado, sino que podemos unirlos formando registros (como fichas de biblioteca, etc), o matrices en las que caben muchos de estos datos más simples.

Normalmente estos datos no pululan a lo largo del programa a su libre albedrío, sino que se almacenan en variables. Cada variables tiene un nombre que es una palabra, y contiene un valor (este valor puede ser un número, una cadena, o cualquier otro tipo de dato). Cuando operamos con el nombre de una variable, en realidad lo que se hace es operar con el valor que contiene. Ya veremos en los ejemplos su utilidad.

Una vez que sabemos con qué datos podemos trabajar, es conveniente saber qué instrucciones (o sentencias) se les pueden aplicar, las cuales podemos resumir en las siguientes:

Sentencias secuenciales

Sentencias condicionales
Este tipo de sentencias se caracteriza por que en ellas se evalua una condicion; si dicha condicion es cierta se ejecutaran un grupo de sentencias, y si es falsa se ejecutaran otras. De esta forma, los programas pueden variar su comportamiento en funcion de los datos que manejen.

La sentencia m'as usada es la denominada IF condicion THEN sentencias_verdad ELSE sentencias_falso. Es decir, eval'ua la condici'on y, si es cierta ejecuta el grupo de sentencias sentencia_verdad, y si no era cierta ejecuta el grupo de sentencias sentencias_falso

Sentencias iterativas
Tambi'en llamadas sentencias repetitivas< o bucles. Estas sentencias se usan cuando queremos que un grupo de instrucciones se repita varias veces. El n'umero de repeticiones puede ser fijo, depender de alguna variable (o alg'una operaci'on aritm'etica) o depender de una determinada condici'on.

Sentencias de este tipo son:

Fuente: geneura.ugr.es/~victor/cursillos/curso_javascript_basico/jsb_intro.html

Que son las cookies?

Cuando alguien entra a un sitio web para ver los contenidos, el servidor web interactúa con las cookies.

Cookies (galletas en español), son pequeños conjuntos de datos en donde se encuentran algunos datos del navegante para que, cuando ingresemos nuevamente a la página, ésta se "adapte", ya sea a nuestro país o idioma o simplemente para que recuerda nuestras password automáticamente, etc. Vistas desde esta perspectiva, no parece que las cookies atenten contra la privacidad de las personas, pero han ocurrido hechos que demuestran lo contrario (más adelante).

Podemos encontrar las cookies, tratándose de Internet Explorer, en la carpeta /windows/cookies para Windows 95, 98 y ME, y en una carpeta especial dentro de "Documents and Settings" para Windows XP y Vista, en cambio Netscape las almacena todas juntas en el archivo cookies.txt. Si leemos la información de estos archivos, no comprenderemos nada, ya que son una fila de números y letras sin sentido.

El inicio de la duda

Hace ya un tiempo, DoubleClick (empresa que inserta publicidad en las sitios web), que fue comprada por Abacus Direct (empresa de marketing), cambió su forma de trabajo, haciendo que el usuario pierda su privacidad usando cookies. Ésta empresa usaba las cookies para saber qué sitios normalmente visitaba el usuario y así presentarle el banner más adecuado a sus gustos.

Jennifer Blum, vocera de DoubleClick dijo que cuando un internauta de sus datos en páginas formadas por DoubleClick, ya tendrá conocimientos de que su información será compartida; pero Jason Catlett, presidente de Junkbusters se expresó de otra forma diciendo que cuando un usuario de sus datos en las páginas en donde se encuentra DoubleClick correrá peligro de que sea siempre identificado en internet. Ésto último atentaría a la privacidad del usuario, al enterarse Harriett Judnick, usuaria estadounidense, presentó una demanda contra la empresa alegando que no fue devidamente informada, pero no fue la única empresa demandada, la mismísima Yahoo! fue acusada, en este caso por la empresa Universal Image s, de obtener información sobre las personas que la visitaban.

Finalmente DoubleClick implementó formas para que la información que tienen de un usuario pueda ser borrada.

Medidas de seguridad

Si realmente no deseas que algún dato tuyo pueda estar disponible a otros, tienes dos formas de hacerlo:
* Nunca dar la información correcta del nombre, apellido, domicilio...
* Desactivar el empleo de cookies o por lo menos, que muestre cuándo se usará cookies. Aclaremos que la navegación por internet puede hacerse más lenta a falta de éstas.

Fuente: alegsa.com.ar

Que es php, el codigo de programacion web

Esto es muy parecido a cualquier otro Script escrito en Perl o C. El código de PHP está incluido en tags especiales "".

Lo que hace diferente a PHP es que el código que se deba ejecutar se ejecuta siempre en el servidor.

Así, al ejecutar el script anterior, el cliente recibirá sólo los resultados de la ejecución por lo que es imposible para el cliente acceder al código que generó la página.

¿Qué se puede hacer con PHP?

En el nivel más básico PHP es equiparable a un CGI cualquiera. La mayor fuerza de PHP es que está preparado para soportar accesos a muchos tipos de bases de datos como:

  1. Adabas D
  2. dBase
  3. Empress
  4. FiclePro
  5. informix
  6. InterBase
  7. Solid
  8. Sybase
  9. Velocis
  10. Unix dbm
  11. mSQL
  12. MySQL
  13. Oracle
  14. PosgreSQL

Además de esto, PHP soporta la utilización de otros protocolos como IMAP, SNMP, NNTP, POP3 o HTTP a nivel de socket.

PHP es un interprete que puede ser incluido en un servidor Web como un módulo o como un CGI binario.
Con él se pueden realizar accesos a ficheros, conexiones de red, etc. PHP está diseñado para ser más seguro que cualquier otro lenguaje de programación de CGIs, como Perl o C.

Lenguaje PHP

Bases de la Sintaxis

Inserción de PHP en HTML

  • Sólo si se activa la función short_tags() o la bandera de configuración short_open_tag.
  • <% .... %> Sólo si se activan los tags para ficheros 'asp' con la bandera de configuración asp_tags.

Separación de instrucciones

Las instrucciones se separan con ';', en el caso de ser la última instrucción no es necesario el punto y coma.

Comentarios

Los comentarios en PHP pueden ser:

  • Como en C o C++, /*...*/ ó //
  • Otro tipo de comentario de una línea es #, que comentará la línea en la que aparezca pero sólo hasta el tag ?> que cierra el código php.
Fuente: geneura.ugr.es/~maribel/php/index.html

sábado, 3 de noviembre de 2007

Blogs de famosos

Por Javier Granados de http://blog.javiergranados.com/

Ya conocemos la intención de muchos bloggers de hacerse famosos, pero ¿hay famosos que se dedican también a bloggear? Pues al parecer sí: entre fiesta y fiesta deben encontrar hueco para conectarse a internet y postear. Ahora bien, esto no significa que sean blogs de calidad, pero al menos, sí que son curiosos.

Si tuviéramos que hacer una corta lista de ellos, yo destacaría:

Andreu Buenafuente - http://www.andreubuenafuente.com
Moby - http://www.moby.com/journal
Pamela Anderson - http://pamelaanderson.blogs.friendster.com/
Anna Kournikova - http://www.kournikova.com/journal/
Kanye West - http://www.kanyeuniversecity.com/blog/

De todos ellos, quizás los únicos que conseguirían engancharme sería el de Andreu Buenafuente y el de Moby. Del resto… la calidad deja mucho que desear. Quizás el de Kanye West sería el que visitaría de tanto en tanto, pero creo que los famosos aún tienen que aprender bastante sobre el mundo de los blogs.

Si conocéis algún otro blog de algún famoso que valga la pena, no dudéis en aconsajarlo a través de los comentarios.

Actualización: navegando por internet he encontrado el siguiente esquema en www.cartoonchurch.com que explica claramente como llegar a ser un “blogger famoso”. Parece obvio como conseguirlo, ¿no?

ACTUALIZACIÓN: Andrea de Marketing Descodificado me ha comentado la existencia de otrod blog de un famoso (aunque me dice que no lo lee… no sé si creérmelo… :-) )

- Blog de Victoria Beckham

martes, 30 de octubre de 2007

Ahora, las PC son táctiles


No se sabe hace cuánto tiempo Microsoft trabaja en esto, pero en la web de Microsoft se asegura que el Surface tiene sus inicios en 2001.
El nuevo equipo tiene una pantalla de 30’’ bajo una superficie de plástico duro que permite a los usuarios tocar y mover objetos con un bolígrafo digital.

Una de sus características más increíbles es que interactúa con los dispositivos colocados en la superficie. Por ejemplo, los usuarios de celulares pueden comprar ringtones o bien al colocar una cámara digital se pueden ver las fotos.

Si bien el equipo está pensado para clientes grandes –las primeras unidades irán al Sheraton, una serie de casinos y resturantes-, a futuro las posibilidades son enormes. En un principio el equipo estará entre u$s5.000 y u$s10.000, pero la compañía planea abaratarlos en 3 o 5 años para que sean más accesibles para los consumidores.

"El potencial del interfaz es enorme", dijo el analista Matt Rossoff. "Una vez que lo has abierto a las aplicaciones, lo que puedes pensar es que es ilimitada", añadió a la agencia Reuters.

Qué hace
En una demostración, Microsoft colocó una cámara digital con un chip inalámbrico en el tablero. El Surface reconoció la cámara y envió sus fotografías a la pantalla, permitiendo a la gente alrededor de la mesa clasificarlas, capturarlas e intercambiarlas o hacerlas más pequeñas o grandes simplemente con sus dedos.
Manejar fotos, ampliarlas, reproducir vídeos, seleccionar la carátula de un CD que queremos reproducir en nuestro equipo de sonido, dibujar, navegar por mapas, conectar dispositivos - que se detectan en esas pantallas gigantes de 30’’ para gestionar operaciones de transferencia de archivos a ellos y desde ellos, y un largo etcétera que sin duda nos sitúa ante un dispositivo que nos hace recordar la famosa 'Minority Report', indica The Inquirer.

El concepto de "Surface" es prácticamente un computador PC con el sistema Windows Vista instalado en una base negra, con una pantalla táctil rodeada de un marco acrílico. Cinco cámaras que pueden detectar objetos cercanos están bajo la pantalla.

Los usuarios pueden interactuar con la máquina tocándola o arrastrando sus dedos u objetos por la pantalla.

"Surface" puede responder a más de un toque de pantalla a la vez, lo que acelera tareas como dibujar en la pantalla con varios dedos.

Para Microsoft cuatro atributos definen las propiedades de surface computing:
- Interacción Directa.
- Contacto de tacto múltiple, de manera que la pantalla puede reaccionar a múltiples órdenes de manera simultánea.
- Multiusuario.
- Reconocimiento de objetos, la superficie puede reconocer objetos e interactuar con ellos.

"Es una categoría que vale miles de millones de dólares, y vemos un futuro en el que estas superficies-interfaces estarán en todas partes, desde las superficies de las mesas y los mostradores hasta los espejos", explicó Steve Ballmer, directivo de Microsoft.
Aplicaciones puntuales
Cuando un cliente quiera un teléfono, tomará una unidad y la colocará sobre la pantalla. El computador leerá el código de barra y mostrará a continuación información sobre el aparato. Los clientes también podrán seleccionar planes y tonos utilizando la pantalla.

En los Starwood Hotel, los huéspedes podrán escuchar música y comprar canciones utilizando una tarjeta que cuenta con el código de barras. En algunos restaurantes, los comensales podrán ordenar su comida por las pantallas y hará más fácil el dividir la cuenta al arrastrar el precio a la cuenta personal de uno.
En los establecimientos Harrah's, los visitantes contarán con información sobre mapas, restaurantes y espectáculos. Los usuarios podrán hacer reservas mediante "Surface".
La gigante de Seattle presentó "Surface" en una conferencia de tecnología en Carlsbad, California, y prevé vender el producto a partir de noviembre en las tiendas

de: www.averlo.com

lunes, 29 de octubre de 2007

¿Qué es Internet? ¿Cómo nació?

La guerra fría gobernaba el mundo, los Estados Unidos debían estar informados sobre los movimientos de la Unión Soviética, corrían los años 60’s y la era de las Telecomunicaciones comenzaba a desarrollarse. De suma importancia era saber que movimiento de piezas haría el Kremlin, los espías norteamericanos estaban esparcidos por todo el mundo y la necesidad de crear un red descentralizada se convertía en una necesidad.

En 1965 la U.S. DARPA (Defense Advanced Research Projects Agency – Agencia de Proyectos de Investigación para la Defensa) promueve un estudio sobre "Redes cooperativas de computadoras de tiempo compartido. En 1969 la DARPA, junto con la compañía Rand Corporation desarrolló una red sin nodos centrales basada en conmutación de paquetes. La información se dividía en paquetes y cada paquete contenía la dirección de origen, la de destino, en número de secuencia y una cierta información. Los paquetes al llegar al destino se ordenaban según el número de secuencia y se juntaban para dar lugar a la información. Al viajar por la red, era más difícil perder datos, ya que si un paquete concreto no llegaba al destino o llegaba defectuoso, la computadora que debía recibir la información sólo tenía que solicitar al computadora emisor el paquete que le faltaba. El protocolo de comunicaciones de llamó NCP (Network Control Protocol).

Esta red en principio solo unía a un pequeño número de computadoras y se denominó DARPANET, pero en 1972 se cambió el nombre por ARPANET, cuando ya conectaba a unos cuarenta nodos. En 1971 se creó el primer programa para enviar correo electrónico. Fue Ray Tomlinson, combinaba un programa interno de correo electrónico y un programa de transferencia de archivos. También ese año un grupo de investiga-

-dores del MIT (Massachussets Institute Technological – Instituto Tecnológico de Massachussets) presen-

-taron la propuesta del primer "Protocolo para la transmisión de archivos en Internet" (RFC 114). Los años 70’s transcurren con instituciones conectándose directamente o conectando otras redes a ARPANET y con los responsables desarrollando estándares y protocolos, como Telnet, la especificación de transferencia de archivos o el protocolo de voz en redes (NVP, Network Voice Protocol). En 1979 ARPA crea la primera comisión de control de la configuración de Internet y tras varios años de trabajo, por fin en 1981 se termina de definir el protocolo TCP/IP (Transfer Control Protocol / Internet Protocol – Protocolo de Control de Transferencia / Protocolo de Internet) y ARPANET lo adopta como estándar en 1982, sustituyendo a NCP.

Internet es la abreviatura de Interconnected Networks, es decir, red de redes, o también es conocida como International Networks, o sea Red Internacional. Además en esos años se fundan Microsoft (1975) y Apple (1976). En 1983 ARPANET se separa de la red militar que la originó, de modo que ya sin fines militares se puede considerar esta fecha como el nacimiento de Internet. En ese año sale la primera versión del Windows de Microsoft. En 1985, quince años después de la primera propuesta, se termina el desarrollo del aún vigente protocolo para la transmisión de archivos en Internet (FTP, File Transfer Protocol), basado en la filosofía de cliente-servidor. A partir de 1987 empezó la gran expansión, en parte debida a que el año anterior se creó la NSFNET, que estableció cinco centros de supercomputadoras para proveer un alto poder de proceso. Es ahora cuando se incorporan a Internet diversas redes de Europa. También en ese año encontramos la primera aplicación informática de hipertexto. En los Estados Unidos el gran aumento de usuarios provocó en 1990 la retirada de la agencia ARPA, y su red pasó a estar a cargo de la NSF. Eran años de incertidumbre ya que nadie había ideado la red para los fines y las dimensiones que se estaban alcanzando, y los responsables se veían desbordados. Durante esos años se reforzaron las redes dorsales y se ideó el WWW (World Wide Web – Red Mundial) en el CERN, gracias a Tim Berners-Lee, su inventor, que creó las bases del protocolo de transmisión HTTP, el lenguaje de documentos HTML y el concepto de los URL.

Fuente: www.evdocs.com