viernes, 25 de marzo de 2011

Blaise Pascal


Construyó la primera máquina sumadora Solucionó el problema del acarreo de dígitos.
Nació el 19 de junio de 1623 en Auvergne, Francia. 
Murió el 19 de agosto de 1662 en Paris, Francia.
Blaise Pascal fue un hombre excepcional; en tan sólo 39 años de vida se destacó como matemático, físico, filósofo, teólogo y escritor.
Fue el primero en diseñar y construir una máquina sumadora. Quería ayudar a su padre, quien era cobrador de impuestos, con los cálculos aritméticos. La máquina era mecánica y tenía un sistema de engranes cada uno con 10 dientes; en cada diente había grabado un dígito entre el 0 y el 9. Así para representar un número, el engrane del extremo derecho se movía hasta tener el dígito de las unidades, el engrane que le seguía a la izquierda tenía el dígito de las decenas, el siguiente el de las centenas y así sucesivamente. Los números se representaban en la máquina como nosotros lo hacemos en notación decimal.
Para realizar una suma o una resta, se activaba el sistema de engranes que hacía girar cada uno de ellos. Comenzaba por el extremo derecho y seguía, uno por uno, hacia la izquierda. Cuando la suma en un engrane excedía el número 9, automáticamente el engrane inmediato a la izquierda se movía un décimo de vuelta aumentando en 1 la cantidad que representaba. Así Blaise Pascal logró resolver el problema del acarreo de dígitos para las máquinas sumadoras y obtuvo una máquina que podía sumar cualquier par de números.

HISTORIA DE LA PROGRAMACIÓN EN PASCAL



El lenguaje de programación Pascal apareció por primera vez en 1971, de la mano de Niklaus Wirth.
Wirh inventó el lenguaje como una forma de mejorar el por aquel entonces arcaico Algol. No es el primer lenguaje que Wirth diseña, posteriormente inventó el Modula-2 y el Oberon. Sin embargo, paradójicamente, esos dos lenguajes han sido ampliamente superados por el Extended Pascal y el Object Pascal. De todos esos lenguajes, Pascal es el que más éxito ha tenido.
Aunque nace a principios de los 70, Pascal cobra auténtica vida a partir de principios/mediados de los 80, popularizado por el fabuloso Turbo Pascal de MS-DOS para PC, y sobre todo el Apple Pascal. Pascal ha sido tan popular hasta mediados de los 90, que una gran parte (la mayor parte) de las aplicaciones desarrolladas para Mac estaban realizadas en Pascal, así como una enorme parte también de los programas de MS-DOS.
Todavía hoy, Pascal se enseña en las universidades como primer lenguaje, pues se trata de un lenguaje muy legible.
Fue Borland la que, hasta el Turbo Pascal 7, se encargó de la mayor parte de la evolución de este lenguaje. A mediados de los 90, con el boom de Windows y el renacimiento de los sistemas Unix (entre ellos Linux) como ordenadores servidores primero y luego como estaciones de trabajo, motivó que Pascal pasara a un segundo plano en sustitución de C.
En ese momento, prácticamente solo Delphi (Object Pascal para Windows) consiguió mantenerse en la brecha, pero conformándose con una pequeña parte del mercado solamente.
Casi todo el mundo intentó pasarse a C++. Fíjate que decimos intentó. C++ no consiguió calar del todo por su extrema complejidad. Su sistema de objetos, los macros, los crípticos nombres de funciones, los namespaces tan difíciles de manejar, los templates, la STL y otra serie de cosas, hicieron que rápidamente mucha gente pasara de querer usar esaherramienta que todo el mundo proclamaba que era tan potente, a buscar alternativas que fueran más simples y prácticas. Sun, la compañía del Java, se gasto una millonada en promocionar su lenguaje, y tuvo un gran éxito, sin duda debido no solo al dinero en publicidad, sino a la gente que escapaba escaldada del C++. En realidad, Java no es un lenguaje fácil de aprender (obliga a pensar en objetos desde el principio, algo que los novatos no llevan bien), pero comparado con C++, se podía considerar como algo sencillo.
Borland, una compañía con no tanto dinero como Sun, no pudo competir con Pascal, y se tuvo que conformar sacando su propia máquina virtual de Java. Pero Delphi no ha dejado nunca de existir. Aun hoy sigue sacando versiones Delphi, con gran éxito, aunque no consigue subir significativamente su porcentaje de participación en el mercado.
El paso de Turbo Pascal a Delphi también trajo como consecuencias que apareciera Kylix, que no es más que un Delphi multiplataforma. No caló lo suficiente, debido a la licencia cerrada, y a que imponía que el programa compilado fuera GPL.
Posteriormente Microsoft compró la mayor parte de Borland. Con ello se abandonó Kylix, Linux, y se hizo a Borland 100% Windows. Esta estrategia prácticamente ha arruinado el avance de Pascal frente a otros lenguajes, en el entorno corporativo.
En el momento en que Borland pasó de Turbo Pascal a Delphi, apareció Free Pascal. Free Pascal es un intento de la comunidad de código libre de hacer un compilador compatible con Turbo Pascal para todas las plataformas más famosas (incluido Linux, OS X y Windows). Desde la versión 2.0, Free Pascal es además compatible con Delphi.
Free Pascal es, hoy en día, el sistema preferido para programar en Pascal multiplataforma. Su IDE principal, el Lazarus, un clon del Delphi, corre tanto en Windows como en OS X como en Linux.
Para la realización de este tutorial, recomendamos usar Lazarus. Es perfectamente posible usar Delphi, pues es totalmente compatible en lo básico y también en la mayoría de las cosas avanzadas.
Lazarus y Free Pascal son la gran esperanza del lenguaje de programación Pascal, y de los entornos de desarrollo multiplataforma en general. Su desarrollo es muy activo, y con toda seguridad tiene un futuro prometedor.

ALGOL

Se denomina ALGOL (o Algol) a un lenguaje de programación. La voz es un acrónimo de las palabras inglesas Algorithmic Language (lenguaje algorítmico).
Fue muy popular en las universidades durante los años 60, pero no llegó a cuajar como lenguaje de utilización comercial.
Sin embargo, Algol influyó profundamente en varios lenguajes posteriores que sí alcanzaron gran difusión, como Pascal, C y Ada.
Hacia 1965 dos corrientes se distinguieron sobre el tema de un sucesor para Algol. Como resultado se definieron los lenguajes Algol W que es un lenguaje minimalista, rápidamente implementado y distribuido y, por otra parte, Algol 68 que para la época está en la frontera entre un lenguaje para programar en él y un lenguaje para investigar sobre él.

Algol W

Lenguaje elaborado diseñado por Niklaus Wirth y Tony Hoare a partir de los trabajos del grupo ALGOL de la IFIP. Se trata de un lenguaje conciso, simple de implementar, que evita todos los defectos conocidos del lenguaje Algol e incluye sus propias características adicionales. Sin embargo, el grupo Algol no lo adoptó como sucesor de Algol prefiriendo en su lugar al que terminó siendo Algol 68. Algol W fue utilizado por gran cantidad de usuarios y sembró el camino para el nacimiento del lenguaje Pascal.
Entre las características del lenguaje se destacan: Aritmética de doble precisión, números complejos, Strings y estructuras de datos dinámicas, evaluación por valor, pasaje de parámetros por valor, valor resultado o resultado.

Algol 68

La definición del lenguaje fue presentada en la reunión del comité ALGOL de la IFIP en 1965. Luego de varios años de revisión del diseño se llegó a una versión definitiva en 1968. Al principal autor es Adriaan van Wijngaarden.
Los objetivos principales de ALGOL 68 son el permitir comunicar algoritmos, el permitir una eficiente ejecución de los mismos en diferentes arquitecturas y el de servir como herramienta para la enseñanza.
Una característica interesante de ALGOL 68 es que su semántica fue definida formalmente antes de ser implementado en base al formalismo llamado gramáticas de dos niveles.


Modula-2 1978

Modula-2 es un lenguaje de programación cuyo autor es Niklaus Wirth, autor también del lenguaje Pascal.
Como novedad respecto a este último lenguaje, introduce el concepto de módulo, y de encapsulación. Del código contenido en un módulo, sólo se facilita una interfaz pública denominada módulo de definición, permaneciendo el resto oculto (encapsulado) para undesarrollador ajeno, lo que facilita el mantenimiento de dichas estructuras de programación a la vez que imposibilita la modificación de las mismas a cualquiera que no posea el código de su módulo de implementación.
Este concepto de módulo constituye el antecedente de las clases u objetos que se observan en el concepto moderno de Programación Orientada a Objetos (POO); sin embargo, la incapacidad de declarar múltiples instancias de los módulos, así como la ausencia de todo tipo de herencia, impiden afirmar que Modula-2 sea un lenguaje orientado a objetos propiamente dicho.
Modula-2 se utiliza principalmente en las universidades por su excelente adaptación a la enseñanza de lenguajes estructurados, pero en el ámbito laboral su difusión ha sido escasa frente al predominio de C, lo que ha contribuido a crear un distanciamiento entre universidad y mercado laboral.

Turbo Pascal 1983

Turbo Pascal es un completo sistema de desarrollo de software que incluye un compilador y un entorno de desarrollo integrado (IDE) para el lenguaje de programación Pascal, desarrollado por Borland y liderado por Philippe Kahn.
Fue lanzado en 1983 para MS-DOS, CP/M, CP/M-86 y, posteriormente, para Microsoft Windows. También hubo una versión de corta vida para Apple Macintosh



Borland Pascal

El nombre de Borland Pascal fue generalmente reservado para los paquetes de gama alta para Microsoft Windows (con más bibliotecas y la biblioteca estándar de código fuente), mientras que la original, más barato y ampliamente conocida versión fue vendido como Turbo Pascal.



MS-DOS 1981

MS-DOS (siglas de MicroSoft Disk Operating System, Sistema operativo de disco de Microsoft) es un sistema operativo paracomputadores basados en x86. Fue el miembro mas popular de la familia de sistemas operativos DOS de Microsoft, y el principal sistema para computadoras personales compatible con IBM PC en la década de 1980 y mediados de 1990, hasta que fue sustituida gradualmente por sistemas operativos que ofrecían una interfaz gráfica de usuario, en particular por varias generaciones de Microsoft Windows.
MS-DOS nació en 1981 al ser encargada Microsoft de producir un sistema operativo para la gama de computadores personales IBM PCde IBM. Rápidamente Microsoft compró los derechos de QDOS también conocido como 86-DOS,1 de Seattle Computer Products, y comenzó a trabajar en las modificaciones para poder cumplir con los requerimientos de IBM. La primera edición, MS-DOS 1.0, fue presentada en 1982.2 La versión incluida en los PC's de IBM fue conocida como PC DOS. Aunque MS-DOS y PC-DOS fueron desarrollados por Microsoft e IBM en paralelo, los dos productos se separaron con el tiempo.
MS-DOS se desarrolló a partir de QDOS, Quick and Dirty Operating System, también conocido como 86-DOS. Su desarrollo se inició oficialmente en 1981 y fue lanzado en 1982 como MS-DOS 1.0. Tuvo ocho versiones principales y alcanzó gran difusión pero fue gradualmente reemplazado por sistemas operativos que ofrecían una interfaz gráfica de usuario (GUI), en particular, por varias generaciones del sistema operativo Microsoft Windows.


Versiones

§  PC DOS 1.0 - Liberado en 1981 como complemento al IBM-PC. Primera versión de DOS. Soporta 16 Kb de memoria RAM, disquetes de 5,25 pulgadas de una sola cara de 160 Kb. 22 órdenes. Permite archivos con extensión .com y .exe. Incorpora el intérprete de comandos COMMAND.COM.
§  PC DOS 1.1 - Corregidos muchos errores, soporta disquetes de doble densidad 1.25 - Primera versión liberada con el nombre MS-DOS.
§  MS-DOS 2.0 - Complemento del IBM XT liberado en 1983. Más del doble de nuevos comandos, soporte de disco duro (alrededor de 5 MB).
§  PC DOS 2.1 - Complemento del IBM PCjr. Añadidas algunas mejoras.
§  MS-DOS 2.11 - Añadido soporte para otros idiomasticas y soporte LAN.
§  MS-DOS 3.2 - Añadida capacidad para disquetes de 3,5 pulgadas y 720 KB.
§  PC DOS 3.3 - Añadido soporte para el ordenador PS/2 de IBM y los nuevos disquetes de 3,5 pulgadas de alta capacidad (1,44 MB). Nuevas páginas de código de caracteres internacionales añadidas, con soporte para 17 países.
§  MS-DOS 3.3 - Capacidad para crear particiones de disco superiores a 32 MB. Soporte de 4 puertos serie (antes sólo 2). Incorporación de la orden "Files" para poder abrir hasta 255 archivos simultáneamente.
§  MS-DOS 4.0 - Generado con el código fuente de IBM, no con el de Microsoft.
§  PC DOS 4.0 - Agregado DOS Shell, algunas mejoras y arreglos.
§  MS-DOS 4.01 - Versión para corregir algún error.
§  MS-DOS 5.0 - Implementado en 1991, incluyendo más características de administración de memoria y herramientas para soporte de macros, mejora del intérprete de órdenes o shell.
§  MS-DOS 6.0 - Liberado en 1993, incluye soporte para Microsoft Windows, utilidades como Defrag (desfragmentación del disco), DoubleSpace (compresión de archivos), MSBackup (copias de seguridad), MSAV (Microsoft Anti-Virus), MemMaker, etc.
§  MS-DOS 6.2 - Versión para corregir errores.
§  MS-DOS 6.21 - Eliminado el soporte de compresión de disco DoubleSpace.
§  PC DOS 6.3 - Liberado en abril de 1994.
§  MS-DOS 6.22 - Última versión distribuida por separado. Incluido DriveSpace para sustituir a DoubleSpace.
§  PC DOS 7.0 - Añade Stacker para reemplazar a DoubleSpace.
§  MS-DOS 7.0 - Distribuido junto con Windows 95. Incluye soporte para nombres de archivo largos (hasta ahora habían tenido la restricción del 8+3).
§  MS-DOS 7.1 - Integrado en Windows 95 OSR2 y posteriormente en Windows 98 y 98 SE. Soporta sistemas de archivos FAT32.
§  MS-DOS 8.0 - Incluido en Windows Me. Es la última versión de MS-DOS.
MS-DOS es un sistema operativo monotarea y monousuario para ordenadores personales.