Scripting languages are a specific kind of computer languages that you tin use to give instructions to other software, such equally a web browser, server, or standalone application. Many of today'south virtually popular coding languages are scripting languages, such as JavaScript, PHP, Blood-red, Python, and several others.

Equally scripting languages brand coding simpler and faster, information technology'southward not surprising that they are widely used in web development.

Still, that's non their merely field of application. At that place 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 tin come well-nigh in two ways:

  1. A runtime environs tin can introduce its own scripting language, such as Bash for the GNU operating system or VBA for Microsoft Office applications.
  2. A runtime environment can adopt an existing scripting language, for instance, MongoDB's mongo shell has been congenital around JavaScript.

On the other paw, sometimes it's the scripting linguistic communication that exists outset and it gives birth to its own parent platform — however strange that may sound.

This is what happened in the example of Node.js, a backend runtime environment that was created to allow web developers to utilize JavaScript not just on the frontend only besides on the backend, following the 'JavaScript everywhere' epitome.

If y'all're thinking about learning a new scripting language, check out this guide to the pinnacle 13 options 💻....then get to studying 🤓 Click to Tweet

What Does Scripting Mean in Programming?

The activeness of scripting is essentially writing a series of commands that are interpreted one past i by an application or scripting engine. Even though the script guides the platform through what to practise (gives it a script to read and interpret), the execution is performed past the runtime environment and not past the scripting language itself.

This is how scripting languages are different from programming languages such every bit Java that yous can 'write once, run anywhere' (official Java slogan pregnant Java programs can run as standalone applications in whatsoever environment; since existence coined it has besides go 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 matter.

Platform-Specific vs Platform-Agnostic

Scripting languages are platform-specific, while programming languages are platform-agnostic (cross-platform) as they have the power to execute themselves. For instance, you can run a Coffee programme on any operating organisation.

(Mostly) Interpreted vs Compiled

While programming languages are compiled, scripting languages are more often than not interpreted — fifty-fifty though there are some scripting languages that are both compiled and interpreted, such equally Python and Groovy.

'Compiled' ways that a programming language has its own compiler that translates the syntax into auto lawmaking before runtime. In dissimilarity, scripting languages are interpreted line by line during runtime past 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-fourth dimension. Compilers also perform collective error handling earlier execution, while interpreters evaluate code line by line, so they break (or completely stop) every fourth dimension they come across an error.

This as well adds to the total execution fourth dimension of scripting languages, even though on modern and faster hardware, this is less of an upshot than it was earlier.

More vs Less Code-Intensive

Programming languages are more code-intensive equally yous have to do many things manually that are handled by the platform in the instance of scripting languages. If you employ a scripting language you have to write much less code.

Standalone Apps vs Apps as Part of a Stack

At that place are some things that you simply can't do with a scripting language. Almost chiefly, y'all can't create standalone desktop and mobile applications with a scripting language, as there'south no runtime environment that interprets them.

For case, you can use PHP frameworks such equally WordPress and Laravel only for websites and spider web applications because they utilise 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

And then the main differences between scripting vs programming languages are as follows:

Scripting languages Programming languages
Platform-specific Platform-doubter (cantankerous-platform)
(Mostly) interpreted Compiled
Faster at runtime Slower at runtime
More code-intensive Less code-intensive
Creates standalone apps Creates apps as part of a stack

Confusions About Scripting Languages

In that location are some confusions well-nigh scripting languages that you'll oftentimes encounter, then allow's have a look at them earlier getting into the best scripting languages.

Most importantly, it doesn't brand much sense to speak about frontend vs backend scripting languages, even though many articles that you'll find all over the web apply this kind of group.

At that place'south really just i frontend scripting language currently in use, and that'southward JavaScript (there existed other ones earlier, such as ActionScript and JScript, but at present all are deprecated).

Information technology'due south non frontend vs backend that's of import in the context of scripting languages but the runtime environment(s) where a scripting language tin can run.

Note that 'frontend' just means something (prototype, font, markup, stylesheet, script, another type of static file) that a web browser can translate. For case, endeavour to open a PHP file directly from the web browser: you lot can't, considering a PHP application server has to translate it — so PHP is a backend scripting language in the context of web development, while the awarding layer of a server stack (e.k. LAMP) in the context of scripting languages.

As well web evolution (frontend and backend scripting), scripting languages can also be used for multiple things such every bit programming and configuring operating systems and specific applications/environments, manipulating data sets, automating tasks, and many others.

A scripting language tin run in multiple environments, too.

What Are Non Scripting Languages

Before getting into the all-time scripting languages, let's see the coding languages that are sometimes falsely called scripting languages, but you tin can't script with them:

  • Markup languages, such as HTML and XML. In HTML, in that location are attributes for event handling such every bit onclick and onmouseover, but these are even so JavaScript callbacks.
  • Stylesheet languages, such as CSS, Sass, and LESS.
  • Any kind of library or framework built on peak of any scripting language, such as jQuery, PostCSS, React, Vue, Athwart, Rail, Grails, Laravel, WordPress, Django, and others.
  • Languages that are compiled into a scripting linguistic communication, such as TypeScript and CoffeeScript.
  • SQL as it'due south for managing data in relational database direction 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 (eastward.grand. 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 bully scripting languages that would deserve a mention in this guide, but they are non in agile development anymore. However, the following 13 scripting languages are regularly updated and also being used in product.

And so if you are thinking nigh learning a new scripting language every bit a new professional person path, they are all worth a shot.

ane. JavaScript/ECMAScript

JavaScript
JavaScript

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 linguistic communication, 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 paradigm-based object-oriented programming (existing objects are reused as prototypes).

Code Instance

ECMAScript uses a curly subclass syntax. The following JavaScript code example adds numbers from 1 to 10 together and outputs the result into the console (you can test information technology in your web browser's JavaScript panel by striking F12):

          let total = 0, count = 1;  while (count <= 10) {     total += count;     count += i; }  console.log(total); // 55                  

Source: Eloquent JavaScript by Marijn Haverbeke: Introduction

Use Cases and Environments

JavaScript is the scripting language used by modern spider web browsers, such every bit Chrome's V8 engine and Mozilla'southward SpiderMonkey engine. Likewise, frontend web evolution, it can be used in non-browser environments equally well. The NodeJS runtime surroundings has been created to enable spider web developers to use information technology on the backend.

The shells of some NoSQL database management systems, such every bit MongoDB and Apache CouchDB, and some relational database direction systems, such as the same MySQL Crush, also apply it equally a scripting linguistic communication.

2. PHP

PHP
PHP

PHP is a general-purpose, open source scripting language used in backend web development. The acronym originally stood for 'Personal Home Page', every bit PHP was first created to add dynamic functionalities to static HTML pages.

Since then, PHP has evolved into a standalone language, then at present 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 also.

Code Example

PHP has a C-like syntax. The following PHP code instance creates a numeric array with iv elements, loops through them, multiples each particular by ii, and unsets the $value variable when the loop is over.

          <?php $arr = array(i, 2, 3, four);  foreach ($arr as &$value) {    $value = $value * 2; } // $arr is now array(2, 4, 6, 8)  unset($value); ?>                  

Source: PHP documentation: Control Structures

Apply Cases and Environments

PHP can be executed on different HTTP servers, with Apache and Nginx existence the almost pop ones.

The virtually mutual 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'due south also used by many popular content direction systems (CMS) such as WordPress, Drupal, and Joomla, and web application frameworks such as Laravel, Symfony, and CodeIgniter, that are all congenital on top of the PHP language and enhance it with extra functionalities.

Y'all can employ PHP for local WordPress development, too. Check out our in-depth guide on the chief differences between Javascript and PHP.

3. Python

Python
Python

Python is currently the 2nd virtually pop coding linguistic communication on GitHub (after JavaScript). It's loved for its articulate 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.

Lawmaking Case

Python doesn't use curly brackets and semicolons are optional, so the lawmaking is easy to read and write. The post-obit Python code example loops through integers between 0 and 4, and prints them out:

          count = 0 while count < 5:    impress(count)       count += 1                  

Source: Acquire Python: Loops

Employ Cases and Environments

The well-nigh popular Python implementation is CPython, written in the C language. It's as well the reference implementation that you download together with the Python linguistic communication. Even though Python is an interpreted language, CPython uses both a compilation and interpretation step. First, it compiles the source code into bytecode (non the same every bit machine code) that it interprets at runtime.

Also CPython, Python has other runtime environments likewise, most importantly PyPy that omits the compilation stride and only does JIT (just-in-fourth dimension) interpretation. Python implementations are cantankerous-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 existence the most pop spider web framework), data analytics, automation, scientific computing, and web scraping.

To notice out the all-time way to larn Python, bank check out our blog mail on Python tutorials.

four. Ruby

Ruby
Cherry-red

Ruby-red is an open up source, full general-purpose scripting language with a compact and piece of cake-to-read syntax. It follows the principles of object-oriented programming and lets you write make clean and logical code, making it one of the easiest programming language to learn. In Scarlet, everything is an object — even types that are primitives in most languages, such as booleans and integers.

Object-oriented concepts such equally inheritance, mixins, and metaclasses are also heavily used.

Although Cerise has a purely object-oriented design, it likewise supports procedural programming (functions and variables defined outside of classes belong to the Self object) and functional programming (through bearding functions, closures, and continuations).

Code Example

Red has a concise syntax like to Python. The following Ruby code instance defines the KaraokeSong class as a bracket of the Song class:

          grade KaraokeSong < Song    def initialize(proper noun, artist, duration, lyrics)       super(name, artist, duration)       @lyrics = lyrics    cease cease                  

Source: Programming Ruby reference guide: Classes, Objects, and Variables

Use Cases and Environments

Ruby is mainly used in backend web development, powering some robust spider web application frameworks such equally Ruby on Rails. Many popular websites and applications run on Crimson on Track, such every bit Airbnb, Shopify, GitHub, and Hulu.

Ruby is besides the language many popular web development tools are written in, well-nigh notably the Sass CSS preprocessor, the Jekyll static website generator, and the Vagrant virtual machine environs.

The default implementation of Reddish is YARV (Still Another Ruby Virtual Machine). It inverse Red's original interpreter Matz'south Crimson Interpreter (also Red MRI or CRuby) that had been criticized for issues with speed and scalability.

At that place are besides several competing runtime environments for Ruby, such as JRuby (lets you run Ruby on the Java Virtual Motorcar), mruby (a lightweight implementation that you tin embed within your application), TruffleRuby (Oracle's Ruby interpreter congenital on GraalVM), Rubinius (a cloud-native virtual machine for Ruby), and others.

5. Groovy

Groovy
Dandy

Groovy is an incredible flexible language written for the Java Virtual Machine (JVM) that tin can be used both as a scripting and programming language. Information technology's an open source project maintained by the Apache Software Foundation. Nifty is an object-oriented language that extends the java.lang.Object superclass.

It supports both static and dynamic typing (type checking tin can be performed both at compile time and runtime) and has native back up for lists, associative arrays, regular expressions, and markup languages such as HTML and XML.

You lot can utilize Groovy together with existing Coffee libraries.

Code Example

Keen 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) breadth       else if (idx == ane) longitude       else throw new Exception("Wrong coordinate index, apply 0 or 1")    } }                  

Source: Bang-up Documentation: Semantics

Employ Cases and Environments

As Groovy compiles into Java byte code, yous can use information technology as a full general-purpose programming linguistic communication similar to Java. In this case, you can compile the source lawmaking into byte lawmaking before runtime using the groovyc compiler (the equivalent to javac).

Subscribe Now

However, there are also many Keen implementations that let you utilize it every bit a scripting linguistic communication. The most popular ones are the Grails web application framework (formerly known as Groovy on Grails) and the Gradle build automation tool, just there are several others too.

6. Perl

Perl
Perl

Perl is a general-purpose scripting linguistic communication that's been around for more than thirty years (since 1987). Originally, it was created as a UNIX scripting linguistic communication for report processing. That's also where its name comes from, every bit the Perl acronym standing for 'Practical Extraction and Reporting Language'.

The Perl language became pop in the 1990s when programmers began to widely utilize information technology for CGI (Common Gateway Interface) scripting, which is an older interface specification for web servers (currently, it's mainly used by legacy sites).

Despite beingness a relatively early player, Perl is still the 11th on the TIOBE index and the 21st about popular language on GitHub (equally of Oct 2020).

Code Example

Perl'due south syntax is similar to the C language. The Perl code example below commencement defines the square() subroutine that calculates and returns the square of a number, then passes the value eight as an argument, runs the subroutine, and saves the result into the $sq variable:

          sub foursquare {    my $num = shift;    my $result = $num * $num;    return $consequence; }  $sq = square(8);                  

Source: Perl docs: Perl Intro

Use Cases and Environments

Even though these days it'southward non the nigh frequent choice of spider web developers, Perl can be successfully used in backend development. Besides the CGI runtime surround, it besides executes on the Apache and Nginx web servers — the LAMP stack is actually LAMPP, standing for Linux, Apache, MySQL, PHP, and Perl.

In that location also exist some Perl web development frameworks, with Catalyst, Mojolicious, and Dancer being the nearly popular ones.

Perl is used past several notable websites and applications such as Amazon, IMDB, Booking.com, and the BBC iPlayer. Information technology's used in other areas, also, such as network programming and system administration. You tin also check out the Comprehensive Perl Annal Network (CPAN) where 25,000+ open up-source Perl projects are available for you to download.

7. Lua

Lua
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, information technology can be easily embedded into applications using its C API. That being said, y'all can utilise Lua to extend existing applications written in C-based languages such as C, C++, C#, Coffee, Perl, Cherry, and others.

Code Example

Lua has a concise and easy-to-read syntax, similar to Python and Scarlet. The post-obit Lua code example shows how to use the if-so-else statement. Get-go, it evaluates the op variable, then performs basic arithmetic operations depending on its value:

          if op == "+" and so    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

Utilize Cases and Environments

The default Lua implementation doesn't translate source lawmaking straight only first compiles it into byte code that it afterwards executes on the Lua virtual car. As all this happens at runtime, there'due south no manual compilation step you demand to perform (even though you can opt for compiling Lua before runtime to improve operation).

There are other Lua implementations besides, such equally LuaJIT, LuaVela, and many others.

Lua is frequently used to develop video games, such as Angry Birds, World of Warcraft, and Grim Fandango. As information technology'southward easy to embed, it's besides a frequent pick for embedded devices such as set-top boxes, musical instrument panels of cars (e.g. Volvo), IP cameras (e.g. Cisco), and others.

Information technology can also be used in web development, as both Apache and Nginx servers have a Lua module (here's Apache's mod_lua, and hither's Nginx's ngx_http_lua_module). Wikipedia chose Lua as its template scripting linguistic communication, and the UI of Adobe Photoshop Lightroom is written in Lua besides.

8. Bash

Bash

Fustigate is the name of both a control-line interpreter (shell) for the GNU operating organisation and the belonging scripting language. 'Linux' is, in fact, the GNU operating arrangement using the Linux kernel (a kernel is the core part of the OS, it's the get-go program that the operating system loads).

Bash is a replacement for the original UNIX Bourne shell (sh) — the Bash acronym stands for 'Bourne Again Vanquish' (a pun on 'born again trounce').

Too being the superset to the Bourne shell syntax, Bash also includes features from other shell scripting languages such as KornShell (ksh) and C vanquish (csh) — for case, command-line editing and command history. Y'all can employ Fustigate in both an interactive fashion (executing one control at a fourth dimension and waiting for the machine's respond) and scripting mode (running a set of commands — a Fustigate script — at once).

Lawmaking Example

Like about CLI scripting languages, Bash has a simple and descriptive syntax. The post-obit Bash code example selects a file from the current folder and outputs a bulletin containing the name and index of the file:

          select fname in *; exercise    echo you picked $fname \($Respond\)    break; done                  

Source: Fustigate Reference Manual: Provisional Constructs

Use Cases and Environments

You can utilise Bash to make changes and perform dissimilar deportment related to your operating system, such as executing commands, carrying out tasks that nearly people would do using a graphical user interface (east.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 beat out for many Unix-based operating systems, including nigh Linux distros and all macOS releases upwardly to macOS Catalina that replaced Bash with Z beat (Zsh) in 2019. You tin also run Fustigate scripts on Windows 10, using the Windows Subsystem for Linux (WSL) compatibility layer developed past Microsoft.

9. PowerShell

PowerShell

Originally, PowerShell was a command-line shell and scripting language solely for the Windows operating arrangement. Since then, Microsoft open sourced and moved information technology from the .NET Framework, which tin create merely Windows applications, to .Net Core, which can create applications for Windows, Linux, and macOS. This means PowerShell is at present cantankerous-platform.

It has also been renamed from Windows PowerShell to PowerShell Cadre, respective to the underlying framework. Unlike almost 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 kicking.bak file:

          Re-create-Particular -Path C:\boot.ini -Destination C:\boot.bak        

Source: PowerShell Documentation: Working with Files and Folders

Use Cases and Environments

Y'all can use PowerShell on the Windows, Linux, macOS operating systems, and some ARM devices (east.thousand. wearables, multimedia players, tablets, and other consumer electronic devices).

You tin apply PowerShell for system assistants, task automation, and configuration management. To observe PowerShell modules and scripts, you can cheque out the PowerShell Gallery and Microsoft's official sample script collection, besides.

ten. R

R

R is both a software environment and scripting language that y'all can use for statistical calculating, data analysis, and graphical display. It'south a free and open source GNU projection and an implementation of the S statistical computing language (not in active development anymore).

R allows you to utilise many dissimilar statistical techniques such as classical statistical tests, clustering, time serial analysis, linear and non-linear modeling, and others.

Code Example

R's syntax is different from most scripting languages and has some unusual elements, likewise — for instance, the chief 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 lawmaking example defines a names attribute for the fruit vector (basic data construction in R that contains elements of the aforementioned blazon) that uses alphanumeric names (orange, banana, apple, peach) to help place its components. Later, the lunch (or another) subvector can admission each component using its alias proper noun:

          > fruit <- c(5, 10, ane, 20) > names(fruit) <- c("orange", "banana", "apple", "peach") > luncheon <- fruit[c("apple tree","orange")]                  

Source: An Introduction to R: Index vectors; selecting and modifying subsets of a information set

Use Cases and Environments

The R software surroundings is cross-platform; you can run it on Windows, Linux, and macOS operating systems. The default R implementation is as well available from some other scripting languages such equally Python and Perl. This means that you tin can access all the statistical functionality of R using these scripting languages.

Too the default R surroundings, you can apply the R scripting language in other environments equally well, such as pqR (stands for 'a pretty quick version of R') and Renjin (an R implementation on height of the Java Virtual Machine).

11. VBA

VBA

VBA stands for Visual Basic for Applications and it'due south an implementation of the Visual Basic vi programming linguistic communication (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 collaborate with the end users of documents.

Like to Visual Basic, VBA follows the upshot-driven programming paradigm that puts events such every bit user actions into the center that bulldoze the period of the program.

As Microsoft Office applications have a graphical user interface, you tin can attach VBA scripts to carte du jour buttons, keyboard shortcuts, macros (programmable patterns), and OLE events (Object Linking and Embedding that lets you command i application from some other; it'due south a proprietary Microsoft engineering science).

Code Example

As VBA is based on Visual Basic (which is an augmentation of BASIC), it uses a syntax like to the languages of the Basic (Beginners' All-purpose Symbolic Instruction Code) family unit — which means it'due south very beginner-friendly.

The VBA code case beneath uses the GetCertificateDetail() method of the SignatureInfo object to get the expiration date of a digital certificate:

          Sub GetCertDetails() Dim objSignatureInfo Every bit 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 nigh Microsoft Office applications, respectively Access, Excel, Office for Mac, Outlook, PowerPoint, Project, Publisher, Visio, and Give-and-take — each having a carve up reference guide on Microsoft's documentation site while full general VBA concepts are detailed in the library reference.

Likewise Microsoft Part applications, there are other apps that also support VBA, such every bit AutoCAD and CorelDRAW.

12. Emacs Lisp

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 Listing Processor).

As Emacs Lisp has been designed to exist used inside a lawmaking editor, it comes with a feature ready specific to that surroundings, such equally text scanning and parsing, buffer (objects with editable text) and display direction, 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 tin can call from your script, and customization parameters are Lisp variables besides.

Lawmaking Example

The syntax of Emacs Lisp is based on a fully parenthesized prefix notation that can exist a bit difficult to read at showtime if yous haven't worked with whatever Lisp language earlier.

The following Emacs Lisp code example defines two variables (symbols) and assigns a list of values to each — a listing of copse (pine, fir, oak, maple) to the symbol trees and a listing of herbivores (gazelle, antelope, zebra) to the symbol herbivores:

          (setq copse '(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 lawmaking editor, repeat and automate processes, create graphs, restrict focus to specific areas (for security), search regular expressions, store text, define modes and keymaps, inquire questions from users, and perform many other actions.

There are also some configuration frameworks for Emacs Lisp — Doom Emacs and Spacemacs existence the nigh well-known ones.

13. GML

GML

The acronym GML stands for GameMaker Linguistic communication. It's a good case of a domain-specific scripting linguistic communication used in game development. GML is a proprietary scripting language belonging to GameMaker Studio ii, 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 non an object-oriented language but a procedural one. Information technology allows you to call custom scripts from any game object.

Also the GML scripting language, GameMaker Studio 2 likewise 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 lawmaking example makes a game object move horizontally towards the mouse pointer on the screen at a speed of five pixels per step. Once information technology reaches the current position of the pointer, the script creates an explosion effect layer, runs it (there'due south an explosion issue on the screen), then destroys the instance (the explosion effect gets removed):

          if mp_linear_step(mouse_x, mouse_y, five, 0) {    instance_create_layer(x, y, "Effects", obj_Explosion);    instance_destroy(); }                  

Source: GameMaker Studio 2 Docs – Scripting – GML Reference – Move and Collisions – Movement Planning

Use Cases and Environments

GML is interpreted by GameMaker Studio two that you need to buy 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 existence the cheapest ones; cross-platform (Windows, macOS, Ubuntu) desktop games, HTML5 web games, UWP (Universal Windows Platform) games, and cantankerous-platform (Android, Burn down, iOS) mobile games existence 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, ten Second Ninja X, Expiry's Gambit, Deltarune, and several others.

Ready to learn another scripting language? 👩‍💻These 13 options are regularly updated and used in product, which makes them a corking addition to your resume. 💼 Click to Tweet

Summary

There's no doubt that scripting languages are fascinating. They take 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 almost important things to retrieve about scripting languages are:

They tin't run on their own merely ever demand an environment (implementation, runtime) with an interpreter for that scripting language.

Sometimes yous tin can employ full general-purpose scripting languages to admission environments and platforms primarily created for other programming or scripting languages. Think of JRuby (lets you run Reddish on the Java Virtual Machine), Renjin (R implementation as well on the JVM), Rpy2 (R interface that you tin can use from Python), as good examples.

Finally, earlier learning a new scripting linguistic communication, information technology'due south always a adept thought to bank check out its current popularity using the TIOBE alphabetize or GitHut.

Depending on it, yous volition also discover more or fewer sample scripts, GitHub repositories, module libraries, reference guides, detailed manuals, and app showcases that will assistance you get started with the language… and get meliorate-paid projects and jobs!


Relieve time, costs and maximize site performance with:

  • Instant aid from WordPress hosting experts, 24/7.
  • Cloudflare Enterprise integration.
  • Global audience reach with 29 data centers worldwide.
  • Optimization with our born Awarding Performance Monitoring.

All of that and much more, in one plan with no long-term contracts, assisted migrations, and a 30-day-money-back-guarantee. Check out our plans or talk to sales to notice the plan that'due south correct for you lot.