Lenguaje de scripting vs lenguaje de progtwigción

¿Alguien puede explicar la diferencia entre el lenguaje de progtwigción y el lenguaje de progtwigció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.

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

Por ejemplo, en el caso normal, debe comstackr un progtwig C antes de poder ejecutarlo. Pero en el caso normal, no tiene que comstackr un progtwig JavaScript antes de ejecutarlo. Por lo tanto, JavaScript a veces se llama un lenguaje de “scripting”.

Esta línea se vuelve cada vez más borrosa, ya que la comstackción puede ser tan rápida con hardware moderno y técnicas de comstackción modernas. Por ejemplo, V8, el motor de JavaScript en Google Chrome que también se usa mucho fuera del navegador, en realidad comstack el código JavaScript sobre la marcha en código máquina, en lugar de interpretarlo. (De hecho, V8 es un comstackdor de dos fases de optimización.)

También tenga en cuenta que si un idioma es un lenguaje de “secuencias de comandos” o no puede ser más sobre el medio ambiente que el idioma. No hay ninguna razón por la que no pueda escribir un intérprete C y usarlo como un lenguaje de scripting (y las personas lo tienen). Tampoco hay ninguna razón por la que no pueda comstackr JavaScript para codificar el equipo y almacenarlo en un archivo ejecutable (y las personas sí). El lenguaje Ruby es un buen ejemplo de esto: la implementación original fue completamente interpretada (un lenguaje de “scripting”), pero ahora hay múltiples comstackdores para ella.

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

  • Lua
  • JavaScript
  • VBScript y VBA
  • Perl

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

  • do
  • C ++
  • re
  • Java (pero tenga en cuenta que Java se comstack en bytecode, que luego se interpreta y / o se vuelve a comstackr 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 comstackción, pero la implementación principal (CPython) lo hace al comstackr código de bytes sobre la marcha y luego ejecutar el bytecode en un VM, y puede escribir ese bytecode en archivos ( .pyo , .pyo ) para usar sin recomstackr.

Eso es solo unos pocos, si investigas algo puedes encontrar mucho más.

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

Inicialmente, había lenguajes de progtwigción que se escribieron para crear progtwigs como Excel, Word, navegadores, juegos, etc. Estos progtwigs se construyeron con idiomas como c y java. En el tiempo extra, estos progtwigs necesitaban una forma para que los usuarios crearan nuevas funcionalidades, por lo que tenían que proporcionar una interfaz para su bytecode y, por lo tanto, nacían los lenguajes de scripting.

Por lo general, un lenguaje de scripting no está comstackdo, por lo que puede ejecutarse tan pronto como escriba algo significativo. Por lo tanto, Excel se puede construir usando C ++ pero expone un lenguaje de scripting llamado VBA para que los usuarios definan la funcionalidad. De forma similar, los navegadores pueden comstackrse con C ++ / Java, pero exponen un lenguaje de scripts 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 la funcionalidad personalizada.

Un lenguaje de scripting generalmente se encuentra detrás de algún lenguaje de progtwigción. Los lenguajes de scripting generalmente tienen menos acceso a las capacidades nativas de las computadoras ya que se ejecutan en un subconjunto del lenguaje de progtwigció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 progtwigción.

Aunque los lenguajes de scripting pueden tener menos acceso y son más lentos, pueden ser herramientas muy potentes. Un factor que se atribuye al éxito de los lenguajes 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 ejecutar un lenguaje de progtwigción (java) frente a ejecutar un lenguaje de scripting (javascript). En ese momento, las computadoras no eran tan potentes y el javascript no era tan maduro, por lo que los applets de Java dominaban las escenas. Pero los applets de Java eran molestos, requerían que el usuario cargara y comstackra el idioma. Un avance rápido hasta hoy, los applets de Java están casi extintos 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 progtwigción (aunque algunas personas se niegan a aceptar esto) – el término que deberíamos usar aquí es el de scripting languages ​​vs compiled languages.

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

Los idiomas no se clasifican como secuencias de comandos o no; depende por completo del entorno de ejecución.

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

Las diferencias son cada vez menos y menos importantes. Tradicionalmente, los lenguajes de scripting amplían los progtwigs existentes … Creo que esa es la definición principal de “scripting”, es decir, se refiere a escribir un conjunto de instrucciones para que una entidad existente lo realice. Sin embargo, cuando los lenguajes de scripting comenzaron con syntax patentada y coloquial, la mayoría de los que prevalecen actualmente tienen alguna relación con C.

Creo que la distinción “interpretación versus comstackción” es realmente un síntoma de extender un progtwig existente (con un intérprete incorporado), en lugar de una diferencia intrínseca. Lo que más preocupa a los progtwigdores y a los legos es “¿qué está haciendo el progtwigdor?” El hecho de que un progtwig se interprete y otro se compile significa muy poco para determinar la diferencia en la actividad del creador. No juzga a un dtwigturgo sobre si sus obras se leen en voz alta o se ejecutan en el escenario, ¿verdad?

Lenguaje de progtwigción: está comstackdo para código de máquina y se ejecuta en el hardware del sistema operativo subyacente.

Lenguaje de scripting: Es un subconjunto de unstructure del lenguaje de progtwigción. Generalmente se interpreta. Básicamente es “secuencias de comandos” otras cosas para hacer cosas. El objective principal no es construir 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 situaciones en las que un lenguaje de progtwigción se convierte en intérprete y viceversa, como el uso de un intérprete C donde se puede ‘C’ Script. Los scripts generalmente se escriben para controlar el comportamiento de una aplicación, ya que el lenguaje de progtwigción se usa para crear aplicaciones. Pero ten en cuenta que la demarcación se está difuminando día a día como un ejemplo de Python, depende de cómo se usa el idioma.

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

  1. Los lenguajes de scripting no son comstackdos por el usuario al código máquina (python, perl, shell, etc.). Más bien, otro progtwig (llamado intérprete, ejecuta el progtwig y simula su comportamiento)
  2. Algunos lenguajes de progtwigción que no son secuencias de comandos (C, C ++, Haskell y otros lenguajes “comstackdos”) se comstackn en código máquina y se ejecutan posteriormente.

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

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

Un lenguaje de scripting se usa para escribir código que se dirigirá a un sistema de software. Va a automatizar las operaciones en ese sistema de software. La secuencia de comandos va a ser una secuencia de instrucciones para el sistema de software de destino.

Un lenguaje de progtwigción se dirige 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 entiende código binario, por lo que debe comstackr el código de un lenguaje de progtwigción. Pero esto es una consecuencia de apuntar a una máquina en lugar de a un progtwig.

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

Si decimos que la diferencia real es si está comstackda o no, entonces tenemos un problema porque cuando JavaScript se ejecuta en V8 se comstack y cuando se ejecuta en Rhino no lo es.

Se vuelve más confuso ya que los lenguajes de scripting han evolucionado hasta convertirse en muy poderosos. De modo que no están limitados 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 de Python se dirige a un intérprete para que podamos decir que es “secuencias de comandos” de las operaciones en ese intérprete. Pero cuando escribes el código de Python no lo ves como un intérprete de scripting, lo ves como crear una aplicación. El intérprete está allí para codificar a un nivel superior, entre otras cosas. Entonces, para mí, Python es más un lenguaje de progtwigción que un lenguaje de scripting.

Estoy en desacuerdo con el hecho de que los idiomas que utilizan intérpretes son lenguajes de progtwigción y uno se comstack son los lenguajes de progtwigción. Podemos desarrollar un intérprete o comstackdor 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 progtwigción. Se trata de hacer el trabajo. Cuando se trata de tareas relacionadas con la web, las llamamos secuencias de comandos web considerando tareas pequeñas y de esa manera también podemos llamar tareas relacionadas con el sistema como scripts de sistema o de sistema operativo y el lenguaje de progtwigción que utilizamos para llevar a cabo esas tareas como lenguajes de scripting del sistema.

Tampoco es 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 requeridos). Pero todo lo que se necesita es demasiado esfuerzo que puede afectar la restricción de tiempo para el desarrollo rápido y la pequeña latencia reducida no nos beneficiará mucho en las secuencias de comandos web. Pero la sabia versa no es cierta si realizamos tareas a nivel del sistema en Python.

En pocas palabras: la selección del idioma depende de la naturaleza de la tarea que se realizará y la discriminación de un idioma, ya que el lenguaje de scripting es un mito.

Además de la diferencia de que el lenguaje de scripting es interpretado y el lenguaje de progtwigción está comstackdo, hay otra diferencia como la siguiente, que creo que se ha perdido.

Un lenguaje de scripting es un lenguaje de progtwigción que se utiliza para manipular, personalizar y automatizar las instalaciones de un sistema existente. En dichos 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 progtwig.

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

src ECMA

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

Gracias Nitish K. Jha

Lenguajes con guiones

Los lenguajes de scripts se interpretan dentro de otro progtwig. JavaScript está integrado en un navegador e interpretado por ese navegador.

Ejemplos de lenguajes de scripting

  1. JavaScript
  2. Perl
  3. Pitón

Ventajas de los lenguajes de script:

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

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

Idiomas progtwigdos

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

Ejemplos de lenguajes de progtwigción

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

Más detalles

En los lenguajes de script como (JavaScript y versiones antiguas de PHP) usamos las funciones fundamentales existentes y el método para realizar nuestro trabajo. Tomemos un ejemplo en JavaScript , podemos usar ajax o web-sockets solo si son compatibles con el navegador o si 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 soportar sockets web en Internet Explorer 8 o anteriores con la ayuda de JavaScript, pero puede escribir un complemento en C o C ++ o Java que puede agregar una característica de socket web 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. Ingresar números y fórmulas en una calculadora digital para hacer una operación también es un ejemplo de lenguaje de scripting. Debemos tener en cuenta que el comstackdor / entorno de tiempo de ejecución de cada lenguaje de scripting siempre está escrito en un lenguaje de progtwigción en el que podemos agregar más características y métodos y puede escribir nuevas bibliotecas.

PHP Este es un lenguaje que es algo de progtwigción b / n y scripting. Podemos agregar nuevos métodos agregando extensiones comstackdas escritas en otro lenguaje de alto nivel. No podemos agregar funciones de alto nivel de redes o crear bibliotecas de procesamiento de imágenes directamente en PHP.

PD . Realmente lo siento por haber girado mi respuesta solo en PHP JavaScript, pero utilizo estos dos porque tengo una experiencia considerable en estos dos.

Cuando el mundo era joven y en el mundo de las PC que eliges de .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 comstackdos (C / C ++ / Fortran).

Para diferenciar roles y responsabilidades, los lenguajes comstackdos (a menudo denominados Lenguajes de 3ª Generación) se veían como lenguajes de “progtwigción” y los lenguajes de “guiones” se consideraban como aquellos que invocaron a un intérprete (a menudo denominados Lenguas de 4ª Generación). Los lenguajes de scripting a menudo se usaban como “pegamento” para conectar entre varios comandos / progtwigs comstackdos de modo que el usuario no tuviera que preocuparse por un conjunto de pasos para llevar a cabo su tarea: desarrollaban 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 utilizó 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 limitado de problemas. La expansión de ese dominio era casi imposible porque el código fuente no estaba disponible. Perl (Larry Wall, autor principal / arquitecto) scripting de herramientas para el próximo nivel – y 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 de Unix como funciones desde dentro de los propios scripts. Probablemente fue uno de los primeros lenguajes de scripting de alto nivel ampliamente utilizados. Es con Perl (en mi humilde opinión) que los lenguajes de guiones cruzan la línea arbitraria y agregan las capacidades de los lenguajes de progtwigción.

Tu pregunta fue específicamente sobre 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 donde haya un intérprete python, diría que es un lenguaje de scripting (en la misma línea que Perl). No es necesario volver a comstackr el archivo de comando del usuario de python para cada architecture 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. Tema original: https://www.researchgate.net/post/Is_Python_a_Programming_language_or_Scripting_Language