¿Cuáles son los tres lenguajes de programación más influyentes y por qué?

1. FORTRAN: “El sistema IBM FORmula TRANslating”

Para citar de http://polaris.cs.uiuc.edu/publi…

“El compilador FORTRAN I fue la primera demostración de que es posible generar automáticamente un código de máquina eficiente a partir de lenguajes de alto nivel”.

En verdad, FORTRAN era un pequeño objeto de gran belleza.

Sigue siendo el lenguaje de la computación científica. Vea algunos ejemplos: herramientas Fortran, bibliotecas y software de aplicación

Aquí hay un video corto sobre FORTRAN http://www.fortranlib.com/FORTRA…

2. COBOL: “Lenguaje orientado a los negocios de COmmon”

Posiblemente el primer idioma diseñado por el comité, pero basado en el trabajo realizado por la asombrosa Grace Hopper.

Probablemente falló en su objetivo principal, llevar la informática al gerente medio (¡imagínense!), Pero llevó la informática a una amplia audiencia comercial.

Y todavía se está fortaleciendo y en desarrollo. El sitio PL22.4 de COBOL Taskgroup es un buen sitio para obtener información actualizada.

La tecnología del compilador COBOL de IBM es impresionante. Pruebe la familia COBOL Cafe y COBOL Compilers.

¡Pruébelo usted mismo en COBOL Compilerator!

3. C: Según lo expuesto por Brian Kernighan y Dennis Ritchie en

http://net.pku.edu.cn/~course/cs…

“C es un lenguaje de programación de propósito general que presenta economía de expresión, control de flujo moderno y estructuras de datos, y un amplio conjunto de operadores”.

Un buen ejemplo de C es Linux Cross Reference.

Su idioma original de “solo escritura” en manos de un programador verdaderamente malo.

Para las críticas mordaces de FORTRAN y COBOL, y otros idiomas “cuando” Edsger Dijstra es entretenido: ¿Cómo decimos verdades que podrían doler? (EWD498).

Tanto FORTRAN como C se especificaron de tal manera que facilitaran la construcción de compiladores de optimización eficientes. FORTRAN y COBOL han implementado características de lenguaje modernas, también conocidas como construcciones de lenguaje orientado a objetos. Las primeras versiones de FORTRAN no tenían soporte para la recursividad, lo que significaba escribir código para implementar la pseudo-recursividad: no es tan divertido como parece.

Si solo obtenemos tres, realmente tendría que ir con los idiomas que introdujeron los tres modelos subyacentes principales utilizados en los idiomas modernos:

Lisp: para lenguajes funcionales basados ​​en cálculo lambda, incluidos los fuertemente tipados (porque Lisp fue el primero) y los subconjuntos utilizados en lenguajes imperativos, incluso ahora incluyendo C ++.

Simula: para la orientación de objetos. Simula 67 originó el modelo orientado a objetos ahora integrado en casi todos los idiomas. Incluso donde no hay herencia de implementación (p. Ej., En Go), los lenguajes más nuevos todavía usan polimorfismo de interfaz ad-hoc que también parece haberse originado con Simula.

Algol: primer idioma con una sintaxis bien definida. Se introdujeron procedimientos recursivos y la idea de programas estructurados en bloques. Algol 60 fue probablemente el primer lenguaje imperativo que se completó con saltos arbitrarios (goto). Estas cosas son tan comunes ahora que olvidas que tuvieron que inventarse.

Hay algunas características en algunos idiomas que no provienen de estos tres (en particular, punteros arbitrarios de C, sistema de tipo Hindley-Milner de ML) pero no muchos.

Número 1: Fortran. Simplemente porque fue el primer idioma que cambió el énfasis de “así es como lo hace la computadora” a “así es como lo expresaría un humano”. El primer compilador de Fortran fue un esfuerzo monumental, demostrando que los idiomas a nivel humano podían existir y traducirse esencialmente a la misma eficiencia que el ensamblador. (Un poco)

Número 2: Algol. El primer lenguaje algorítmico que incluía construcciones que eran puramente algorítmicas y no inspiradas en hardware. Fortran estaba muy cerca del lenguaje ensamblador de hardware, Algol estaba mucho más cerca de cómo alguien sin experiencia en programación expresaría un algoritmo.

Número 3: Lisp. El primer lenguaje que estaba realmente basado en la teoría. Esto cerró la progresión de la programación de hardware -> programación de hardware legible (como en: Fortran) -> programación algorítmica legible (Algol) -> expresión matemática de algoritmos.

Hay muchos otros idiomas importantes. Por ejemplo, Haskell lleva más lejos el enfoque basado en la teoría. La programación lógica (como en Prolog) es una idea completamente diferente. Y, por supuesto, hay toneladas de lenguajes algorítmicos que introdujeron nuevos conceptos como orientación a objetos, orientación a aspectos, concurrencia, lo que sea. Sin embargo, estos tres son, para mí, las principales bombillas donde alguien se dio cuenta de “Espera. ¿Puedes hacer eso?”

PD: no fue influyente en absoluto, pero por interés histórico realmente quiero mencionar Plankalkül. Lea sobre esto y sorpréndase.

Para los aspirantes a programadores que tienen pasión por la codificación, los cubro con los tres lenguajes de programación más influyentes:

C: C porque es el lenguaje central y todo el lenguaje moderno implementado en C o tiene sistemas de tiempo de ejecución implementados en C.

Python: las razones por las que Python se considera el lenguaje más popular es que tiene compatibilidad multiplataforma (los scripts de Python se ejecutarán de forma nativa en Mac OSX). Le permite utilizar un entorno de desarrollo ligero, crear scripts, GUI multiplataforma y aplicaciones basadas en la web. Posee una sintaxis clara y concisa, lo que permite a los novatos comenzar a codificarla fácilmente. No podía faltar esta cosa que es un lenguaje fuertemente tipado, sensible a mayúsculas y orientado a objetos. Es ampliamente utilizado por Google, Amazon y Yahoo!

Bibliotecas de código abierto: Twisted, Django, Zope y SpamBayes

VB: a su manera, VB es el lenguaje más influyente porque permitió a los principiantes convertirse rápidamente en productivos en un entorno de desarrollo que de otro modo podrían haber tenido dificultades para presentar en el mundo de los monogramas.

Editar: Elegí intencionalmente idiomas que están vivos hoy. Los idiomas muertos que fueron influyentes harían todo un panteón. No son interesantes porque estar muerto es una indicación de ser inútil.

C – por su sintaxis y la brutal cercanía con el hardware

Pascal : por modularidad y por mostrar que la programación es posible no solo en C

Lisp : por ser tan perfecto y fuera de este mundo, que si tuviéramos contacto con una civilización alienígena, no nos avergonzaríamos de mostrarles Lisp

Estoy de acuerdo con la elección de Simon Kinahan de Lisp y Simula, pero en lugar de Algol iré con BASIC. Sí, lo sé, es un lenguaje horrible. Puede que no haya influido en muchos otros idiomas, pero seguro que, como diablos, influyó en muchas personas en los primeros días de las microcomputadoras. Se inició Bill Gates en el Altair. ¿Cuántos otros comenzaron con un Apple II, TRS-80, Commodore 64, BBC Micro o máquinas similares similares y luego pasaron a cosas más grandes y mejores? A pesar de todas sus verrugas, BASIC era la puerta de entrada de muchas personas a la informática.

Smalltalk , Algol y Simula . Smalltalk es la mejor implementación del paradigma OOP que existe y, por lo tanto, ha influido directamente en toda una generación de lenguajes OOP, incluidos más recientemente Dart, Groovy, PHP 5, Perl 6, Ruby y Scala. Del mismo modo, Simula ha influido en una generación de lenguajes OOP de estilo C como Java, C # y C ++. Algol, por supuesto, es la madre de los lenguajes imperativos / de procedimiento.

  1. El ensamblador del sistema, no habría otros lenguajes de programación sin él. Es diferente para cada arquitectura de máquina. Es verdaderamente el primer lenguaje de programación.
  2. COBOL, lo sé, lo sé …, pero la mayoría de los grandes bancos de negocios del mundo, etc., todavía funcionan hoy. Realmente fue el primer lenguaje de alto nivel.
  3. Este es difícil, quiero decir C, que introdujo el mundo de los lenguajes independientes de la máquina y Unix, pero eso dejaría de lado la programación orientada a objetos, que es el gran cambio de paradigma en la década de 1980, así que haré trampa y diré C / C ++

Muchos idiomas han tenido un gran impacto en el desarrollo de software. Como se plantea la pregunta, la suposición parece ser lenguajes actuales en relación con el desarrollo activo. Si bien COBOL tiene una gran base instalada, está en modo de mantenimiento y se están desarrollando pocas cosas nuevas en COBOL. Del mismo modo, FORTRAN tiene una gran base y todavía se usa en disciplinas científicas establecidas.

En términos de nuevo desarrollo activo, sugeriría que C y Java son dominantes. Una mirada a Tiobe te da una idea de las clasificaciones.