1. Python
2. JavaScript
3. Ruby
4. PHP
5. Go
6. TypeScript
7. Bash
8. PowerShell
9. C#
10. Perl
11. Swift
12. Kotlin
13. Rust
Scripting languages are a specific kind of computer languages that you can use to give instructions to other software, such as a web browser, server, or standalone application. Many of today’s most popular coding languages are scripting languages, such as JavaScript, PHP, Ruby, Python, and several others.
As scripting languages make coding simpler and faster, it’s not surprising that they are widely used in web development.
However, that’s not their only field of application. There are also scripting languages for operating systems, statistical analysis software, office applications, game engines, and many other kinds of platforms.
What Are Scripting Languages?
Scripting languages can perform different actions within a particular runtime environment, such as automating task execution, enhancing the functionality of the parent software, performing configurations, extracting data from data sets, and others.
Scripting languages can come about in two ways:
- A runtime environment can introduce its own scripting language, such as Bash for the GNU operating system or VBA for Microsoft Office applications.
- A runtime environment can adopt an existing scripting language, for instance, MongoDB’s
mongo
shell has been built around JavaScript.
On the other hand, sometimes it’s the scripting language that exists first and it gives birth to its own parent platform — however strange that may sound.
This is what happened in the case of Node.js, a backend runtime environment that was created to allow web developers to use JavaScript not just on the frontend but also on the backend, following the ‘JavaScript everywhere’ paradigm.
What Does Scripting Mean in Programming?
The action of scripting is essentially writing a series of commands that are interpreted one by one by an application or scripting engine. Even though the script guides the platform through what to do (gives it a script to read and interpret), the execution is performed by the runtime environment and not by the scripting language itself.
This is how scripting languages are different from programming languages such as Java that you can ‘write once, run anywhere’ (official Java slogan meaning Java programs can run as standalone applications in any environment; since being coined it has also become the WORA principle that refers to cross-platform capabilities).
Scripting Languages vs Programming Languages
Although the terms ‘scripting language’ and ‘programming language’ are frequently used interchangeably, they are not the same thing.
Platform-Specific vs Platform-Agnostic
Scripting languages are platform-specific, while programming languages are platform-agnostic (cross-platform) as they have the ability to execute themselves. For instance, you can run a Java program on any operating system.
(Mostly) Interpreted vs Compiled
While programming languages are compiled, scripting languages are mostly interpreted — even though there are some scripting languages that are both compiled and interpreted, such as Python and Groovy.
‘Compiled’ means that a programming language has its own compiler that translates the syntax into machine code before runtime. In contrast, scripting languages are interpreted line by line during runtime by the interpreter of the platform they are running on.
Faster vs Slower at Runtime
Because of this difference in implementation, programming languages run faster than scripting languages as they don’t have to be compiled in real-time. Compilers also perform collective error handling before execution, while interpreters evaluate code line by line, so they pause (or completely stop) every time they encounter an error.
This also adds to the total execution time of scripting languages, even though on modern and faster hardware, this is less of an issue than it was before.
More vs Less Code-Intensive
Programming languages are more code-intensive as you have to do many things manually that are handled by the platform in the case of scripting languages. If you use a scripting language you have to write much less code.
Standalone Apps vs Apps as Part of a Stack
There are some things that you simply can’t do with a scripting language. Most importantly, you can’t create standalone desktop and mobile applications with a scripting language, as there’s no runtime environment that interprets them.
For instance, you can use PHP frameworks such as WordPress and Laravel only for websites and web applications because they use the web browser as their runtime environment. Similarly, WordPress mobile apps run within mobile runtime environments, such as Capacitor, that incorporate web views.
Scripting vs Programming Languages — Differences Overview
So the main differences between scripting vs programming languages are as follows:
Scripting languages | Programming languages |
Platform-specific | Platform-agnostic (cross-platform) |
(Mostly) interpreted | Compiled |
Slower at runtime | Faster at runtime |
Less code-intensive | More code-intensive |
Creates apps as part of a stack | Creates standalone apps |
Confusions About Scripting Languages
There are some confusions about scripting languages that you’ll frequently run into, so let’s have a look at them before getting into the best scripting languages.
Most importantly, it doesn’t make much sense to speak about frontend vs backend scripting languages, even though many articles you’ll find all over the web use this kind of grouping.
There’s actually just one frontend scripting language currently in use, and that’s JavaScript (there existed other ones before, such as ActionScript and JScript, but now all are deprecated).
It’s not frontend vs backend that’s important in the context of scripting languages but the runtime environment(s) where a scripting language can run.
Note that ‘frontend’ just means something (image, font, markup, stylesheet, script, another type of static file) that a web browser can interpret. For instance, try to open a PHP file directly from the web browser: you can’t, because a PHP application server has to interpret it — so PHP is a backend scripting language in the context of web development, while the application layer of a server stack (e.g. LAMP) in the context of scripting languages.
Besides web development (frontend and backend scripting), scripting languages can also be used for multiple things such as programming and configuring operating systems and specific applications/environments, manipulating data sets, automating tasks, and many others.
A scripting language can run in multiple environments, too.
What Are Not Scripting Languages
Before getting into the best scripting languages, let’s see the coding languages that are sometimes falsely called scripting languages, but you can’t script with them:
- Markup languages, such as HTML and XML. In HTML, there are attributes for event handling such as onclick and onmouseover, but these are still JavaScript callbacks.
- Stylesheet languages, such as CSS, Sass, and LESS.
- Any kind of library or framework built on top of any scripting language, such as jQuery, PostCSS, React, Vue, Angular, Rails, Grails, Django, Laravel, WordPress, and others.
- Languages that are compiled into a scripting language, such as TypeScript and CoffeeScript.
- SQL as it’s for managing data in relational database management systems (RDBMS) such as MySQL and MariaDB. They don’t let you write dynamic functionality. However, many RDBMSs have shells that let you use a scripting language (e.g. JavaScript or Python in the MySQL Shell).
- Runtime environments for one or more scripting languages, such as NodeJS.
13 Best Scripting Languages
There are many great scripting languages that would deserve a mention in this guide, but they are not in active development anymore. However, the following 13 scripting languages are regularly updated and also being used in production.
So if you are thinking about learning a new scripting language as a new professional path, they are all worth a shot.
1. JavaScript/ECMAScript
JavaScript is an implementation of the ECMA-262 standard that defines the ECMAScript (ES) general-purpose scripting language. In other words, JavaScript is a dialect of the ECMAScript language, therefore it doesn’t have a standalone specification but uses the same syntax as ECMAScript.
JavaScript has first-class functions (functions are treated as variables) and supports prototype-based object-oriented programming (existing objects are reused as prototypes).
Code Example
ECMAScript uses a curly bracket syntax. The following JavaScript code example adds numbers from 1 to 10 together and outputs the result into the console (you can test it in your web browser’s JavaScript console by hitting F12):
let total = 0, count = 1;
while (count <= 10) {
total += count;
count += 1;
}
console.log(total);
// 55
Source: Eloquent JavaScript by Marijn Haverbeke: Introduction
Use Cases and Environments
JavaScript is the scripting language used by modern web browsers, such as Chrome’s V8 engine and Mozilla’s SpiderMonkey engine. Besides, frontend web development, it can be used in non-browser environments as well. The NodeJS runtime environment has been created to enable web developers to use it on the backend.
The shells of some NoSQL database management systems, such as MongoDB and Apache CouchDB, and some relational database management systems, such as the aforementioned MySQL Shell, also use it as a scripting language.
2. PHP
PHP is a general-purpose, open source scripting language used in backend web development. The acronym originally stood for ‘Personal Home Page’, as PHP was first created to add dynamic functionalities to static HTML pages.
Since then, PHP has evolved into a standalone language, so now the acronym is used in the sense of ‘Hypertext Preprocessor’. PHP is loosely typed (you don’t have to declare the data types of variables), can be embedded into HTML documents, and has object-oriented features too.
Code Example
PHP has a C-like syntax. The following PHP code example creates a numeric array with four elements, loops through them, multiples each item by two, and unsets the $value
variable when the loop is over.
<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
$value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)
unset($value);
?>
Source: PHP documentation: Control Structures
Use Cases and Environments
PHP can be executed on different HTTP servers, with Apache and Nginx being the most popular ones.
The most common PHP server stacks are LAMP (Linux, Apache, MySQL, PHP), LEMP (Linux, Nginx, MySQL, PHP — used by Kinsta), and WAMP (Windows, Apache, MySQL, PHP), and MAMP (macOS, Apache, MySQL, PHP).
It’s also used by many popular content management systems (CMS) such as WordPress, Drupal, and Joomla, and web application frameworks such as Laravel, Symfony, and CodeIgniter, that are all built on top of the PHP language and enhance it with extra functionalities.
You can use PHP for local WordPress development, too. Check out our in-depth guide on the main differences between Javascript and PHP.
3. Python
Python is currently the second most popular coding language on GitHub (after JavaScript). It’s loved for its clear and concise syntax — when coding in Python, you have to type much less than in most languages.
Python is a free and open source project, managed by the Python Software Foundation. It supports the structured, object-oriented, and functional programming paradigms, and has an extensive Standard Library that is a collection of commonly used Python modules.
Code Example
Python doesn’t use curly brackets and semicolons are optional, so the code is easy to read and write. The following Python code example loops through integers between 0 and 4, and prints them out:
count = 0
while count < 5:
print(count)
count += 1
Source: Learn Python: Loops
Use Cases and Environments
The most popular Python implementation is CPython, written in the C language. It’s also the reference implementation that you download together with the Python language. Even though Python is an interpreted language, CPython uses both a compilation and interpretation step. First, it compiles the source code into bytecode (not the same as machine code) that it interprets at runtime.
Besides CPython, Python has other runtime environments as well, most importantly PyPy that omits the compilation step and only does JIT (just-in-time) interpretation. Python implementations are cross-platform, meaning they run on multiple operating systems, including Linux, Windows, and macOS.
The Python language is frequently used in machine learning, backend web development (Django being the most popular web framework), data analytics, automation, scientific computing, and web scraping.
To find out the best way to learn Python, check out our blog post on Python tutorials.
4. Ruby
Ruby is an open source, general-purpose scripting language with a compact and easy-to-read syntax. It follows the principles of object-oriented programming and lets you write clean and logical code, making it one of the easiest programming language to learn. In Ruby, everything is an object — even types that are primitives in most languages, such as booleans and integers.
Object-oriented concepts such as inheritance, mixins, and metaclasses are also heavily used.
Although Ruby has a purely object-oriented design, it also supports procedural programming (functions and variables defined outside of classes belong to the Self
object) and functional programming (through anonymous functions, closures, and continuations).
Code Example
Ruby has a concise syntax similar to Python. The following Ruby code example defines the KaraokeSong
class as a subclass of the Song
class:
class KaraokeSong < Song
def initialize(name, artist, duration, lyrics)
super(name, artist, duration)
@lyrics = lyrics
end
end
Source: Programming Ruby reference guide: Classes, Objects, and Variables
Use Cases and Environments
Ruby is mainly used in backend web development, powering some robust web application frameworks such as Ruby on Rails. Many popular websites and applications run on Ruby on Rails, such as Airbnb, Shopify, GitHub, and Hulu.
Ruby is also the language many popular web development tools are written in, most notably the Sass CSS preprocessor, the Jekyll static website generator, and the Vagrant virtual machine environment.
The default implementation of Ruby is YARV (Yet Another Ruby Virtual Machine). It changed Ruby’s original interpreter Matz’s Ruby Interpreter (also Ruby MRI or CRuby) that had been criticized for issues with speed and scalability.
There are also several competing runtime environments for Ruby, such as JRuby (lets you run Ruby on the Java Virtual Machine), mruby (a lightweight implementation that you can embed within your application), TruffleRuby (Oracle’s Ruby interpreter built on GraalVM), Rubinius (a cloud-native virtual machine for Ruby), and others.
5. Groovy
Groovy is an incredible flexible language written for the Java Virtual Machine (JVM) that can be used both as a scripting and programming language. It’s an open source project maintained by the Apache Software Foundation. Groovy is an object-oriented language that extends the java.lang.Object
superclass.
It supports both static and dynamic typing (type checking can be performed both at compile time and runtime) and has native support for lists, associative arrays, regular expressions, and markup languages such as HTML and XML.
You can use Groovy together with existing Java libraries.
Code Example
Groovy has a Java-compatible syntax, using curly brackets. The following Groovy code example defines the Coordinates
class with the latitude and longitude properties and the getAt()
method:
@Immutable
class Coordinates {
double latitude
double longitude
double getAt(int idx) {
if (idx == 0) latitude
else if (idx == 1) longitude
else throw new Exception("Wrong coordinate index, use 0 or 1")
}
}
Source: Groovy Documentation: Semantics
Use Cases and Environments
As Groovy compiles into Java byte code, you can use it as a general-purpose programming language similar to Java. In this case, you can compile the source code into byte code before runtime using the groovyc compiler (the equivalent to javac).
However, there are also many Groovy implementations that let you use it as a scripting language. The most popular ones are the Grails web application framework (formerly known as Groovy on Grails) and the Gradle build automation tool, but there are several others too.
6. Perl
Perl is a general-purpose scripting language that’s been around for more than thirty years (since 1987). Originally, it was created as a UNIX scripting language for report processing. That’s also where its name comes from, as the Perl acronym standing for ‘Practical Extraction and Reporting Language’.
The Perl language became popular in the 1990s when programmers began to widely use it for CGI (Common Gateway Interface) scripting, which is an older interface specification for web servers (currently, it’s mainly used by legacy sites).
Despite being a relatively early player, Perl is still the 11th on the TIOBE index and the 21st most popular language on GitHub (as of October 2020).
Code Example
Perl’s syntax is similar to the C language. The Perl code example below first defines the square()
subroutine that calculates and returns the square of a number, then passes the value 8 as an argument, runs the subroutine, and saves the result into the $sq
variable:
sub square {
my $num = shift;
my $result = $num * $num;
return $result;
}
$sq = square(8);
Source: Perl docs: Perl Intro
Use Cases and Environments
Even though these days it’s not the most frequent choice of web developers, Perl can be successfully used in backend development. Besides the CGI runtime environment, it also executes on the Apache and Nginx web servers — the LAMP stack is actually LAMPP, standing for Linux, Apache, MySQL, PHP, and Perl.
There also exist some Perl web development frameworks, with Catalyst, Mojolicious, and Dancer being the most popular ones.
Perl is used by several notable websites and applications such as Amazon, IMDB, Booking.com, and the BBC iPlayer. It’s used in other areas, too, such as network programming and system administration. You can also check out the Comprehensive Perl Archive Network (CPAN) where 25,000+ open-source Perl projects are available for you to download.
7. Lua
Lua is a fast and lightweight scripting language. The word ‘lua’ means ‘moon’ in Portuguese, as the language is developed and maintained by the Pontifical Catholic University of Rio de Janeiro in Brazil. Lua supports the procedural, object-oriented, and functional programming paradigms.
As Lua’s interpreter is written in C, it can be easily embedded into applications using its C API. That being said, you can use Lua to extend existing applications written in C-based languages such as C, C++, C#, Java, Perl, Ruby, and others.
Code Example
Lua has a concise and easy-to-read syntax, similar to Python and Ruby. The following Lua code example shows how to use the if-then-else
statement. First, it evaluates the op
variable, then performs basic arithmetic operations depending on its value:
if op == "+" then
r = a + b
elseif op == "-" then
r = a - b
elseif op == "*" then
r = a * b
elseif op == "/" then
r = a / b
else
error("invalid operation")
end
Source: Programming in Lua reference guide: Statements
Use Cases and Environments
The default Lua implementation doesn’t interpret source code directly but first compiles it into byte code that it later executes on the Lua virtual machine. As all this happens at runtime, there’s no manual compilation step you need to perform (even though you can opt for compiling Lua before runtime to improve performance).
There are other Lua implementations as well, such as LuaJIT, LuaVela, and many others.
Lua is frequently used to develop video games, such as Angry Birds, World of Warcraft, and Grim Fandango. As it’s easy to embed, it’s also a frequent choice for embedded devices such as set-top boxes, instrument panels of cars (e.g. Volvo), IP cameras (e.g. Cisco), and others.
It can also be used in web development, as both Apache and Nginx servers have a Lua module (here’s Apache’s mod_lua, and here’s Nginx’s ngx_http_lua_module). Wikipedia chose Lua as its template scripting language, and the UI of Adobe Photoshop Lightroom is written in Lua as well.
8. Bash
Bash is the name of both a command-line interpreter (shell) for the GNU operating system and the belonging scripting language. ‘Linux’ is, in fact, the GNU operating system using the Linux kernel (a kernel is the core part of the OS, it’s the first program that the operating system loads).
It’s a replacement for the original UNIX Bourne shell (sh) — the Bash acronym stands for ‘Bourne Again SHell’ (a pun on ‘born again shell’).
Besides being the superset to the Bourne shell syntax, Bash also includes features from other shell scripting languages such as KornShell (ksh) and C shell (csh) — for example, command-line editing and command history. You can use Bash in an interactive mode (executing one command at a time and waiting for the machine’s reply) and scripting mode (running a set of commands — a Bash script — at once).
Code Example
Like most CLI scripting languages, Bash has a simple and descriptive syntax. The following Bash code example selects a file from the current folder and outputs a message containing the name and index of the file:
select fname in *;
do
echo you picked $fname \($REPLY\)
break;
done
Source: Bash Reference Manual: Conditional Constructs
Use Cases and Environments
You can use Bash to make changes and perform different actions related to your operating system, such as executing commands, carrying out tasks that most people would do using a graphical user interface (e.g. creating, moving, or deleting folders and files), customizing and automating administrative tasks, connecting to a remote server, and many others.
Bash is the default shell for many Unix-based operating systems, including most Linux distros and all macOS releases up to macOS Catalina that replaced Bash with Z shell (Zsh) in 2019. You can also run Bash scripts on Windows 10, using the Windows Subsystem for Linux (WSL) compatibility layer developed by Microsoft.
9. PowerShell
Originally, PowerShell was a command-line shell and scripting language solely for the Windows operating system. Since then, Microsoft open sourced and moved it from the .NET Framework, which can create only Windows applications, to .NET Core, which can create applications for Windows, Linux, and macOS. This means PowerShell is now cross-platform.
It has also been renamed from Windows PowerShell to PowerShell Core, corresponding to the underlying framework. Unlike most command-line shells, PowerShell accepts and returns .NET objects instead of plain text, which gives way to new opportunities in task automation.
Code Example
PowerShell has a compact syntax that makes working in the command line faster. The PowerShell code example below creates a backup of the boot.ini file and saves it to the boot.bak file:
Copy-Item -Path C:\boot.ini -Destination C:\boot.bak
Source: PowerShell Documentation: Working with Files and Folders
Use Cases and Environments
You can use PowerShell on the Windows, Linux, macOS operating systems, and some ARM devices (e.g. wearables, multimedia players, tablets, and other consumer electronic devices).
You can use PowerShell for system administration, task automation, and configuration management. To find PowerShell modules and scripts, you can check out the PowerShell Gallery and Microsoft’s official sample script collection, too.
10. R
R is both a software environment and scripting language that you can use for statistical computing, data analysis, and graphical display. It’s a free and open source GNU project and an implementation of the S statistical computing language (not in active development anymore).
R allows you to use many different statistical techniques such as classical statistical tests, clustering, time series analysis, linear and non-linear modeling, and others.
Code Example
R’s syntax is different from most scripting languages and has some unusual elements, too — for instance, the primary assignment operator is <-
instead of the =
equals sign and it has loopless loops — see more about the quirks of the R syntax in this beginner’s guide to R by Sharon Machlis.
The following R code example defines a names
attribute for the fruit
vector (basic data structure in R that contains elements of the same type) that uses alphanumeric names (orange
, banana
, apple
, peach
) to help identify its components. Later, the lunch
(or another) subvector can access each component using its alias name:
> fruit <- c(5, 10, 1, 20)
> names(fruit) <- c("orange", "banana", "apple", "peach")
> lunch <- fruit[c("apple","orange")]
Source: An Introduction to R: Index vectors; selecting and modifying subsets of a data set
Use Cases and Environments
The R software environment is cross-platform; you can run it on Windows, Linux, and macOS operating systems. The default R implementation is also available from some other scripting languages such as Python and Perl. This means that you can access all the statistical functionality of R using these scripting languages.
Besides the default R environment, you can use the R scripting language in other environments as well, such as pqR (stands for ‘a pretty quick version of R’) and Renjin (an R implementation on top of the Java Virtual Machine).
11. VBA
VBA stands for Visual Basic for Applications and it’s an implementation of the Visual Basic 6 programming language (not in active development since 2008). It has been created for Microsoft Office applications to enable developers to automate repetitive tasks, add new functionalities, and interact with the end users of documents.
Similar to Visual Basic, VBA follows the event-driven programming paradigm that puts events such as user actions into the center that drive the flow of the program.
As Microsoft Office applications have a graphical user interface, you can attach VBA scripts to menu buttons, keyboard shortcuts, macros (programmable patterns), and OLE events (Object Linking and Embedding that lets you control one application from another; it’s a proprietary Microsoft technology).
Code Example
As VBA is based on Visual Basic (which is an augmentation of BASIC), it uses a syntax similar to the languages of the BASIC (Beginners’ All-purpose Symbolic Instruction Code) family — which means it’s very beginner-friendly.
The VBA code example below uses the GetCertificateDetail()
method of the SignatureInfo
object to get the expiration date of a digital certificate:
Sub GetCertDetails()
Dim objSignatureInfo As SignatureInfo
Dim varDetail As Variant
strDetail = objSignatureInfo.GetCertificateDetail(certdetExpirationDate)
End Sub
Source: Office VBA Reference: SignatureInfo object
Use Cases and Environments
The VBA scripting language is embedded into most Microsoft Office applications, respectively Access, Excel, Office for Mac, Outlook, PowerPoint, Project, Publisher, Visio, and Word — each having a separate reference guide on Microsoft’s documentation site while general VBA concepts are detailed in the library reference.
Besides Microsoft Office applications, there are other apps that also support VBA, such as AutoCAD and CorelDRAW.
12. Emacs Lisp
Emacs Lisp is a domain-specific scripting language designed for the GNU Emacs text editor. It’s a dialect of the Lisp programming language family (the name comes from LISt Processor).
As Emacs Lisp has been designed to be used within a code editor, it comes with a feature set specific to that environment, such as text scanning and parsing, buffer (objects with editable text) and display management, and others.
The Emacs Lisp scripting language is closely integrated with the editor interface itself, so every command is also a Lisp function that you can call from your script, and customization parameters are Lisp variables as well.
Code Example
The syntax of Emacs Lisp is based on a fully parenthesized prefix notation that can be a bit hard to read at first if you haven’t worked with any Lisp language before.
The following Emacs Lisp code example defines two variables (symbols) and assigns a list of values to each — a list of trees (pine
, fir
, oak
, maple
) to the symbol trees
and a list of herbivores (gazelle
, antelope
, zebra
) to the symbol herbivores
:
(setq trees '(pine fir oak maple)
herbivores '(gazelle antelope zebra))
Source: An Introduction to Programming in Emacs Lisp: Setting the Value of a Variable
Use Cases and Environments
The Emacs text editor is a cross-platform application that you can install on Windows, Linux, and macOS machines.
Using the Emacs Lisp scripting language, you can extend and customize the code editor, repeat and automate processes, create graphs, restrict focus to specific areas (for security), search regular expressions, store text, define modes and keymaps, ask questions from users, and perform many other actions.
There are also some configuration frameworks for Emacs Lisp — Doom Emacs and Spacemacs being the most well-known ones.
13. GML
The acronym GML stands for GameMaker Language. It’s a good example of a domain-specific scripting language used in game development. GML is a proprietary scripting language belonging to GameMaker Studio 2, a cross-platform game engine and development platform owned and maintained by YoYo Games.
Even though GML is mainly used for controlling game objects, it’s not an object-oriented language but a procedural one. It allows you to call custom scripts from any game object.
Besides the GML scripting language, GameMaker Studio 2 also has a visual scripting tool called Drag and Drop (DnD). Due to the flexible nature of GameMaker Studio 2, you can mix DnD with your GML scripts, too.
Code Example
The syntax of GML is similar to JavaScript and other C-like languages.
The following GML code example makes a game object move horizontally towards the mouse pointer on the screen at a speed of 5 pixels per step. Once it reaches the current position of the pointer, the script creates an explosion effect layer, runs it (there’s an explosion effect on the screen), then destroys the instance (the explosion effect gets removed):
if mp_linear_step(mouse_x, mouse_y, 5, 0) {
instance_create_layer(x, y, "Effects", obj_Explosion);
instance_destroy();
}
Source: GameMaker Studio 2 Docs – Scripting – GML Reference – Movement and Collisions – Motion Planning
Use Cases and Environments
GML is interpreted by GameMaker Studio 2 that you need to purchase if you want to develop games in this scripting language.
Pricing depends on the platform you want to create games for — Mac and Windows games being the cheapest ones; cross-platform (Windows, macOS, Ubuntu) desktop games, HTML5 web games, UWP (Universal Windows Platform) games, and cross-platform (Android, Fire, iOS) mobile games being in the mid-tier; and PS4, Xbox One, and Nintendo Switch being the most expensive ones.
Some examples of video games created with GML include Blackhole, 10 Second Ninja X, Death’s Gambit, Deltarune, and several others.
Summary
There’s no doubt that scripting languages are fascinating. They have many different variations, syntaxes, and implementations, and can be used for plenty of things.
From building dynamic websites, to automating system administration, to creating video games, and so forth.
The three most important things to remember about scripting languages are:
They can’t run on their own but always need an environment (implementation, runtime) with an interpreter for that scripting language.
Sometimes you can use general-purpose scripting languages to access environments and platforms primarily created for other programming or scripting languages. Think of JRuby (lets you run Ruby on the Java Virtual Machine), Renjin (R implementation also on the JVM), Rpy2 (R interface that you can use from Python), as good examples.
Finally, before learning a new scripting language, it’s always a good idea to check out its current popularity using the TIOBE index or GitHut.
Depending on it, you will also find more or fewer sample scripts, GitHub repositories, module libraries, reference guides, detailed manuals, and app showcases that will help you get started with the language… and get better-paid projects and jobs!
Get all your applications, databases and WordPress sites online and under one roof. Our feature-packed, high-performance cloud platform includes:
- Easy setup and management in the MyKinsta dashboard
- 24/7 expert support
- The best Google Cloud Platform hardware and network, powered by Kubernetes for maximum scalability
- An enterprise-level Cloudflare integration for speed and security
- Global audience reach with up to 35 data centers and 275 PoPs worldwide
Get started with a free trial of our Application Hosting or Database Hosting. Explore our plans or talk to sales to find your best fit.