No Pascal, no es la oportunidad de SNOBOLO. ¡Irse!

Fernando Román
Fernando Román

Mi artículo sobre Fortran, Esto no es FORTRAN de tu padre, trajo muchos recuerdos del idioma. También me recordó a otros idiomas de mi época en la universidad y poco después, antes de 1978.

Eran las tres en punto a la hora original idiomas: FORTRAN, LISP y COBOL. Estos originales todavía están en uso, aunque nadie figura en las listas de idiomas populares. Nunca hice COBOL pero trabajé un poco con Pascal, Forth y SNOBOL que son de esa época. De ellos, SNOBOL se desvaneció rápidamente, pero los otros todavía existen. SNOBOL era un lenguaje de procesamiento de texto que básicamente perdió AWK, PERL y expresiones regulares. Teniendo en cuenta que las expresiones regulares crípticas son maravillosamente otro lenguaje de esa época, APL, lenguaje de programación, no ha sobrevivido. APL se llamaba “escribir solo un idioma” porque a menudo era más fácil simplemente reescribir un fragmento de código que depurarlo.

Otro idioma digno de mención es el algol, aunque solo porque Pascal es un descendiente, junto con muchos idiomas modernos. Algol fue cada vez más popular fuera de los Estados Unidos, probablemente porque todos se quedaron con FORTRAN.

Luego, algunos libros tuvieron un estatus icónico, de manera similar [McCracken’s] FORTRAN IV negro. A principios de los 70, mencionando [Nicolas Wirth] o el libro amarillo me recordó a Pascal. Similar, [Griswold, (R. E.)] era un SNOBOL y un libro verde. Ial, [Griswold’s] dos coautores nunca fueron mencionados, a diferencia del dúo posterior de [Kernighan] Y [Ritchie] con su hombre blanco “El lenguaje de programación C”. Ver ese libro años más tarde en una estantería de un compañero de trabajo italiano traducido al italiano me dio un pequeño error. Únase a mí para dar un paseo por el camino de la memoria que llevó a nuestro mundo de la programación a donde está hoy.

Pascal

El creador de Pascal, [Nicholas Wirth], fue una especie de iconoclasta de su época. Pascal era un rebelde contra Algol 60, al que consideraba demasiado complicado y poco útil para el trabajo real. Me encantaría escuchar su opinión sobre Java y C ++. Trabajando sin los límites de una comisión de estándares, redujo a Algol a los huesos para crear Pascal.

[Wirth] era un hacker en el corazón:

Cada proyecto individual fue principalmente un experimento de aprendizaje. Uno aprende mejor mientras inventa. Solo al realizar un proyecto de desarrollo puedo familiarizarme lo suficiente con las dificultades internas y tener la confianza suficiente para dominar los detalles intrínsecos. – Desde el diseño de programación hasta la construcción de computadoras, Niklaus Wirth 1984 ACM AM Turing.

El lenguaje era tan compacto que estaba completamente descrito y definido en un libro de 58 páginas, casi un panfleto. Esto incluyó mostrarlo en la forma Backus-Naur y una nueva representación gráfica que se conoció como diagramas ferroviarios. Al estar orientado visualmente, realmente me gustó esa representación.

Una característica interesante es que Pascal ha comenzado a funcionar. Un compilador de lenguaje inicial se escribe por sí mismo, utilizando el subconjunto más pequeño posible. Este compilador se escribe a mano en otro idioma, probablemente Fortran para ese período de tiempo. Una vez que el compilador escrito a mano funciona, puede proporcionar su código ejecutable desde el compilador escrito en el nuevo lenguaje. Sale un ejecutable que ahora será compilado. Desde allí, puede escribir las características adicionales en el propio idioma. Bootstrapping fue una bendición para los estudiantes de informática porque les proporcionó un compilador funcional que podían alargar y piratear, pero aún así era lo suficientemente pequeño como para comprenderlo.

Pascal era un compilador de una sola pasada, mientras que casi todos los demás lenguajes realizan varias pasadas a través del código o salidas intermedias. Esta recopilación acelerada. Una desventaja fue que no mejoró mucho.

Algún código Pascal:

program ArithFunc;
  const
    Sentinel =0.0;
  var
    X:Real;
begin    
   writeln('After each line enter a real number or 0.0 to stop');
   writeln;
   writeln('X', 'Trunc(x)' :16, 'Round(X)' :10, 'Abs(X)' :10,
           'Sqr(X)' :10, 'Sqrt(Abs(X))' :15); 
   readln (X);
   while X <> Sentinel do
     begin
       writeln (Trunc(X) :17, Round(X) :10, Abs(X) :10:2, 
                 Sqr(x) :10:2, Sqrt(Abs(X)) :10:2);
       readln(X);
     end
end.

Puede ver la conexión de Pascal con lenguajes actuales como C, C ++ y Java, todos derivados de versiones de Algol. Una de las grandes quejas de Pascal es que no usaba el punto y coma lo suficiente. Puedes ver en el ejemplo que no hay punto y coma antes de la final. Hasta que. Otra característica son las palabras clave. empezar y Hasta que bloques de código marcados donde en los lenguajes actuales usamos paréntesis.

Pascal todavía está en uso, habiendo ganado una gran popularidad con la llegada de la computadora. El primer compilador de computadora usó un código UCSD Pascal P, un motor de interpretación muy similar al Java actual. El código P se desarrolló para permitir la migración sencilla del lenguaje a nuevas máquinas, la máquina virtual es más fácil de escribir que un compilador.

El gran auge de Pascal en la computadora fue el lanzamiento de Turbo Pascal (TP) de Borland en 1983. Era barato, por lo que los piratas informáticos podían pagarlo y tenía una herramienta de programación integrada, lo que hoy llamaríamos IDE.

Tengo la intención de usar TP para un uso industrial temprano, si no el primero. Un equipo que dirigí desarrolló el programa de flujo informático basado en Intel 8088, un sistema integrado que se utiliza para medir el flujo en tuberías de gas o líquido. Desarrollé un IDE usando TP, que generó códigos de bits que se descargaron a la computadora de transmisión. El resto del equipo desarrolló el programa informático en ejecución, que incluía un intérprete para los códigos de bytes. El sistema era básicamente Lotus 1-2-3 – Excel para ustedes, jóvenes – para pipelines porque los usuarios finales podían desarrollar su propio código.

Turbo Pascal agregó características de objetos en la década de 1990 y finalmente se transformó en Delphi.

SNOBOL

Se utilizó SNOBOL para procesar texto y símbolos. El nombre realmente no tiene ningún significado, aunque algunos han intentado calzar siglas y escondites. Griswold y otros estaban sentados hablando sobre el nombre, tirando gomas elásticas cuando decidieron que “… no tenían la menor posibilidad de encontrar un nombre”. Acortaron “nieve” y reemplazaron “BOL”, que fue el final de muchos idiomas de la época.

(Las cintas de goma se usaban en los mazos de cartas, por lo que dispararlas era uno de los pasatiempos favoritos de los nerds en ese entonces. Una vez disparé un cigarrillo de los labios de las niñas con una goma. ¡Estaba bien!)

Aquí hay un código para darle una idea del lenguaje:

           OUTPUT = "What is your name?"
           Username = INPUT
           Username "J"                                             :S(LOVE)
           Username "K"                                             :S(HATE)
 MEH       OUTPUT = "Hi, " Username                                 :(END)
 LOVE      OUTPUT = "How nice to meet you, " Username               :(END)
 HATE      OUTPUT = "Oh. It's you, " Username
 END

Como muchos idiomas en ese momento, SNOBOL usó un formato de tarjeta de una sola línea con un letrero especial que permitía continuar con otras tarjetas. El primer campo fue un destino. El campo del medio contenía las declaraciones del programa. El campo más correcto, después de ‘:’, fue prueba y salto.

Las líneas OUTPUT e INPUT son bastante obvias al igual que la tarea. Después de la tarea, hay dos líneas que realizan un patrón para ver si las letras “J” o “K” están en Nombre de usuario. Si aparecen las letras, la línea se realiza correctamente. Con éxito, marcado por el ‘S‘en el campo de prueba, se realiza un salto a la etiqueta de destino. Tú también podríasF‘ail, haz ambas cosas, o simplemente salta, como se muestra en el salto a END en el código.

SNOBOL realizó toda la manipulación de texto que cabría esperar: vinculación, sustitución, extracción, etc. También hizo las operaciones matemáticas habituales.

Era un idioma interesante para jugar; muy fácil de entender y trabajar.

Adelante

Forth es un lenguaje interesante en muchos sentidos. No procedía de la industria informática ni de la universidad. [Chuck Moore] lo desarrolló trabajando con una serie de trabajos, pero se realizó en el Observatorio Nacional de Radioastronomía mediante el desarrollo de sistemas integrados para el observatorio de Kitt Peak. Desde el principio, Forth estaba destinado a ser portátil. Cuándo [Chuck] cambió de trabajo, quería llevar su equipo con él.

Forth es un lenguaje de hilos. En nuestros lenguajes más tradicionales, el código se traduce en una secuencia de códigos de operación de máquinas virtuales o reales. Luego, la máquina recorre los códigos de operación. En el lenguaje de subprocesos, solo las operaciones primitivas se codifican como códigos de operación. En Forth estos primitivos son los básicos palabras del idioma. Todos los demás definido las palabras se basan en las primitivas.

En lugar de códigos de operación, un idioma de hilo almacena la dirección de la palabra. Un interno intérprete en los pasos anteriores a través de esta lista de direcciones. Si la dirección es la de una palabra primitiva, se ejecutan los códigos de operación. Cuando es una palabra definida, el intérprete interno salta a esa secuencia y comienza a recorrer su lista de direcciones. Una palabra al final de una secuencia provoca un retorno a la definición de palabra anterior. El proceso es simple y sorprendentemente rápido. También hace que los lenguajes de subprocesos sean muy portátiles. Una vez que se crean las primitivas y el intérprete interno, Forth casi funciona. Todos los demás idiomas se basan en palabras definidas.

Un externo un intérprete proporciona la interfaz de usuario. Simplemente escribe palabras y se cumplen. Hay palabras que le permiten definir nuevas palabras que se agregan al diccionario. Revisar el código cuando se trabaja en la interfaz de usuario es fácil: simplemente ingrese la definición de la palabra nuevamente. La nueva definición va más allá de la anterior.

Un proceso de compilación pasa por el diccionario seleccionando solo las palabras realmente utilizadas por otras palabras, elimina todas las partes necesarias para el procesamiento interactivo y crea un “binario” que contiene las palabras primitivas y definidas necesarias. Esto, así como la velocidad de ejecución, es una representación sorprendentemente compacta, a menudo más pequeña que el código compilado estándar.

Forth es similar a la calculadora portátil gigante de Hewlett Packard: usa pila y notación polaca inversa (RPN). Para agregar dos números, debe escribir: 2 3 +. Esto empujaría el 2 y el 3 en una pila. La + los mostraría y los agregaría dejando el resultado, 5, en la pila. Si bien puede definir variables, la pila realiza la mayoría de las operaciones.

Aquí hay una definición de la cuarta palabra y un ejemplo de uso para elevar un número al cuadrado:

>: sqr dup *;
> 2 kv.
4
> 3 kv.
9

La definición de la palabra comienza con los dos puntos. El primer signo después de eso es el nombre. ¡Puede ser cualquier cosa! Forth a menudo define algunos números como palabras, porque en realidad es más rápido cargar el valor de una palabra que convertirlo. Si quieres volver loco a alguien, puedes establecer 2 como 1 ingresando “: 2 1; ”.

Continuando con el ejemplo, la palabra dup crea una copia de la parte superior de la pila y el ‘*’ multiplica los dos valores superiores dejando el resultante en la pila. En las lineas donde sqr se usa el ‘.’ imprime la parte superior de la pila y elimina el valor.

Puede probar Forth con un intérprete en línea.

En la época en que las computadoras usaban CPM como sistema operativo, escribí un editor de texto usando Forth. El editor le permitió usar las teclas del cursor, eliminar, insertar, etc. Solo tomó una hora. Mi introducción a Forth fue en el Laboratorio de Energía Láser de la Universidad de Rochester. Forth se utilizó para desarrollar el sistema de control para el gran experimento de fusión láser que llevaron a cabo. Incluso fui a Manhattan Beach, California, a entrenarme en las oficinas de Forth, Inc. La segunda programadora de Forth en el mundo, Elizabeth Rather, fue mi maestra.

Forth todavía se utiliza en aplicaciones aeroespaciales y comerciales.

Sugerí en el artículo de Fortran que alguien creara FortDuino. No puedo hacer la misma sugerencia para En cuarto lugar, porque ya existe en muchas encarnaciones. Además, eso sería bastante fácil. Eso es lo que Forth pretende hacer. Un desafío mayor es PiForth, o ForthPi, que funciona como los sistemas operativos cargados desde la tarjeta SD. Vimos una versión Lisp, entonces, ¿cómo está Forth? Ahora eso sería interesante.

Envoltura

Espero que hayan disfrutado de estos dos artículos, que pasaron por un poco de historia de los lenguajes de programación en mi experiencia personal. Fue divertido recuperar los recuerdos y actualizar los detalles buscando en el sitio. Las relaciones entre idiomas son fascinantes, lo que me recuerda una historia reciente.

El centro de computación de la Universidad de Rochester, por capricho, se ubicó en el sótano de un Holiday Inn en el campus. Jean Sammet, otra de las mujeres famosas en la historia de la informática, organizó una conferencia de ACM en el albergue. Comentó que su sueño se vio perturbado mientras seguía soñando con impresoras de línea por alguna extraña razón. Nadie tuvo el valor de decirle que podrían haber estado justo debajo de su habitación. Recordé esta historia porque uno de los libros de Jean incluía un diagrama del origen del lenguaje de programación similar al diagrama en el enlace de arriba.

  • Reg dice:

    Si juegas con MCU, Mecrisp de Matthias Koch. En su mayor parte es ANS Forth. ¡Muy bien hecho y proporciona un buen entorno de desarrollo nativo incluso en MSP430G2553!

    http://mecrisp.sourceforge.net/

    • Gregkennedy dice:

      Además: si está interesado en Pascal, consulte Lazarus, que es un IDE para FreePascal. Disponible para muchas plataformas, pero compila código nativo para ejecutarse en el destino. En realidad, funciona de manera muy similar a Visual Basic y parece que podría ser un buen reemplazo. Jugando un poco con el idioma, ciertamente puedo entender cómo se convirtió en el “idioma de instrucción” de su tiempo.

      • daveboltman dice:

        Sí, me gusta mucho Free Easter / Lazarus.
        Por supuesto que Object Pascal sigue vivo, como lo llevó a cabo el proyecto Free Pascal / Lazarus y Delphi (http://www.embarcadero.com/products/delphi). Entiendo que Skype se escribió originalmente en Delphi (es decir, un dialecto de Object Pascal), antes de que se comprara por M $, y esa parte del núcleo de Skype todavía existe.
        Turbo Pascal (de donde vino Delphi) ahora es de dominio público y se puede descargar desde un enlace en esta página http://edn.embarcadero.com/article/20803

      • QWERTY dice:

        Lazarus no tiene nada en común con Visual Basic (¡afortunadamente!), Es una implementación casi idéntica de Delphi, que a diferencia del original es de código abierto, funciona en múltiples plataformas y produce código nativo que funciona en múltiples plataformas. Incluso puede ejecutarlo con Rapberry PI.
        http://www.lazarus-ide.org/

        • Gregkennedy dice:

          Lo que quiero decir es que es útil para la creación rápida de prototipos de aplicaciones GUI, porque puedes dibujar botones en la pantalla donde quieras, agregar algunas líneas a una subrutina y funciona. ¡Lo desafortunado de VB es que muchos de esos “prototipos” se han convertido en software de producto!

  • hli dice:

    Pero Dios escribió con código Lisp: https://www.youtube.com/watch?v=5-OjTPj7K54

    • RoGeorge dice:

      Ja, ja, nunca había oído hablar de esto antes, ¡gracias!
      : o)

      • brucesertrat dice:

        Bueno, en papel, dios escribió en LISP pero la mayoría fueron pirateados junto con perl http://xkcd.com/224/ 🙂 Esta es una columna curiosa, muy personal para mí; Griswold fue el primer profesor de informática aquí en la UA (desarrolló ICON, el sucesor de SNOBOL aquí), y Kitt Peak es donde mi padre trabajó durante unos 25 años.

        Además, todavía tengo mis documentos UCSD Pascal y un libro para Apple II aquí.

  • Michel dice:

    Fortran fue el primer lenguaje que usé en los años 70 … Por curiosidad, agarré los manuales de Algol y Cobol para aprender algunos de ellos, pero desafortunadamente nuestro IBM 360 no tenía el compilador instalado … (y por supuesto que estaba muy ocupado calculando cosas importantes, como redes geodésicas …). Cobol me pareció demasiado prolijo, pero Algol muy interesante e inteligente.
    Después de eso, todos aprendimos PL / 1, que fue asombroso y terrible (los errores de puntero siempre están interesados ​​en sus efectos, como un programa que falla solo con algunos datos y muy lejos de la línea defectuosa). ¡Tienes que escribir sobre esto!
    Utilizo un poco a Pascal pero no me gustó su falta de maquillaje (dónde pones el punto y coma: fuente de errores para todos los alumnos que tenemos).
    Me enamoré de Forth porque funcionaba como mi calculadora HP, y se me permitió colocar mi primera computadora personal (en realidad, una placa 6502-dev, donde puede insertar fácilmente los pocos KB de memoria disponibles).

  • Ido Gendel dice:

    Pascal fue mi primer lenguaje “verdadero”, después de BASIC, y todavía lo uso hoy en día para proyectos de hobby (con FPC / Lazarus). Es un idioma hermoso que, lamentablemente, ha caído en desgracia, aunque todavía se está desarrollando y adaptándose a los estándares modernos.

    COBOL Aprendí un poco en la escuela secundaria (creo que se eliminó del plan de estudios uno o dos años después). Esa no fue una experiencia agradable 🙂

  • gmcurrie dice:

    COBOL fue terrible: imagínese un idioma hablado por la oficina de correos …

    • marca dice:

      Acordado. Es el único idioma para el que he tenido una formación formal, pero siempre me he negado a utilizarlo.

  • gmcurrie dice:

    “Diseñado”, por supuesto.

  • Ross Hershberger dice:

    Aprendí APL, COBOL y Pascal (y otros idiomas) en una escuela de negocios a finales de los 70 y principios de los 80. Siempre odié APL y nunca lo puse en mi currículum. Hice una buena carrera en COBOL, CICS, Easytrieve, IBM Assembler y algunas pequeñas cosas desde el ’85 hasta el 2001. Después del Y2K se me acabó y probablemente nunca escribiré otra línea de código.
    Me gustó COBOL porque era muy explícito. La mayoría de los programas comerciales no escriben programas, sino que los leen. Y no importa cuánto tenga prisa o desprecio el autor del programa COBOL, siempre puede averiguar qué está haciendo el problema y solucionarlo. No se puede decir eso de muchos idiomas. Literalmente, sí, pero todas esas palabras tenían un propósito válido.

  • Cadotipo dice:

    En los primeros días tenía una ZX-81 (con solo 1k de memoria). Alguna empresa inglesa inventó EPROM para ser instalado y funcionó completamente multiproceso y en tiempo real. Todavía lo tengo, con trucos y todo.

    • Pedro dice:

      ¿Es este software Skywave? Si es así, yo también lo tenía.

    • Dueto dice:

      mojosa! ¡Me encantaría encontrar un dispositivo así yo mismo!
      ¿Es lo suficientemente simple de construir?

      • Monsonito dice:

        Observo que este tema tiene un año –

        Era ZX ROM Forth de David Husband, tengo una versión ligeramente editada en mi Github, pero el código fuente del Z80 h4th todavía está allí

        Compré la ROM con un amigo en mi primer año en la universidad e inmediatamente la copié en los departamentos de ingeniería de un programador de eprom, algo que no haría hoy;)

        https://github.com/monsonite/Z80_Forth

        Originales

        http://sinclairzxworld.com/viewtopic.php?t=459 Disponible como código postal

        También hay un manual en pdf si lo está buscando.

  • Jock Murphy dice:

    Vale la pena señalar que lo que mató a SNOBOL no fue tanto AWK, PERL y otros; pero es un ícono de idioma descendiente (https://en.wikipedia.org/wiki/Icon_(programming_language) y Unicon.

    Si bien SNOBOL podría usarse como un lenguaje de manipulación de texto de propósito general, en realidad estaba destinado a tareas académicas.

  • joelfinkle dice:

    Hice bastante trabajo en Pascal en la universidad, siempre prefiriéndolo a C, y mi primer trabajo después de la universidad usó VAXen con sus lenguajes BASIC y Pascal, que parecían estar en una vía rápida para convertirse en Bascal o PASIC (muchos operadores de procesadores en cadena agregados a Pascal, que nunca se crearon en C en ese momento, y elementos estructurales del programa agregados a BASIC).

    También compré una Mac original que llegó después de graduarme (me dijeron que nunca volvería a buscar apoyo en el centro de estudiantes). Aparte de los disquetes de $ 50/10 y la ausencia de discos duros en 1984, el otro desafío era la programación, porque Apple quería que usaras Lisa. Examiné muchos compiladores de mierda, la mayoría de los cuales aparecieron en seis meses y nunca duraron lo suficiente como para dar una actualización para las nuevas llamadas del sistema operativo. Uno de ellos es el (ejem) amado Turbo Pascal. Encontré errores en el compilador y necesitaba actualizaciones … pero el partidario dijo: “Vendimos 30.000 y encontramos 60.000 usados, así que dejamos de venderlos”.

    Una de las válvulas de alivio para esto fue el entorno MacForth, que esencialmente sirvió como una línea de montaje de interpretación. Esto funcionó principalmente debido a la pila oriental del 68000: sería mucho más difícil en x86. Después de crear una “palabra” Forth, podría mostrarse como código de máquina … que funcionó maravillosamente como componentes INLINE agregados a Turbo Pascal.

    • Julian Skidmore dice:

      ¡Yay por Forth! Usé PocketForth en Mac 🙂

  • RoGeorge dice:

    Es un placer leer artículos reales y bien documentados, ¡gracias!

    • Rud Merriam dice:

      Gracias.

  • Julian Skidmore dice:

    Genial: ¡La-Tecnologia mencionó a Forth, lo que me da la oportunidad de conectar mi computadora retro de 8 bits basada en DIY Forth: FIGnition (que ha aparecido en La-Tecnologia varias veces)!

    FIGnition lanza una versión de Token Forth, de 8Kb o 32Kb de RAM Serial externa, lo que significa que puede escribir programas más significativos que si usara la SRAM interna del AVR 🙂 Se emite a un televisor que tiene su propio teclado para programación y su Flash El firmware incluye todo el idioma, es completamente autónomo 😀 Admite un búfer de cuadro de mapa de bits completo de 160 × 160 con un bliter simple de 166KPixels / sy puede alcanzar hasta 400Kips de rendimiento Forth 🙂

    Todavía tengo uno en mi stock actual, pero la gente en Europa puede pedirlos a través de RS Components.

  • José dice:

    Todavía recuerdo haber escrito Pascal en mi Color Computer Radio Shack usando el sistema operativo OS9. Piénselo, así es como también aprendí a programar en C.

  • Brad Murray dice:

    Recuerdo que nuestra primera clase de informática en la universidad fue DOS y Assembler. Pasamos horas codificando Assembly para mostrar “Hello World” solo para bloquear el 8088 y tener que carga de 5 y 1/4 unilaterales, que duró para siempre. Es FORTIV para una pasantía en ingeniería de tráfico (sí regulación de tráfico – jejeje). Comencé a usar FORTVII y Pascal cuando comencé a trabajar. Arreglado con Deplhi por un tiempo, muy consternado por mis colegas. Gracias por registrarte! Trajo buenos recuerdos.

  • microgadgethacker dice:

    De hecho, tuve que escribir mucho código PL / 1 durante uno o dos años. Me alegro de haber casi olvidado ese período:)…. Escribí un programa de control de actuador de disco duro con turbo pascal, ¡pero prefiero C / C ++ hoy en día!

  • Jarion dice:

    Gran artículo y un hermoso paseo por la memoria. Comencé a programar en BASIC y Pascal. Swuris que nunca usaré COBOL y pasé 15 años programando en él. Ahora se trata de JavaScript y PHP, pero todavía tengo buenos recuerdos de Pascal.

  • gudenau dice:

    Ah FORTH, el lenguaje elegido para programar las computadoras Red Power 2 en Minecraft.

  • Danjovic dice:

    posdata es un exitoso hijo de Forth

    • t-hueso dice:

      Open Firmware también está Forth.

    • Comedias dice:

      John Warnoch estaba bastante convencido de que nunca había visto a Forth. También siempre fue difícil de creer, ya que él estaba en Mountain View / Palo Alto, el Forth Interest Group (FIG) se reunía públicamente en el área, los primeros juguetes de Atari eran Forth, y así sucesivamente.

      Son of Forth es el Open Firmware / Open Boot de SUN y se usa en las Apple anteriores a Intel; puede ingresar el intérprete de Forth en esas Mac. Creado por Mitch Bradley IIRC. El sucesor más reciente es Device Tree en los nuevos kernels de Linux.

  • neon22 dice:

    Los operadores de división de texto Snobol de IIRC se reviven (ia) en la sintaxis compartida de Python.

  • ROBÓ dice:

    COBOL, Fortran, Pascal … Creo que estábamos lidiando con los años 1870-80

    Realmente extraño esos diagramas de “vías de ferrocarril” para una explicación sintáctica. Por eso es tan fácil de seguir. ¡Ojalá hubiera uno para VHDL!

    La última vez que vi uno de estos fue aquí: http://json.org/ y eso lo dice todo: ¡una página para describir un protocolo completo!

    La otra cosa que echo de menos son los diagramas de circuitos anticuados, donde cada conexión era una línea (o bus) y no solo una etiqueta. Los diagramas analógicos realmente antiguos tenían las líneas dibujadas a una altura aproximada en la página sobre el voltaje de CC.

  • Comedias dice:

    : Antes AMOR SI TOCAS ENTONCES;

    FIG Forth (sonidos de bocina)
    ANS Forth (Silencio)

  • esotérico dice:

    Lo disfruté y aprendí mucho, ¡gracias!

  • Pictografía dice:

    La descripción de SNOBOL realmente no la convierte en la injusticia que se merecía. Los operadores compatibles con plantillas eran muy elaborados, similares al Perl moderno en complejidad pero diferentes. La falta de construcciones de software estructurado como edificios de bucle probablemente lo haya matado más que algunos competidores específicos. Si los operadores compatibles con rama y plantilla condicionales son sus únicas construcciones de control, entonces todo el código es espagueti. SNOBOL fue un desastre interesante. Para ser justos, en ese momento no todos entendieron cuán importante sería la programación estructurada.

    El lenguaje de programación icónico fue un sucesor diseñado por el hijo del prof. Griswold, si mal no recuerdo, pero no creo que todo el mundo tuviera suficiente tracción para desplazar nada. Icon estaba bastante interesado en su apoyo a las corrutinas y los generadores. Recuerdo más sobre Icon cuando programo en Python que sobre SNOBOL.

  • 8a (@ 8a_Dev) dice:

    También podría conectar nuestro derivado de Forth, “8th” (http://8th-dev.com). Su objetivo es el desarrollo seguro y multiplataforma. La licencia es comercial, pero hay una versión gratuita disponible.

  • boz dice:

    En los 80 y principios de los 90, casi todo el mundo aprendió la Pascua en la universidad, pero fue cuesta abajo porque era una basura para el desarrollo de Internet y solo se enfocaba en DOS / Windows32, la caída empeoró después del desastre que fue Delphi 8 y cuando saltó el desarrollador principal. enviar a escribir C # para Microsoft

    Afortunadamente, esos días ya pasaron, aunque de ninguna manera es tan popular, Delphi ahora es bastante sólido y multiplataforma (pero $$$) y el IDE de Lazarus más nuevo es simplemente increíble y superó a Delphi en mi humilde opinión, es un buen ejemplo. de código abierto en acción.

    No veo una razón para cambiar, sin embargo, administro mi propia empresa, así que no tengo que preocuparse por la presión del mercado laboral y un CV actualizado 🙂

  • Cuenta dice:

    ¡Mejor cuidado con OBERON! Oberon es bastante asombroso. Piense en “Pascal muy refinado / compacto”, entre muchos más.
    ¿Notó que el profesor Wirth todavía estaba “en eso”? Sí … Tienes que mirar de cerca lo que “hizo” …

    ProjectOberon.com

    y también eche un vistazo a Astrobe.com, el IDE de Oberon para propósitos de microcontroladores (más la implementación FPGA RISC5 de “núcleo suave” de ProjectOberon)

    ¿O simplemente vaya directamente al sitio web personal del profesor Wirth?

    https://www.inf.ethz.ch/personal/wirth/

    Prepárate para mentir.

  • bandido, Albuquerque dice:

    Me enseñaron FORTH Marc DeGroot y Michael Perry (quien escribió una versión definitiva de F83). El FORTH funcionaba con una pequeña placa incorporada. Esto sucedió en una startup llamada Ono-Sendai. Tuve una de las experiencias más extrañas de mi vida gracias a FORTH. Esto sucedió en 1993

    Tuve que escribir un código C una noche. He estado escribiendo C desde 1978, hace unos 15 años. He estado haciendo FORTH casi exclusivamente durante un año.

    Yo * no podía * pensar en C, solo podía pensar en CUARTO. Tuve que intercambiar específica e intencionalmente el FORTH en mi cerebro, e intercambiar la parte C antes de que pudiera pensar en C. Escribí el CI necesario, luego invertí intencionalmente el proceso para poder pensar en FORTH de nuevo.

    Tomó alrededor de 30 minutos cada vez con intensa concentración para cambiar de idioma. Sin drogas, solo Dr. Pepper y dulces.

  • Vernon Wankerl dice:

    No puedo probar esto, pero pensé que a alguien le gustaría comprobarlo: https://github.com/organix/pijFORTHos
    Dice que es CUARTO en el PI.

    • Rud Merriam dice:

      Un hallazgo interesante. No hay tiempo para comprobarlo ahora. No lo vi cuando lo busqué en línea.

  • Paul McJones dice:

    Me gustó este artículo y el anterior sobre Fortran. Solo tengo una crítica, a su comentario “Pascal fue una rebelión contra Algol 60, que pensó que era demasiado complicado y no útil para el trabajo real”. Creo que realmente quisiste decir que fue una rebelión contra Algol 68, el sucesor oficial de Algol 60. En la conferencia de Wirth Turing, menciona esta separación del grupo que intentó proyectar al sucesor de Algol 60, y dice que él es en el subgrupo. que intentó alargar Algol 60. Tiene razón en que quería simplificarlo de alguna manera, por ejemplo, para reemplazar una llamada con una referencia con una llamada con un nombre.

  • Arleen Tosh dice:

    Hey post, ¡aprendí mucho a través de la comprensión! ¿Alguien sabe si mi asistente podría tomar una plantilla para completar un formulario?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *