stringtranslate.com

Ken Iverson

Kenneth Eugene Iverson (17 de diciembre de 1920 - 19 de octubre de 2004) fue un informático canadiense conocido por el desarrollo del lenguaje de programación APL . Fue honrado con el Premio Turing en 1979 "por su esfuerzo pionero en lenguajes de programación y notación matemática que dio como resultado lo que el campo de la informática ahora conoce como APL; por sus contribuciones a la implementación de sistemas interactivos, a los usos educativos de APL y a la programación". teoría y práctica del lenguaje". [1]

Vida

Ken Iverson nació el 17 de diciembre de 1920 cerca de Camrose , una ciudad en el centro de Alberta , Canadá. [2] Sus padres eran agricultores que llegaron a Alberta desde Dakota del Norte ; sus antepasados ​​vinieron de Trondheim , Noruega . [3]

Durante la Segunda Guerra Mundial , sirvió primero en el ejército canadiense y luego en la Real Fuerza Aérea Canadiense . [3] [4] Recibió una licenciatura de la Queen's University y una maestría en ciencias. y doctorado. títulos de la Universidad de Harvard . En su carrera, trabajó para Harvard , IBM , IP Sharp Associates y Jsoftware Inc. (de soltera Iverson Software Inc.).

Iverson sufrió un derrame cerebral mientras trabajaba frente a la computadora en un nuevo laboratorio J el 16 de octubre de 2004, [5] y murió en Toronto el 19 de octubre de 2004 a los 83 años .

Educación

Iverson comenzó la escuela el 1 de abril de 1926 en una escuela de un solo salón , [4] inicialmente en el Grado 1, promovido al Grado 2 después de 3 meses y al Grado 4 a fines de junio de 1927. Dejó la escuela después del Grado 9 porque era el en lo más profundo de la Gran Depresión y había trabajo que hacer en la granja familiar , y porque pensaba que seguir estudiando sólo le llevaría a convertirse en maestro de escuela y no tenía ningún deseo de serlo. A los 17 años, cuando aún no estaba en la escuela, se matriculó en un curso por correspondencia sobre radios con De Forest Training en Chicago y aprendió cálculo mediante el autoestudio de un libro de texto. [4] [6] Durante la Segunda Guerra Mundial , mientras servía en la Real Fuerza Aérea Canadiense , tomó cursos por correspondencia para obtener un diploma de escuela secundaria.

Después de la guerra, Iverson se matriculó en la Queen's University en Kingston, Ontario , aprovechando el apoyo gubernamental para ex militares y bajo la amenaza de un amigo de la Fuerza Aérea que dijo que "se rompería los sesos si no aprovechaba la oportunidad". [4] Se graduó en 1950 como el mejor estudiante con una licenciatura en matemáticas y física . [3]

Continuando su educación en la Universidad de Harvard , comenzó en el Departamento de Matemáticas y obtuvo una maestría en 1951. Luego pasó al Departamento de Ingeniería y Física Aplicada, trabajando con Howard Aiken y Wassily Leontief .

Kenneth Iverson ha recordado los estudios de posgrado con Aiken como "como un aprendizaje" en el que el estudiante "aprendía las herramientas del oficio de becario". Cada tema fue "utilizado más como un foco para el desarrollo de habilidades como la claridad de pensamiento y expresión que como un fin en sí mismo". Una vez admitido en el programa, un estudiante de posgrado pasaba por un rito de "adopción en el redil". Le dieron un escritorio (o parte de un escritorio) entre un grupo de otros estudiantes graduados, el personal permanente o académicos visitantes, "la mayoría de los cuales estaban involucrados en algún aspecto del diseño y construcción de computadoras". De este modo, un estudiante "se hacía sentir parte de una empresa académica" y se le proporcionaba, "a menudo por primera vez, un acceso fácil e íntimo a otras personas con más experiencia en el campo elegido".

—  I. Bernard Cohen , Howard Aiken: Retrato de un pionero de la informática , MIT Press, 1999, página 215. [7]

Al entrevistar a Aiken, le pregunté si Tropp y yo podríamos ver sus notas de clase; Aiken respondió que siempre había destruido sus apuntes de las conferencias al final de cada año, para no sentir la tentación de repetirlas.

—  I. Bernard Cohen y Gregory W. Welch, editores, Makin' Numbers , MIT Press, 1999, página xvi. [8]

Howard Aiken había desarrollado el Harvard Mark I , uno de los primeros ordenadores digitales a gran escala, mientras que Wassily Leontief era un economista que estaba desarrollando el modelo de análisis económico input-output, trabajo por el que más tarde recibiría el premio Nobel . El modelo de Leontief requería matrices grandes e Iverson trabajó en programas que podían evaluar estas matrices en la computadora Harvard Mark IV . Iverson recibió un doctorado. en matemáticas aplicadas en 1954 con una disertación basada en este trabajo. [9] [10]

En Harvard, Iverson conoció a Eoin Whitney, dos veces becario Putnam y compañero de posgrado de Alberta. [11] [12] Esto tuvo ramificaciones futuras.

Trabajar

Harvard (1955-1960)

Algoritmo simplex en notación Iverson [13] [14]

Iverson permaneció en Harvard como profesor asistente para implementar el primer programa de posgrado del mundo en "procesamiento automático de datos". [15] [16] [17]

Mucha gente piensa que a Aiken sólo le interesaban los ordenadores científicos . Esto simplemente no fue así. Durante una hora de café, Aiken se volvió hacia Ken Iverson, que acababa de terminar su doctorado, y le dijo: "Estas máquinas van a ser inmensamente importantes para los negocios, y quiero que prepares e impartas un curso sobre procesamiento de datos empresariales". el próximo otoño." Nunca ha habido un curso semejante en ningún lugar del mundo. Ken estaba calificado sólo porque era matemático. Me entusiasmó tanto la perspectiva que inmediatamente me ofrecí como voluntario para ser el asistente de enseñanza graduado de Ken.

—  Frederick Brooks Jr. , Aiken y el "Comp Lab" de Harvard, en I. Bernard Cohen y Gregory W. Welch, editores, Makin' Numbers , MIT Press, 1999, página 141. [8]

Fue en este período que Iverson desarrolló la notación para describir y analizar diversos temas en el procesamiento de datos, para impartir clases y para escribir (con Brooks) Procesamiento automático de datos . [18] Quedó "horrorizado" al descubrir que la notación matemática convencional no cubría sus necesidades y comenzó a trabajar en extensiones de la notación que eran más adecuadas. En particular, adoptó el álgebra matricial utilizada en su trabajo de tesis, el uso sistemático de matrices y matrices de dimensiones superiores en el análisis de tensores , y operadores en el sentido de Heaviside en su tratamiento de las ecuaciones de Maxwell , funciones de orden superior en argumentos de función ( s) con un resultado de función. [4] La notación también fue probada en el mundo de los negocios en 1957 durante un año sabático de seis meses en McKinsey & Company . [4] [19] El primer artículo publicado que utilizó la notación fue La descripción de procesos secuenciales finitos , inicialmente el Informe número 23 para los Laboratorios Bell y luego revisado y presentado en el Cuarto Simposio de Londres sobre Teoría de la Información en agosto de 1960. [13] [20 ]

Iverson permaneció en Harvard durante cinco años, pero no consiguió la titularidad porque "[no había] publicado nada más que un pequeño libro". [3]

IBM (1960-1980)

Iverson se unió a IBM Research en 1960 (y duplicó su salario). [4] Fred Brooks le precedió en IBM , quien le aconsejó que "se apegara a lo que [él] realmente quisiera hacer, porque la gerencia estaba tan hambrienta de ideas que cualquier cosa que no fuera claramente una locura encontraría apoyo". En particular, se le permitió terminar y publicar Un lenguaje de programación [20] [21] y (con Brooks) Procesamiento automático de datos , [18] dos libros que describían y utilizaban la notación desarrollada en Harvard. ( El procesamiento automático de datos y un lenguaje de programación comenzaron como un solo libro "pero el material creció tanto en magnitud como en nivel hasta que resultó prudente separarlo". [18] [21] )

En IBM, Iverson pronto conoció a Adin Falkoff y trabajaron juntos durante los siguientes veinte años. El capítulo 2 de Un lenguaje de programación utilizó la notación de Iverson para describir la computadora IBM 7090 . [20] [21] A principios de 1963, Falkoff, al que más tarde se unieron Iverson y Ed Sussenguth , procedió a utilizar la notación para producir una descripción formal de la computadora IBM System/360 que entonces estaba bajo diseño. [22] El resultado se publicó en 1964 en una edición doble del IBM Systems Journal, [23] conocido en adelante como el "libro gris" o "manual gris". El libro se utilizó en un curso sobre diseño de sistemas informáticos en el IBM Systems Research Institute. [23] Una consecuencia de la descripción formal fue que atrajo el interés de mentes jóvenes brillantes. [4] [24] Un foco de interés fue la Universidad de Stanford , que incluía a Larry Breed , Phil Abrams , Roger Moore , Charles Brenner , [25] y Mike Jenkins, [26] [27] quienes más tarde hicieron contribuciones a APL. Donald McIntyre, jefe de geología de Pomona College , que tuvo la primera instalación general de un sistema 360 para un cliente, utilizó la descripción formal para volverse más experto que el ingeniero de sistemas de IBM asignado a Pomona. [4] [28]

Una vez completada la descripción formal, Falkoff e Iverson centraron su atención en la implementación. Este trabajo se hizo realidad rápidamente en 1965, cuando Larry Breed y Phil Abrams se unieron al proyecto. Produjeron una implementación basada en FORTRAN en el 7090 llamada IVSYS (para el sistema Iverson) en el otoño de 1965, primero en modo por lotes y luego, a principios de 1966, en modo interactivo de tiempo compartido. [25] [29] [30] Posteriormente, Breed, Dick Lathwell (ex Universidad de Alberta ) y Roger Moore (de IP Sharp Associates ) produjeron la implementación System/360; [31] los tres recibieron el premio Grace Murray Hopper en 1973 "por su trabajo en el diseño e implementación de APL\360, estableciendo nuevos estándares en simplicidad, eficiencia, confiabilidad y tiempo de respuesta para sistemas interactivos". [32] Mientras el trabajo de implementación de 360 ​​estaba en marcha, Falkoff cambió el nombre de la "notación Iverson" [30] [33] a "APL". [34] El espacio de trabajo "1 espacio limpio" se guardó el 27 de noviembre de 1966 a las 22.53.58 UTC . [24] El servicio APL\360 comenzó dentro de IBM varias semanas antes [35] y fuera de IBM en 1968. [29] Puede encontrar información adicional sobre la implementación de APL\360 en los Agradecimientos del Manual del usuario de APL\360 [36 ] y en "Apéndice. Cronología del desarrollo de APL" de El diseño de APL . [22]

Expresión APL para la profundidad del anidamiento de paréntesis [37] [38]

La descripción formal y especialmente la implementación impulsó la evolución del lenguaje, un proceso de consolidación y regularización en tipografía, linealización, sintaxis y definición de funciones descrito en APL\360 History , [39] The Design of APL , [22] y The Evolución de APL . [19] Dos tratados de este período, Convenciones que rigen el orden de evaluación [40] y Álgebra como lenguaje , [41] son ​​apologías de la notación APL.

Falkoff e Iverson utilizaron la notación para enseñar diversos temas en varias universidades y en el IBM Systems Research Institute. [22] [39] En 1964, Iverson utilizó la notación en un curso de un semestre para estudiantes de último año en Fox Lane High School , [34] [42] y más tarde en Swarthmore High School . [4] Después de que APL estuvo disponible, su primera aplicación fue enseñar métodos formales en el diseño de sistemas en el Goddard de la NASA . [39] [43] También se utilizó en la escuela Hotchkiss , [25] Lower Canada College , [44] Scotch Plains High School , [45] escuelas públicas de Atlanta, [46] [47] entre otras. En una escuela, los estudiantes se pusieron tan ansiosos que irrumpieron en la escuela fuera de horario para tener más tiempo con la computadora APL; [24] [48] en otro, los entusiastas de APL dirigieron a los novatos a BASIC para maximizar su propio tiempo de APL. [25]

En 1969, Iverson y el grupo APL inauguraron el Centro Científico IBM Filadelfia. [29] [39] En 1970 fue nombrado miembro de IBM . [49] Utilizó los fondos que le proporcionaba ser miembro de IBM para traer profesores visitantes y profesores de diversos campos, incluido Donald McIntyre de Pomona [28] y Jeff Shallit como estudiante de verano. [24] Durante un período de varios meses, los visitantes comenzarían a usar APL para exposiciones en sus propios campos, y la esperanza era que más tarde continuarían usando APL en sus instituciones de origen. [50] El trabajo de Iverson en este momento se centró en varias disciplinas, incluidos proyectos colaborativos en teoría de circuitos, genética, geología y cálculo. [51] [52] [53] [54] Cuando el PSC cerró en 1974, [29] [34] algunos miembros del grupo se trasladaron a California, mientras que otros, incluido Iverson, permanecieron en el Este y luego se transfirieron nuevamente a IBM Research. Recibió el Premio Turing en 1979. [1]

(De izquierda a derecha) Dick Lathwell, Ken Iverson, Roger Moore, Adin Falkoff, Phil Abrams y Larry Breed. En el extremo izquierdo, al fondo: Jon McGrew. Tomada en la suite de hospitalidad de IP Sharp Associates durante la reunión de usuarios de APL de 1978 en Toronto, Ontario.

La siguiente tabla enumera las publicaciones de las que Iverson fue autor o coautor mientras estuvo en IBM. Reflejan las dos vertientes principales de su trabajo.

Educación
Diseño e implementación del lenguaje.

Asociados de IP Sharp (1980-1987)

Operador de rango APL ⍤ [77] [78]

En 1980, Iverson dejó IBM por IP Sharp Associates , [79] [80] una empresa de tiempo compartido de APL . Allí lo precedieron sus colegas de IBM Paul Berry, Joey Tuttle, Dick Lathwell y Eugene McDonnell . En IPSA, el grupo de sistemas y lenguaje APL estaba dirigido por Eric Iverson (hijo de Ken Iverson); Roger Moore , uno de los implementadores de APL\360, fue vicepresidente.

Iverson trabajó para desarrollar y ampliar APL según las líneas presentadas en Operadores y Funciones . [73] [81] El trabajo lingüístico ganó impulso en 1981 cuando Arthur Whitney e Iverson produjeron un modelo de APL escrito en APL [82] [83] al mismo tiempo que trabajaban en la base de datos OAG de IPSA . [3] [12] [84] (Iverson presentó a Arthur Whitney, hijo de Eoin Whitney, a APL cuando tenía 11 años [12] y en 1974 lo recomendó para un puesto de estudiante de verano en IPSA Calgary . [24] ) En el modelo, la sintaxis de APL estaba controlada por una tabla de 11 por 5. Whitney también inventó el operador de rango en el proceso. [85] El diseño del lenguaje se simplificó y amplió aún más en APL racionalizado [86] en enero de 1983, múltiples ediciones de A Dictionary of the APL Language entre 1984 y 1987, y A Dictionary of APL [87] en septiembre de 1987. Dentro de IPSA, La frase "diccionario APL" entró en uso para indicar la APL especificada por A Dictionary of APL , a su vez denominado "el diccionario". En el diccionario, la sintaxis APL está controlada por una tabla de 9 por 6 y el proceso de análisis se describió de manera precisa y sucinta en la Tabla 2, y hay una primitiva (monádica ⊥, modelada en APL) para la formación de palabras ( lexing ).

En las décadas de 1970 y 1980, los principales proveedores de APL eran IBM , STSC e IPSA , y los tres participaban activamente en el desarrollo y ampliación del lenguaje. IBM tenía APL2, basado en el trabajo de Jim Brown . [88] [89] [90] El trabajo en APL2 se desarrolló de forma intermitente durante 15 años, [29] y la codificación real comenzó en 1971 y APL2 estuvo disponible como IUP (programa de usuario instalado, una clasificación de productos de IBM) en 1982. STSC tenía un Sistema APL experimental llamado NARS, diseñado e implementado por Bob Smith. [91] [92] NARS y APL2 diferían en aspectos fundamentales del diccionario APL, [93] y diferían entre sí.

IP Sharp implementó las nuevas ideas de APL en etapas: números complejos, [94] matrices cerradas (en cajas), operadores de coincidencia y composición en 1981, [95] el operador determinante en 1982, [96] y el operador de rango, enlace y las funciones de identidad izquierda y derecha en 1983. [97] Sin embargo, los dominios de los operadores todavía estaban restringidos a las funciones primitivas o subconjuntos de las mismas. En 1986, IPSA desarrolló SAX, [77] [98] SHARP APL/Unix, escrito en C y basado en una implementación de STSC . El idioma era el especificado en el diccionario sin restricciones en los dominios de los operadores. Una versión alfa de SAX estuvo disponible en IP Sharp alrededor de diciembre de 1986 o principios de 1987.

En educación, Iverson desarrolló un minicurso A SHARP APL [99] [100] utilizado para enseñar a los clientes de IPSA en el uso de APL, y Matemáticas Aplicadas para Programadores [101] y Matemáticas y Programación [102] que se utilizaron en cursos de informática en TH. Twente .

Ken Iverson y Arthur Whitney, 1989

Publicaciones de las que Iverson fue autor o coautor mientras estuvo en IP Sharp Associates :

Educación
Diseño e implementación del lenguaje.

Software J (1990-2004)

J verbo tácito para coeficientes binomiales [37] [109]
Cálculo equivalente de Dyalog APL [110]

Iverson se retiró de IP Sharp Associates en 1987. Se mantuvo ocupado mientras estaba "entre trabajos". En cuanto al diseño de lenguajes, la más significativa de sus actividades en este período fue la invención del "fork" en 1988. [111] Durante años, había luchado por encontrar una manera de escribir f+g como en cálculo, a partir de los "operadores escalares " en 1978, [73] a través del operador "til" en 1982, [82] [86] los operadores de catenación y remodelación en 1984, [106] los operadores de unión e intersección en 1987, [87] "yoke" en 1988, [112] y finalmente bifurcaciones en 1988. Las bifurcaciones se definen de la siguiente manera:

Además, (fgpqr) ←→ (fg (pqr)). Por lo tanto, para escribir f+g como en cálculo, se puede escribir f+g en APL. Iverson y Eugene McDonnell resolvieron los detalles de los largos viajes en avión hasta la conferencia APL88 en Sydney, Australia, y a Iverson se le ocurrió la idea inicial de despertarse de una siesta. [85] [113] [81] : §1.3, §3.8 

Iverson presentó la justificación de su trabajo posterior a 1987 de la siguiente manera: [16]

Cuando me retiré del empleo remunerado, volví mi atención a este asunto [el uso de APL para la enseñanza] y pronto concluí que la herramienta esencial requerida era un dialecto de APL que:

• Está disponible como "shareware" y es lo suficientemente económico para que lo adquieran tanto los estudiantes como las escuelas.
• Se puede imprimir en impresoras estándar
• Se ejecuta en una amplia variedad de computadoras
• Proporciona la simplicidad y la generalidad de las últimas ideas en APL.

El resultado ha sido J , informado por primera vez en [las actas de la conferencia APL 90 ]. [114]

Roger Hui describió el impulso final que hizo que J comenzara en el Apéndice A de Una implementación de J : [115]

Un fin de semana de verano de 1989, Arthur Whitney visitó a Ken Iverson en Kiln Farm y produjo, en una página y en una tarde, un fragmento de intérprete en la computadora AT&T 3B1 . Estudié a este intérprete durante aproximadamente una semana por su organización y estilo de programación; y el domingo 27 de agosto de 1989, aproximadamente a las cuatro de la tarde, escribió la primera línea de código que se convirtió en la implementación descrita en este documento. El fragmento del intérprete de una página de Arthur es el siguiente: ...

Hui, un compañero de clase de Whitney en la Universidad de Alberta , había estudiado Un diccionario del lenguaje APL cuando estaba entre trabajos, [4] modeló el proceso de análisis de al menos dos maneras diferentes, [85] e investigó los usos del diccionario APL en diversas aplicaciones. [116] Además, desde enero de 1987 hasta agosto de 1989 tuvo acceso a SAX, [77] y en la última parte de ese período lo utilizó a diario. [85]

J inicialmente tomó A Dictionary of APL [87] como especificación, y el intérprete J se construyó alrededor de la Tabla 2 del diccionario. Las estructuras de datos y programas de C se diseñaron de modo que la tabla de análisis en C correspondiera directamente a la tabla de análisis del diccionario. [85] En retrospectiva, el artículo APL87 de Iverson, APL87 , [107] en cinco páginas, prescribe todos los pasos esenciales para escribir un intérprete de APL, en particular las secciones sobre formación y análisis de palabras. Arthur Whitney , además de "lo de una sola página", contribuyó al desarrollo de J sugiriendo que las primitivas se orienten en el eje principal, que la concordancia (una generalización de la extensión escalar) debería ser un prefijo en lugar de un sufijo, [117] y que Se definirá un orden total de la matriz. [118]

Uno de los objetivos era implementar fork. Esto resultó ser bastante sencillo, mediante la inclusión de una fila adicional en la tabla de análisis. La elección de implementar bifurcaciones fue fortuita y afortunada. Solo más tarde se comprendió [119] [120] que los forks completaban las expresiones tácitas (expresiones de operador) en el siguiente sentido: cualquier oración que involucre uno o dos argumentos que no usaran sus argumentos como operandos, se puede escribir tácitamente con fork, componer, las funciones de identidad izquierda y derecha, y funciones constantes.

Dos diferencias obvias entre J y otros dialectos de APL son: (a) su uso de términos de lenguajes naturales en lugar de matemáticas o informática (la práctica comenzó con A Dictionary of APL ): sustantivo, verbo, adverbios, alfabeto, formación de palabras, oración, ... en lugar de matriz, función, operador, juego de caracteres, lexing, expresión, ...; y (b) su uso de caracteres ASCII de 7 bits en lugar de símbolos especiales. Otras diferencias entre J y APL se describen en J para el programador APL [121] y APL y J. [122]

El código fuente J está disponible en Jsoftware bajo la Licencia Pública General GNU versión 3 (GPL3), o una alternativa comercial. [123]

Eric Iverson fundó Iverson Software Inc. en febrero de 1990 para proporcionar un producto SHARP APL/PC mejorado. Rápidamente se hizo evidente que había intereses y objetivos compartidos, y en mayo de 1990 Iverson y Hui se unieron a Iverson Software Inc.; Más tarde se unió Chris Burke. La empresa pronto se convirtió únicamente en J. El nombre se cambió a Jsoftware Inc. en abril de 2000. [85]

Ken Iverson (derecha) y Roger Hui, 1996

Publicaciones de las que Iverson fue autor o coautor mientras estuvo en Iverson Software Inc. y Jsoftware Inc.:

Educación
Diseño e implementación del lenguaje.

Premios y honores

Ver también

Referencias

  1. ^ abcde Iverson, Kenneth E. (agosto de 1980). "La notación como herramienta de pensamiento". Comunicaciones de la ACM . 23 (8): 444–465. doi : 10.1145/358896.358899 . Consultado el 8 de abril de 2016 .
  2. ^ ab Campbell-Kelly, Martin (16 de noviembre de 2004). "Kenneth Iverson". El independiente . Consultado el 15 de diciembre de 2022 .
  3. ^ abcde Hui, Roger , ed. (30 de septiembre de 2005), Citas y anécdotas de Ken Iverson , consultado el 12 de febrero de 2019
  4. ^ abcdefghijk Iverson, Kenneth E.; McIntyre, Donald E. (2008), Kenneth E. Iverson (Autobiografía) , consultado el 8 de abril de 2016
  5. ^ Iverson, Eric B. (21 de octubre de 2004), Dr. Kenneth E. Iverson (mensaje del Foro J), archivado desde el original el 25 de enero de 2020 , recuperado 8 de abril 2016
  6. ^ Marzo, Herman W.; Wolff, Henry C. (1917). Cálculo. McGraw-Hill.
  7. ^ Cohen, I. Bernard (1999). Howard Aiken: retrato de un pionero de la informática . Prensa del MIT. ISBN 978-0-262-03262-9.
  8. ^ ab Cohen, I. Bernard ; Welch, Gregory W., eds. (1999). Haciendo números . Prensa del MIT. ISBN 978-0-262-03263-6.
  9. ^ Iverson, Kenneth E. (1954). Soluciones mecánicas de ecuaciones diferenciales lineales: aplicaciones a un modelo económico dinámico (tesis doctoral). Universidad Harvard . Consultado el 7 de abril de 2016 .
  10. ^ Hui, Roger (agosto de 2012), "MSLDE", Ensayo Jwiki , consultado el 22 de abril de 2016
  11. ^ Whitney, Arthur (agosto de 2006), "Memories of Ken", Vector , 22 (3) , recuperado 25 de abril 2016
  12. ^ abc Cantrill, Bryan (febrero de 2009). "Una conversación con Arthur Whitney". Cola ACM . 7 (2) . Consultado el 7 de abril de 2016 .
  13. ^ ab Iverson, Kenneth E. (agosto de 1960), "La descripción de procesos secuenciales finitos", Simposio sobre teoría de la información , Royal Institution, Londres , consultado el 9 de abril de 2016
  14. ^ Montalbano, Michael S. (octubre de 1982), Una historia personal de APL , consultado el 10 de abril de 2016
  15. ^ Iverson, Kenneth E. (junio de 1954). Jacobson, Arvid W. (ed.). "Instrucción e Investigación de Posgrado". Actas de la Primera Conferencia sobre formación de personal para el campo de las máquinas informáticas . Universidad Estatal de Wayne . Consultado el 9 de abril de 2016 .
  16. ^ abc Iverson, Kenneth E. (diciembre de 1991). "Una visión personal de APL". Revista de sistemas IBM . 30 (4): 582–593. doi :10.1147/sj.304.0582 . Consultado el 9 de abril de 2016 .
  17. ^ Brooks, Frederick P. (agosto de 2006). "El lenguaje, la mente y el hombre". Vector . 22 (3). doi : 10.1111/mila.2007.22.issue-3. Archivado desde el original el 17 de marzo de 2018 . Consultado el 16 de marzo de 2018 .
  18. ^ abcd Brooks Jr., Frederick P .; Iverson, Kenneth E. (1963). Procesamiento Automático de Datos . Wiley. ISBN 978-0-471-10599-2.
  19. ^ abc Falkoff, Adin D .; Iverson, Kenneth E. (agosto de 1978). "La evolución de APL". Avisos ACM SIGPLAN . 13 (8): 47–57. doi : 10.1145/960118.808372 . S2CID  6050177 . Consultado el 9 de abril de 2016 .
  20. ^ abc Iverson, Kenneth E. (14 de diciembre de 1983), Carta a JK Tuttle , consultado el 16 de abril de 2016
  21. ^ abcd Iverson, Kenneth E. (1962). Un lenguaje de programación. John Wiley e hijos. ISBN 978-0-471-43014-8. Consultado el 9 de abril de 2016 .
  22. ^ abcde Falkoff, Adin D .; Iverson, Kenneth E. (julio de 1973). "El diseño de APL". Revista IBM de investigación y desarrollo . 17 (4): 324–334. doi : 10.1147/rd.174.0324 . Consultado el 9 de abril de 2016 .
  23. ^ abc Falkoff, Adin D .; Iverson, Kenneth E.; Sussenguth, Edward H. (1964). "Una descripción formal de System/360" (PDF) . Revista de sistemas IBM . 3 (3): 198–261. doi :10.1147/sj.32.0198. Archivado desde el original el 13 de agosto de 2006.{{cite journal}}: CS1 maint: bot: original URL status unknown (link)
  24. ^ abcde Hui, Roger , ed. (septiembre de 2010), Citas y anécdotas de APL, archivado desde el original el 5 de julio de 2018 , recuperado 9 de abril 2016
  25. ^ abcd Breed, Larry (agosto de 2006). "Cómo llegamos a APL\1130". Vector . 22 (3). Archivado desde el original el 18 de marzo de 2016 . Consultado el 13 de abril de 2016 .
  26. ^ Jenkins, Michael A. (junio de 1970), "La solución de sistemas lineales de ecuaciones y problemas de mínimos cuadrados lineales en APL", Informe técnico número 320-2989 , IBM Corp.
  27. ^ Jenkins, Michael A. (10 de febrero de 1972), "Domino: una función primitiva de APL para Matrix Inverse: su implementación y aplicaciones", APL Quote Quad , 3 (4)
  28. ^ ab McIntyre, Donald B. (agosto de 2006), "Un tributo a Ken Iverson", Vector , 22 (3) , recuperado 25 de abril 2016
  29. ^ abcde Falkoff, Adin D. (diciembre de 1991). "La familia IBM de sistemas APL". Revista de sistemas IBM . 30 (4): 416–432. doi :10.1147/sj.304.0416.
  30. ^ ab Abrams, Philip S. (17 de agosto de 1966), "An Interpreter for" Iverson Notation"" (PDF) , Informe técnico: CS-TR-66-47 , Departamento de Ciencias de la Computación, Universidad de Stanford , consultado el 17 de abril de 2016
  31. ^ Falkoff, Adin D .; Iverson, Kenneth E. (16 de octubre de 1967), "The APL\360 Terminal System", Research Report RC-1922 , IBM , consultado el 9 de abril de 2016
  32. ^ Premio ACM Grace Murray Hopper (1973): Breed, Lathwell y Moore; Consultado el 14 de abril de 2016.
  33. ^ Horvath, Robert W. (agosto de 1966). Introducción a la notación Iverson . División de Desarrollo de Sistemas IBM, Poughkeepsie, Nueva York.
  34. ^ abc McDonnell, Eugene , ed. (1981), Un libro de consulta en APL, Introducción, APL Press , consultado el 19 de abril de 2016
  35. ^ Breed, Larry (septiembre de 1991), "La primera sesión terminal de APL", APL Quote Quad , 22 (1): 2–4, doi : 10.1145/138094.140933 , S2CID  43138444
  36. ^ ab Falkoff, Adin D .; Iverson, Kenneth E. (1968). Manual de usuario de APL\360 (PDF) . IBM . Consultado el 11 de abril de 2016 .
  37. ^ ab Hui, Roger (11 de octubre de 2014), Dieciséis aperitivos APL , consultado el 12 de abril de 2016
  38. ^ Perlis, Alan J. (29 de marzo de 1978), "Los artefactos casi perfectos mejoran solo en pequeños aspectos: APL es más francés que inglés", Actas de la conferencia APL 78 , consultado el 12 de abril de 2016
  39. ^ abcd Falkoff, Adin D. (julio de 1969), "APL\360 History", Actas de la conferencia de usuarios de APL en SUNY Binghamton , consultado el 9 de abril de 2016
  40. ^ Iverson, Kenneth E. (1966), Convenciones que rigen el orden de evaluación (Apéndice A de funciones elementales: un tratamiento algorítmico), Science Research Associates , consultado el 16 de abril de 2016
  41. ^ Iverson, Kenneth E. (1972), Álgebra como lenguaje (Apéndice A de Álgebra: un tratamiento algorítmico), Addison-Wesley , consultado el 16 de abril de 2016
  42. ^ ab Iverson, Kenneth E. (marzo de 1966). Funciones elementales: un tratamiento algorítmico . Asociados de investigación científica.
  43. ^ McDonnell, Eugene (diciembre de 1979), "The Socio-Technical Beginnings of APL", APL Quote Quad , 10 (2): 13, doi : 10.1145/586148.586155 , S2CID  18025422 , recuperado 24 de abril 2016
  44. ^ Goldsmith, Leslie H., Hui, Roger (ed.), APL Quotations and Anecdotes, archivado desde el original el 5 de julio de 2018 , recuperado 13 de abril 2016
  45. ^ McDonnell, Eugene (septiembre de 1980). "APL recreativo, piramigrama". Cuádruple de cotizaciones de APL . 11 (1) . Consultado el 13 de abril de 2016 .
  46. ^ "APL en las escuelas públicas de Atlanta", SHARE*APL\360 Newsletter (3), octubre de 1969
  47. ^ APL IV: Cuarta Conferencia Internacional APL, junio de 1972 , consultado el 29 de abril de 2016
  48. ^ Biancuzzi, Federico; Guardián, Shane (marzo de 2009). Mentes maestras de la programación. Medios O'Reilly. Archivado desde el original el 5 de julio de 2018 . Consultado el 13 de abril de 2016 .
  49. ^ abc "Iverson recibe el premio Harry Goode". Cuádruple de cotizaciones de APL . 6 (2). Junio ​​de 1975 . Consultado el 8 de abril de 2016 .
  50. ^ Berry, Paul (agosto de 2006), "Programación expositiva", Vector , 22 (3) , recuperado 25 de abril 2015
  51. ^ Baya, Paul; Bartoli, G.; Dell'Aquila, C.; Spadavecchia, V. (marzo de 1973). "APL e información". TR N° CRB 002/513-3502 . IBM Corp.
  52. ^ Spence, Robert (marzo de 1973). Teoría de circuitos resistivos . IBM.
  53. ^ Orth, Donald L. (1976). Cálculo en una nueva clave . Prensa APL. ISBN 978-0-917326-05-9.
  54. ^ Baya, Paul; Thorstensen, John (1973). "Mapa estelar". TR N° 02.665 . IBM Corp.
  55. ^ Iverson, Kenneth E. (1969), El uso de APL en la enseñanza, IBM Pub. No. G320-0996 , consultado el 15 de abril de 2016.
  56. ^ Baya, Paul; Falkoff, Adin D .; Iverson, Kenneth E. (24 de agosto de 1970). "Usar la computadora para calcular: un enfoque directo pero descuidado para la enseñanza de matemáticas". Conferencia mundial IFIP sobre educación informática .
  57. ^ Iverson, Kenneth E. (1972), Álgebra: un tratamiento algorítmico , Addison-Wesley
  58. ^ Iverson, Kenneth E. (enero de 1972), "APL in Exposition" (PDF) , Informe técnico número RC 320-3010 , IBM Philadelphia Scientific Center , consultado el 9 de abril de 2016
  59. ^ Iverson, Kenneth E. (marzo de 1973), "Una introducción a APL para científicos e ingenieros", Informe técnico número RC 320-3019 , IBM Philadelphia Scientific Center , consultado el 9 de abril de 2016
  60. ^ Iverson, Kenneth E. (julio de 1972), "Presentación de APL a los profesores", Informe técnico número RC 320-3014 , IBM Philadelphia Scientific Center , consultado el 9 de abril de 2016
  61. ^ Iverson, Kenneth E. (1976), Análisis elemental , APL Press
  62. ^ Iverson, Kenneth E. (septiembre de 1978). "Estilo de programación en APL". Actas de una reunión de usuarios de APL . Asociados de IP Sharp . Consultado el 9 de abril de 2016 .
  63. ^ Iverson, Kenneth E. (mayo de 1962). "Un lenguaje de programación". Actas de la conferencia informática conjunta de primavera de AFIPS, San Francisco . Consultado el 13 de abril de 2016 .
  64. ^ Iverson, Kenneth E. (diciembre de 1962). "Un lenguaje común para hardware, software y aplicaciones". Actas de la conferencia informática conjunta de otoño de AFIPS, Filadelfia . Consultado el 13 de abril de 2016 .
  65. ^ Iverson, Kenneth E. (junio de 1963). "Notación de programación en diseño de sistemas". Revista de sistemas IBM . 2 (2): 117–128. doi :10.1147/sj.22.0117 . Consultado el 13 de abril de 2016 .
  66. ^ Iverson, Kenneth E. (febrero de 1964). "Formalismo en lenguajes de programación". Comunicaciones de la ACM . 7 (2): 80–88. doi : 10.1145/363921.363933 . S2CID  14145756 . Consultado el 13 de abril de 2016 .
  67. ^ Iverson, Kenneth E. (octubre de 1964). "Un método de especificación de sintaxis". Comunicaciones de la ACM . 7 (10): 588–589. doi :10.1145/364888.364969. S2CID  194665.
  68. ^ Falkoff, Adin D .; Iverson, Kenneth E. (mayo de 1973). "Comunicación en Sistemas APL". Informe Técnico 320-3022 . Centro científico IBM Filadelfia.
  69. ^ Iverson, Kenneth E. (1973). APL como notación analítica . Centro científico IBM Filadelfia.
  70. ^ Falkoff, Adin D .; Iverson, Kenneth E. (1973). «Manual de usuario de APLSV» (PDF) . Sh20-1460 . Centro científico IBM Filadelfia . Consultado el 16 de abril de 2016 .
  71. ^ Falkoff, Adin D .; Iverson, Kenneth E. (marzo de 1975). Idioma APL (formulario n.º GC26-3847) (PDF) . IBM.
  72. ^ Iverson, Kenneth E. (septiembre de 1976), "Dos operadores combinatorios", Actas de la conferencia APL 76 : 233–237, doi :10.1145/800114.803681, S2CID  20408139
  73. ^ abc Iverson, Kenneth E. (26 de abril de 1978), "Operadores y funciones", Informe de investigación n.º RC7091 , IBM , consultado el 9 de abril de 2016
  74. ^ Iverson, Kenneth E. (junio de 1979), "El papel de los operadores en APL", Actas de la conferencia APL 79 , consultado el 10 de abril de 2016
  75. ^ Iverson, Kenneth E. (junio de 1979), "El operador de derivados", Actas de la conferencia APL 79
  76. ^ Iverson, Kenneth E. (octubre de 1979). "Operadores". Transacciones ACM sobre lenguajes y sistemas de programación . 1 (2): 161–176. doi : 10.1145/357073.357074 .
  77. ^ abc Steinbrook, David H. (1986). Referencia SAX . Asociados de IP Sharp .
  78. ^ Hui, Roger (agosto de 2010). "De media". Vector . 22 (4) . Consultado el 12 de abril de 2016 .
  79. ^ IPSA (enero de 1980). "Dr. Kenneth E. Iverson" (PDF) . El boletín de IP Sharp . 8 (1) . Consultado el 8 de agosto de 2019 .
  80. ^ Hui, Roger , ed. (14 de mayo de 2009), Citas y anécdotas de Eugene McDonnell , consultado el 5 de abril de 2016
  81. ^ ab Hui, Roger; Kromberg, Morten (junio de 2020). "APL desde 1978". Actas de la ACM sobre lenguajes de programación . 4 (HOPL): 1–108. doi : 10.1145/3386319 . S2CID  218517570.
  82. ^ abc Iverson, Kenneth E. y Arthur T. Whitney (septiembre de 1982), "Practical Uses of a Model of APL", Actas de la conferencia APL 82 , consultado el 10 de abril de 2016.
  83. ^ ab Iverson, Kenneth E. (marzo de 1983), "APL Syntax and Semantics", Actas de la conferencia APL 83 , consultado el 10 de abril de 2016.
  84. ^ Una celebración de Kenneth Iverson, Computer History Museum , 30 de noviembre de 2004 , consultado el 17 de abril de 2016
  85. ^ abcdef Hui, Roger (noviembre de 2014), Recordando a Ken Iverson , consultado el 10 de abril de 2016
  86. ^ abc Iverson, Kenneth E. (6 de enero de 1983), APL racionalizado, IP Sharp Associates , consultado el 10 de abril de 2016
  87. ^ abcd Iverson, Kenneth E. (septiembre de 1987), "Un diccionario de APL", APL Quote Quad , 18 (1): 5–40, doi :10.1145/36983.36984, S2CID  18301178 , recuperado 10 de abril 2016
  88. ^ Marrón, James A. (1971). Una generalización de APL (tesis doctoral). Departamento de Ciencias de la Información y la Computación, Universidad de Syracuse.
  89. ^ Brown, James A. (1984), "Los principios de APL2", Informe técnico 03.247 , Laboratorio IBM Santa Teresa
  90. ^ Brown, James A. (1988), "Programación APL2: referencia del lenguaje", Sh20-9227 , IBM Corporation
  91. ^ Smith, Robert A. (septiembre de 1981). "Matrices, operadores y funciones anidadas". Actas de la conferencia APL 81 .
  92. ^ Cheney, Carl M. (1981), Sistema de matriz anidada APL*PLUS (PDF) , STSC, Inc. , consultado el 19 de abril de 2016
  93. ^ Orth, Donald L. (diciembre de 1981). "Una comparación de las implementaciones de operadores y matrices generales de IPSA y STSC". Cuádruple de cotizaciones de APL . 12 (2): 11. doi :10.1145/586656.586662. S2CID  1642446 . Consultado el 13 de abril de 2016 .
  94. ^ McDonnell, Eugene (20 de junio de 1981). "Números complejos". SATN 40, IP Sharp Asociados . Consultado el 11 de abril de 2016 .
  95. ^ ab Iverson, Kenneth E. (20 de junio de 1981). "Composición y Cerramiento". SATN 41, IP Sharp Asociados . Consultado el 11 de abril de 2016 .
  96. ^ ab Iverson, Kenneth E. (1 de abril de 1982). "Funciones similares a determinantes producidas por el operador de puntos". SATN 42, IP Sharp Asociados . Consultado el 11 de abril de 2016 .
  97. ^ ab Bernecky, Robert; Iverson, Kenneth E.; McDonnell, Eugenio ; Metzger, Robert; Schueler, J. Henri (2 de mayo de 1983). "Extensiones de idiomas de mayo de 1983". SATN 45, IP Sharp Asociados . Consultado el 11 de abril de 2016 .
  98. ^ Tuttle, Joey K. (agosto de 2006), "¿Qué hay de malo en mi programación?", Vector , 22 (3) , recuperado 25 de abril 2016
  99. ^ ab Iverson, Kenneth E. (6 de octubre de 1980), "The Inductive Method of Introducing APL", Actas de la reunión de usuarios de APL de 1980 , consultado el 10 de abril de 2016
  100. ^ ab Iverson, Kenneth E. (enero de 1981). "Un minicurso SHARP APL ". Asociados de IP Sharp .
  101. ^ ab Iverson, Kenneth E. (1984). Matemática Aplicada para Programadores . Asociados de IP Sharp .
  102. ^ ab Iverson, Kenneth E. (julio de 1986). Matemáticas y Programación . Asociados de IP Sharp .
  103. ^ Bernecky, Robert; Iverson, Kenneth E. (6 de octubre de 1980), "Operadores y matrices cerradas", Actas de la reunión de usuarios de APL de 1980 , consultado el 10 de abril de 2016
  104. ^ Iverson, Kenneth E. (octubre de 1980). "Definición directa". SATN 36, IP Sharp Asociados .
  105. ^ Iverson, Kenneth E.; Wooster, Peter K. (septiembre de 1981), "Un operador de definición de funciones", Actas de la conferencia APL 81 , 12 : 142–145, doi :10.1145/390007.805349
  106. ^ ab Iverson, Kenneth E.; Pesch, Roland H.; Schueler, J. Henri (junio de 1984), "An Operador Calculus", Actas de la conferencia APL 84 , consultado el 10 de abril de 2016
  107. ^ ab Iverson, Kenneth E. (mayo de 1987), "APL87", Actas de la conferencia APL 87 , consultado el 10 de abril de 2016
  108. ^ Hagamen, WD; Berry, ordenador personal; Iverson, KE; Weber, JC (agosto de 1989). "Procesamiento de mecanismos sintácticos y semánticos del lenguaje natural". Actas de congresos sobre APL como herramienta de pensamiento - APL '89. Cuádruple de cotizaciones de APL . 19 (4): 184–189. doi :10.1145/75144.75170. ISBN 0897913272. S2CID  14004227.
  109. ^ Hui, Roger (3 de diciembre de 2014). "¿La expresión APL favorita de Ken Iverson?". Blog de diálogo . Consultado el 12 de abril de 2016 .
  110. ^ Referencia del lenguaje Dyalog APL (versión 14.0 o posterior) (PDF) , Dyalog Limited, 2014 , consultado el 16 de abril de 2016
  111. ^ ab Iverson, Kenneth E. y Eugene McDonnell (agosto de 1989), "Phrasal Forms", Actas de la conferencia APL 89 , consultado el 10 de abril de 2016
  112. ^ ab Iverson, Kenneth E. (septiembre de 1988). "Un comentario sobre el desarrollo de APL". Cuádruple de cotizaciones de APL . 19 (1): 3–8. doi :10.1145/379279.379330. S2CID  18392328 . Consultado el 13 de abril de 2016 .
  113. ^ Hodgkinson, Rob (19 de octubre de 2017), Publicación en el foro de programación J
  114. ^ ab Hui, Roger ; Iverson, Kenneth E.; McDonnell, Eugenio ; Whitney, Arthur (julio de 1990), "APL/?", Actas de la conferencia APL 90 , consultado el 10 de abril de 2016
  115. ^ Hui, Roger (27 de enero de 1992). Una implementación de J (PDF) . Iverson Software Inc. Consultado el 10 de abril de 2016 .
  116. ^ Hui, Roger (mayo de 1987). "Algunos usos de {y}". Actas de la conferencia APL 87 . Consultado el 15 de abril de 2016 .
  117. ^ Hui, Roger (junio de 1995). "Rango y Uniformidad". Actas de la conferencia APL 95 . Consultado el 15 de abril de 2016 .
  118. ^ Hui, Roger (27 de enero de 2006), "The TAO of J", J Wiki Essay , consultado el 24 de mayo de 2016
  119. ^ ab Hui, Roger ; Iverson, Kenneth E.; McDonnell, Eugene (agosto de 1991), "Definición tácita", Actas de la conferencia internacional sobre APL '91 - APL '91, págs. 202-211, doi : 10.1145/114054.114077 , ISBN 0897914414, S2CID  8940369 , consultado el 10 de abril de 2016
  120. ^ Cherlin, Edward (agosto de 1991). "Funciones puras en APL y J". Actas de la conferencia internacional sobre APL '91 - APL '91 . págs. 88–93. doi :10.1145/114054.114065. ISBN 0897914414. S2CID  25802202.
  121. ^ Burke, Chris; Hui, Roger (septiembre de 1996). "J para el programador APL". Cuádruple de cotizaciones de APL . 27 (1): 11-17. doi : 10.1145/1151395.1151400 . S2CID  9203778 . Consultado el 14 de abril de 2016 .
  122. ^ Burke, Chris (2 de marzo de 2005), APL y J (PDF) , consultado el 16 de abril de 2016
  123. ^ J Source, Jsoftware, Inc. , consultado el 15 de abril de 2016
  124. ^ Iverson, Kenneth E. (1991). Matemáticas tangibles . Iverson Software Inc.
  125. ^ Iverson, Kenneth E. (1991). Programación en J. Iverson Software Inc.
  126. ^ Iverson, Kenneth E. (1991). Aritmética (PDF) . Iverson Software Inc. Consultado el 10 de abril de 2016 .
  127. ^ Iverson, Kenneth E. (1993). Cálculo (PDF) . Iverson Software Inc. Consultado el 10 de abril de 2016 .
  128. ^ Iverson, Kenneth E. (1995). Compañero de matemáticas concretas (PDF) . Iverson Software Inc. Consultado el 10 de abril de 2016 .
  129. ^ Iverson, Kenneth E. (1996). Explorando las matemáticas (PDF) . Iverson Software Inc. Consultado el 10 de abril de 2016 .
  130. ^ Burke, Chris; Hui, Roger ; Iverson, Kenneth E.; McDonnell, Eugenio ; McIntyre, Donald B. (1996). Frases J. Iverson Software Inc. Consultado el 10 de abril de 2016 .
  131. ^ Burke, Chris; Hui, Roger ; Iverson, Eric; Iverson, Kenneth E.; Iverson, Kirk (1998), Ganadores del concurso ICFP '98 , recuperado 15 de abril 2016
  132. ^ Iverson, Kenneth E. (1999). Matemáticas para el profano. JSoftware Inc. Consultado el 10 de abril de 2016 .
  133. ^ Hui, Roger ; Iverson, Kenneth E. (1991). "J Introducción y Diccionario". Jsoftware Inc. Consultado el 9 de abril de 2016 .
  134. ^ Iverson, Kenneth E. (marzo de 1994). "Revisando los puntos difíciles". Cuádruple de cotizaciones de APL . 24 (3): 13-16. doi : 10.1145/181983.181986 . S2CID  2140469 . Consultado el 13 de abril de 2016 .
  135. ^ Iverson, Kenneth E. (1996), Computadoras y notación matemática, Iverson Software Inc. , consultado el 10 de abril de 2016
  136. ^ Hui, Roger ; Iverson, Kenneth E. (enero de 1998), "Mathematical Roots of J", Actas de la conferencia APL 97 : 21–30, doi :10.1145/316689.316698, S2CID  2317632
  137. ^ Iverson, Kenneth E. (agosto de 2006), "APL in the New Millennium", Vector , 22 (3) , recuperado 25 de abril 2016
  138. ^ Directorio de miembros de NAE, Academia Nacional de Ingeniería , consultado el 22 de abril de 2016
  139. ^ Premio Computer Pioneer (beneficiario de la carta), IEEE Computer Society , 1982 , consultado el 8 de abril de 2016
  140. ^ Drummond, B. (11 de junio de 1998), Cita del Dr. Kenneth Iverson, Universidad de York , consultado el 8 de abril de 2016

enlaces externos