martes, 2 de febrero de 2010

CARACTERISTICAS DE UN BUEN DISEÑO WEB.

Estas características son muchas y entre las mas importantes se encuentran: creatividad e ideas innovadoras, elaboración de sitios accesibles, Diseño Web optimizado para los buscadores, accesoria constante, tecnología de punta, interacción de áreas, plan de marketing estructural, usabiliad, fácil navegación, diseño y rediseño de imagen corporativa y sólida estrategia online.
La actualización constante y permanente de esos atributos hace la diferencia.
Es el cliente el verdadero protagonista de este proceso, quien asesorado permanentemente, encamina el proyecto en base a sus demandas. Sin la voz del cliente, sin su participación activa, la línea identificatoria del proyecto carece de sentido y el diseño pierde contenido por más atractivo y moderno que sea. El papel que desempeñen los profesionales del diseño escuchando la voz activa del cliente y apuntando a un usuario potencial es el trípode perfecto para la labor conjunta de un proyecto la altura de las circunstancias.
el diseño de páginas web debe estar optimizado para buscadores.

*Para conseguir este objetivo, una página web necesita una promoci ón activa , que no se limita a un diseño gráfico atractivo, puesto que el medio es internet, y las herramientas que sirven para buscar las páginas (buscadores como google, yahoo, live...), las ordenan teniendo en cuenta sus contenidos, el nivel de importancia de aquel tema en una página concreta comparativamente a otras páginas, y también el interés que genera el contenido en otras páginas web... entre otras.

*PARA IDENTIFICAR PÁGINAS WEB BIEN OPTIMITZADAS
HAY QUE TENER EN CUENTA:

En el caso de tratarse de una página web diseñada en flash, no hay que esperar obtener demasiados resultados, la promoción web de las páginas flash en buscadors pierde muchas oportunidades de éxito, puesto que no se pueden promocionar bien las pantallas interiores, por lo tanto, trabajando únicamente con flash no es posible ofrecer páginas web bien optimizadas para buscadores.

Si la página utiliza frames, veremos resultados de buscadores que nos llevarán a partes de la pantalla que no se corresponden con las pantallas enteras (puesto que en este caso, hay que incluir ciertas instrucciones que normalmente no se ponen), por lo tanto, es muy improbable que se obtengan páginas web bien optimizadas para buscadores.

Por estos motivos, no son nada recomendables para conseguir páginas web bien optimizadas para buscadores ni las páginas flash ni los frames.

En el caso de tratarse de una página html, php, asp... (.php, .asp y otras extensiones de pantallas web programadas con bases de datos, también tienen sus particularidades, aun cuando no son tan restrictivas), google y otros buscadores nos ofrecerán tantos resultados como pantallas tengan indexadas. Aquí, si las páginas web han sido bien optimizadas para buscadores, (entre cuatro meses y un año después de realizar la optimización de la página web para buscadores) se verán tantos resultados como pantallas web se quiera que aparezcan en los buscadores, además, cada pantalla tendrá su título y su descripción acorde con la información que contenga. Las pantallas que no se hayan optimizado, nos ofrecerán resultados del estilo.

CARACTERISTICAS DE UN BUEN DISEÑO WEB

*• Son convenientes para encontrar información o realizar una acción determinada con un mínimo esfuerzo por parte del visitante.

• Permiten entrar y salir del sitio web tan fácil y rápido como sea posible, incluyendo el hecho de que todo lo que se realiza en la página también es rápido.

• Y para el internauta, visitar y utilizar un sitio web también tiene un costo de oportunidad, que en todos los casos aspira que sea el mínimo. Eso lo queremos todos.

Pero es difícil diseñar para que la experiencia del auto-servicio sea positiva y satisfactoria. Requiere de un gran esfuerzo de focalización, de simplicidad y claridad de los mensajes.

La gente navega y lee muy rápido en Internet, por lo que es muy poco el tiempo que una página web tiene para atender bien a su cliente, el visitante.

DISEÑO WEB
El diseño web es una actividad que consiste en la planificación, diseño e implementación de sitios web y páginas web. No es simplemente una aplicación del diseño convencional, ya que requiere tener en cuenta cuestiones tales como navegabilidad, interactividad, usabilidad, arquitectura de la información y la interacción de medios como el audio, texto, imagen y vídeo. Se lo considera dentro del Diseño Multimedial.

La unión de un buen diseño con una jerarquía bien elaborada de contenidos aumenta la eficiencia de la web como canal de comunicación e intercambio de datos, que brinda posibilidades como el contacto directo entre el productor y el consumidor de contenidos, característica destacable del medio.

*El diseño de páginas web trata básicamente de realizar un documento con información hiperenlazado con otros documentos y asignarle una presentación para diferentes dispositivos de salida (en una pantalla de computador, enA papel, en un teléfono móvil, etc).

Estos documentos o páginas web pueden ser creadas:

* creando archivos de texto en HTML.
* utilizando un programa WYSIWYG o WYSIWYM de creación de páginas.
* utilizando lenguajes de programación del lado servidor para generar la página web.

ETAPAS

Para el diseño de páginas web debemos tener en cuenta tres etapas:

* La primera es el diseño visual de la información que se desea editar. En esta etapa se trabaja distribuyendo el texto, los gráficos, los vínculos a otros documentos y otros objetos multimedia que se consideren pertinentes. Es importante que antes de trabajar sobre el computador se realice un bosquejo o prediseño sobre el papel. Esto facilitará tener un orden claro sobre el diseño.

* La segunda, una vez que se tiene este boceto se pasa a 'escribir' la página web. Para esto, y fundamentalmente para manejar los vínculos entre documentos, se creó el lenguaje de marcación de hipertexto o HTML. Los enlaces que aparecen subrayados en este documento y otros de Wikipedia son ejemplos de hipertexto, puesto que al pulsar sobre ellos conducen a otras páginas con información relacionada.

* La tercera, etapa consiste en el posicionamiento en buscadores o SEO. Ésta consiste en optimizar la estructura del contenido para mejorar la posición en que aparece la página en determinada búsqueda. Etapa no gustosa por los diseñadores gráficos, por que a diferencia del texto, aún para el año 2009 no se pueden tener nuevos resultados en los buscadores con sitios muy gráficos.

El HTML consta de una serie de elementos que estructuran el texto y son presentados en forma de hipertexto por agente de usuario o navegadores. Esto se puede hacer con un simple editor de textos (debe guardarse como texto plano, sin ningún tipo de formato y con extensión .html o .htm). Aprender HTML es relativamente fácil, así que es sencillo crear páginas web de este modo. Esta era la única manera de generarlas hasta que aparecieron, a mediados de 1996, algunos editores visuales de HTML, como MS FrontPage y Adobe Dreamweaver. Con estas herramientas no es necesario aprender HTML (aunque sí aconsejable), con lo cual el desarrollador se concentra en lo más importante, el diseño del documento.

Todo esto teniendo en cuenta el nivel de programación en el diseño de las aplicaciones y del impacto visual que se quiere generar en el usuario.

FUNDAMENTOS

Un correcto diseño web implica conocer cómo se deben utilizar cada una de los elementos permitidos en el HTML, es decir, hacer un uso correcto de este lenguaje dentro de los estándares establecidos por la W3C y en lo referente a la web semántica. Debido a la permisibilidad de algunos navegadores web como Internet Explorer, esta premisa original se ha perdido. Por ejemplo, este navegador permite que no sea necesario cerrar las etiquetas del marcado, utiliza código propietario, etc. Esto impide que ese documento web sea universal e independiente del medio que se utilice para ser mostrado.

La web semántica, por otra parte, aboga por un uso lógico de los elementos según el significado para el que fueron concebidas. Por ejemplo se utilizará el elemento

para marcar párrafos, y

para tabular datos (nunca para disponer de manera visual los diferentes elementos del documento). En su última instancia, esto ha supuesto una auténtica revolución en el diseño web puesto que apuesta por separar totalmente el contenido del documento de la visualización.

De esta forma se utiliza el documento HTML únicamente para contener, organizar y estructurar la información y las hojas de estilo CSS para indicar como se mostrará dicha información en los diferentes medios (como por ejemplo, una pantalla de computadora, un teléfono móvil, impreso en papel, leída por un sintetizador de voz, etc.). Por lógica, esta metodología beneficia enormemente la accesibilidad del documento.

También existen páginas dinámicas, las cuales permiten interacción entre la web y el visitante, proporcionándole herramientas tales como buscadores, chat, foros, sistemas de encuestas, etc. y poseen de un Panel de Control de administración de contenidos. Este permite crear, actualizar y administrar cantidades ilimitadas de contenido en la misma
Accesibilidad

ACCESIBILIDAD

El diseño web debe seguir unos requerimientos mínimos de accesibilidad web que haga que sus sitios web o aplicaciones puedan ser visitados por el mayor número de personas. Para conseguir estos objetivos de accesibilidad se han desarrollado pautas como las del W3C: Pautas de accesibilidad al contenido Web 1.0 WCAG.



WYSIWYG


WYSIWYG es el acrónimo de What You See Is What You Get (en inglés, "lo que ves es lo que obtienes"). Se aplica a los procesadores de texto y otros editores de texto con formato (como los editores de HTML) que permiten escribir un documento viendo directamente el resultado final, frecuentemente el resultado impreso. Se dice en contraposición a otros procesadores de texto, hoy en día poco frecuentes, en los que se escribía sobre una vista que no mostraba el formato del texto, hasta la impresión del documento. En el caso de editores de HTML este concepto se aplica a los que permiten escribir la página sobre una vista preliminar similar a la de un procesador de textos, ocupándose en este caso el programa de generar el código fuente en HTML.

Ejemplos de editores HTML tipo WYSIWYG son: Dreamweaver, NVU/Kompozer, las versiones de Composer de Netscape y Mozilla, Amaya, Writer (de OpenOffice.org), Adobe Golive, Frontpage. También existen editores que se pueden integrar en formularios de páginas web como FCKeditor, TinyMCE, FreeRichTextEditor.

En el área de diseño web existen también herramientas WYSIWYG, dentro de los llamados CMS (Content Management System); aunque un CMS no tiene porqué ser WYSIWYG, es decir puede ser un gestor de contenidos cuyo panel de gestión no se corresponda con el diseño final, sino que en este caso se utiliza un back-end o panel de gestión para crear-modificar los contenidos, que serán reflejados en el front-end o parte final que ven los usuarios. En el grupo de los CMS WYSIWIG hay varias aplicaciones, incluso alguna de ellas con tecnología flash, como por ejemplo Easy Site Manager.

Un buen y actual ejemplo de editor específico de textos que no es WYSIWYG es aquel que utiliza formato de documento: LaTeX.

WISINWYM

WYSIWYM es un acrónimo que significa "lo que ves es lo que quieres decir" (en inglés: What You See Is What You Mean). Es un paradigma para la creación de documentos alternativo al modelo (más difundido) WYSIWYG.

En este paradigma, el usuario se encarga de introducir los contenidos de forma estructurada siguiendo su valor semántico, en lugar de indicar su formato de representación final. Por ejemplo, indicando si lo que está escribiendo es un título, una sección, un autor, etc. Para poder utilizar este tipo de editores es necesario conocer, a priori, la estructura del documento que se va a editar. Además, el procesador de texto debe ser capaz de generar el documento en su formato final, coherente con el texto introducido y siguiendo la estructura utilizada.

La principal ventaja de este sistema es que se produce una total separación entre contenido y presentación. Por lo que el usuario sólo debe preocuparse de estructurar y agregar los contenidos, dejando los aspectos visuales a cargo del sistema de exportación. Además la exportación podrá realizarse en distintos formatos a partir de los mismos contenidos.

La edición de páginas Web está dominada por el modelo de edición WYSIWYG. Aunque este modelo ha sido criticado,[2] [3] especialmente por generar páginas de escasa calidad, y hay voces que reclaman un cambio hacia editores del tipo WYSIWYM.[4] [5] [6]

El primer editor Web en definirse como un editor WYSIWYM es el WYMEditor.[7] En este editor la estructura de los documentos se define mediante clases CSS aplicables a elementos HTML. Dichas clases también contienen la información acerca de la estética final del documento. Aunque sigue un modelo WYSIWYM, el formato de los documentos es siempre HTML, por lo que las posibilidades para definir estructuras y generar el documento final se limitan a definir nuevas clases y aplicarles elementos de presentación.

Existe otro proyecto[8] cuyo objetivo es definir una arquitectura que permita el uso de editores puramente WYSIWYM. Para ello utilizan un lenguaje propio, denominado WebCS, para definir la estructura de los documentos. Mediante un editor WYSIWYM se editarían los contenidos propios de cada tipo de documento. Estos contenidos se almacenan en un formato XML, etiquetados según su valor semántico, y la transformación al formato de documento final se realiza mediante una hoja de estilos XSL. Por lo que los contenidos pueden transformarse a cualquier otro formato. En este caso la separación entre contenido y presentación se realiza mediante el par XML-XSL, por lo que se produce a un nivel superior que la separación aportada por HTML-CSS. Sin embargo esto conlleva una mayor dificultad y requiere de mayores conocimientos para diseñar las estructuras de los documentos y las transformaciones. Aunque el objetivo del proyecto no es implementar un producto final, sino definir la arquitectura del sistema presentan un prototipo de editor (WebCS Editor[9] ) para demostrar el funcionamiento del sistema.



viernes, 22 de enero de 2010

lenguajes de programacion POO

CONSULTA
1. tipos de lenguaje de programacion : *http://factoriaonrails.blogspot.com/2009/06/hosting-gratuito-de-ruby-on-rails.html

Los tipos de lenguajes de programación los podemos clasificar en dos grandes grupos. Los lenguajes de programación de bajo nivel y los de alto nivel. El tipo de lenguaje de programación de bajo nivel depende totalmente de la máquina, en este caso de la computadora u ordenador, estos solos entienden el lenguaje binario o el código máquina, que consiste en ceros y unos. Es decir, que para realizar cualquier acción, solo utilizan este tipo de lenguaje de programación.

Los lenguajes de programación más cercanos a la arquitectura del hardware pertenecen al tipo de lenguajes de programación de bajo nivel. Mientras que los lenguajes de programación que se encuentran más próximos a los usuarios y programadores pertenecen al tipo de lenguajes de programación de alto nivel.

El tipo de lenguaje de programación de bajo nivel es totalmente dependiente de la computadora u ordenador, es decir que no podemos utilizarlo en cualquier otra. Este tipo de lenguaje de programación está prácticamente diseñado a la medida del hardware y aprovecha las características de este. Dentro de este tipo de lenguajes de programación podemos citar al lenguaje máquina y al lenguaje ensamblador.

Dentro del tipo de lenguajes de programación de alto nivel tenemos a todos aquellos lenguajes de programación que son más afines al lenguaje natural que al lenguaje máquina. Estos lenguajes de programación son completamente independientes de la arquitectura del hardware de la computadora u ordenador. Por lo que en general, un programa escrito con un lenguaje de programación de alto nivel lo podemos utilizar en cualquier otra computadora.

Estos lenguajes de programación de alto nivel solo necesitan un traductor que entienda el código fuente y las características de la máquina para poder funcionar correctamente.

También es conocido el tipo de lenguaje de programación de medio nivel, que es una mezcla entre los dos anteriores. A este tipo de lenguajes de programación pertenecen todos aquellos lenguajes que llevan a cabo acciones como: acceder a registros del sistema, usar direcciones de memoria (características de los lenguajes de programación de bajo nivel) pero a la vez efectúan operaciones de los lenguajes de alto nivel. Dentro de este tipo de lenguajes de programación de nivel medio tenemos al lenguaje de programación C.


C: Bastante antiguo pero todavía muy muy muy usado para programación a bajo nivel (eso significa casi como hablarle a la PC en su idioma) Se usa para desarrollar drivers, aplicaciones de DOS y casi en cualquier programa de Unix/Linux vas a tener que programar en C. Es también el favorito de las universidades para enseñar a programar, junto con Pascal que es del estilo.


C++: Es uno de los ejemplos de "orientado a objetos". Muy utilizado para hacer aplicaciones más grandes ya que introduce el concepto de clase y objeto. Para tener una idea rápida, una clase es un "molde" para hacer objetos. Un objeto sería algo así como un conjunto de funciones (procedimientos, rutinas) y variables. Otros lenguajes orientados a objeto que podrías llegar a ver es el Smalltalk que dicen es el único "TOTALMENTE" orientado a objetos. Eso es porque en C++ no todo es un objeto, pero en Smalltalk si. También tenes el Visual C++, que es de Microsoft y te permite hacer todo lo que te puedas imaginar en aplicaciones windows. Es más, si no me equivoco, Windows mismo (el sistema operativo) está escrito en Visual C++.

C# y C++ .NET: Es lo "último" de programación de Microsoft. Según MS si queres estar en el futuro tienes que saber .NET. Es el C++ pero con más clases predefinidas (podes hacer más escribiendo menos, ya que el lenguaje te provee de código pre-escrito, listo para usar). Según tengo entendido el MSN Messenger está programado en C++ .NET.


Java: Es la competencia de SUN para los lenguajes de Billy. También tiene un montón de clases predefinidas para ayudar a programar y es un lenguaje muy similar al C++ en cuanto a su sintaxis (forma de escribir). Lo bueno de Java es que no depende de la plataforma. Puede andar tanto en MAC como en UNIX o en Windows.


Visual Basic: Es el preferido de los que necesitan programar una aplicación en tiempo record. Creo que se pueden llegar a hacer sistemas casi completos en un día. Sumamente intuitivo y fácil: prácticamente se "dibujan" los programas arrastrando botones, cuadros de texto, etc. También para tener acceso a base de datos es uno de los preferidos. Tantas ventajas sin contra? Si tiene contra... los programas resultantes son muy pesados y cuanto más complejos más lentos y menos eficientes. Adicionalmente es bastante complicado tener acceso a recursos de bajo nivel como puertos, drivers, etc, que con C y C++ no hay problema. Recomendado para principiantes.


SQL: Casi cualquier persona que quiera programar en PHP o VB (Visual Basic) con base de datos TAMBIÉN debería saber SQL: un lenguaje para manejar base de datos y hacerle consultas a sus tablas.

2. programacion orientada a objetos POO(todos los terminos, que es una clase....) http://www.desarrolloweb.com/articulos/499.php

Clases en POO

Las clases son declaraciones de objetos, también se podrían definir como abstracciones de objetos. Esto quiere decir que la definición de un objeto es la clase. Cuando programamos un objeto y definimos sus características y funcionalidades en realidad lo que estamos haciendo es programar una clase. En los ejemplos anteriores en realidad hablábamos de las clases coche o fracción porque sólo estuvimos definiendo, aunque por encima, sus formas.

Propiedades en clases

Las propiedades o atributos son las características de los objetos. Cuando definimos una propiedad normalmente especificamos su nombre y su tipo. Nos podemos hacer a la idea de que las propiedades son algo así como variables donde almacenamos datos relacionados con los objetos.

Métodos en las clases

Son las funcionalidades asociadas a los objetos. Cuando estamos programando las clases las llamamos métodos. Los métodos son como funciones que están asociadas a un objeto.

Objetos en POO

Los objetos son ejemplares de una clase cualquiera. Cuando creamos un ejemplar tenemos que especificar la clase a partir de la cual se creará. Esta acción de crear un objeto a partir de una clase se llama instanciar (que viene de una mala traducción de la palabra instace que en inglés significa ejemplar). Por ejemplo, un objeto de la clase fracción es por ejemplo 3/5. El concepto o definición de fracción sería la clase, pero cuando ya estamos hablando de una fracción en concreto 4/7, 8/1000 o cualquier otra, la llamamos objeto.

Para crear un objeto se tiene que escribir una instrucción especial que puede ser distinta dependiendo el lenguaje de programación que se emplee, pero será algo parecido a esto.

miCoche = new Coche()

Con la palabra new especificamos que se tiene que crear una instancia de la clase que sigue a continuación. Dentro de los paréntesis podríamos colocar parámetros con los que inicializar el objeto de la clase coche.

Estados en objetos

Cuando tenemos un objeto sus propiedades toman valores. Por ejemplo, cuando tenemos un coche la propiedad color tomará un valor en concreto, como por ejemplo rojo o gris metalizado. El valor concreto de una propiedad de un objeto se llama estado.

Para acceder a un estado de un objeto para ver su valor o cambiarlo se utiliza el operador punto.

miCoche.color = rojo

El objeto es miCoche, luego colocamos el operador punto y por último el nombre e la propiedad a la que deseamos acceder. En este ejemplo estamos cambiando el valor del estado de la propiedad del objeto a rojo con una simple asignación.

herencia y el polimorfismo que son unas de las posibilidades más potentes de la POO.?????????????????????????
La herencia sirve para crear objetos que incorporen propiedades y métodos de otros objetos. Así podremos construir unos objetos a partir de otros sin tener que reescribirlo todo.



3. construir un objeto en ruby

class Perro
#variables
attr_accessor :nombre
attr_accessor :edad
attr_accessor :raza

#metodo,acciones del sistema
def self.llenar
arr = Array.new
i = 0
#ciclo haga
loop do
puts "ingrese edad o enter para salir"
edad = gets.chomp
return arr if edad == ""
puts "Ingrese nombre "
nombre = gets.chomp
puts "Ingrese raza "
raza = gets.chomp.to_i

obj = Perro.new
obj.edad = apodo
obj.nombre = nombre
obj.raza = edad
arr[i] = obj

i=i+1
end
end

def self.imprimir(arr)
arr.each do |item|
puts "nombre: #{item.nombre} raza : #{item.raza} Edad:
#{item.edad}"
end
end

end

arr = Perro.llenar
Perro.imprimir(arr)




4. subir al blog



bibliografia:
*http://es.kioskea.net/contents/langages/langages.php3 (lenguaje de programcion)
*http://diario-ruby-facil.blogspot.com/2007/09/rubyiii-bucles-y-condiciones.html(apendiendo ruby)
*http://rubytutorial.wikidot.com/clases-objetos(aprendiendo ruby)
http://150.185.75.30/atiwiki/index.php/RUBY_ON_RAILS(ruby ejecutar en trminar)
http://es.kioskea.net/contents/poo/objet.php3(definicion de objeto)
*http://rubytutorial.wikidot.com/metodos(crear metodos paso a paso)
*http://www.emagister.com/manual/ (cursos gratis)

domingo, 24 de mayo de 2009

clasificacion de tipos de lenguaje de programacion

Clasificación de los lenguajes de programación
Los lenguajes de programación se pueden clasificar atendiendo a varios criterios:
Según el nivel de abstracción
Según el paradigma de programación que poseen cada uno de ellos
lenguaje de ensamblador

Según su nivel de abstracción
Lenguajes de Máquina
Artículo principal:
Lenguaje de máquina
Están escritos en lenguajes directamente legibles por la máquina (computadora), ya que sus instrucciones son cadenas binarias (0 y 1). Da la posibilidad de cargar (transferir un programa a la memoria) sin necesidad de traducción posterior lo que supone una velocidad de ejecución superior, solo que con poca fiabilidad y dificultad de verificar y poner a punto los programas.

Lenguajes de bajo nivel
Artículo principal:
Lenguaje de bajo nivel
Los lenguajes de bajo nivel son lenguajes de programación que se acercan al funcionamiento de una computadora. El lenguaje de más bajo nivel por excelencia es el código máquina. A éste le sigue el lenguaje ensamblador, ya que al programar en ensamblador se trabajan con los registros de memoria de la computadora de forma directa. Ejemplo:
;Lenguaje ensamblador, sintaxis Intel para procesadores x86
mov eax,1 ;mueve a al registro eax el valor 1
xor ebx, ebx ;pone en 0 el registro ebx
int 80h ;llama a la interrupción 80h (80h = 128 sistema decimal)
Ejecutar ese código en sistemas
UNIX o basados en él equivale a una funcion exit(0) (terminar el programa retornando el valor 0)

Lenguajes de medio nivel
Artículo principal:
Lenguaje de medio nivel
Hay lenguajes de programación que son considerados por algunos expertos como lenguajes de medio nivel (como es el caso del lenguaje C) al tener ciertas características que los acercan a los lenguajes de bajo nivel pero teniendo, al mismo tiempo, ciertas cualidades que lo hacen un lenguaje más cercano al humano y, por tanto, de alto nivel. Ejemplo:
/*Lenguaje C*/

/*declaración de las funciones estandars de entrada y salida*/
#include

int main(int argc, char **argv)
{
char *p; /*creamos un puntero a un byte*/
if(argc == 1){
printf("\nIngrese un argumento al programa\n");/*imprimimos el texto*/
return 1;
}
p = 0x30000 /*el puntero apunta a 0x30000 */
*p = argv[1][0] /*el primer caracter del primer argumento lo copiamos a la posición 0x30000 */
return 0;
}
El ejemplo es muy simple y muestra a los
punteros de C, éstos no son muy utilizados en lenguajes de alto nivel, pero en C sí.

Lenguajes de alto nivel
Artículo principal:
Lenguaje de alto nivel
Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados por elementos de lenguajes naturales, como el inglés. En BASIC, uno de los lenguajes de alto nivel más conocidos, los comandos como "IF CONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la computadora que pare si el CONTADOR es igual a 10. Esta forma de trabajar puede dar la sensación de que las computadoras parecen comprender un lenguaje natural; en realidad lo hacen de una forma rígida y sistemática, sin que haya cabida, por ejemplo, para ambigüedades o dobles sentidos. Ejemplo:
{Lenguaje Pascal}
program suma;

var x,s,r:integer; {declaración de las variables}
begin {comienzo del programa principal}
writeln('Ingrese 2 números enteros');{imprime el texto}
readln(x,s); {lee 2 números y los coloca en las variables x y s}
r:= x + s; {suma los 2 números y coloca el resultado en r}
writeln('La suma es ',r); {imrpime el resultado}
readln;
end.{termina el programa principal}
Ese es el lenguaje Pascal, muy utilizado por principiantes al aprender a programar.

Según el paradigma de programación [editar]
Artículo principal:
Paradigma de programación
Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No es mejor uno que otro, sino que cada uno tiene ventajas y desventajas. Dependiendo de la situación un paradigma resulta más apropiado que otro.
Atendiendo al paradigma de programación, se pueden clasificar los lenguajes en :
El
paradigma imperativo o por procedimientos es considerado el más común y está representado, por ejemplo, por el C o por BASIC.
El
paradigma funcional está representado por la familia de lenguajes LISP (en particular Scheme), ML o Haskell.
El
paradigma lógico, un ejemplo es PROLOG.
El
paradigma orientado a objetos. Un lenguaje completamente orientado a objetos es Smalltalk.
Nota: La representación orientada a objetos mejora la estructura de los datos y por lo tanto se ha aplicado a diferentes paradigmas como
Redes de Petri, Imperativo Secuencial, Lógica de Predicados, Funcional, etc. No obstante, la manipulación no queda fundamentalmente afectada y por lo tanto el paradigma inicial tampoco a pesar de ser re-orientado a objetos.
Si bien puede seleccionarse la forma pura de estos paradigmas a la hora de programar, en la práctica es habitual que se mezclen, dando lugar a la
programación multiparadigma.
Actualmente el paradigma de programación más usado debido a múltiples ventajas respecto a sus anteriores, es la
programación orientada a objetos.

Lenguajes imperativos
Son los lenguajes que dan instrucciones a la computadora, es decir, órdenes.

Lenguajes Funcionales
Paradigma Funcional: este paradigma concibe a la computación como la evaluación de funciones matemáticas y evita declarar y cambiar datos. En otras palabras, hace hincapié en la aplicación de las funciones y composición entre ellas, más que en los cambios de estados y la ejecución secuencial de comandos (como lo hace el paradigma procedimental). Permite resolver ciertos problemas de forma elegante y los lenguajes puramente funcionales evitan los efectos secundarios comunes en otro tipo de programaciones.

Lenguajes Lógicos
La computación lógica direcciona métodos de procesamiento basados en el razonamiento formal. Los objetos de tales razonamientos son "hechos" o reglas "if then". Para computar lógicamente se utiliza un conjunto de tales estamentos para calcular la verdad o falsedad de ese conjunto de estamentos. Un estamento es un hecho si sus tuplas verifican una serie de operaciones.
Un hecho es una expresión en la que algún objeto o conjunto de objetos satisface una relación específica. Una tupla es una lista inmutable. Una tupla no puede modificarse de ningún modo después de su creación.
[1]
Un regla if then es un estamento que informa acerca de conjuntos de tuplas o estamentos relacionados que pueden predecir si otras tuplas satisfacerán otras relaciones.
Un estamento que es probado verdadero como resultado de un proceso se dice que es una inferencia del conjunto original. Se trata por tanto de una descripción de cómo obtener la veracidad de un estamento dado que unas reglas son verdaderas.
La computación lógica está por tanto relacionada con la automatización de algún conjunto de métodos de inferencia.

Lenguajes orientados a objetos
Artículo principal:
Programación orientada a objetos
La Programación Orientada a Objetos (POO u OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones para diseñar aplicaciones y programas de computadora. Está basado en varias técnicas, incluyendo herencia, modularidad, polimorfismo y encapsulamiento. Su uso se popularizó a principios de la década de 1990. Actualmente son muchos los lenguajes de programación que soportan la orientación a objetos.

tipos de lenguaje de programacion

Existen dos tipos de lenguajes claramente diferenciados; los lenguajes de bajo nivel y los de alto nivel.
El ordenador sólo entiende un lenguaje conocido como código binario o código máquina, consistente en ceros y unos. Es decir, sólo utiliza 0 y 1 para codificar cualquier acción. Los lenguajes más próximos a la arquitectura hardware se denominan lenguajes de bajo nivel y los que se encuentran más cercanos a los programadores y usuarios se denominan lenguajes de alto nivel. Lenguajes de bajo nivel Son lenguajes totalmente dependientes de la máquina, es decir que el programa que se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras maquinas. Al estar prácticamente diseñados a medida del hardware, aprovechan al máximo las características del mismo. Dentro de este grupo se encuentran:
El lenguaje maquina: este lenguaje ordena a la máquina las operaciones fundamentales para su funcionamiento. Cnsiste en la combinación de 0's y 1's para formar las ordenes entendibles por el hardware de la maquina. Este lenguaje es mucho más rápido que los lenguajes de alto nivel. La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente enormes donde encontrar un fallo es casi imposible.
El lenguaje ensamblador es un derivado del lenguaje maquina y esta formado por abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina. Como ventaja con respecto al código máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, ñadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener. Lenguajes de alto nivel Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina. Están dirigidos a solucionar problemas mediante el uso de EDD's.
Nota: EDD's son las abreviaturas de Estructuras Dinamicas de Datos, algo muy utilizado en todos los lenguajes de programación. Son estructuras que pueden cambiar de tamaño durante la ejecución del programa. Nos permiten crear estructuras de datos que se adapten a las necesidades reales de un programa. Se tratan de lenguajes independientes de la arquitectura del ordenador. Por lo que, en principio, un programa escrito en un lenguaje de alto nivel, lo puedes migrar de una máquina a otra sin ningún tipo de problema. Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la maquina/s para la que están diseñando el programa. Tan solo necesitan un traductor que entiendan el código fuente como las características de la maquina. Suelen usar tipos de datos para la programación y hay lenguajes de propósito general (cualquier tipo de aplicación) y de propósito especifico (como FORTRAN para trabajos científicos). Lenguajes de Medio nivel Se trata de un termino no aceptado por todos, pero q seguramente habrás oído. Estos lenguajes se encuentran en un punto medio entre los dos anteriores. Dentro de estos lenguajes podría situarse C ya que puede acceder a los registros del sistema, trabajar con direcciones de memoria, todas ellas características de lenguajes de bajo nivel y a la vez realizar operaciones de alto nivel. Generaciones La evolución de los lenguajes de programación se puede dividir en 5 etapas o generaciones.
Primera generación: lenguaje maquina.
Segunda generación: se crearon los primeros lenguajes ensambladores.
Tercera generación: se crean los primeros lenguajes de alto nivel. Ej. C, Pascal, Cobol…
Cuarta generación. Son los lenguajes capaces de generar código por si solos, son los llamados RAD, con lo cuales se pueden realizar aplicaciones sin ser un experto en el lenguaje. Aquí también se encuentran los lenguajes orientados a objetos, haciendo posible la reutilización d partes del código para otros programas. Ej. Visual, Natural Adabes…
Quinta generación: aquí se encuentran los lenguajes orientados a la inteligencia artificial. Estos lenguajes todavía están poco desarrollados. Ej. LISP

formato de levantamineto de requerimientos




lunes, 13 de abril de 2009

Tecnologías De La Información Y Comunicación (TICs)

La Tecnologías de la Información y Comunicación han permitido llevar la globalidad al mundo de la comunicación, facilitando la interconexión entre las personas e instituciones a nivel mundial, y eliminando barreras espaciales y temporales. Se denominan Tecnologías de la Información y las Comunicación al conjunto de tecnologías que permiten la adquisición, producción, almacenamiento, tratamiento, comunicación, registro y presentación de informaciones, en forma de voz, imágenes y datos contenidos en señales de naturaleza acústica, óptica o electromagnética. Las TICs incluyen la electrónica como tecnología base que soporta el desarrollo de las telecomunicaciones, la informática y el audiovisual. 2.1 Características
Inmaterialidad (Posibilidad de digitalización). Las TICs convierten la información, tradicionalmente sujeta a un medio físico, en inmaterial. Mediante la digitalización es posible almacenar grandes cantidades de información, en dispositivos físicos de pequeño tamaño (discos, CD, memorias USB, etc.). A su vez los usuarios pueden acceder a información ubicada en dispositivos electrónicos lejanos, que se transmite utilizando las redes de comunicación, de una forma transparente e inmaterial. Esta característica, ha venido a definir lo que se ha denominado como "realidad virtual", esto es, realidad no real. Mediante el uso de las TICs se están creando grupos de personas que interactúan según sus propios intereses, conformando comunidades o grupos virtuales.
Instantaneidad. Podemos transmitir la información instantáneamente a lugares muy alejados físicamente, mediante las denominadas "autopistas de la información". Se han acuñado términos como ciberespacio, para definir el espacio virtual, no real, en el que se sitúa la información, al no asumir las características físicas del objeto utilizado para su almacenamiento, adquiriendo ese grado de inmediatez e inmaterialidad.
Aplicaciones Multimedia. Las aplicaciones o programas multimedia han sido desarrollados como una interfaz amigable y sencilla de comunicación, para facilitar el acceso a las TICs de todos los usuarios. Una de las características más importantes de estos entornos es "La interactividad".Es posiblemente la característica más significativa. A diferencia de las tecnologías más clásicas (TV, radio) que permiten una interacción unidireccional, de un emisor a una masa de espectadores pasivos, el uso del ordenador interconectado mediante las redes digitales de comunicación, proporciona una comunicación bidireccional (sincrónica y asincrónica), persona- persona y persona- grupo. Se está produciendo, por tanto, un cambio hacia la comunicación entre personas y grupos que interactúan según sus intereses, conformando lo que se denomina "comunidades virtuales". El usuario de las TICs es por tanto, un sujeto activo, que envía sus propios mensajes y, lo más importante, toma las decisiones sobre el proceso a seguir: secuencia, ritmo, código, etc. Otra de las características más relevantes de las aplicaciones multimedia, y que mayor incidencia tienen sobre el sistema educativo, es la posibilidad de transmitir información a partir de diferentes medios (texto, imagen, sonido, animaciones, etc.). Por primera vez, en un mismo documento se pueden transmitir informaciones multi-sensoriales, desde un modelo interactivo.

Las tecnologías de la información y la comunicación (TIC

son un conjunto de servicios, redes, software y dispositivos que tienen como fin la mejora de la calidad de vida de las personas dentro de un entorno, y que se integran a un sistema de información interconectado y complementario.
Las Tecnologías de la información y la comunicación, son un solo concepto en dos vertientes diferentes como principal premisa de estudio en la ciencias sociales donde tales tecnologías afectan la forma de vivir de las sociedades. Su uso y abuso exhaustivo para denotar modernidad ha llevado a visiones totalmente erróneas del origen del término.
La ciencia informática se encargan del estudio, desarrollo, implementación, almacenamiento y distribución de la información mediante la utilización de hardware y software como recursos de los sistemas informáticos. Más de lo anterior no se encargan las tecnologías como tal.
Como concepto sociológico y no informático se refieren a saberes necesarios que hacen referencia a la utilización de múltiples medios informáticos para almacenar, procesar y difundir todo tipo de información, telemática, etc. con diferentes finalidades (formación educativa, organización y gestión empresarial, toma de decisiones en general, etc.).
Por lo tanto no trata del objeto concreto sino de aquellos objetos intangibles para la ciencia social. Por ejemplo democracia, y nuevas tecnologías de la información y la comunicación (NTIC) son dos conceptos que viajan en una misma dirección, mientras democracia es el espíritu de las NTIC son métodos, recursos, libertades que ofrecen transparencia a las gestiones gubernamentales.