dark mode light mode Search Menu

Data Types

r2hox on Flickr

Would you multiply the words SpongeBob times Squarepants? It makes more sense to multiply the number 5 times 33, doesn’t it?

Programming languages avoid this kind of error by using data types. A person’s first name and last name are identified as strings while the numbers 5 and 33 are identified as integers, a fancy word for numbers. Data types help languages process data efficiently with as few preventable errors as possible.

Common Data Types

Here are the most common data types you encounter with all programming languages. A language may use a different name but the data type is the same as other languages.

Data Type Description
boolean A boolean is true or false, yes or no.
floating Fractional numbers often expressed as decimals. Think 1.23.
integer Whole numbers which may or may not include negative numbers.
pointer A value that refers to (points to) another value stored in a specific location, usually in computer memory.
string Alphanumeric characters as well as numbers not treated or processed as integers.


When you learn any programming language, pay attention to how the language handles these data types. Often the available data types define the language. For example, the Erlang language doesn’t have booleans but it does have atoms which are true or false.

Of course, this is an extremely simplified description of data types. There are complex data types, for example, arrays which are collections of nested data often organized by keys where each key has a specific value. This article only introduces you to key concepts, not the gory details you learn as you code in a new language.

Each data type also has a size, measured in bytes, which the programming language uses to allocate memory as the application runs. If you don’t know, or remember, a byte is the smallest addressable space in computer memory. A byte is eight bits in length where each bit is a binary digit of either 0 or 1. Binary digit equals bit, if you get it? So 2 bytes is 16 bits, or binary digits, in length and 4 bytes is 32 binary digits in length. But most people speak in terms of bytes, not bits.

When you learn any programming language, pay attention to how the language handles these data types. Often the available data types defines the language. For example, Erlang doesn’t have booleans but it does have atoms which are true or false.


The C language has a rich set of data types, not only the basics of booleans, integers, and strings but also points, floating, void, and so on. C also has short integers and long integers which differ based on their size. C also has arrays, pointers, and other constructed data types.


In the Erlang language, any data within a data type is called a term. So the word house and 551 are both called terms. The Number data types are integers and floats. What other languages call a boolean Erlang calls an atom with a value that is true or false. While strings are used in Erlang, it is not a data type.

The language also has a data type called fun which is a function treated as an object. The same way you pass a number from one function to another, in Erlang you use a fun to pass a function as an object from one function to another.


The PHP language supports eight data types: boolean, integer, float, string, array, object, resource, and null. As with some other languages, you can check the data type of a value to ensure code only runs if a value is the correct type. So you can avoid the problem of accidentally multiplying Fred times Flintstone.


The way Ruby handles data types is a bit different from other languages. The method is duck typing which means any function assumes the values it works on are the correct values. So a class called Duck with a walk function and a quack function would not confirm the correct values are passed to it before it runs the quack or walk function. If the values are the wrong type, an error occurs. The burden is on the programmer to ensure only correct values are passed through and errors alert the programmer to fix any problems.

In other words, Ruby uses strings, integers, booleans, arrays, and other data types found in other languages. However, handling the data types is more loose and data types are enforced through run-time errors.

Learn More

Data types


What are Data Types?


Data types


What is Erlang?


Erlang Programming Language


Introduction to Erlang


What is Boolean Data Type?




Composite Data Type


Array data structure


Data type facts for kids


Data type


A math dictionary for kids