What is an octothorpe? Cool tech words and computer science slang

The technology field is ripe with peculiar acronyms, vendor names and abbreviations.

To compound the confusion, software engineers often develop their own computer science slang as they assign esoteric names to commonly used symbols, terms and character combinations.

Cool tech words

Here’s a list of the 11 cool tech words every software engineer should know before they jump onto their first software project:

  1. The spaceship operator
  2. The pyramid of doom
  3. The safe navigator
  4. The Elvis operator
  5. The rocket ship
  6. The diamond operator
  7. The bang operator
  8. The shebang prompt
  9. The monkey tail
  10. The bug splat
  11. The octothorpe

The spaceship operator <=>

Developers will often compare two values and respond to a true or false result. But what if a comparison could generate three conditions rather than two?

For example, if a developer compares two numbers:

  • One might be greater than the other
  • One might be less than the other
  • The two numbers might be the same

The spaceship operator will return one of three values, -1, 0 or +1, when used to compare two values.

System.out.println( 1 <=> 1 ); // prints out 0
System.out.println( 1 <=> 2 ); // prints out -1
System.out.println( 2 <=> 1 ); // prints out +1

The spaceship operator makes code more succinct and helps developers avoid the pyramid of doom.

The pyramid of doom

The pyramid of doom occurs when a developer nests too many conditional if statements inside of each other.

if (doom==true) {
   if (gloom==true) {
      if (boom==true) {
         if (tomb==true) { }

The logic in a pyramid of doom is hard to maintain and error prone when updated by fellow developers.

A pyramid of doom can be refactored in a variety of ways. One way is to use the spaceship operator. Another is to use the safe navigator.

The safe navigator ?.

A developer will use the safe navigator to avoid null pointer exceptions.


The safe navigator will check the first argument listed to see if it is null. If it is null, a null value is returned. If it is non-null, properties of the non-null object will be invoked safely without an exception being thrown.

In the above example, if the car object is not initialized, the operation will return null. If the car object is not null, the goFast() method gets safely invoked.

In C#, the ?. combination is sometimes called the Elvis operator, but historically, the Elvis operator refers to the ?: character combination.

The Elvis operator ?:

Another way to clean up a small pyramid of doom is to use the Elvis operator.

Also known as the conditional operator or the ternary operator, the Elvis operator will compare two values, return the value after the question mark if true, and return the second value if false.

var result = ( Math.random() < 0 ) ? "Elvis" : "Presley";
System.out.print("The random number is " + result);
// Java ternary example output: The random number is positive

Technically speaking, the ternary operator only becomes an Elvis operator if the value after the first question mark is left blank, as in the following example:

var result = ( Math.random() < 0 ) ? : "I'm all shook up";

The reason this is called the Elvis operator is if you turn it 90 degrees, the curve of the question mark is supposed to look like Elvis’ hair curling over his forehead.


The rocket ship =>

Most languages assign logic to a lambda expression through the use of a fat arrow (=>) or a skinny arrow (->)

In an effort to avoid body shaming arrows, the fat arrow is now commonly referred to as the rocket ship.

Here’s an example of the rocket ship in action:

SingleArgument sa2 = (String n) => print(n) ;

The diamond operator <>

Java 5 introduced the concept of generics.

To reduce the verbosity of generics, Java 7 introduced the diamond operator.

List<String> neil = new ArrayList<String>();  //Java 5 generics
List<String> neil = new ArrayList<>();        //Java 7 diamond operator

The diamond operator copies the generic type defined on the left of an assignment to the generic type on the right, without the need for the developer to type the generic type out a second time.

The bang operator !

The exclamation mark is used throughout the world of both programming and Unix based system administration.

But it’s not always called an exclamation mark. You will often hear it referred to as a ‘bang!’

When you wish to flip a Boolean value, you put an exclamation mark before it, or ‘bang it.’

boolean flag = true;
boolean falseFlag = !flag;

Similarly, in Unix, the syntax that kicks of a shell script, #!,  is referred to as a hash bang.

The shebang sequence #!

A shell script in Unix starts with a hash sign and an exclamation mark, or what is often referred to as a ‘bang’ operator. So this combination is known as a ‘hash bang.’

Said lazily enough, the ‘ha’ sound falls off the word hash, and you are left with sh-bang. Which eventually morphed into ‘shebang.’

To avoid a #metoo moment, it would probably be best to think of this as shhh-bang rather than shebang.

The monkeytail @

While the proper term for the ‘and sign’ is the ampersand, there doesn’t seem to be a commonly accepted name for the ‘at sign.’ People just call it the ‘at sign.’

In some technical circles, developers who prefer to use a more colorful vocabulary will call the ‘at sign’ the monkeytail.

“The Dutch really do call it a monkey tail”, says Deon Blaauw, a Managing Director with ViSight B.V. “We call it an ‘apenstaartje’, which literally translates to monkey tail.”

The bug splat *

The asterisk is used for multiplication in programming languages like Java and Python. It’s also used as a wildcard in SQL statements and RegEx expressions.

Some people have a hard time pronouncing the dual ‘s’ sounds in asterisk and prefer to use an alternative.

The most commonly used alternative to asterisk is ‘bug splat,’ or just ‘splat’ for short.

“The asterisk (*) is also known as the universal globbing character, or the globbing wildcard, meaning it can be ‘anything'”, says Marc Pullan, an IT Consultant in the Health Care field. “Its ascii value is 42, which according to Douglas Adams, is the answer to life, the world, and everything.”

The octothorpe #

While there seems to be general disagreement of the official name for the ‘at sign’, the number sign seems to have many.

  • On Twitter, it is known as a #hash.
  • On old telephones it is referred to as the ‘pound sign.’
  • For musicians and .NET programmers it is known as a sharp. The most popular .NET programming language is C# (pronounced see-sharp)

For some unknown reason, there has been a trend in the industry to refer to this as an octothorpe, with octo being a reference to the eight points on the symbol, and ‘thorpe’ just being a way to make people smile when they say it.

Computer science slang

Every industry evolves to create a set of terms and phrases that esoterically describe the common functions, tools and technologies they use. Hopefully knowledge of these 11 weird technical terms will help you feel more comfortable with the unusual language people in the IT industry speak

App Architecture
Software Quality
Cloud Computing