language etiquetas español ejemplos codigo scripting programming-languages scripting-language

etiquetas - Lenguaje de scripting vs lenguaje de programación



etiquetas html (13)

¿Puede alguien explicar la diferencia entre el lenguaje de programación y el lenguaje de programación, por favor?
También puede indicar algunos ejemplos para cada uno. He buscado en Google pero siempre encuentro las mejores respuestas de Stack Overflow.


Lenguajes con guiones

Los lenguajes de scripting son interpretados dentro de otro programa. JavaScript está incrustado dentro de un navegador e interpretado por ese navegador.

Ejemplos de lenguajes de scripting

  1. JavaScript
  2. Perl
  3. Pitón

Ventajas de los lenguajes de scripting:

  1. Simple: los lenguajes de script son más fáciles de escribir que el lenguaje de programación.

  2. Menos líneas de código (LOC)

Lenguajes programados

Los lenguajes de programación como Java están compilados y no son interpretados por otra aplicación de la misma manera.

Ejemplos de lenguajes de programación

  1. do
  2. C ++ y
  3. Java

Más detalles


Aparte de la diferencia de que el lenguaje de scripting se interpreta y el lenguaje de programación se compila, hay otra diferencia como la siguiente, que supongo que se ha perdido.

Un lenguaje de scripting es un lenguaje de programación que se utiliza para manipular, personalizar y automatizar las instalaciones de un sistema existente. En tales sistemas, la funcionalidad útil ya está disponible a través de una interfaz de usuario, y el lenguaje de scripting es un mecanismo para exponer esa funcionalidad al control del programa.

Mientras que un lenguaje de programación generalmente se usa para codificar el sistema desde cero.

src ECMA


Creo que lo que estás diciendo como la "diferencia" es en realidad una consecuencia de la diferencia real.

La diferencia real es el objetivo del código escrito. Quién va a ejecutar este código.

Se utiliza un lenguaje de scripting para escribir código que se dirigirá a un sistema de software. Se va a automatizar las operaciones en ese sistema de software. El script será una secuencia de instrucciones para el sistema de software de destino.

Un lenguaje de programación apunta al sistema informático, que puede ser una máquina real o virtual. Las instrucciones son ejecutadas por la máquina.

Por supuesto, una máquina real solo comprende el código binario, por lo que necesita compilar el código de un lenguaje de programación. Pero esto es una consecuencia de apuntar a una máquina en lugar de a un programa.

Por otro lado, el sistema de software de destino de un script puede compilar el código o interpretarlo. Es hasta el sistema de software.

Si decimos que la diferencia real es si se compila o no, entonces tenemos un problema porque cuando se ejecuta Javascript en V8 se compila y cuando no se ejecuta en Rhino.

Se vuelve más confuso ya que los lenguajes de script han evolucionado hasta convertirse en muy poderosos. Por lo tanto, no se limitan a crear pequeños scripts para automatizar las operaciones en otro sistema de software, puede crear aplicaciones ricas con ellos.

El código de Python apunta a un intérprete para que podamos decir que "hace scripts" las operaciones en ese intérprete. Pero cuando escribes el código Python no lo ves como un script para un intérprete, lo ves como una aplicación. El intérprete solo está allí para codificar a un nivel superior, entre otras cosas. Así que para mí, Python es más un lenguaje de programación que un lenguaje de scripting.


Cuando el mundo era joven y en el mundo de la PC elegiste entre .exe o .bat, la delineación era simple. Los sistemas Unix siempre han tenido scripts de shell (/ bin / sh, / bin / csh, / bin / ksh, etc.) y lenguajes compilados (C / C ++ / Fortran).

Para diferenciar roles y responsabilidades, los lenguajes compilados (a menudo denominados lenguajes de tercera generación) fueron vistos como lenguajes de ''programación'' y los lenguajes de ''scripting'' fueron vistos como aquellos que invocaban a un intérprete (a menudo denominados lenguajes de cuarta generación). Los lenguajes de scripting a menudo se usaban como ''pegamento'' para conectarse entre múltiples comandos / programas compilados para que el usuario no tuviera que preocuparse por una serie de pasos para llevar a cabo su tarea: desarrollaron un solo archivo, que delineaba los pasos querían lograrlo, y esto se convirtió en un ''guión'' para que cualquiera lo siguiera.

Varias personas / grupos escribieron nuevos intérpretes para resolver un dominio de problema específico. awk es uno de los más conocidos, y se usó principalmente para la comparación de patrones y la aplicación de una serie de transformaciones de datos en la entrada. Funcionó bien, pero tenía un dominio de problemas limitado. La expansión de ese dominio era casi imposible porque el código fuente no estaba disponible. La herramienta de Perl (Larry Wall, autor / arquitecto principal) implementó los scripts al siguiente nivel, y desarrolló un intérprete que no solo permitía al usuario ejecutar comandos del sistema, manipular datos de entrada y salida, variables sin tipo de escritura compatibles, sino también acceder a las API de nivel de sistema Unix. Como funciones desde dentro de los propios scripts. Probablemente fue uno de los primeros lenguajes de script de alto nivel ampliamente utilizados. Es con Perl (IMHO) que los lenguajes de script cruzaron la línea arbitraria y agregaron las capacidades de los lenguajes de programación.

Tu pregunta fue específicamente sobre Python. Debido a que el intérprete de python se ejecuta en un archivo de texto que contiene el código de python, y que el código de python puede ejecutarse en cualquier lugar donde haya un intérprete de python, diría que es un lenguaje de scripting (en la misma línea que Perl). No es necesario que vuelva a compilar el archivo de comandos python del usuario para cada arquitectura de SO / CPU diferente (como lo haría con C / C ++ / Fortran), por lo que es mucho más portátil y más fácil de usar.

El crédito por esta respuesta es para Jerrold (Jerry) Heyman. Subproceso original: https://www.researchgate.net/post/Is_Python_a_Programming_language_or_Scripting_Language


En lenguajes de script como (JavaScript y versiones anteriores de PHP) usamos funciones y métodos fundamentales existentes para realizar nuestro trabajo. Tomemos un ejemplo en JavaScript , podemos usar ajax o web-sockets solo si son compatibles con el navegador o existen métodos en el navegador. Pero en lenguajes como C o C ++, Java podemos escribir esa característica desde cero, incluso si alguna biblioteca para esa característica no está disponible pero no podemos hacerlo en JavaScript.

puede admitir web-sockets en Internet Explorer 8 o antes con la ayuda de JavaScript Pero puede escribir un complemento en C o C ++ o Java que puede agregar una característica de web-socket a Internet Explorer 8.

Básicamente, en los lenguajes de scripting escribimos un código en una secuencia que ejecuta los métodos existentes en una secuencia para completar nuestro trabajo. Introducir números y fórmulas en una calculadora digital para realizar una operación también es un ejemplo de lenguaje de scripting. Debemos tener en cuenta que el entorno de compilación / tiempo de ejecución de cada lenguaje de scripting siempre está escrito en un lenguaje de programación en el que podemos agregar más funciones. y métodos y puede escribir nuevas bibliotecas.

PHP Este es un lenguaje que es un poco b / w de programación y secuencias de comandos. Podemos agregar nuevos métodos agregando extensiones compiladas escritas en otro lenguaje de alto nivel. No podemos agregar funciones de alto nivel de red o crear bibliotecas de procesamiento de imágenes directamente en PHP.

PD : realmente lamento que haya girado mi respuesta en torno a PHP JavaScript, pero uso estos dos porque tengo una experiencia considerable en estos dos.


Estoy en desacuerdo con el hecho de que los lenguajes que usan intérpretes son lenguajes de script y los compilados son lenguajes de programación. Podemos desarrollar un intérprete o compilador para cualquier idioma. El entorno interpretado se adapta mejor a las secuencias de comandos web y lo hace más fácil, por eso lo tenemos.

Bueno, siento que no hay ninguna diferencia entre el lenguaje de scripting y el lenguaje de programación. Se trata de hacer el trabajo. Cuando se trata de tareas relacionadas con la web, las llamamos scripts web que consideran una tarea pequeña y de esa manera también podemos llamar a las tareas relacionadas con el sistema como scripts a nivel del sistema o sistema operativo y el lenguaje de programación que utilizamos para llevar a cabo esas tareas como lenguajes de scripting del sistema.

Además, no es para que no se pueda escribir código de nivel de sistema en Python y scripts web en lenguaje C (definitivamente se puede hacer si podemos establecer la plataforma y el entorno necesarios). Pero todo lo que se necesita es demasiado esfuerzo, lo que puede afectar la limitación de tiempo para el rápido desarrollo y la pequeña reducción de la latencia no nos beneficiará mucho en los scripts web. Pero el verso sabio no es cierto si realizamos tareas de nivel de sistema en Python.

Conclusión: la selección del idioma depende de la naturaleza de la tarea a realizar y la discriminación de un idioma como lenguaje de scripting es un mito.


Las diferencias son cada vez menos importantes. Tradicionalmente, los lenguajes de secuencias de comandos amplían los programas existentes ... Creo que esa es la definición principal de "secuencias de comandos" y se refiere a escribir un conjunto de instrucciones para que las realice una entidad existente. Sin embargo, donde los lenguajes de scripting comenzaron con sintaxis propietaria y coloquial, la mayoría de los que prevalecen en estos días deben alguna relación con C.

Creo que la distinción de "interpretado contra compilado" es realmente un síntoma de extender un programa existente (con un intérprete integrado), en lugar de una diferencia intrínseca. Lo que más les preocupa a los programadores y laicos es, "¿qué está haciendo el programador?" El hecho de que un programa se interprete y otro se compile significa muy poco para determinar la diferencia en la actividad del creador. No juzgas a un dramaturgo sobre si sus obras son más leídas en voz alta o interpretadas en el escenario, ¿verdad?


Lenguaje de programación: se compila a código de máquina y se ejecuta en el hardware del sistema operativo subyacente.

Lenguaje de scripting: Es un subconjunto de la estructura del lenguaje de programación. Generalmente se interpreta. es básicamente "scripts" otras cosas para hacer cosas. El enfoque principal no consiste principalmente en crear sus propias aplicaciones, sino en conseguir que una aplicación existente actúe de la forma que desee, por ejemplo, JavaScript para navegadores, TCL, etc.

*** Pero hay una situación en la que un lenguaje de programación se convierte en intérprete y viceversa. Tiene un intérprete en C donde se puede usar el script ''C''. Las secuencias de comandos generalmente se escriben para controlar el comportamiento de una aplicación en tanto que Programming Language se usa para crear aplicaciones. Pero tenga en cuenta que la demarcación se está difuminando día a día como un ejemplo de Python; depende de cómo se use el idioma.


Los lenguajes de script son lenguajes de programación que no requieren un paso de compilación explícito.

Por ejemplo, en el caso normal, debe compilar un programa en C antes de poder ejecutarlo. Pero en el caso normal, no es necesario compilar un programa JavaScript antes de ejecutarlo. Así que a veces JavaScript se llama un lenguaje de "scripting".

Esta línea se está volviendo cada vez más borrosa ya que la compilación puede ser tan rápida con hardware moderno y técnicas de compilación modernas. Por ejemplo, V8, el motor de JavaScript en Google Chrome y usado mucho fuera del navegador, en realidad compila el código JavaScript al vuelo en un código de máquina, en lugar de interpretarlo. (De hecho, V8 es un compilador de dos fases que optimiza).

También tenga en cuenta que si un idioma es un lenguaje de "secuencias de comandos" o no puede ser más sobre el entorno que el idioma. No hay razón para que no pueda escribir un intérprete de C y usarlo como lenguaje de scripting (y la gente lo tiene). Tampoco hay ninguna razón por la que no pueda compilar JavaScript en un código de máquina y almacenar eso en un archivo ejecutable (y la gente lo tiene). El lenguaje Ruby es un buen ejemplo de esto: la implementación original fue interpretada en su totalidad (un lenguaje de "scripting"), pero ahora hay varios compiladores para ella.

Algunos ejemplos de lenguajes de "scripting" (por ejemplo, lenguajes que se usan tradicionalmente sin un paso de compilación explícito):

  • Lua
  • JavaScript
  • VBScript y VBA
  • Perl

Y una pequeña cantidad de los que tradicionalmente se utilizan con un paso de compilación explícito:

  • do
  • C ++
  • re
  • Java (pero tenga en cuenta que Java se compila a bytecode, que luego se interpreta y / o recompila en tiempo de ejecución)
  • Pascal

... y luego tienes cosas como Python que se sientan en ambos campos: Python se usa ampliamente sin un paso de compilación, pero la implementación principal (CPython) hace eso compilando bytecode on-the-fly y luego ejecutando el bytecode en un VM, y puede escribir ese bytecode en archivos ( .pyo , .pyo ) para usar sin recompilar.

Eso es muy poco, si investigas puedes encontrar mucho más.


Los lenguajes de script son un subconjunto de lenguajes de programación.

  1. Los lenguajes de scripting no son compilados a código de máquina por el usuario (python, perl, shell, etc.). Más bien, otro programa (llamado el intérprete, ejecuta el programa y simula su comportamiento)
  2. Algunos lenguajes de programación que no son scripts (C, C ++, Haskell y otros lenguajes ''compilados''), se compilan en código de máquina y se ejecutan posteriormente.

Para entender la diferencia entre un lenguaje de scripting y un lenguaje de programación, uno tiene que entender por qué nacieron los lenguajes de scripting.

Inicialmente, hubo lenguajes de programación que se escribieron para crear programas como Excel, Word, navegadores, juegos, etc. Estos programas se crearon con lenguajes como C y Java. Las horas extraordinarias, estos programas necesitaban una forma para que los usuarios crearan una nueva funcionalidad, por lo que tenían que proporcionar una interfaz a su código de bytes y, por lo tanto, nacieron los lenguajes de scripting.

Por lo general, un lenguaje de scripting no se compila, por lo que puede ejecutarse tan pronto como escriba algo significativo. Por lo tanto, Excel puede construirse usando C ++ pero expone un lenguaje de scripting llamado VBA para que los usuarios definan la funcionalidad. De manera similar, los navegadores pueden construirse con C ++ / Java, pero exponen un lenguaje de scripting llamado javascript (no relacionado con java de ninguna manera). Los juegos, generalmente se crean con C ++ pero exponen un lenguaje llamado Lua para que los usuarios definan una funcionalidad personalizada.

Un lenguaje de scripting por lo general se sienta detrás de algún lenguaje de programación. Los lenguajes de script generalmente tienen menos acceso a las habilidades nativas de las computadoras, ya que se ejecutan en un subconjunto del lenguaje de programación original. Un ejemplo aquí es que Javascript no podrá acceder a su sistema de archivos. Los lenguajes de script son generalmente más lentos que los lenguajes de programación.

Aunque los lenguajes de scripting pueden tener menos acceso y son más lentos, pueden ser herramientas muy poderosas. Un factor que atribuye al éxito de un lenguaje de scripting es la facilidad de actualización. ¿Recuerda los días de los applets de java en la web? Este es un ejemplo de cómo ejecutar un lenguaje de programación (java) o ejecutar un lenguaje de scripting (javascript). En ese momento, las computadoras no eran tan poderosas y el javascript no estaba tan maduro como para que los applets de Java dominaran las escenas. Pero los applets de Java eran molestos, requerían que el usuario ordenara cargar y compilar el lenguaje. Avanzando hasta hoy, los applets de Java están casi extinguidos y Javascript domina la escena. Javascript es extremadamente rápido de cargar ya que la mayoría de los componentes del navegador ya han sido instalados.

Por último, los lenguajes de script también se consideran lenguajes de programación (aunque algunas personas se niegan a aceptar esto), el término que deberíamos usar aquí es lenguajes de script contra lenguajes compilados.


Si vemos lógicamente el lenguaje de programación y el lenguaje de programación, esto es 99.09% igual. Debido a que utilizamos el mismo concepto como bucle, condición de control, variable y todo, podemos decir que sí, ambos son iguales, pero solo hay una cosa diferente entre ellos que está en C / C ++ y en otro lenguaje de programación, compilamos el código antes de la ejecución. pero en PHP, JavaScript y otros lenguajes de scripting no es necesario compilar que ejecutemos directamente en el navegador.

Gracias Nitish K. Jha


Todos los lenguajes de script son lenguajes de programación.

Los idiomas no se clasifican como script o no, depende completamente del entorno de ejecución.

Si el entorno es uno que se interpreta, esto se conoce comúnmente como un entorno de secuencias de comandos.