Scripting languages are programming languages that don't require an explicit compilation step.

For example, in the normal case, you have to compile a C program before you can run it. But in the normal case, you don't have to compile a JavaScript program before you run it. So JavaScript is sometimes called a "scripting" language.

This line is getting more and more blurry since compilation can be so fast with modern hardware and modern compilation techniques. For instance, V8, the JavaScript engine in Google Chrome and used a lot outside of the browser as well, actually compiles the JavaScript code on the fly into machine code, rather than interpreting it. (In fact, V8's an optimizing two-phase compiler.)

Also note that whether a language is a "scripting" language or not can be more about the environment than the language. There's no reason you can't write a C interpreter and use it as a scripting language (and people have). There's also no reason you can't compile JavaScript to machine code and store that in an executable file (and people have). The language Ruby is a good example of this: The original implementation was entirely interpreted (a "scripting" language), but there are now multiple compilers for it.

Some examples of "scripting" languages (e.g., languages that are traditionally used without an explicit compilation step):

  • Lua
  • JavaScript
  • VBScript and VBA
  • Perl

And a small smattering of ones traditionally used with an explicit compilation step:

  • C
  • C++
  • D
  • Java (but note that Java is compiled to bytecode, which is then interpreted and/or recompiled at runtime)
  • Pascal

...and then you have things like Python that sit in both camps: Python is widely used without a compilation step, but the main implementation (CPython) does that by compiling to bytecode on-the-fly and then running the bytecode in a VM, and it can write that bytecode out to files (.pyc, .pyo) for use without recompiling.

That's just a very few, if you do some research you can find a lot more.

Answer from T.J. Crowder on Stack Overflow
🌐
Reddit
reddit.com › r/learnprogramming › eli5: interpreted vs scripting vs programming languages
r/learnprogramming on Reddit: ELI5: Interpreted vs Scripting vs Programming Languages
February 11, 2020 -

I read that scripting languages are interpreted while interpreted languages are complied which is a little confusing to me. I've read some Quora answers and websites but them seem to contradict each other so I would really appreciate the help here. Also, do all interpreted languages count as programming languages?

Top answer
1 of 5
3
You categories are not distinct, they are overlapping. Interpreted and scripting languages are both examples of programming languages. Anything that is meant to instruct the computer to perform computations is a programming language. Scripting languages are often interpreted. A scripting language is usually meant to direct a series of actions, while a program in a more general programming language will contain data structures and subroutines. Scripts can be written in general programming languages, but you usually cannot effectively write full fledged software using scripting languages (though people have created PacMan from Minecraft blocks so that's not hard restriction). An interpreted language is a language where executing a program means giving your code to an interpreter. The other option is a compiled language, where executing a program means executing a binary blob created by a compiler from your code. In a compile language, the entirety of your code is compiled into a program and will run as a whole. In interpreted languages, you can send arbitrary lines of your code to the interpreter, and have a more interactive coding experience. For this reason it's usually more common to see scripting languages be interpreted, because you are directing a series of actions and you want to be able to easily observe the outcome of each action to plan the next action without having to recompile the program after every line of code.
2 of 5
1
The definition of a programming language is vague and hard to precisely define. Usually you know when you see one. But generally if a language is Turing Complete it's considered a programming language of some kind. Scripting languages aren't really a unique type of languages. Both interpreted and compiled languages can be a scripting language. And an interpreted language can also be compiled or a compiled language can sometimes be interpreted. Because of this, I wouldn't worry about classifying a language into a bucket but rather understand what each of these terms mean in general. It's a fluid spectrum, not distinct sets.
🌐
Fermyon
fermyon.com › blog › scripts-vs-compiled-wasm
Scripting Languages and Compiled Languages in WebAssembly
March 7, 2022 - Five scripting languages made the top ten programming languages list: JavaScript (#1), Python (#2), PHP (#4), TypeScript (#8), and Ruby (#9). Scripting languages are typically not compiled.
Discussions

Difference between compiling scripting vs programming languages
Find answers to Difference between compiling scripting vs programming languages from the expert community at Experts Exchange More on experts-exchange.com
🌐 experts-exchange.com
May 31, 2023
Definitions of “interpreted language” and “compiled language” with explanations of why Python and Java are or are not such languages - Python in Education - Discussions on Python.org
i’m not sure whether this belongs in the education category or a more general category. i’m dissatisfied with the definitions of “interpreted language” and “compiled language” that i have seen. as an educator, i need to explain these concepts to students. many people classify the ... More on discuss.python.org
🌐 discuss.python.org
2
September 6, 2024
Performant/compiled scripting language?
What sort of application do you have where user scripts are a performance bottleneck? Sometimes this can be significantly improved by adjusting the API of built in functions you provide to allow better composing. For example: instead of making scripts call rust-builtin foo 1000 times in a loop (switching between script evaluation and native code each time), change foo to optionally accept an array and do the iteration in the Rust function (script prepares parameters in an array, then hands it off once to Rust to do the iteration+processing). These sort of tricks are how something like Numpy or Polars can get great performance in Python. Or, maybe WASM plugins via something like wasmtime could work. Downside is that you can’t embed rustc, whether or not this is a problem of course depends on your use case. More on reddit.com
🌐 r/rust
44
44
January 30, 2024
In actual practice, what does it mean to say that a language is "interpreted" vs. "compiled", and how does Java relate to both?
Please ensure that: Your code is properly formatted as code block - see the sidebar (About on mobile) for instructions You include any and all error messages in full - best also formatted as code block You ask clear questions You demonstrate effort in solving your question/problem - plain posting your assignments is forbidden (and such posts will be removed) as is asking for or giving solutions. If any of the above points is not met, your post can and will be removed without further warning. Code is to be formatted as code block (old reddit/markdown editor: empty line before the code, each code line indented by 4 spaces, new reddit: https://imgur.com/a/fgoFFis ) or linked via an external code hoster, like pastebin.com, github gist, github, bitbucket, gitlab, etc. Please, do not use triple backticks (```) as they will only render properly on new reddit, not on old reddit. Code blocks look like this: public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } } You do not need to repost unless your post has been removed by a moderator. Just use the edit function of reddit to make sure your post complies with the above. If your post has remained in violation of these rules for a prolonged period of time (at least an hour), a moderator may remove it at their discretion. In this case, they will comment with an explanation on why it has been removed, and you will be required to resubmit the entire post following the proper procedures. To potential helpers Please, do not help if any of the above points are not met, rather report the post. We are trying to improve the quality of posts here. In helping people who can't be bothered to comply with the above points, you are doing the community a disservice. I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns. More on reddit.com
🌐 r/learnjava
6
25
July 20, 2022
Top answer
1 of 14
525

Scripting languages are programming languages that don't require an explicit compilation step.

For example, in the normal case, you have to compile a C program before you can run it. But in the normal case, you don't have to compile a JavaScript program before you run it. So JavaScript is sometimes called a "scripting" language.

This line is getting more and more blurry since compilation can be so fast with modern hardware and modern compilation techniques. For instance, V8, the JavaScript engine in Google Chrome and used a lot outside of the browser as well, actually compiles the JavaScript code on the fly into machine code, rather than interpreting it. (In fact, V8's an optimizing two-phase compiler.)

Also note that whether a language is a "scripting" language or not can be more about the environment than the language. There's no reason you can't write a C interpreter and use it as a scripting language (and people have). There's also no reason you can't compile JavaScript to machine code and store that in an executable file (and people have). The language Ruby is a good example of this: The original implementation was entirely interpreted (a "scripting" language), but there are now multiple compilers for it.

Some examples of "scripting" languages (e.g., languages that are traditionally used without an explicit compilation step):

  • Lua
  • JavaScript
  • VBScript and VBA
  • Perl

And a small smattering of ones traditionally used with an explicit compilation step:

  • C
  • C++
  • D
  • Java (but note that Java is compiled to bytecode, which is then interpreted and/or recompiled at runtime)
  • Pascal

...and then you have things like Python that sit in both camps: Python is widely used without a compilation step, but the main implementation (CPython) does that by compiling to bytecode on-the-fly and then running the bytecode in a VM, and it can write that bytecode out to files (.pyc, .pyo) for use without recompiling.

That's just a very few, if you do some research you can find a lot more.

2 of 14
115

To understand the difference between a scripting language and a programming language, one has to understand why scripting languages were born.

Initially, there were programming languages that was written to build programs like excel, word, browsers, games and etc. These programs were built with languages like c and java. Overtime, these programs needed a way for users to create new functionality, so they had to provide an interface to their bytecode and hence scripting languages were born.

A scripting language usually isnt compiled so can run as soon as you write something meaningful. Hence excel may be built using C++ but it exposes a scripting language called VBA for users to define functionality. Similarly browsers may be built with C++/Java but they expose a scripting language called javascript (not related to java in any way). Games, are usually built with C++ but expose a language called Lua for users to define custom functionality.

A scripting language usually sits behind some programming language. Scripting languages usually have less access to the computers native abilities since they run on a subset of the original programming language. An example here is that Javascript will not be able to access your file system. Scripting languages are usually slower than programming languages.

Although scripting languages may have less access and are slower, they can be very powerful tools. One factor attributing to a scripting languages success is the ease of updating. Do you remember the days of java applets on the web, this is an example of running a programming language (java) vs running a scripting language (javascript). At the time, computers were not as powerful and javascript wasn't as mature so Java applets dominated the scenes. But Java applets were annoying, they required the user to sort of load and compile the language. Fast forward to today, Java applets are almost extinct and Javascript dominates the scene. Javascript is extremely fast to load since most of the browser components have been installed already.

Lastly, scripting languages are also considered programming languages (although some people refuse to accept this) - the term we should be using here is scripting languages vs compiled languages.

🌐
ITExamAnswers.net
itexamanswers.net › question › what-is-the-difference-between-a-scripting-language-and-a-compiled-language
What is the difference between a scripting language and a compiled language?
July 25, 2023 - Explanation: A scripting language is different than a compiled language because each line is interpreted and then executed when the script is run. Compiled languages need to be converted into executable code using a compiler.
🌐
GeeksforGeeks
geeksforgeeks.org › javascript › whats-the-difference-between-scripting-and-programming-languages
What's the difference between Scripting and Programming Languages? - GeeksforGeeks
December 10, 2025 - Basically, all scripting languages are programming languages. The main theoretical difference is that scripting languages don’t need a compilation step and are interpreted.
🌐
freeCodeCamp
freecodecamp.org › news › compiled-versus-interpreted-languages
Interpreted vs Compiled Programming Languages: What's the Difference?
January 10, 2020 - Interpreted languages tend to be more flexible, and often offer features like dynamic typing and smaller program size. Also, because interpreters execute the source program code themselves, the code itself is platform independent.
🌐
Experts Exchange
experts-exchange.com › questions › 29260466 › Difference-between-compiling-scripting-vs-programming-languages.html
Solved: Difference between compiling scripting vs programming languages | Experts Exchange
May 31, 2023 - others such as recent php versions are compiled on the fly (to bytecode) or can be compiled to bytecode or even to actual executables (though with limits compared to the actual script variants) to make things worse, you can compile c code and most compiled languages to javascript code which can be interpreted.
Find elsewhere
🌐
Quora
quora.com › Why-are-script-languages-mostly-interpreted-rather-than-compiled
Why are script languages mostly interpreted rather than compiled? - Quora
Answer (1 of 6): I think a major reason is that they are much easier to maintain/edit/update, which is important for developing and maintaining complex websites. You also don’t need to have a dedicated development environment for the given language and avoid requiring edit/compile/link cycle ...
🌐
University of Phoenix
phoenix.edu › articles › it › what-are-programming-vs-scripting-languages.html
Programming vs. Scripting Languages | University of Phoenix
November 2, 2023 - Here are some facts about scripting ... complex software applications. They are generally interpreted. Programming languages are typically compiled....
🌐
Unosquare
unosquare.com › home › uncategorized › scripting vs programming languages: what actually matters in 2026
Scripting vs Programming Languages: What Actually Matters in 2026 - Unosquare
January 16, 2026 - Here’s the reality: scripting languages are interpreted, fast to write, and perfect for automation. Programming languages are compiled, optimized for performance, and built for scale. Both are code. Both require skill.
🌐
Python.org
discuss.python.org › python in education
Definitions of “interpreted language” and “compiled language” with explanations of why Python and Java are or are not such languages - Python in Education - Discussions on Python.org
September 6, 2024 - i’m not sure whether this belongs in the education category or a more general category. i’m dissatisfied with the definitions of “interpreted language” and “compiled language” that i have seen. as an educator, i need to explain these concepts to students. many people classify the programming languages python and java differently for these two terms. often java is classed as compiled but not interpreted and python as interpreted but not compiled. for me, this seems to require splitting hairs...
🌐
Quora
quora.com › Why-do-people-make-compiled-languages-more-difficult-in-general-than-scripting-languages
Why do people make compiled languages more difficult (in general) than scripting languages? - Quora
Answer (1 of 6): Compiled languages are naturally more complex as they are a closer to literal translation of machine code, as opposed to a series of commands to modify a runtime state machine (as is the case in languages like JavaScript). When you are dealing with a compiled language, the con...
🌐
Relia Software
reliasoftware.com › blog › scripting-languages-vs-programming-languages
Key Differences Of Scripting Language vs Programming Language
November 29, 2024 - Scripting languages are interpreted and run line-by-line, while programming languages are typically compiled into machine code before execution.
🌐
Medium
medium.com › @ahmetbeskazalioglu › compiled-and-interpreted-programming-languages-advantages-disadvantages-and-language-selection-b260ff8d2a50
Compiled and Interpreted Programming Languages: Advantages, Disadvantages, and Language Selection Guide for Projects | by Ahmet BESKAZALIOGLU | Medium
November 11, 2024 - In a project developed with Python, developers can quickly experiment without wasting time in the compilation process and instantly see the results. • Dynamic and Flexible: Interpreted languages allow changes to be made during runtime. This flexibility is vital in script-based projects, system ...
🌐
Scaler
scaler.com › home › topics › difference between interpreted and compiled language
Difference between Interpreted and Compiled Language - Scaler Topics
February 4, 2024 - We give a side-by-side comparison of interpreted and compiled languages below, highlighting important differences and benefits. Interpreted languages like Python and JavaScript enable quick development, making them excellent for scripting and dynamic applications.
🌐
GeeksforGeeks
geeksforgeeks.org › compiler design › difference-between-compiled-and-interpreted-language
Difference between Compiled and Interpreted Language - GeeksforGeeks
July 12, 2025 - A compiled language is a programming language that is generally compiled and not interpreted. It is one where the program, once compiled, is expressed in the instructions of the target machine; this machine code is undecipherable by humans.
🌐
LinkedIn
linkedin.com › pulse › what-difference-between-compiled-interpreted-programming-language
What is the difference between a compiled and interpreted programming language?
March 13, 2023 - Some examples of interpreted programming languages include Python, Ruby, and JavaScript. When you write code in an interpreted language, you can typically run it directly from the command line or from an IDE without the need for a separate compilation step.
🌐
TheServerSide
theserverside.com › answer › Interpreted-vs-compiled-languages-Whats-the-difference
Interpreted vs. compiled languages: What's the difference? | TheServerSide
April 15, 2021 - The drawback to a compiled language is that the deployment artifact is architecture specific. A C++ application written to run a Windows-based, x86 architecture, for example, cannot be installed on an x64 Ubuntu machine.
🌐
VisionX
visionx.io › home › blog › the difference between scripting language vs programming language
The Difference Between Scripting Language vs Programming Language
February 27, 2025 - Scripting languages are typically interpreted and have simpler syntax than programming languages, while programming languages are compiled and require more code to achieve the same result.
🌐
Masai School
masaischool.com › blog › programming-language-vs-scripting-language
Programming Languages vs. Scripting Languages
September 22, 2023 - Overall, the difference in the ... being developed. Programming languages tend to be compiled for maximum performance, while scripting languages tend to be interpreted for maximum flexibility....