miércoles, 21 de enero de 2009

El lenguaje cultural y el lenguaje programador.

EL LENGUAJE DENTRO DE LAS CULTURAS Y EL LENGUAJE PROGRAMADOR
El Hombre es un ser individual de naturaleza racional, social, y libre, con dignidad y voluntad, que se presenta como un espíritu encarnado. Es considerado el organismo viviente más perfecto de los que se encuentran en la naturaleza; Y como diría Nietzsche, “el hombre es una cuerda que conecta al animal con el superhombre”... lo más grande es que es un puente y no un fin”.
Es indudable que el lenguaje articulado, fundador de culturas, constituye una de las manifestaciones características que separa al hombre de los seres irracionales. Estos expresan y comunican sus sensaciones por medios instintivos, pero no hablan, porque solo poseen la facultad de hablar los seres dotados de conciencia, necesaria para elaborar ideas y conocimientos.

Los pueblos antiguos buscaban un medio para registrar el lenguaje. Pintaban en las paredes de las cuevas para plasmar su forma de vida, y utilizaban signos y símbolos para designar una tribu o pertenencia. A medida que fue desarrollándose el conocimiento humano, se hizo necesaria la escritura para transmitir información. La primera escritura, que era pictográfica, con símbolos que representaban objetos, fue la escritura cuneiforme, es decir, con rasgos en forma de cuña grabados con determinado estilo en una tabla de arcilla

El hombre creo la lengua, es decir, un sistema de signos, de naturaleza homogénea, apoyados en una convención cultural de carácter eminentemente social. “Se podría objetar que el ejercicio del lenguaje se basa en una facultad que debemos a la naturaleza, mientras que la lengua es algo adquirido y convencional, que debería subordinarse al instinto natural en lugar de tener preeminencia.

EL LENGUAJE DENTRO DE LA RPOGRAMACION.

Lenguajes de programación
Generaciones de lenguajes
1830: Condesa Ada Lovelace
Años 40: Prehistoria: programación con cables
1945-55: Primera generación: lenguajes de la máquina
1950- : Segunda generación: lenguajes simbólicos
1958- : Tercera generación: lenguajes de alto nivel
? : Cuarta generación: "frameworks" ?
Lenguajes de alto nivel
Lenguajes imperativos
1. FORTRAN
COBOL
ALGOL 60 --------
-------------------------------------------------------------------------

BASIC ALGOL 68 Pascal PL/I SIMULA BCPL
------------------ ---------------------------------------
-----------------
CLU Modula Smalltalk 72 C
-----------------------------
Ada Smalltalk 80 -----------
Object Pascal ----------------
Eiffel Smalltalk V Objective C C++
------------------------------------------

OOPL/I OOCOBOL


Este link es de un video de foto que nos va ampliar la informacion acerca del lenguaje de programacion.


http://www.slideshare.net/LILIANA06/historia-de-los-lenguajes-de-programacin


En 1978, Ritchie y Brian Kernighan publicaron la primera edición de El lenguaje de programación C. Este libro fue durante años la especificación informal del lenguaje. El lenguaje descrito en este libro recibe habitualmente el nombre de "el C de Kernighan y Ritchie" o simplemente "K&R C" (La segunda edición del libro cubre el estándar ANSI C, descrito más abajo.)
Kernighan y Ritchie introdujeron las siguientes características al lenguaje:
El tipo de datos struct.
El tipo de datos long int.
El tipo de datos unsigned int.
Los operadores =+ y =- fueron sustituidos por += y -= para eliminar la ambigüedad semántica de expresiones como i=-10, que se podría interpretar bien como i =- 10 o bien como i = -10.
El C de Kernighan y Ritchie es el subconjunto más básico del lenguaje que un compilador debe de soportar. Durante muchos años, incluso tras la introducción del ANSI C, fue considerado "el mínimo común denominador" en el que los programadores debían programar cuando deseaban que sus programas fueran transportables, pues no todos los compiladores soportaban completamente ANSI, y el código razonablemente bien escrito en K&R C es también código ANSI C válido.
En estas primeras versiones de C, las únicas funciones que necesitaban ser declaradas si se usaban antes de la definición de la función eran las que retornaban valores no enteros. Es decir, se presuponía que una función que se usaba sin declaración previa (prototipo) devolvería un entero.


viernes, 16 de enero de 2009

LENGUAJES Y AUTOMATAS


Un conjunto es una agrupación, clase o colección de objetos denominados elementos del conjunto.
Un conjunto se representa frecuentemente mediante llaves que contienen sus elementos, ya sea de forma explícita, escribiendo todos y cada uno de los elementos, o dando una fórmula, regla o proposición que los describa.

{ x …}, conjunto de todas las x tales que …

{ x1, x2, x3, x4, x5 }, el conjunto compuesto por los elementos x1 a x5

NOTACIONES:
Pertenencia: x e C, el elemento x pertenece al conjunto C.
Inclusión: C Ì C’, el conjunto C es un subconjunto del C’.
Cardinalidad: C , el número de elementos del conjunto.
Unión: C È C’, la unión de los conjuntos C y C’.
Intersección: C Ç C’, la intersección de los conjuntos C y C’.
Simplificación: x1,..., xn (todos los elementos entre x1 y xn).
Aplicación entre conjuntos:
f: E1 x E2 x … x En S1 x S2 x … x Sn
La función (aplicación) está definida entre los conjuntos Ei y Sj. Desde el punto de vista computacional, se puede entender que f recibe de entrada un elemento para cada conjunto Ei y genera una salida para cada conjunto Sj.
Los conjuntos se pueden dividir en dos clases dependiendo de si los elementos del conjunto forman una aplicación biunívoca (correspondencia de uno a uno) con los elementos de alguno de sus subconjuntos propios:
a) Conjunto finito
Un conjunto A es un subconjunto propio del conjunto B si todos y cada uno de los elementos de A pertenece a B pero B tiene al menos un elemento que no pertenece a A. Los elementos del conjunto [1, 2, 3] no pueden formar una correspondencia biunívoca con los elementos de cualquiera de sus subconjuntos propios; este tipo de conjuntos se denomina conjunto finito.

b) Conjunto infinito
Los elementos del conjunto [2, 4, 6, ..., 2n, ...] pueden formar una aplicación biunívoca con los elementos del subconjunto propio [6, 8, 10, ..., 2n + 4, ...] haciendo corresponder, para un entero positivo n, el elemento 2n del primer conjunto con el elemento 2n + 4 del segundo. Un conjunto que cumple esta propiedad se denomina conjunto infinito.