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)
viernes, 22 de enero de 2010
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.
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
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
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
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.
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.
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.
Modelo educativo basado en recursos
Parece contradictorio hablar de TIC como el video interactivo, la teleconferencia o los multimedios, cuando todavía se están realizando las primeras experiencias de introducción de los medios informáticos. Esto nos lleva a la típica situación en que, una vez más, los alumnos llegarán a conocer las posibilidades de estas tecnologías fuera del contexto escolar, con medios más atractivos y entretenidos que los usados en las clases.
Tenemos que estar conscientes de que la sociedad requiere un nuevo tipo de alumno. Un alumno más preocupado del proceso que del producto, preparado para la toma de decisiones y la elección de su ruta de aprendizaje. En definitiva, listo para el autoaprendizaje, lo cual abre un desafío para nuestro sistema educativo, preocupado por la adquisición y memorización de la información y la reproducción de la misma en función de patrones previamente establecidos. En cierta medida, estos nuevos medios o TIC exigen la existencia de una nueva configuración del proceso didáctico y metodológico usado en nuestros establecimientos escolares, donde el saber no tenga porqué recaer en el profesor, y la función del alumno no sea la de un mero receptor de información.
Ello plantea un cambio en los roles tradicionalmente desempeñados por las personas que intervienen en el acto didáctico, que llevan al profesor a alcanzar dimensiones más importantes, como la del diseño de situaciones instruccionales para el alumno y la de tutor o facilitador del proceso didáctico.
Las TIC ofrecen un nuevo reto al sistema educativo: pasar de un modelo unidireccional de formación, donde por lo general los saberes recaen en el profesor o en su libro de texto, a modelos más abiertos y flexibles, donde la información situada en grandes bases de datos tiende a ser compartida entre diversos alumnos. Por otra parte, se rompe la exigencia de que el profesor esté presente en el aula y tenga bajo su responsabilidad a un único grupo de alumnos. El alumno puede interactuar con otros compañeros y profesores que no tienen porqué estar situados en su misma sala.
El modelo educativo basado en recursos requiere de un cambio de paradigma para los educadores. Nuevas y variadas herramientas son una parte central del proceso de aprendizaje, y no sólo un apoyo a la enseñanza tradicional. De acuerdo a Rakes (1996), este modelo puede compararse con el modelo convencional de enseñanza, de la siguiente forma:
Tenemos que estar conscientes de que la sociedad requiere un nuevo tipo de alumno. Un alumno más preocupado del proceso que del producto, preparado para la toma de decisiones y la elección de su ruta de aprendizaje. En definitiva, listo para el autoaprendizaje, lo cual abre un desafío para nuestro sistema educativo, preocupado por la adquisición y memorización de la información y la reproducción de la misma en función de patrones previamente establecidos. En cierta medida, estos nuevos medios o TIC exigen la existencia de una nueva configuración del proceso didáctico y metodológico usado en nuestros establecimientos escolares, donde el saber no tenga porqué recaer en el profesor, y la función del alumno no sea la de un mero receptor de información.
Ello plantea un cambio en los roles tradicionalmente desempeñados por las personas que intervienen en el acto didáctico, que llevan al profesor a alcanzar dimensiones más importantes, como la del diseño de situaciones instruccionales para el alumno y la de tutor o facilitador del proceso didáctico.
Las TIC ofrecen un nuevo reto al sistema educativo: pasar de un modelo unidireccional de formación, donde por lo general los saberes recaen en el profesor o en su libro de texto, a modelos más abiertos y flexibles, donde la información situada en grandes bases de datos tiende a ser compartida entre diversos alumnos. Por otra parte, se rompe la exigencia de que el profesor esté presente en el aula y tenga bajo su responsabilidad a un único grupo de alumnos. El alumno puede interactuar con otros compañeros y profesores que no tienen porqué estar situados en su misma sala.
El modelo educativo basado en recursos requiere de un cambio de paradigma para los educadores. Nuevas y variadas herramientas son una parte central del proceso de aprendizaje, y no sólo un apoyo a la enseñanza tradicional. De acuerdo a Rakes (1996), este modelo puede compararse con el modelo convencional de enseñanza, de la siguiente forma:
Suscribirse a:
Entradas (Atom)
