What are the characteristics of a typeless programming language?
$begingroup$
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.)?
programming-languages
New contributor
$endgroup$
add a comment |
$begingroup$
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.)?
programming-languages
New contributor
$endgroup$
$begingroup$
It's simple: the variables have no type. An example of a typed language is C/C++ (you have a char, an int, a float,...), while not typed languages don't have it (e.g., Mathematica).
$endgroup$
– Iago Carvalho
4 hours ago
$begingroup$
Your language, on the other hand, looks like to be typed (even if not explicitly defined). However, I'm not an expert on this subject and I'm not 100% sure about it... Please, someone correct me if I'm wrong.
$endgroup$
– Iago Carvalho
4 hours ago
$begingroup$
@Iago Carvalho You said that a typeless language means that "the variables have no type", and then you said "Your language, on the other hand, looks like to be typed". How is my language looks like to be typed if my variables don't have data types?
$endgroup$
– user4582812
3 hours ago
add a comment |
$begingroup$
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.)?
programming-languages
New contributor
$endgroup$
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.)?
programming-languages
programming-languages
New contributor
New contributor
New contributor
asked 4 hours ago
user4582812user4582812
111
111
New contributor
New contributor
$begingroup$
It's simple: the variables have no type. An example of a typed language is C/C++ (you have a char, an int, a float,...), while not typed languages don't have it (e.g., Mathematica).
$endgroup$
– Iago Carvalho
4 hours ago
$begingroup$
Your language, on the other hand, looks like to be typed (even if not explicitly defined). However, I'm not an expert on this subject and I'm not 100% sure about it... Please, someone correct me if I'm wrong.
$endgroup$
– Iago Carvalho
4 hours ago
$begingroup$
@Iago Carvalho You said that a typeless language means that "the variables have no type", and then you said "Your language, on the other hand, looks like to be typed". How is my language looks like to be typed if my variables don't have data types?
$endgroup$
– user4582812
3 hours ago
add a comment |
$begingroup$
It's simple: the variables have no type. An example of a typed language is C/C++ (you have a char, an int, a float,...), while not typed languages don't have it (e.g., Mathematica).
$endgroup$
– Iago Carvalho
4 hours ago
$begingroup$
Your language, on the other hand, looks like to be typed (even if not explicitly defined). However, I'm not an expert on this subject and I'm not 100% sure about it... Please, someone correct me if I'm wrong.
$endgroup$
– Iago Carvalho
4 hours ago
$begingroup$
@Iago Carvalho You said that a typeless language means that "the variables have no type", and then you said "Your language, on the other hand, looks like to be typed". How is my language looks like to be typed if my variables don't have data types?
$endgroup$
– user4582812
3 hours ago
$begingroup$
It's simple: the variables have no type. An example of a typed language is C/C++ (you have a char, an int, a float,...), while not typed languages don't have it (e.g., Mathematica).
$endgroup$
– Iago Carvalho
4 hours ago
$begingroup$
It's simple: the variables have no type. An example of a typed language is C/C++ (you have a char, an int, a float,...), while not typed languages don't have it (e.g., Mathematica).
$endgroup$
– Iago Carvalho
4 hours ago
$begingroup$
Your language, on the other hand, looks like to be typed (even if not explicitly defined). However, I'm not an expert on this subject and I'm not 100% sure about it... Please, someone correct me if I'm wrong.
$endgroup$
– Iago Carvalho
4 hours ago
$begingroup$
Your language, on the other hand, looks like to be typed (even if not explicitly defined). However, I'm not an expert on this subject and I'm not 100% sure about it... Please, someone correct me if I'm wrong.
$endgroup$
– Iago Carvalho
4 hours ago
$begingroup$
@Iago Carvalho You said that a typeless language means that "the variables have no type", and then you said "Your language, on the other hand, looks like to be typed". How is my language looks like to be typed if my variables don't have data types?
$endgroup$
– user4582812
3 hours ago
$begingroup$
@Iago Carvalho You said that a typeless language means that "the variables have no type", and then you said "Your language, on the other hand, looks like to be typed". How is my language looks like to be typed if my variables don't have data types?
$endgroup$
– user4582812
3 hours ago
add a comment |
1 Answer
1
active
oldest
votes
$begingroup$
It depends on what happens if the programmer tries to do something like add two things with the wrong operator. If it causes a compile-time error, the language is probably statically typed. If it throws a compile-time error complaining that the two have the wrong type, the language is probably dynamically typed. If it doesn't throw an error and just tries to add those two things (possibly resulting in gibberish), it might be untyped.
To put it another way, it depends how those operations are implemented. If they are implemented to keep track of the type of the variables and check that those types match what is expected, it is typed. If it doesn't keep track of types, then it is untyped or weakly typed.
See https://en.wikipedia.org/wiki/Type_system and https://www.sitepoint.com/typing-versus-dynamic-typing/.
$endgroup$
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "419"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
user4582812 is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcs.stackexchange.com%2fquestions%2f108587%2fwhat-are-the-characteristics-of-a-typeless-programming-language%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
It depends on what happens if the programmer tries to do something like add two things with the wrong operator. If it causes a compile-time error, the language is probably statically typed. If it throws a compile-time error complaining that the two have the wrong type, the language is probably dynamically typed. If it doesn't throw an error and just tries to add those two things (possibly resulting in gibberish), it might be untyped.
To put it another way, it depends how those operations are implemented. If they are implemented to keep track of the type of the variables and check that those types match what is expected, it is typed. If it doesn't keep track of types, then it is untyped or weakly typed.
See https://en.wikipedia.org/wiki/Type_system and https://www.sitepoint.com/typing-versus-dynamic-typing/.
$endgroup$
add a comment |
$begingroup$
It depends on what happens if the programmer tries to do something like add two things with the wrong operator. If it causes a compile-time error, the language is probably statically typed. If it throws a compile-time error complaining that the two have the wrong type, the language is probably dynamically typed. If it doesn't throw an error and just tries to add those two things (possibly resulting in gibberish), it might be untyped.
To put it another way, it depends how those operations are implemented. If they are implemented to keep track of the type of the variables and check that those types match what is expected, it is typed. If it doesn't keep track of types, then it is untyped or weakly typed.
See https://en.wikipedia.org/wiki/Type_system and https://www.sitepoint.com/typing-versus-dynamic-typing/.
$endgroup$
add a comment |
$begingroup$
It depends on what happens if the programmer tries to do something like add two things with the wrong operator. If it causes a compile-time error, the language is probably statically typed. If it throws a compile-time error complaining that the two have the wrong type, the language is probably dynamically typed. If it doesn't throw an error and just tries to add those two things (possibly resulting in gibberish), it might be untyped.
To put it another way, it depends how those operations are implemented. If they are implemented to keep track of the type of the variables and check that those types match what is expected, it is typed. If it doesn't keep track of types, then it is untyped or weakly typed.
See https://en.wikipedia.org/wiki/Type_system and https://www.sitepoint.com/typing-versus-dynamic-typing/.
$endgroup$
It depends on what happens if the programmer tries to do something like add two things with the wrong operator. If it causes a compile-time error, the language is probably statically typed. If it throws a compile-time error complaining that the two have the wrong type, the language is probably dynamically typed. If it doesn't throw an error and just tries to add those two things (possibly resulting in gibberish), it might be untyped.
To put it another way, it depends how those operations are implemented. If they are implemented to keep track of the type of the variables and check that those types match what is expected, it is typed. If it doesn't keep track of types, then it is untyped or weakly typed.
See https://en.wikipedia.org/wiki/Type_system and https://www.sitepoint.com/typing-versus-dynamic-typing/.
answered 3 hours ago
D.W.♦D.W.
104k14131299
104k14131299
add a comment |
add a comment |
user4582812 is a new contributor. Be nice, and check out our Code of Conduct.
user4582812 is a new contributor. Be nice, and check out our Code of Conduct.
user4582812 is a new contributor. Be nice, and check out our Code of Conduct.
user4582812 is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Computer Science Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcs.stackexchange.com%2fquestions%2f108587%2fwhat-are-the-characteristics-of-a-typeless-programming-language%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
$begingroup$
It's simple: the variables have no type. An example of a typed language is C/C++ (you have a char, an int, a float,...), while not typed languages don't have it (e.g., Mathematica).
$endgroup$
– Iago Carvalho
4 hours ago
$begingroup$
Your language, on the other hand, looks like to be typed (even if not explicitly defined). However, I'm not an expert on this subject and I'm not 100% sure about it... Please, someone correct me if I'm wrong.
$endgroup$
– Iago Carvalho
4 hours ago
$begingroup$
@Iago Carvalho You said that a typeless language means that "the variables have no type", and then you said "Your language, on the other hand, looks like to be typed". How is my language looks like to be typed if my variables don't have data types?
$endgroup$
– user4582812
3 hours ago