Assume that we have an imaginary programming language that allows you to assign a Literal to a variable, but does not allow you to set the the data type of the variable, for example
Allocate4Bytes an_int_variable 123456;
Allocate2Bytes a_short_int_variable 123;
Allocate4Bytes a_float_variable 2.1;
And this programming language also provides different operators to work with different data types, for example:
- The
+
operator is used to add an int to a short int. - The
#+
operator is used to add a float to an int. - the
=
operator is used to assign an int to an int. - the
#=
operator is used to assign a short int to a short int. - etc.
So it is the job of the programmer to keep track of the data type of each variable and use the appropriate operator on it.
Is this programming language considered to be a typeless programming language, or can we say that this programming language have data types (even though it does not have operator overloading and type safety, etc.)?