Coding De-Coded: 18 Terms New Programmers Should Know

May 1, 2016

So you’re learning how to code, moving beyond default hello world examples and taking your skills to the next level. Congratulations!

Coding isn’t difficult to learn if you take it step-by-step—but it’s hard to speak the language of a developer if you’re starting fresh.

We asked our top Developer authors for their sage advice on some of the most important terms and concepts for new coders to know. Here’s the top 18.


variable is a named identifier with an associated value that changes throughout the execution of an application or program. Once a variable is defined in your program, the value can be changed if and when needed to suit the flow of your code.


constant is a named identifier with an associated value that does not change throughout the execution of an application or program.  In contrast to variables, which vary and change throughout the execution of an application, constants are fixed, and cannot be altered.

Data types

A specific kind of data item, defined by the values it can accept, the programming language in question, and/or the operations that can be performed on it. Common data types include integers (simple numbers), floating point numbers (decimal-based numbers), boolean values (TRUE or FALSE) and strings (a series or “string” of alphanumeric characters like a word, sentence, or paragraph), among many others.

Data structures

data structure is a specialized format for organizing and storing data in a manner that best suits the purpose the data is to be used for. Common data structures in programming include arrays, tables, records, trees, and more.


In object-oriented programming languages, an object refers to a combination of related variables, constants, functions (also known as methods), and data structures that can be accessed and managed collectively.


Scope refers to the visibility of functions, methods, and variablesin one part of a program to another part of the same program. Most languages share two general scope concepts: local scope (in which visibility is limited to the parent function or method) andglobal scope (in which visibility is unrestricted).


Much like rough drafts precede a final novel and allow the broader details of a story to be sculpted, pseudocode is a simplified shorthand for programming languages used to outline the intent and flow of a program before writing and debugging actual code.


When code must make a choice as to which way to proceed,conditionals process those decisions.  Conditions evaluate to either TRUE or FALSE, and multiple conditions can be combined into a single condition as long as the final value of the condition remains a single TRUE or FALSE value. Some examples of expressions are:

my_variable < 5="">

(final value is TRUE if my_variable is less than 5)

my_var1 > 30 && my_var2 == 4 
(final value is TRUE if my_var1 is more than 30, and my_var 2 is also equal to 4)


An expression is a mathematical statement that consists ofvariables, numbers, and operations, and resolves into a specific value.


A sequence of instructions that are continually repeated (looped) until a certain condition is reached.

Modular code

Modular code is the concept of separating your program’s functionality into independent modules that hide their inner workings behind a public interface or API. This makes each module’s functionality easier to use and refactor, independently of any other modules used alongside it.


Short for application programming interface, an API is a set of programming instructions and standards for accessing the functionality of an operating system, software application, or utility. Software developers release their APIs to the public so that other developers can take advantage of their products’ functionality and services in their own projects.


callback is a piece of executable code that’s passed as an argument to other code statements, and is expected to “call back” and execute at a specific time. A synchronous (or blocking) callback is immediate, whereas an asynchronous (or deferred) callback is meant to occur at a later time.

Programmatic thinking

A core mindset for developers and coders, programmatic thinkingmeans approaching large problems by breaking them down into smaller, discrete steps, and describing specific objects into clearly defined values that a computer can understand.


Described in its simplest form, a closure  is a function within a function, stored as a variable. Unlike normal functions, closures have a persistent scope that holds onto local variables even after your program has moved out of the code block they’re defined within.

Compiled and interpreted languages

Compiled languages (like C, C++, and Swift) require you to compile and build your code into a self-contained binary application before it can be distributed and run.

Interpreted languages (like Python, PHP, and JavaScript) are run by the language’s interpreter on the host machine by reading the code directly, and providing instructions to the computer to execute the program.


Code refactoring is the process of restructuring existing code without altering its external behavior.  Refactoring is often used to improve non-functional areas of software, or to improve the performance or utility of specific areas of software.


Short for Integrated Development Environment, an IDE is a development tool (or collection of tools) used to develop for particular languages, including code editors, compilers, debuggers, and other utilities. Popular IDEs include Apple’s Xcode, Microsoft’s Visual Studio, and Java IDEs like IntelliJ, NetBeans, and Eclipse. Whatever your language, there’s an IDE for it.

Although these 18 terms really just scratch the surface of a developer’s technical lingo, you’ll find knowing the concepts they represent critical as you step forward in your coding journey.

Watch our Foundations of Programming courses for more of the fundamentals you’ll need to develop your skills.