martes, 31 de agosto de 2010

La Web 2.0: La revolución social de Internet

Otra diferenciación que se hace de las dos aplicaciones dando mayor importancia a una que a otra ( a las aplicaciones web). Acá, la autora de quien escribe lo que sigue, plantea las ventajas que tienen las aplicaciones web respecto a las de escritorio.

APLICACIONES WEB VS. APLICACIONES DE ESCRITORIO

Se ha hablado mucho de este tema, y se seguirá hablando durante mucho tiempo. Mientras que las grandes empresas nos dicen que el futuro son las aplicaciones web, que se puede hacer lo mismo que con una aplicación de escritorio, etc.., la realidad y el usuario, nos dice otra cosa.
Como ejemplo siempre pongo Google, tiende a desarrollar todo en Web, sin embargo, cuando hay dinero por en medio y el usuario lo pide, hace una aplicación de escritorio, como el editar de anuncios AdWords Editor.
Seamos prácticos, las aplicaciones web tardarán algunos años más en equiparse a las de escritorio, pero además, no sólo se tienen que equiparar, hay que equiparar también la facilidad de desarrollo en web.

¿Por qué son mejores las aplicaciones de Escritorio?

Estas son mis razones, está claro que se pueden solucionar de una forma u otra, pero, siguen siendo un grave problema.

1. Botón Atrás. Parece una tontería, pero no lo es, el botón atrás del explorador es uno de los mayores enemigos de las aplicaciones web, generando multitud de errores diferente, por que, en algunos casos, puede que vaya a la pantalla anterior, pero en otros casos, acabamos con registros duplicados, formularios que se vacían sólos, etc

2. Tecla Borrar. La tecla borrar, en cualquier navegador, es volver atrás, sabéis lo que fastidia estar en medio de un formulario y darle a borrar y que se vaya a la pantalla anterior y tener que empezar de nuevo.

3. La sesión. Te llaman por teléfono, vuelves a tu teclado, y cuando le das a aceptar, la sesión a expirado. Ha empezar de nuevo o no se sabe por donde

4. Múltiples Ventanas. Salvo contadas excepciones, como WordPress, o alguno más, la mayoría de las aplicaciones web sólo son capaces de hacer una sola cosa a la vez. Me explico, estoy escribiendo este artículo, y al mismo tiempo puedo dar de alta Categorías, para hacer otra cosa, tendría que abrir una nueva ventana/pestaña. En las aplicaciones de Escritorio puedes hacer muchas cosas al mismo tiempo.

5. Acceso a las recursos del sistema. Si tienes un programa que necesita dos impresoras diferentes, según el tipo de documento, con una aplicación web la hemos liado. No se puede, tenemos que estar cambiando de impresora. Es un ejemplo, pero es la realidad, el acceso a los recursos locales es muy limitado.

6. El browser se muere…. Cuando mezclamos una aplicación web en el mismo browser, con el facebook, el último video de youtube, radio online, etc.. llega un momento en que se muere y al final me he tenido que instalar 2 browsers, una para aplicaciones y otro que utilizo para cosas que pueden hacer el browser morir.

7. AJAX. Es bueno, es muy bueno, siempre que se utilice bien, pero utilizarlo bien, tiene un coste altísimo, y pocas personas son capaces de hacer aplicaciones COMPATIBLES en AJAX que funcionen bien.

8. Compatibilidad. Magento es uno de los sistemas de comercio electrónico de nueva generación más famosos, pues bien, no me funciona en mi browser, es incompatible.

9. Favoritos e Historial. No hay cosa más peligrosa que un usuario acceda a una página directamente de una aplicación, sin pasar por los pasos necesarios. He visto usuarios que se guardaban en el favorito patallas que requerían pasar por un paso previo, y al acceder directamente, montaba unos líos increíbles.

10. Ancho de Banda. Si, si, ancho de bando. Una aplicación web tiene que transmitir, la pantalla, las librerías de AJAX, la hoja de estilo, las imágenes, y los datos, mientras que una aplicación de escritorio, sólo transmite los datos.

http://www.demartinacode.com/archives/60
En esta opinion, alguien opta por ser mejor las aplicacionees web y da sus razones, tanto las aplicaciones web como las aplicaciones de escritorio tiene  sus ventajas y sus desventajas:

Algunos ejemplos de aplicaciones de escritorio son: Windows Live Messenger, iTunes, Adobe Photoshop, Microsoft Word, Excel, Limeware, Winamp, etc. Este tipo de aplicaciones tienen en común el hecho de que son ejecutadas directamente por el sistema operativo, ya sea Microsoft Windows, Mac OS X, Linux o Solaris, y su rendimiento depende de diversas configuraciones de hardware como memoria RAM, disco duro, memoria de video, etc.
Por otro lado, como ejemplos de aplicaciones web, tenemos las conocidas redes sociales como Facebook y MySpace, tiendas virtuales como E-Bay y Amazon, la enciclopedia en línea Wikipedia, el buscador Google, etc. Dado estos ejemplos, cabe mencionar que la principal caracteristica de las aplicaciones web es que son ejecutadas sobre aplicaciones de escritorio que son conocidas como navegadores web, de los cuales los mas conocidos son Internet Explorer, Mozilla Firefox y Safari.
En los inicios de la computación, solo existía aplicaciones del tipo consola, posteriormente aparecieron las aplicaciones de escritorio basadas en GUI, y como toda evolución, en los años 90 con el nacimiento de Internet fueron surgiendo lo que hoy conocemos como aplicaciones web, que en ese entonces se limitaban a ser simples páginas de texto estático, pero que con el tiempo han ido tomando fuerza hasta llegar a lo que conocemos hoy en día…y lo que falta.
Una de las principales ventajas que presentan las aplicaciones web ante las aplicaciones de escritorio o consola es el hecho de que no dependen de ningún sistema operativo ni configuración de hardware especifica; Para su ejecución simplemente basta con teclear su dirección URL en cualquier navegador web. De igual manera sus actualizaciones se hacen de una manera muy sencilla, sin necesidad de hacer descargas, instalaciones o comprar físicamente el producto.
Esta flexibilidad ha sido uno de los principales motivos por los que cada vez son más utilizadas para una creciente diversidad de tareas, auque al día de hoy todavía no cubren todos los aspectos, puesto que hay aplicaciones de consola mas aptas para ciertas tareas al igual que hay aplicaciones de escritorio para otras, principalmente para tareas de bajo nivel que hacen interacción directa con algun hardware.
En resumen, al día de hoy el uso de aplicaciones web es el más apto en aplicaciones de tipo Intranets, Administración de la relación con el cliente (CRM), Planeación de recursos empresariales (ERP), Puntos de venta distribuidos, Comercio Electrónico, Publicidad, y por supuesto, cualquier actividad que tenga que ver con Internet.

http://blog.develoft.com
Ahora vamos a referirnos a las aplicaciones de escritorio, con una definicion muy breve:

Es la aplicación creada para ejecutarse en un ordenador de escritorio, sobre un sistema operativo de interfaz visual como Windows o Linux.

Como sabemos estas aplicaciones pueden relacionar de manera sencilla por medio de un Script programándola en el terminal de un GNU/Linux de cualquiera de sus distribuciones que desde luego pueden ejecutarse , pero crearlas en Windows seria casi imposible.

Mucha gente piensa que hoy por hoy estas aplicaciones son obsoletas como alguien opino en 
http://es.answers.yahoo.com/question
"la aplicación de escritorio, que si bien en su momento tuvieron su buen "auge", hoy en día están siendo "obsoletas" por llamarlas de alguna manera, y lo que se está utilizando mucho es la idea de manejar aplicaciones de escritorio Cliente-Servidor, es decir aplicaciones que funcionan con una conexión a un Servidor (que puede ser otra máquina, o la misma pc)."
http://www.desarrolloweb.com/wiki/aplicacion-de-escritorio.html
Seria Bueno en primer lugar ver que son las aplicaciones web y que son las aplicaciones de escritorio
para ver los primeras va el primer texto:

Aplicaciones Web


Las aplicaciones web pueden considerarse como un sitio web al que se accede de manera normal a través de un navegador, pero dotado de interactividad para la gestión, una base de datos, comunicaciones encriptadas y contraseñas de acceso.

En las esquema tradicional de aplicaciones de escritorio el usuario instala el software en su ordenador, generalmente un sistema Windows, donde también se almacenan la totalidad de los datos generados durante su uso. La información se administra desde una única máquina que posee tanto la propia aplicación como toda la información sensible involucrada. Todos los datos de la misma dependen de esta única máquina y de su normal operación.

En las aplicaciones web, por el contrario, tanto el software como los datos se alojan en una máquina diferente (remota), centralizada y convenientemente securizada para trabajar de manera estable, continua e ininterrumpida. El usuario se conecta a este servidor a través de un simple navegador web.

En muchos contextos la plataforma web aporta interesantes ventajas frente al software de escritorio, que convierten a este esquema en una interesante alternativa:

- Ubicuidad. Se accede a la aplicación desde cualquier equipo informático (ordenador personal, portátil, PDA...) conectado a Internet, con independencia de su situación geográfica. Así, es posible controlar en todo momento la situación del negocio, almacén, empleados... tanto desde el propio local como desde casa, o incluso desde extranjero en periodos de vacaciones, etcétera.

-Multiusuario. A diferencia de las aplicaciones de escritorio, donde sólo el usuario frente al ordenador puede utilizar la aplicación, en las aplicaciones web puede haber varios usuarios conectados al sistema simultáneamente, cada uno a través de un ordenador distinto y en una ubicaciones geográficas separadas (empresas con varios almacenes, por ejemplo), y todos utilizar la aplicación con normalidad.

-Independencia de software. Para acceder a la aplicación sólo es requisito un navegador web estándar, sin necesidad de instalar en cada equipo ningún otro programa específico. Debido a estos bajos requerimientos, el software puede utilizarse incluso desde ordenadores obsoletos y poco potentes.

-Seguridad. Al albergarse en un servidor remoto, el funcionamiento de la aplicación y los valiosos datos que contiene son totalmente independientes del ordenador utilizado para la gestión. Así, la normal operación de la aplicación es inmune a una avería de hardware, virus informáticos, o cualquier otro problema local. En caso de necesidad, basta con retomar la conexión al servidor desde cualquier otro ordenador personal o portátil.

-Multiplataforma e interoperabilidad. A diferencia de las aplicaciones de escritorio, que sólo pueden funcionar bajo el sistema para el que fueron diseñadas, las aplicaciones web son multiplataforma por diseño. Esto significa que podrá conectar con el software desde cualquier versión de Windows -presente o futura-, o incluso otros sistemas operativos como GNU/Linux, Solaris, Symbian (teléfonos móviles GPRS)...

-Sistemas de correo web como Yahoo!, Gmail o Hotmail son también aplicaciones web que utilizan de manera cotidiana millones de personas en todo el mundo, aprovechandose de estos y otros importantes beneficios.

http://www.iteisa.com/aplicaciones-web/

domingo, 8 de agosto de 2010

FIARSE O NO DE LA WIKIPEDIA... PERO AÚN ASI LA SEGUIMOS UTILIZANDO COMO FUENTE DE INFORMACIÒN!

         El articulo del diario habla acerca de la enciclopedia en la web “wikipedia”, poniendo como ejemplo de su aplicación y uso a un español, txema, el cual la utiliza para verificar información, buscar datos y hasta para subir fotos y publicar textos acerca de distintos temas.La relevancia que tiene wikipedia es que llega a miles de personas en el Mundo y contiene textos en muchísimos idiomas, además de que se actualiza constantemente. Participan de ella, desde catedráticos (aunque no lo reconozcan) hasta estudiantes (pueden ser tanto liceales, escolares, etc.).
       Lo que se plantea es que, si bien es visitada por muchas personas en todo el mundo, se debe tener en cuenta si fiabilidad, y si verdaderamente se la puede llamar “enciclopedia”.Las utilidades son varias: es gratis, rápida se puede corregir, tiene capacidad infinita y proporciona una fuente de conocimientos. Pero se presentan algunas críticas acerca de errores que pueden contener sus publicaciones. No es por lo tanto, del todo fiable ya que comparada en 2005 con la enciclopedia británica presentaba mayores errores que esta ultima, aunque por el Mundo se haya dicho que tienen la misma fiabilidad. El hecho de tener foros de debate acerca de temas (más que nada de ciencias sociales) hace que sea menos confiable todavía.
       De todas maneras, se defiende la posición en la que es una enciclopedia como cualquier otra, y que todo libro, documento, etc. puede tener errores. Además, lo que me pareció interesante es que el artículo declara que ha superado a las enciclopedias tradicionales como Larousse, a tal punto que debieron recurrir a lo mismo que wikipedia: ser sitio abierto y con posibilidad de corregir en Internet.
       En mi opinión, estoy de acuerdo con quienes opinan que contiene errores y no es 100% fiable, me parece bien que se ponga en tela de juicio en algunos temas que tienden a ser subjetivos (como en ciencias sociales) u otras informaciones que sean erróneas las cuales conllevan a equivocaciones más que nada a los estudiantes que visitan la pagina; Sin embargo creo que es útil para buscar datos o información de forma rápida (en particular la he usado muchas veces) y de hecho contiene información acerca de temas vinculados a Química que son certeros, pero pienso que se debe tener precaución de sus contenidos, en definitiva lo ideal seria consultar a la wikipedia pero acerca de un mismo tema consultar otras fuentes y comparar veracidades. Además de que cada uno debería ser critico con los textos que encuentra y ver que lo que se lee de esta fuente sea medianamente coherente, es decir darle un sentido a la información que se nos presenta.

Encontré otra opinión interesante de Umberto Eco acerca del tema. Está disponible en http://www.lanacion.com.ar/nota.asp?nota_id=775943


sábado, 7 de agosto de 2010

Algoritmo

Definicion: Algoritmo

Podemos encontrar muchas definiciones de algoritmo en los textos de programacion, todas ellas muy similares:

* Conjunto ordenado y finito de pasos que permite hallar la solución de un problema.
* Una secuencia de pasos que conducen a la realización de una tarea.
* Descripción exacta de la secuencia en que se ha de realizar un conjunto de actividades tendientes a resolver un determinado tipo de problema o procedimiento.
* Conjunto de sentencias / instrucciones en lenguaje nativo, los cuales expresan la lógica de un programa.
* Es un sistema por el cual se llega a una solución, teniendo en cuenta que debe de ser definido, finito y preciso.
* Toda receta, proceso, rutina, método, procedimiento, técnica, formula que resuelven un determinado problema.
* Conjunto de instrucciones concretas y detalladas mediante el cual se consigue una acción determinada.
* Conjunto de reglas que permiten obtener un resultado determinado a partir de ciertas reglas definidas.
* Descripción precisa de una sucesión de instrucciones que permite llevar a cabo un trabajo en un número finito de pasos.
* Un conjunto de símbolos y procedimientos usados en la realización de un cálculo.

Las definiciones mas completas o formales:

* Secuencia finita de instrucciones, reglas o pasos que describen de forma precisa las operaciones de un ordenador debe realizar para llevar a cabo un tarea en un tiempo mas finito. [Donald E. Knuth, 1968]
* Descripcion de un esquema de comportamiento expresado mediante un reportorio finito de acciones y de informaciones elementales, identificadas, bien comprendidas y realizables a priori. Este repertorio se denomica lexico [Pierre Scholl, 1988]
* Un algoritmo es un conjunto finito de pasos definidos, estructurados en el tiempo y formulados con base a un conjunto finito de reglas no ambiguas, que proveen un procedimiento para dar la solución o indicar la falta de esta a un problema en un tiempo determinado. [Rodolfo Quispe-Otazu, 2004]

Caracteristicas:

Las características fundamentales que debe cumplir todo algoritmo son:

* Ser definido: Sin ambigüedad, cada paso del algoritmo debe indicar la acción a realizar sin criterios de interpretación.
* Ser finito: Un número específico y numerable de pasos debe componer al algoritmo, el cual deberá finalizar al completarlos.
* Tener cero o más entradas: Datos son proporcionados a un algoritmo como insumo (o estos son generados de alguna forma) para llevar a cabo las operaciones que comprende.
* Tener una o más salidas: Debe siempre devolver un resultado; de nada sirve un algoritmo que hace algo y nunca sabemos que fue. El devolver un resultado no debe ser considerado como únicamente “verlos” en forma impresa o en pantalla, como ocurre con las computadoras. Existen muchos otros mecanismos susceptibles de programación que no cuentan con una salida de resultados de esta forma. Por salida de resultados debe entenderse todo medio o canal por el cual es posible apreciar los efectos de las acciones del algoritmo.
* Efectividad: El tiempo y esfuerzo por cada paso realizado debe ser preciso, no usando nada más ni nada menos que aquello que se requiera para y en su ejecución.

Historia:

La palabra algoritmo proviene del nombre del matemático llamado Abu Abdullah Muhammad bin Musa al-Khwarizmi (hay muchas variantes para el nombre al usar el alfabeto latin, tales como Al-Khorezmi, Al-Khwarizmi, Al-Khawarizmi, Al-Khawaritzmi o Al-Khowarizmi) que vivió entre los siglos VIII y IX.

Su trabajo consistió en preservar y difundir el conocimiento de la antigua Grecia y de la India. Sus libros eran de fácil comprensión, de ahí que su principal valor no fuera el de crear nuevos teoremas o nuevas corrientes de pensamiento, sino el de simplificar las matemáticas a un nivel lo suficientemente bajo para que pudiera ser comprendido por un amplio público. Cabe destacar cómo señaló las virtudes del sistema decimal indio (en contra de los sistemas tradicionales árabes) y cómo explicó que, mediante una especificación clara y concisa de cómo calcular sistemáticamente, se podrían definir algoritmos que fueran usados en dispositivos mecánicos similares a un ábaco en vez de las manos. También estudió la manera de reducir el numero de operaciones necesarias que formaban el cálculo.

Por esta razón, aunque no haya sido él el inventor del primer algoritmo, merece que este concepto esté asociado a su nombre. Al-Khorezmi fue sin duda el primer pensador algorítmico.

Ya en el siglo XIX, se produjo el primer algoritmo escrito para un computador. La autora fue Ada Byron, en cuyos escritos se detallaban la máquina analítica en 1842. Por ello que es considerada por muchos como la primera programadora aunque, desde Charles Babbage, nadie completó su máquina, por lo que el algoritmo nunca se implementó.

La idea de resolver un problema o de disponer de un algoritmo es bastante antigua, tal es así, que existía la errada creencia que no había problema que no se pudiera resolver y en base a ello, el matemático David Hilbert quiso descubrir un algoritmo para los algoritmos. Hoy en dia gracias a los trabajos de Kurt Gödel, Alonzo Church (calculo lamba), Alan Turing (maquina de turing), se sabe que dentro del universo de problemas, una pequeña parte es computable, luego que el objetivo que perseguia David Hilbert no era computable, es lo que se ha denominado como la computabilidad de los algoritmos.

fuente: http://www.rodolfoquispe.org/blog/que-es-un-algoritmo.php

INFORMÁTICA

La Informática es la ciencia aplicada que abarca el estudio y aplicación del tratamiento automático de la información, utilizando sistemas computacionales, generalmente implementados como dispositivos electrónicos. También está definida como el procesamiento automático de la información.

Conforme a ello, los sistemas informáticos deben realizar las siguientes tres tareas básicas:

* Entrada: captación de la información.
* Proceso: tratamiento de la información.
* Salida: transmisión de resultados.

En los inicios del procesado de información, con la informática sólo se facilitaban los trabajos repetitivos y monótonos del área administrativa. La automatización de esos procesos trajo como consecuencia directa una disminución de los costes y un incremento en la productividad.

En la informática convergen los fundamentos de las ciencias de la computación, la programación y metodologías para el desarrollo de software, la arquitectura de computadores, las redes de computadores, la inteligencia artificial y ciertas cuestiones relacionadas con la electrónica. Se puede entender por informática a la unión sinérgica de todo este conjunto de disciplinas.

Esta disciplina se aplica a numerosas y variadas áreas del conocimiento o la actividad humana, como por ejemplo: gestión de negocios, almacenamiento y consulta de información, monitorización y control de procesos, industria, robótica, comunicaciones, control de transportes, investigación, desarrollo de juegos, diseño computarizado, aplicaciones/herramientas multimedia, medicina, biología, física, química, meteorología, ingeniería, arte, etc. Una de la aplicaciones más importantes de la informática es proveer información en forma oportuna y veraz, lo cual, por ejemplo, puede tanto facilitar la toma de decisiones a nivel gerencial (en una empresa) como permitir el control de procesos críticos.

Actualmente es difícil concebir un área que no use, de alguna forma, el apoyo de la informática. Ésta puede cubrir un enorme abanico de funciones, que van desde las más simples cuestiones domésticas hasta los cálculos científicos más complejos.

Entre las funciones principales de la informática se cuentan las siguientes:

* Creación de nuevas especificaciones de trabajo.
* Desarrollo e implementación de sistemas informáticos.
* Sistematización de procesos.
* Optimización de los métodos y sistemas informáticos existentes

Fuente: http://es.wikipedia.org/wiki/Informatica

lunes, 2 de agosto de 2010

ciencias de la computacion

Las ciencias de la computación son aquellas que abarcan el estudio de las bases teóricas de la información y la computación, así como su aplicación en sistemas computacionales.Existen diversos campos o disciplinas dentro de las Ciencias de la Computación o Ciencias Computacionales; algunos enfatizan los resultados específicos del cómputo (como los gráficos por computadora), mientras que otros (como la teoría de la complejidad computacional) se relacionan con propiedades de los algoritmos usados al realizar cómputos. Otros por su parte se enfocan en los problemas que requieren la implementación de cómputos. Por ejemplo, los estudios de la teoría de lenguajes de programación describen un cómputo, mientras que la programación de computadoras aplica lenguajes de programación específicos para desarrollar una solución a un problema computacional concreto. La informática se refiere al tratamiento automatizado de la información de una forma útil y oportuna. No se debe confundir el carácter teórico de esta ciencia con otros aspectos prácticos como Internet.

http://es.wikipedia.org/wiki/Ciencias_de_la_computaci%C3%B3n

definición de ofimática

La ofimática es el conjunto de técnicas y herramientas que se utilizan en funciones de oficina para optimizar, automatizar y mejorar los procedimientos o tareas relacionados.

Las herramientas ofimáticas permiten idear, crear, manipular, transmitir y almacenar información necesaria en una oficina. Actualmente es fundamental que estas estén conectadas a una red local y/o a internet.

Cualquier actividad que pueda hacerse manualmente en una oficina puede ser automatizada o ayudada por herramientas ofimáticas: dictado, mecanografía, archivado, fax, microfilmado, gestión de archivos y documentos, etc.

La ofimática comienza a desarrollarse en la década del 70, con la masificación de los equipos de oficina que comienzan a incluir microprocesadores, dejándose de usar métodos y herramientas por otras más modernas. Por ejemplo, se deja la máquina de escribir y se reemplaza por computadoras y procesadores de texto e incluso el dictado por voz automatizado.

Herramientas y procedimientos ofimáticos

* Procesamiento de textos:
* Hoja de cálculo
* Herramientas de presentación multimedia.
* Base de datos.
* Utilidades: agendas, calculadoras, etc.
* Programas de e-mail, correo de voz, mensajeros.
* Herramientas de reconocimiento de voz.
* Suite o paquete ofimático: paquete de múltiples herramientas ofimáticas como Microsoft Office, OpenOffice, etc

Historia/origen de la ofirmática

La ofimática o la automatización de la oficina moderna, comienza con la máquina de escribir y con la fotocopiadora, que permitieron mecanizar tareas que antes eran manuales.

Más cerca en el tiempo, la automatización de la oficina también comenzó a incluir el traspaso de información hacia medios electrónicos.

Pero la revolución de la automatización llegó de la mano de las computadoras, en especial de las computadoras personales en 1980.

La ofimática básicamente se originó para la gestión de datos (gracias al poder de cálculo y procesamiento de las computadoras), luego para el almacenamiento de información (dado que la capacidad de almacenamiento crecía y se hacía más barato) y finalmente el intercambio de datos (gracias a las facilidades de las redes, la conexión a internet, etc.).

FUENTE: http://es.wikipedia.org/wiki/Ofim%C3%A1tica