Objetivo y filosofia






descargar 137.08 Kb.
títuloObjetivo y filosofia
página3/4
fecha de publicación05.06.2016
tamaño137.08 Kb.
tipoDocumentos
l.exam-10.com > Derecho > Documentos
1   2   3   4

FORTRAN
El FORTRAN ("FORmula TRANslator") fue desarrollado entre los años 1954 y 1957 por un equipo dirigido por James Backus, fue el primer lenguaje compilado e inclusive hoy en día es usado ampliamente en la solución de problemas numéricos. Aunque fue el más común hasta 1970, sigue siendo de primera importancia en aplicaciones científicas por cuanto se adapta muy bien a la forma tradicional de escribir fórmulas matemáticas. Al contrario, no se presta con facilidad al manejo de archivos y produccción de tablas de resultados.
Existen numerosas versiones y perfeccionamientos posteriores. (La versión de 1966 fue instituída como estándar por el Instituto Americano de Estandarización, reemplazándola por el FORTRAN 77 en la década siguiente).


EJEMPLO
INTEGER A, B, C

10 READ (5,1010) A, B

1010 FORMAT (I4,I4)

C = A - B

IF (C. EQ. 0) GO TO 20

WRITE (6,1020) C

1020 FORMAT (I4)

GO TO 10

20 STOP

END


HYPERTALK
"HyperTalk" es el lenguaje desarrollado por Dan Winkler para Bill Atkinson, el creador del "HyperCard" para Apple-Macintosh. Está orientado a la creación de aplicaciones conforme al sistema de "hiperarchivos" (sistemas de fichas interrelacionadas donde se facilita el "navegar" de un archivo a otro).
HyperTalk es un buen ejemplo de lenguaje orientado a objetos. Este tipo de lenguaje combina la lógica declarativa con los algoritmos (Vea "PROLOG"). Un programa ya no es una secuencia de instrucciones sino un conjunto de objetos agrupados en conjuntos, definidos mediante atributos y a los cuales pueden asociarse instrucciones. Así, en HyperCard, existen archivos ("stacks" o "pilas") que agrupan fichas ("cards"), y cada una de éstas contiene campos de datos y botones. Todos son "objetos" que -si bien mantienen entre sí una relación jerárquica- tienen asociados paquetes de instrucciones ("scripts") independientes unos de otros. Cada objeto pertenece a un conjunto (como fichas o botones) que tiene "atributos" propios comunes a todos sus miembros, y cada atributo tendrá un valor común o específico para cada caso. Para dar o buscar dicho valor intervienen "facetas" que son instrucciones (procedimientos) asociadas.


HTML
El HTML o "HyperText Marking Language" es el lenguaje que se utiliza para crear páginas -como la presente- en World Wide Web. El HTML se basa en los mismos principios que el HyperTalk, permitiendo definir segmentos (de texto o ilustraciones) que remiten a otros, facilitando una "navegación" por múltiples vías, a gusto del usuario. Así es como el botón "Home" tiene asociadas las instrucciones que indican al procesador que busque la primera ficha o página del archivo llamado "Home" o "index" en el archivo del computador que presta el servicio de conexión (servidor). Y si se hace un clic en una palabra subrayada, se pasa a ver otra sección del mismo documento o algún otro documento (otro "objeto").
El HTML no es propiamente un lenguaje de programación , sino solo de exhibición de contenidos y navegación, porque no define operaciones.

Regresar al inicio de esta página


JAVA
JAVA es un lenguaje de programación basado en el C++ (con cambios en la sintaxis y nuevas restricciones de codificación). Permite agregar animaciones y puntos sensibles en páginas de texto. Aunque se lo pretende presentar como "EL" lenguaje destinado a desarrollos para World Wide Web, es mucho mas complejo que el HTML e incluso que otros lenguajes utilizables por los browsers (navegadores) de la Web.
Una versión muy reducida es el "JavaScript", que se puede combinar con el lenguaje HTML, dentro de una página web.


LISP
LISP ("LIst Processing Language") es un lenguaje computacional bastante diferente de los demás. Es un lenguaje funcional, es decir que acumula informaciones e instrucciones bajo la apariencia de fórmulas (como en álgebra). Estas informaciones toman la forma de listas (de ahí su nombre), que son memorizadas y comparadas para efectuar luego operaciones que consisten en "evaluar las fórmulas". El conjunto de funciones constituye el programa en cuanto la evaluación de una función llama a otra y así sucesivamente (en forma eminentemente recursiva). El control de la ejecución depende del intérprete (que busca la secuencia y la traduce en lenguaje máquina), mientras depende del programador la forma en que las funciones se llaman entre sí.
El objetivo de este tipo de lenguaje es asemejarse a una forma humana de conservación de información (la de las descripciones) y permitir la construcción de programas que se enriquezcan o ajusten en función del uso (simulando aprendizaje). Así, LISP es el primer lenguaje creado con el fín de ser una herramienta para el desarrollo de la inteligencia artificial.
EJEMPLO
? (de append (L1 L2)

(if (null L1)

L2

(cons (cor L1)

(append (cdr L1) L2))))

Regresar al inicio de esta página

LOGO
Creado por Seymour Papert, padre de la "computación educativa", el LOGO está destinado a la enseñanza de la programación a los niños, desde temprana edad. Por ello es sobretodo conocido por su capacidad gráfica y su "tortuga", que es el puntero con el cual se realizan los dibujos. Es altamento modular y deja gran libertad al usuario para definir procedimientos desde muy simples hasta muy complejos, en forma jerárquica, permitiendo incluso el control de periféricos mecánicos (operación de pequeños robots). Aunque bastante poderoso (se han escrito procesadores de palabras en LOGO), practicamente no es utilizado fuera de la escuela básica.
EJEMPLO
Comandos para dibujar un cuadrado de 20 pixels (puntos) por lado:

BAJAR_PLUMA. ADELANTE 20. ROTACION 90. ADELANTE 20. ROTACION 90. ADELANTE 20. ROTACION 90. ADELANTE 20. LEVANTAR_PLUMA.

Lo que conforma el cuadrado puede simplificarse como: HACER 4 (ADELANTE 20. ROTACION 90). y ser utilizado repetidamente definiendo el comando "Cuadrado":

>CUADRADO: HACER 4 (ADELANTE 20. ROTACION 90).
Esta definición se puede generalizar reemplazando la longitud por una variable (El programa pide automáticamente en pantalla el valor de una variable si lo desconoce): >CUADRADO: HACER 4 (ADELANTE LADO. ROTACION 90).
(Las órdenes para bajar y levantar la "pluma" -que permiten dejar o no dejar rastro al mover la "tortuga" - pueden introducirse o no en la definición, a voluntad).


PASCAL
Del nombre del filosófico y matemático francés, PASCAL es un lenguaje inicialmente diseñado para la docencia introductoria de la programación (a nivel superior). Surgió alrededor de 1970, en gran parte como reacción simplificadora después de la creación de los muy complejos PL/1 y ALGOL68 para los nuevos computadores de tercera generación.
Muy inspirado en la primera versión oficial de ALGOL (60), es un lenguaje muy estructurado y con alta modularidad. Tuvo por ello -y por su simplicidad- mucha aceptación al punto de ser utilizado para crear importantes aplicaciones e incluso compiladores y sistemas operativos (antes desarrollados en Assembler).
EJEMPLO
PROGRAM CALCULATOR;

VAR

A, B: INTEGER;

OPERATION; CHAR;

BEGIN

REPEAT

READLN (A, OPERATION, B);

IF OPERATION = '+' THEN

WRITELN (A + B)

ELSE IF OPERATION = '-' THEN

WRITELN (A - B)

ELSE IF OPERATION = '*' THEN

WRITELN ( A* B)

ELSE IF OPERATION = '/' THEN

WRITELN (A / B)

UNTIL FALSE

END.


PERL
Es un lenguaje especializado en el procesamiento de textos, particularmente extraer y validar las respuestas a cuestionarios incluidos en páginas web.

Regresar al inicio de esta página


PL/1
EL "PL/1" es un lenguaje multi-propósito creado por IBM y SHARE, especialmente a raíz del paso de la segunda a la tercera generación de computadores, cuando se preveía la creciente difusión de estas máquinas y su posible uso en una gama creciente de actividades. Pretendía ampliar las posibilidades del FORTRAN fusionando conceptos provenientes del COBOL y el ALGOL.
La gran cantidad de instrucciones, tipos de datos y casos especiales que contempla lo hacen difícil de aprender y dominar, razón de su poca difusión.
EJEMPLO
TRAPZ: PROCEDURE OPTIONS (MAIN);

DECLARE (J,K) FIXED DECIMAL (2),

AREA FIXED DECIMAL (8,6);

PUT SKIP EDIT ('AREA BAJO LA CURVA') (X(9),A);

PUT SKIP;

DO K=4 TO 10;

AREA=0.5/K;

DO J=1 TO K-1;

AREA=AREA+((J/K)**2)/K);

END;

PUT SKIP EDIT ('PARA DELTA X=1/',K,AREA)

(X(2),A,F(2),X(6),F(9,6);

END;

END;


PHP
Lenguaje que se acopla al HTML (páginas web) para definir procedimientos que ha de realizar el servidor de web, por ejemplo procesar un formulario, enviar o extraer datos de una base de datos (acoplándose también con un lenguaje de tipo SQL), enviar una u otra página web según determinadas condiciones prefijadas por el programador, etc.

Regresar al inicio de esta página


PROLOG
Los primeros años de la décado del 70 son conocidos como un período de "crisis del software", en que se descubrió que la creación de buenos programas involucraba costos mayores que los del hardware que los ejecuta. También se hacía patente una creciente necesidad de procesar "conocimientos" (algo mucho más amplio y complejo que los datos cuantitativos o meras "secuencias de caracteres" a los cuales se reducen muchos lenguajes de programación). Esta crisis llevó a investigar numerosas alternativas, entre las cuales nuevos lenguajes no basados en instrucciones algorítmicas o procedimientos. Si el hombre "procesa" más información por inferencia lógica que por cálculo, ¿no podría la máquina hacer lo mismo?.
PROLOG ("PROgramación en LOGica") es una respuesta a esta crisis, producto del avance de la lógica moderna (de tipo funcional). Lo crearon A. Colmenauer y Ph. Roussel, con la colaboración de R. Kowalski, simultáneamente en la Universidad de Aix-Marseille (Francia) y Edimburgo (Gran Bretaña). Se basa en el cálculo de predicados de primer orden y en el principio de resolución de Robinson. En vez de ser algorítmico ("procedural" en inglés, término sin traducción), es decir concebido como un conjunto de instrucciones que la máquina debe ejecutar en forma secuencial, es "declarativo", es decir basado en definiciones (de "hechos" o "reglas", como se explica más abajo).
EJEMPLO
Si sabemos que una línea aérea une París con Río con el vuelo 36 y otra une Río con Santiago con el vuelo 71, concluimos sin dificultad alguna que es posible viajar de París a Santiago con una escala en Río.

En lógica funcional, los datos básicos ("hechos" en terminología PROLOG) podrían escribirse:


une(Paris,Rio,Vuelo36).

une(Rio,Santiago,Vuelo71).
Vemos que la relación ("une") es la misma y que hay un término común en la lista de argumentos (lo que hay entre paréntesis). Solo falta explicitar una regla idéntica a la que se usa para extraer una conclusión a partir de dos premisas en un silogismo:
camino(Paris,Santiago) <- une(Paris, x, n),

une(x, Santiago, m).
o sea "Hay un camino entre París y Santiago si algún vuelo (n) une París con una ciudad 'x' y (&) otro vuelo (m) une esta ciudad 'x' con Santiago.
Un "programa" en PROLOG se conforma con estos dos tipos de expresiones (llamadas "cláusulas"): "hechos" y "reglas". Una cláusula con forma de hecho y seguida de un '?' constituye la forma habitual de consultar la información. Si no contiene ninguna variable, el programa verifica si existe una "copia" en la lista de hechos y contesta por sí o no. Si contiene una o más variables busca cuales se ajustan a la descripción o pueden ser deducidas mediante las reglas y señala el valor correcto de las diferentes variables (o bien "No" si no hay respuesta posible).


SQL
Lenguaje desarrollado especialmente para facilitar la consulta de bases de datos (BD), acotando progresivamente la búsqueda (de ahí el nombre de "Sequential Query Language").
Existen hoy numerosas aplicaciones de administración de bases de datos que recurren al SQL (Las más conocidas, potentes - y caras - son Oracle e Informix).
Hoy se pueden acoplar las bases de datos a hipertextos (páginas web), para lo cual las buenas aplicaciones ya traen módulos que hacen la conexión. El lenguaje PHP del cual hablamos más arriba también sirve para definir procedimientos de inserción y de consulta de datos en BD (Base de Datos) que funcionan con SQL.


SIMPLICIDAD
Luego de escribir la nota sobre la conjetural simplificación C=simple, C++= complicado, me quedé pensando en que existe esa percepción de un espectro de dificultades en los lenguajes de programación, donde, digamos, en un extremo vive Basic, y en el otro Assembler. La pregunta inocente que se me aparece es: ¿por qué alguien aprendería una lenguaje difícil si existe uno fácil? En otra época -digamos, unos diez años atrás- esa pregunta tenía otra respuesta que la que tiene hoy. Pero en estos días, digamos que el 90% de las cosas que se pueden escribir en Visual C++ se pueden escribir también en Visual Basic, discutiblemente con más facilidad. ¿Por qué preferir Java, C, C++, Visual Basic, Delphi? Estoy hablando únicamente de algunos lenguajes de desarrollo en el entorno gráfico de Windows. No quiero ni asomarme a la marisma de lengaujes compilados, semicompilados e interpretados que existe bajo Linux. Creo que el problema es un poco más complejo de lo que parece a simple vista.
Stroustrup (hablando de Java) decía que la simplicidad de un lenguaje siempre es ilusoria, y que eventualmente cualquier lenguaje que alcance popularidad será necesariamente grande, en términos de complejidad y de librerías. Fueron palabras proféticas: todavía recuerdo el día que Bill Gates defendía a capa y espada lo despojado de Visual Basic, un lenguaje que nunca tendría punteros, herencia, funciones virtuales, excepciones, multithreading, etc. Hoy Visual Basic (en su reencarnación .NET) tiene todas estas cosas y mucho más. Naturalmente era un lenguaje más simple que C++, y esa simplicidad tenía, entre otros costos graves, la irregularidad. La sintaxis era caótica (estoy pensando en Line, por ejemplo, que tenía el signo menos para separar dos pares de coordenadas encerradas entre paréntesis), un formulario era utilizado a veces como variable (Form1.Show) o como tipo (new Form1), no había forma de prototipear sin escribir el cuerpo de la función... Pero tenía la mejor IDE y era el más productivo de los lenguajes de programación, por lo que era también necesariamente denostado por los Altos Programadores de C++, quienes tenían un IDE horrible para trabajar con MFC en Visual C++, y se las veían en figurillas para manejar COM con ATL. Ni hablar del punto de vista de los de Linux, que sólo tenían vi y make. Pero eso con el tiempo, como decía Stroustrup, tendería a equilibrarse. C++ ganó simplicidad y un mejor IDE en .NET, y Visual Basic ganó complejidad y regularidad. Digamos que en el entorno ideal de Microsoft programar en un lenguaje u otro aparentemente es sólo una elección de cuál sintaxis es más elegante. La pregunta que esto me provoca es qué sucederá con la generación de programadores acostumbrados a pensar que programar es algo sencillo que se aprende con un wizard en un par de días. Estoy hablando, por supuesto, de la generación Visual Basic, idiotizada por el mercado Microsoft (cuyos precursores quizás fueron los programadores de Clipper). Advierto aquí que la palabra "idiotizada" no está dictada desde el rencor ocasionado porque ellos la tuvieron fácil y yo no: programé paralelamente en Visual Basic y en C++ por una cifra de años. La práctica negligente de la programación alentada por el hecho de que un formulario de "Hello, world!" se hace sin experiencia previa en unos quince minutos sólo deja como secuela programas mal diseñados, algoritmos pobres e ineficientes, inmantenibilidad, costumbres viciosas que no se pueden cambiar fácilmente una vez adquiridas.
Si uno es tratado de idiota por el tiempo suficiente, uno termina creyéndoselo. La literatura completa esa ilusión con libros como "Visual Basic for dummies"; el gran Dijkstra decía (en su excelente escrito "Under the spell of Leibnitz's dream"), que considerar retrasados mentales a los profesionales de la computación era una costumbre de las editoriales de Estados Unidos. Le criticaron un libro por ser demasiado riguroso y técnico, citando la famosa "no one ever got broke by underestimating the intelligence of the American people" de P. T. Barnum. Pero bueno, volviendo al tema, el camino de Visual Basic era claramente un camino sin salida, y no deja de darme cierta satisfacción ver que finalmente tomó una forma más profesional, y que la tecnología no nos transformó en meros obreros del bit.
En la nota sobre C y C++ pretendo que la práctica seria de un lenguaje de programación cualquiera sólo llega a un punto satisfactorio luego de un par de años, pero ese par de años es muy caro para los tiempos tecnológicos de hoy. Nos olvidamos que los tiempos tecnológicos de hoy son el génesis de un deseado futuro más estable, y que algún día no muy lejano los lenguajes de programación tenderán a ser equivalentes en prestaciones, y que, como en una evolución darwiniana acelerada, sólo sobrevivirán los más populares.
1   2   3   4

similar:

Objetivo y filosofia iconEn colaboración con el Departamento de Filosofía y con el objetivo...

Objetivo y filosofia iconObjetivo: Escribir un poema original dedicado a tu comida favorita,...

Objetivo y filosofia iconEl lugar de la filosofía en la educación. El papel de la filosofía...
«filosofía» y «educación» toma el enunciado titular: «El lugar de la filosofía en la educación»

Objetivo y filosofia iconIteso – Departamento de Filosofía y Humanidades. Licenciatura en Filosofía y Ciencias Sociales

Objetivo y filosofia iconIteso – Departamento de Filosofía y Humanidades. Licenciatura en Filosofía y Ciencias Sociales

Objetivo y filosofia iconFilósofo griego, nacido en Atenas, considerado el fundador de la...

Objetivo y filosofia iconCulminación filosofía siglo XIX. Establece un sistema general de...

Objetivo y filosofia iconResumen El acento del trabajo está en el cruce de la filosofía, la...

Objetivo y filosofia iconDirección de la colección: Virgilio Ortega
«desilusión decisiva y universal», donde comienza su filosofía. Mejor aún, de él parte la exigencia feuerbachiana de una «filosofía...

Objetivo y filosofia icon• Estudió Letras y Filosofía en la Facultad de Filosofía y Letras...






© 2015
contactos
l.exam-10.com