Geek Culture
Published in

Geek Culture

General Coding & Scripting

Photo by Markus Winkler on Unsplash

Some software engineer/developer job descriptions list knowledge of ‘scripting’ as a requirement. What exactly does that mean? I can deduce that scripting means to write something, in this context, code. But what kind of code?

The only time I’ve seen ‘script’ come up in my coding projects is in the <body> of an HTML file to include other sources (like a JavaScript file or bootstrap).

<script> in the <body>
<script> and bootstrap sources in <body>

I suppose, I can also admit that ‘Script’ is apart of the name of JavaScript and TypeScript. What is the significance?

Examples From Job Descriptions

Keep in mind that I’ve mainly been looking at Software Engineer and Front End Development roles. Scripting goes beyond this into DevOps Engineer, Quality Assurance Engineer and more.

*bash scripting

*scripting languages — such as Ruby/Ruby on Rails/Java

*knowledge of 1 or more scripting languages (e.g., Shell, Bash, Perl, Python, JavaScript, or Ruby)

*familiarity with Linux-based shell scripting and CLI

*experience using automated scripting tools like ‘gulp’ to build automated development processes leveraging NPM or Yarn, Node.js and other modern development techniques

*proven shell scripting (Windows and/or Linux)

*proficient understanding of client-side scripting and JavaScript (ES6)

*Experience in writing a scripting language like Python or Ruby (Ruby or Clojure is a plus)

So, it is definitely a category of language. Is this the same as Windows/Linux-based shell scripting? There are also automated scripting tools. Hmm…

Scripting vs Non-Scripting

“A scripting language is a programming language that is interpreted. It is translated into machine code when the code is run, rather than beforehand. Scripting languages are often used for short scripts over full computer programs. JavaScript, Python, and Ruby are all examples of scripting languages.” — Kimberly Forsythe @ Career Karma

All scripting languages are programming languages.

But, not all programming languages are scripting languages.

Scripting languages are interpreted when code is run.

Non-Scripting languages are compiled to translate commands into machine code (binary) that can be executed.

Examples of Scripting Languages: JavaScript, PHP, Python, Ruby, Groovy, Perl, Lua, Bash, PowerShell, R, VBA, Emacs Lisp, GML

Examples of compiled non-Scripting Languages: C, C++, Java, Erlang, Haskell, Rust, Go, Scala

Shell Scripting

The ‘shell’ is the interface of the command line that interprets scripts/commands to access the operating system.

A Shell Scripts is a file containing a series of commands; similar to Bash Scripts.

Shell scripting can be done in any shell.

Stephen Bourne developed the original Unix shell

Most shell commands will work in bash.

Bash Scripting

A Bash Script is a plain text file of a series of commands. These commands are exactly those that can be typed on the command line. So, this can save a good amount of time and effort if there’s a sequence of commands you want to execute. Scripts can even call on and execute other scripts!

Bash Script files end in ‘.sh’

example.sh

Bash means “Bourne Again SHell” since it is an improvement of the original Bourne shell (sh) by Brian Fox..

Bash is one of several Unix shells and it is also the default shell on most Linux setups.

Bash Scripting is specific to Bash.

Not all bash commands will work with a ‘shell’ interpreter.

Use Bash to take advantage of more features.

Shells

Unix: Bash, Fish, Ksh, Tcsh, Zsh

Linux: Shell, Bash, C Shell (csh), Korn Shell (ksh), Zsh, Tcsh, Fish, Ion, Dash, Eshell, rc, Scsh, Xonsh, Oh, Elvish

Windows: cmd.exe (aka Command Prompt), PowerShell, Git Bash (which I personally use)

Server-Side Scripting

These languages run on a web server/backend. Can handle data.

Examples: PHP, ASP.NET, Node.js, Java, Ruby, Perl, Python

Client-Side Scripting

These languages run on the client end/web browser.

Basically, it’s a fancy way to reference HTML, CSS, and JavaScript.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store