Toma este escenario:
Un programador crea un lenguaje para resolver algún problema.
Luego lanza este lenguaje para ayudar a otros a resolver problemas como este.
Otro programador descubre que en realidad es mucho mejor para alguna categoría diferente de problemas.
En virtud de esta nueva aplicación, el lenguaje se vuelve popular para esa aplicación principalmente.
¿Hay alguna instancia de que esto ocurra realmente?
Dicho de otra manera, ¿el propósito de un lenguaje tiene alguna relación con cómo se usa realmente o si se vuelve popular? ¿Es incluso importante que un idioma tenga un propósito anunciado?
programming-languages
history
Jon Purdy
fuente
fuente
Respuestas:
Lisp . McCarthy originalmente especificó Lisp en un documento para mostrar que pocas anotaciones simples son suficientes para construir un lenguaje completo. Se sorprendió al descubrir que Lisp podría implementarse en código máquina (Steve Russel hizo la primera implementación del intérprete de Lisp). Lisp es ampliamente utilizado para la programación de IA.
fuente
Java estaba originalmente destinado a la programación de sistemas integrados. De Wikipedia "Java fue originalmente diseñado para televisión interactiva" . Pero se hizo muy popular para la programación de aplicaciones y web.
fuente
Lua fue diseñado principalmente como lenguaje de configuración, y terminó encontrando un nicho como el lenguaje de scripting más popular para juegos (porque es pequeño, rápido, potente, portátil, fácil de ampliar e incrustar, con una sintaxis fácil de usar). El juego más popular para usarlo, World of Warcraft, ni siquiera lo usa para la configuración, sino que usa XML.
fuente
La intención original de Larry Wall para Perl era un " lenguaje de script Unix de propósito general para facilitar el procesamiento de informes " y la página del manual describe el lenguaje como:
Y, por supuesto, la página del manual también nos dice que Perl significa lenguaje práctico de extracción e informes (el nombre real es un error ortográfico del nombre original Pearl , cambiado cuando Wall descubrió un lenguaje PEARL ya existente ).
Perl ha recorrido un largo camino desde entonces, ya que es el lenguaje del que los dioses forjaron el universo .
fuente
Supongo que JavaScript también encaja en esta pregunta porque no creo que Brendan Eich, en los días de Netscape, alguna vez haya imaginado que futuras versiones de su LiveScript se utilizarían para crear las llamadas "aplicaciones" web actuales.
JavaScript se ha movido de simples validaciones de formularios y rollovers de imágenes a una herramienta poderosa que puede competir con las aplicaciones fuera de línea, tanto en términos de funcionalidad como de belleza.
Desafortunadamente, creo que muchos todavía lo ven como un juguete.
fuente
Erlang Fue inventado hace mucho, mucho tiempo en los laboratorios de Ericsson para desarrollar aplicaciones de telefonía, probablemente por sus líneas de conmutación y dispositivos de acceso. Ahora se ha convertido en un lenguaje dinámico de propósito general prometedor con un interesante concepto de concurrencia.
Sería interesante si en el futuro hubiera más idiomas del mundo de las telecomunicaciones que cruzaran sus líneas con el mundo de TI y evolucionaran a partir de ahí, especialmente los idiomas diseñados inicialmente para el modelado y la verificación de protocolos.
fuente
Pascal. Creado para enseñar programación.
fuente
PHP originalmente significaba Página de inicio personal , pero hoy también se usa para algunas aplicaciones web un poco más grandes.
fuente
<?php
etiqueta al comienzo del archivo!Estoy bastante seguro de que VBScript no fue diseñado para escribir malware, a pesar de que es un uso extremadamente común.
fuente
Inicialmente diseñado como un método para hacer que el código sea más genérico, se descubrió que Template Meta Programming en C ++ estaba completo, y hasta el día de hoy se utiliza para mejorar en gran medida el lenguaje C ++ a través de bibliotecas como boost.
fuente
BASIC es otro caso famoso. Su nombre ( Código de instrucción simbólica de uso múltiple para principiantes ) insinúa su origen como idioma de aprendizaje, pero desde entonces ha crecido bastante.
fuente
VHDL y Verilog (también conocido como VerilogHDL) originalmente estaban destinados a describir circuitos y componentes digitales. Se utilizaron como una forma de documentación y para simular el comportamiento de los componentes. Más tarde, Synopsys y otros desarrollaron tecnología que podría traducir (un subconjunto de) estas descripciones en una lista neta de puertas, que a su vez puede usarse para producir hardware real.
VHDL y Verilog se denominan lenguajes de descripción de hardware (HDL) por razones históricas. Hoy en día se usan como lenguajes de diseño de hardware (mismo acrónimo).
fuente
ML comenzó como un lenguaje para desarrollar y escribir un probador de teoremas. Era el "metalenguaje" del probador de teoremas.
fuente
C
Originalmente fue desarrollado originalmente para su uso con el sistema operativo Unix. Pero el lenguaje se hizo tan popular que incluso Dennis Ritchie se sorprendió.
En su famoso libro El lenguaje de programación C . Ritchie afirma que "se ha extendido mucho más allá de sus orígenes como el lenguaje del sistema operativo UNIX". y lo sorprendido que estaba cuando se convirtió en un lenguaje popular para el desarrollo de aplicaciones.
fuente
C ++ se diseñó originalmente como "C con clases" para facilitar la programación orientada a objetos en C ++.
Luego se proporcionaron plantillas en una versión posterior para permitir la implementación de clases de contenedor fuertemente tipadas. Más tarde se notó que estas plantillas en realidad constituyen un lenguaje de programación en tiempo de compilación completo de Turing.
Como consecuencia, muchas aplicaciones ahora usan C ++ no como un lenguaje de programación orientado a objetos, sino más bien como un lenguaje de programación dirigido por algoritmos que depende en gran medida del polimorfismo y la metaprogramación en tiempo de compilación.
fuente
const
son las dos razones más importantes por las que uso C ++.ADA - originalmente diseñado bajo contrato DoD para aviónica. Aunque todavía se usa en esa aplicación, también es popular, por ejemplo, para el middleware empresarial en tiempo real.
fuente
"¿El propósito de un lenguaje tiene alguna relación con cómo se usa realmente o si se vuelve popular?"
No creo que el propósito pretendido de un idioma tenga mucho que ver con su uso y popularidad reales: hay algunos lenguajes geniales que fueron diseñados desde el principio para ser innovadores, flexibles y versátiles, pero nunca se volvieron tan utilizados o populares, excepto en mercados verticales muy especializados, por ejemplo, Eiffel. OTOH, Basic, Pascal, C, etc., dominaron el paisaje durante años, aunque fueron diseñados originalmente para fines limitados y específicos.
Las consideraciones comerciales / financieras y de apoyo de la OMI siempre han desempeñado un papel importante en la difusión y extensión de ciertos idiomas. Por ejemplo: Borland presenta TurboPascal y paquetes, lo comercializa y lo admite. MS presenta C # y paquetes, lo comercializa y lo admite. Como resultado, estos lenguajes se hicieron populares, surgieron industrias de herramientas de terceros y cada vez más desarrolladores y empresas se subieron al carro.
Pero en los últimos años, los lenguajes y herramientas de código abierto están cambiando la dinámica y los idiomas ahora se vuelven populares basados más en el 'mérito' que en el marketing, por ejemplo, Ruby, Python y Perl. Pero eso no se debe tanto a la 'intención' de los inventores como al potencial incorporado del lenguaje para la extensión y el uso oportuno.
fuente
No creo que haya un lenguaje popular que no haya sido reutilizado de su intención original. Incluso C se escribió originalmente para hacer un sistema operativo portátil (unix).
Cualquier intento de escribir un lenguaje de programación verdaderamente genérico sin un objetivo específico en mente probablemente fracasaría miserablemente debido a la falta de moderación y enfoque.
fuente
Escuché que Ruby fue diseñado como un lenguaje para escribir poesía, ¡resultó que también puedes escribir un código hermoso!
fuente