Lenguaje de Scripting vs Lenguaje de Programación


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

Author: Md. Abu Nafee Ibna Zahid, 2013-06-22

13 answers

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

Por ejemplo, en el caso normal, tienes que compilar un programa en C antes de poder ejecutarlo. Pero en el caso normal, no tienes que compilar un programa JavaScript antes de ejecutarlo. Así que JavaScript a veces 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. Para instancia, V8, el motor de JavaScript en Google Chrome y se utiliza mucho fuera del navegador, así, en realidad compila el código JavaScript sobre la marcha en código máquina, en lugar de interpretarlo. (De hecho, V8 es un compilador optimizador de dos fases.)

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

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

  • Lua
  • JavaScript
  • VBScript y VBA
  • Perl

Y un pequeño puñado de unos tradicionalmente utilizados con un paso de compilación explícito:

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

...y luego tienes cosas como Python que se sientan en ambos campos: Python es ampliamente utilizado sin un paso de compilación, pero la implementación principal (CPython) lo hace compilando a bytecode sobre la marcha y luego ejecutando el bytecode en una VM, y puede escribir ese bytecode en archivos (.pyc, .pyo) para usar sin recompilar.

Eso es solo un muy pocos, si usted hace un poco de investigación se puede encontrar mucho más.

 406
Author: T.J. Crowder,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-12 12:42:11

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, había lenguajes de programación que se escribieron para construir programas como excel, word, navegadores, juegos, etc. Estos programas fueron construidos con lenguajes como c y java. Con el tiempo, estos programas necesitaban una forma para que los usuarios crearan nuevas funcionalidades, por lo que tenían que proporcionar una interfaz a su bytecode y, por lo tanto, scripting nacieron las lenguas.

Un lenguaje de scripting generalmente no está compilado, por lo que puede ejecutarse tan pronto como escriba algo significativo. Por lo tanto, Excel puede construirse utilizando C++, pero expone un lenguaje de scripting llamado VBA para que los usuarios definan la funcionalidad. Del mismo modo, los navegadores pueden construirse con C++/Java, pero exponen un lenguaje de scripting llamado javascript (no relacionado con java de ninguna manera). Juegos, por lo general se construyen con C++, pero exponen un lenguaje llamado Lua para que los usuarios definan personalizado funcionalidad.

Un lenguaje de scripting generalmente se encuentra detrás de algún lenguaje de programación. Los lenguajes de scripting generalmente tienen menos acceso a las habilidades nativas de los equipos, 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 scripting suelen ser 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. ¿Recuerdas los días de los applets de java en la web, este es un ejemplo de ejecutar un lenguaje de programación (java) vs ejecutar un lenguaje de scripting (javascript). En ese momento, las computadoras no eran tan poderosas y javascript no era tan maduro, por lo que los applets de Java dominaron las escenas. Pero los applets de Java eran molestos, requerían que el usuario cargara y compilara el lenguaje. Avance rápido hasta hoy, los applets de Java son casi extinto y Javascript domina la escena. Javascript es extremadamente rápido de cargar, ya que la mayoría de los componentes del navegador ya se han instalado.

Por último, los lenguajes de scripting 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 scripting vs lenguajes compilados.

 84
Author: Yang Li,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-10 02:56:08

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

Los lenguajes no están clasificados 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 scripting.

 58
Author: Oded,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-22 17:43:36

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

Creo que la distinción" interpretado vs compilado " es realmente un síntoma de extender un programa existente (con un intérprete incorporado), en lugar de una diferencia intrínseca. Lo que más preocupa a los programadores y a los legos es: "¿qué está haciendo el programador?"El hecho de que un programa sea interpretado y otro compilado significa muy poco para determinar la diferencia en la actividad del creador. No juzgas a un dramaturgo por si sus obras son más comúnmente leídas en voz alta o representadas en el escenario, ¿verdad?

 16
Author: Eric Barker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-15 02:56:39

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

Lenguaje de scripting : Es un subconjunto no estructurado del lenguaje de programación. Se interpreta generalmente. básicamente "scripts" otras cosas para hacer cosas. El enfoque principal no es principalmente la construcción de sus propias aplicaciones, sino obtener una aplicación existente para actuar de la manera que desee, por ejemplo, JavaScript para navegadores, TCL, etc.,

* * * Pero hay una situación en la que un el lenguaje de programación se convierte al intérprete y el uso del vice-verso tiene un intérprete de C donde usted puede ' C ' Script. Los scripts generalmente se escriben para controlar el comportamiento de una aplicación donde se usa el Lenguaje de programación as para crear aplicaciones. Pero tenga cuidado de que la demarcación se difumina día a día como un ejemplo de Python depende de cómo se usa el lenguaje.

 9
Author: saikumarm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-10 05:19:54

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

  1. Los lenguajes de scripting no son compilados a código 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 scripting (C, C++, Haskell y otros lenguajes 'compilados'), se compilan en código máquina, y posteriormente se ejecutan.
 7
Author: jh314,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-22 17:46:07

Creo que lo que usted está declarando 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.

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

Un lenguaje de programación se dirige a 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 entiende 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 un programa.

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

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

Se vuelve más confuso ya que los lenguajes de scripting han evolucionado para volverse muy poderosos. Por lo tanto, no se limitan a crear pequeños scripts para automatizar las operaciones en otro sistema de software, puede crear cualquier aplicación enriquecida con ellos.

El código Python apunta a un intérprete para que podamos decir que "scripts" operaciones en ese intérprete. Pero cuando escribes Código Python no lo ves como scripting de un intérprete, lo ves como creación de 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.

 3
Author: Damian Jose,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-07 19:59:08

Estoy en desacuerdo con el hecho de que los lenguajes que utilizan intérpretes son lenguajes de scripting y el que se compila son lenguajes de programación. Podemos desarrollar un intérprete o compilador para cualquier lenguaje. El entorno interpretado se adapta mejor a los scripts 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 considerando tareas pequeñas y de esa manera también podemos llamar a las tareas relacionadas con el sistema como scripts a nivel de sistema o sistema operativo y el lenguaje de programación que usamos para realizar esas tareas como lenguajes de scripting del sistema.

Tampoco es para que uno no pueda escribir código a nivel de sistema en Python y scripts Web en lenguaje C (definitivamente se puede hacer si podemos establecer la plataforma y el entorno requeridos). Pero todo lo que se necesita es demasiado esfuerzo que puede afectar la restricción de tiempo para el rápido el desarrollo y la pequeña latencia reducida no nos va a beneficiar mucho en los scripts web. Pero el versa sabio no es cierto si realizamos tareas a nivel de sistema en Python.

En pocas palabras: la selección del idioma depende de la naturaleza de la tarea a realizar y discriminar un idioma como lenguaje de scripting es un mito.

 3
Author: paritosh mishra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-20 01:51:55

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 programa control.

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

Src ECMA

 1
Author: Sukrit Gupta,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-13 03:59:51

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

Gracias Nitish K. Jai

 1
Author: NITISH KUMAR Jha,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-10 04:48:15

Lenguajes de programación

Los lenguajes de scripting se interpretan 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. Python

Ventajas de los lenguajes de scripting:

  1. Simple: los lenguajes de scripting son más fáciles de escribir que la programación idioma.

  2. Menos Líneas de Código (LOC)

Lenguajes programados

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

Ejemplos lenguajes de programación

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

Más Detalles

 1
Author: manisha mulchandani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-06 17:36:09

En lenguajes de scripting como (JavaScript y versiones antiguas de PHP) utilizamos 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 o 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 usted apoyar web-sockets en Internet Explorer 8 o anterior con la ayuda de JavaScript Pero puede escribir un plugin en C o C++ o Java que puede agregar una característica de web-socket a Internet Explorer 8.

Básicamente en lenguajes de scripting escribimos un código en una secuencia que ejecuta 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 es también un ejemplo de lenguaje de scripting.Debemos tener en cuenta que el compilador / entorno de tiempo de ejecución de cada scripting el lenguaje siempre está escrito en lenguaje de programación en el que podemos agregar más características y métodos y podemos escribir nuevas bibliotecas.

PHP Este es un lenguaje que es algo de programación b / n y scripting. Podemos añadir nuevos métodos añadiendo extensiones compiladas escritas en otro Lenguaje de Alto Nivel. No podemos agregar características de alto nivel de redes o crear bibliotecas de procesamiento de imágenes directamente en PHP.

P.D. Siento mucho haber girado mi respuesta en torno a PHP JavaScript solamente pero uso estos dos porque tengo una experiencia considerable en estos dos.

 1
Author: Ravinder Payal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-30 07:00:47

Cuando el mundo era joven y en el mundo de PC elegiste .exe or .bat, la delineación fue 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 referidos como Lenguajes de 3ra 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 referido como 4to. Generation Languages). Los lenguajes de scripting a menudo se usaban como' pegamento 'para conectar entre múltiples comandos/programas compilados para que el usuario no tuviera que preocuparse por un conjunto de pasos para llevar a cabo su tarea - desarrollaron un solo archivo, que delineaba qué pasos querían lograr, y esto se convirtió en un' script ' 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 fue utilizado principalmente para la coincidencia 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 fue casi imposible porque el código fuente no estaba disponible. Perl (Larry Wall, autor principal/arquitecto) desarrolló un intérprete que no solo permitía al usuario ejecutar comandos del sistema, manipular datos de entrada y salida, soportar variables sin tipo, sino también acceder a las API de nivel de sistema Unix como funciones dentro de los propios scripts. Fue probablemente uno de los primeros lenguajes de scripting de alto nivel ampliamente utilizados. Es con Perl (IMHO) que los lenguajes de scripting cruzaron la línea arbitraria y agregaron las capacidades de los lenguajes de programación.

Su pregunta fue específicamente acerca de Python. Debido a que el intérprete python se ejecuta contra un archivo de texto que contiene el código python, y que el código python puede ejecutarse en cualquier lugar que haya un intérprete python, yo diría que es un lenguaje de scripting (en la misma línea que Perl). No necesita recompilar el archivo de comandos de usuario python para cada arquitectura de sistema operativo/CPU diferente (como lo haría con C/C++/Fortran), lo que lo hace significativamente más portátil y fácil de usar.

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

 1
Author: Kartik Chauhan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-12 07:42:31