Poll: Which programming languages do people here know?

Which of these programming languages do you know?


  • Total voters
    47
Aug 31, 2015 at 7:39 PM
In my body, in my head
Forum Moderator
"Life begins and ends with Nu."
Join Date: Aug 28, 2009
Location: The Purple Zone
Posts: 5998
p205821-0-e4a8sjw.png
 
Aug 31, 2015 at 7:53 PM
Senior Member
"Huzzah!"
Join Date: Aug 24, 2013
Location: 0xDEADBEEF
Posts: 211
Just because it gets compiled doesn't mean it's a programming language, nowadays even JavaScript gets compiled in some browers but that still doesn't make it a programming language. ;)

Stack Overflow Question
Scripting languages are a subset of programming languages.
JS is programming whether or not its compiled. It can be interpreted or JIT compiling can be used. Typically its interpreted rather than compiled, making it a scripting language.
If a language is usually not compiled, then its scripting. Otherwise, well I don't know that there's a specific name for languages that are (in general) compiled.
Via either method that GML can be run (runner + scripts that are interpreted or being turned into C++, then machine code) its programming
 
Aug 31, 2015 at 10:27 PM
Hoxtilicious
"Life begins and ends with Nu."
Join Date: Dec 30, 2005
Location: Germany
Posts: 3218
Age: 32
Now this is nitpicking and taken out of context. In the quote I was refering to a programming language in the traditional sense (and some people still seperate between those two), those who fall not under the scripting language category, that should be easily gathered from the context and I even said right at the beginning:

GML is a scripting language, which means while technicially it's being a programming language

Scripting languages are technicially a subset of programming languages, yes. But that still doesn't change the fact that GML is a scripting language, whatever it is compiled to byte code, machine code or something else. It is only used in a particular enviroment, that's the point and not only does Wikipedia refer to it as a scripting language, even on the GameMaker website you can gather from the context that it is one.
 
Last edited:
Aug 31, 2015 at 10:49 PM
In my body, in my head
Forum Moderator
"Life begins and ends with Nu."
Join Date: Aug 28, 2009
Location: The Purple Zone
Posts: 5998
this entire discussion is nitpicking
 
Aug 31, 2015 at 11:31 PM
Senior Member
"This is the greatest handgun ever made! You have to ask yourself, do I feel lucky?"
Join Date: Aug 15, 2015
Location: 0xDEADBEEF
Posts: 111
It is only used in a particular enviroment, that's the point and not only does Wikipedia refer to it as a scripting language, even on the GameMaker website you can gather from the context that it is one.
You are talking about the deprecated versions of GML. The newer versions can run in different environments. (I'm assuming platforms) Wikipedia also hasn't properly updated all the data regarding the newest versions of GameMaker.
http://docs.yoyogames.com/source/dadiospice/002_reference/001_gml language overview/index.html

holy shit everyone is wrong
Then who is correct...?
You've pretty much ruled everything out.
 
Last edited:
Sep 1, 2015 at 4:07 AM
Neophyte Member
"Fresh from the Bakery"
Join Date: Aug 29, 2015
Location: Brazil
Posts: 3
Age: 24
wow, I barely got here, I already started a discussion, huh
 
Sep 1, 2015 at 4:16 AM
Senior Member
"This is the greatest handgun ever made! You have to ask yourself, do I feel lucky?"
Join Date: Aug 15, 2015
Location: 0xDEADBEEF
Posts: 111
wow, I barely got here, I already started a discussion, huh
Yeah, simply when I clarified GML meant Game Maker Language >w<;
 
Sep 1, 2015 at 7:33 AM
Hoxtilicious
"Life begins and ends with Nu."
Join Date: Dec 30, 2005
Location: Germany
Posts: 3218
Age: 32
The newer versions can run in different environments. (I'm assuming platforms)

I'm not talking about different platforms, I'm talking about GameMaker.


Did you take a look at the link yourself? Because you see the word "Script" there, multiple times, in GameMaker you can write scripts and according to Wikipedia:

A scripting language or script language is a programming language that supports scripts
 
Sep 1, 2015 at 3:16 PM
The Preacher
"Wacka-Wacka-Wacka-Wacka-Wacka-Wacka-Wacka-Wacka-BLEIUP"
Join Date: Feb 20, 2011
Location: lost in translation
Posts: 336
Age: 31
Alright so I'm seeing a lot of silly things being said on this thread, even after I was so kind as to write a detailed explanation as to what is or is not a programming language, so I'm gonna quote it again with important parts in bold and all you fucks are gonna read it again until you get it

Among the ones in the poll, I know:
Lua, C, C#, Java, x86 Assembly, Python, TSC, Javascript

Among the ones not in the poll, I know:
Scala, OCaML, Ruby, PHP, Erlang, F#, Visual Basic


All of those languages are programming languages, except TSC I think. Scripting languages are programming languages in most cases. "Programming" does not mean "compiled" and "scripting" does not mean "not programming".

A computer language is a programming language if it has three things: Abstraction from hardware, control abstraction, Turing-completeness.

All of the languages listed have those features, except TSC (which does not have control abstraction).
You can code TSC in the same way regardless of what platform you are on, so it's abstracted from hardware. I think you can theoretically (assuming infinite memory) construct any possible finite state, which would mean it's Turing-complete. However, it does not have control abstraction, as it does not allow you to write functions or subroutines. It does have events and some sort of flow control, but I'm pretty sure there isn't a way to make it act like a call/return block of instructions. I might be wrong though, I'd need confirmation from someone more experienced than me.

EDIT: I forgot x86 was in the list! It's not an actual programming language either, because it is hardware dependent. It's an instruction set.

I am also going to clarify something:
A computer language is "compiled" if it is compiled by a compiler and "interpreted" if it is interpreted by an interpreter. Now guess what, you can write both compilers and interpreters for (almost) any computer language that exists. Which means (almost) all computer languages can be compiled AND interpreted. These terms do not mean anything and they do NOT make a difference in the nature of a computer language.

And now that that is said, let's clarify one more thing as well:

A scripting language is a language used in a domain-specific environment, which means any interpreted language can become a scripting language in the context of an environment that would use it for scripting. Since any computer language can be interpreted, it means any computer language can be used as a scripting language.

There.

Now to individually answer previous messages:

- GML is a programming language, albeit a shitty one (lol no functions). It has abstraction from hardware, control abstraction (scripts), Turing-completeness. It is used as a scripting language by the Game Maker engine.

- C, C#, Java, C++ are programming languages. They are not used as scripting languages anywhere I know, but they could be.

- Game Maker is about as much an IDE as Notepad and MSPaint (you know, for Piet). Which is to say, it technically is one, but if you go around saying your IDE is Game Maker, prepare to be laughed at.

- JavaScript is a fully-fledged programming language. It has total abstraction from hardware, as much control abstraction as you can get (eyyy closures), and Turing-completeness. It is used as a scripting language by most if not all browsers. Still a shitty language (lol "3" + 1 = "31" but "3" - 1 = 2).

-
You're mixing up some stuff there.
GameMaker is not an integrated development environment, it is a game creation system. That's a huge difference, plus GML only works in GameMaker, the engine has to provide functions because there is no way to access the low level stuff (atleast not anywhere near where C or other languages could), that's why it's a scripting language. Windows is a operating system, GameMaker isn't, that's why you can't compare these two as well.
YOU'RE mixing up some stuff here.
"Game creation system" does not mean it's not technically an IDE.
GML is just a computer language and it could work anywhere if you wrote an interpreter and environment for it. It is not directly linked to the game-making process in Game Maker nor to the functions provided by the engine.
Also, you can access low-level stuff in C (or other languages) thanks to functions provided by things like the Windows APIs or POSIX. They are not part of C or any other languages. It's not about low-level, it's about accessing APIs. Any language, provided it included the tools to do so, could do that. It has nothing to do with low-levelness, and ESPECIALLY nothing to do with being a scripting language.

- IDEs don't compile programs. IDEs may or may not include compilers that compile programs.

- ENIGMA is an IDE. It's centered toward game development, but it is a legit IDE.

- There is no "traditional sense" for a programming language. If it can be used to program (as in, if it has the three things I was talking about earlier), it's a programming language. If an environment uses it for scripting, then it's a scripting language. Scripting languages are not a subset of programming languages, there are programming languages that are not used as scripting languages (Java) and languages used for scripting that are not programming languages (TSC).

- GML is a scripting language in the context of Game Maker. If I wrote an interpreter or a compiler for it in order to use it for general-purpose stuff, then I would not use it as a scripting language.

- Just in case, I'm gonna repeat it again: any computer language has the potential to support scripts. Write a file containing source code in the language: bam, you have a script. Write an interpreter that can run the script: bam, you have an interpreted language. Create an application or a system that uses scripts written in the language in order to do stuff: bam, you have a scripting language.
It does not mean anything.

TL;DR:
Stop using "compiled language", "interpreted language", "scripting language" to describe anything else than how the language is used in a particular context.
Learn what "programming language" means.
When in doubt, use the neutral term "computer language".
 
Sep 1, 2015 at 5:42 PM
Senior Member
"This is the greatest handgun ever made! You have to ask yourself, do I feel lucky?"
Join Date: Aug 15, 2015
Location: 0xDEADBEEF
Posts: 111
@Hiino
You don't mind if I can ask what would be defined as an IDE in non-technical terms? A bit of googling hasn't discredited that GM:S is an IDE so far.
 
Sep 1, 2015 at 5:51 PM
Hoxtilicious
"Life begins and ends with Nu."
Join Date: Dec 30, 2005
Location: Germany
Posts: 3218
Age: 32
I agree with most of the things you said Hiino but not everything in detail.

"Game creation system" does not mean it's not technically an IDE.

IDE is not a well-defined term, still most people think about the same thing when they talk about an IDE. Which means I wish you good luck finding a lot people that think GameMaker: Studio could be seen as a full-fledged IDE. It's very dependend on the whole Engine, plus that's surely not what first pops up in your mind if you think of an IDE in a classicial way, so to say.

GML is just a computer language and it could work anywhere if you wrote an interpreter and environment for it. It is not directly linked to the game-making process in Game Maker nor to the functions provided by the engine.

Now you're talking about very theoretical stuff, that is of course correct but the reality is that GML was developed for GameMaker as a scripting language. Honestly I doubt that so many people won't use it as a pure scripting language, that I wouldn't refer to it as one anyore.

Also, you can access low-level stuff in C (or other languages) thanks to functions provided by things like the Windows APIs or POSIX. They are not part of C or any other languages. It's not about low-level, it's about accessing APIs. Any language, provided it included the tools to do so, could do that. It has nothing to do with low-levelness, and ESPECIALLY nothing to do with being a scripting language.

Accessing APIs is as low-level as it get's today usually, of course any language could do that if you write a compiler for it but fact is, that you can write a operating system in C but with GML you can't simply because there are no GML compilers that would allow you to do so. And of course it has to do with it being a script language in the first place (ever seen anyone using it for stuff that you would normally do in C? I haven't) because you simply can't write something like an OS with nothing like scripts or use it for embedded systems. You're talking about theory, I talk about practice.

There is no "traditional sense" for a programming language.

There is because the things you mentioned are newer developments. Byte code, using programming languages as scripting languages and vice versa, etc. These are all things that didn't exist back then, atleast not in the way they are today.
 
Last edited:
Sep 1, 2015 at 6:25 PM
The Preacher
"Wacka-Wacka-Wacka-Wacka-Wacka-Wacka-Wacka-Wacka-BLEIUP"
Join Date: Feb 20, 2011
Location: lost in translation
Posts: 336
Age: 31
@Hiino
You don't mind if I can ask what would be defined as an IDE in non-technical terms? A bit of googling hasn't discredited that GM:S is an IDE so far.

Well I did say it is an IDE.
But yeah, the thing is it's an IDE for a single language used for a single purpose (to run scripts on the engine in order to make games using the available API and tools).
The concept behind an IDE, I'd say, is to help you make whatever you want in the tools you choose (languages, version control software, etc., providing they are supported). Game Maker is more about helping you make a game by providing you with a set of tools. So at heart, it's not the same thing. Game Maker does have ways to help you use its tools though, which is why I say it's technically an IDE.

The bottom line is, you cannot compare Game Maker to a modern, fully-functional IDE like Eclipse which provides support for version control, real-time code checking, build automation tools, debuggers, and generally lots of tools to help you do whatever the fuck you want, oftentimes allowing you to use a wide range of different languages (like Eclipse) with community-made plugins that introduce support and tools for even more obscure languages.
A lot of good IDEs don't even look like big war tanks but look a lot more like enhanced notepad software (Emacs, SublimeText, Notepad++) which give you complete control over how you build your code.


IDE is not a well-defined term, still most people think about the same thing when they talk about an IDE. Which means I wish you good luck finding a lot people that think GameMaker: Studio could be seen as a full-fledged IDE. It's very dependend on the whole Engine, plus that's surely not what first pops up in your mind if you think of an IDE in a classicial way, so to say.

See my answer to Raus, I already agree with this.

Now you're talking about very theoretical stuff, that is of course correct but the reality is that GML was developed for GameMaker as a scripting language. Honestly I doubt that so many people won't use it as a pure scripting language, that I wouldn't refer to it as one anyore.

Maybe but this doesn't contradict anything I said, does it?

Accessing APIs is as low-level as it get's today usually, of course any language could do that if you write a compiler for it but fact is, that you can write a operating system in C but with GML you can't simply because there are no GML compilers that would allow you to do so. And of course it has to do with it being a script language in the first place (ever seen anyone using it for stuff that you would normally do in C? I haven't) because you simply can't write something like an OS with nothing like scripts or use it for embedded systems. You're talking about theory, I talk about practice.

As I said, accessing APIs does not mean low-level. Ruby is as high-level as you can get (AND is also a mainly interpreted language) but you have access to Win32APIs. And they're don't work any differently from any other API really, so it's really not about low-levelness.
C is preferably used instead of other languages for stuff like operating systems not because it's compiled/not a scripting language, but because it's efficient.
"I talk about practice" is just an excuse. If, tomorrow, someone decides to write a compiler for GML and to use it to create an OS, then people who "talk about practice" will be surprised. Not people who talk about theory.

There is because the things you mentioned are newer developments. Byte code, using programming languages as scripting languages and vice versa, etc. These are all things that didn't exist back then, atleast not in the way they are today.

Ok, if you want to play it like this:
The traditional sense for a "programming language" is this: a 2-tuple (V, G) consisting of a vocabulary V (a set of words over an alphabet, usually defined with regular expressions) and a set G of strict rules over the language (aka context-free grammar, usually defined in Backus-Naur Form), which is used to describe a valid sequence of instructions in the language.

Notice how there is no mention of scripting, or compiling, or interpreting, or bytecode, or computers, because it is so much more general than that. So I have no idea what you mean by
I was refering to a programming language in the traditional sense (and some people still seperate between those two), those who fall not under the scripting language category
but it's total bullshit. "Byte code [...] didn't exist back then" what? so you're talking about a period in time when scripting was a thing but bytecode wasn't? What is this, Anachronism August? ah shit we're in september already

Anyway. There is no traditional sense for "programming language" that involves them being different from scripting languages.
However, there is a wrong sense for "programming language" that involves people thinking it means "not a scripting language", which I assume is the sense you were really referring to.
 
Last edited by a moderator:
Sep 2, 2015 at 12:46 AM
Senior Member
"This is the greatest handgun ever made! You have to ask yourself, do I feel lucky?"
Join Date: Aug 15, 2015
Location: 0xDEADBEEF
Posts: 111
@Hiino
Huh, it seems like there really isn't anymore a concrete line to draw between what is or isn't an IDE.

So I'm wondering is there a more appropriate and general term? I'd like to avoid seeming like a doofus as you say ^_^;;
 
Sep 2, 2015 at 1:17 AM
Hoxtilicious
"Life begins and ends with Nu."
Join Date: Dec 30, 2005
Location: Germany
Posts: 3218
Age: 32
I guess you could refer to GameMaker: Studio as a software development kit, however that term is usually used for a set of tools that aren't as specialized as GameMaker is. Game creation system would likely be the most appropriate term.
 
Last edited:
Sep 2, 2015 at 1:37 AM
The Preacher
"Wacka-Wacka-Wacka-Wacka-Wacka-Wacka-Wacka-Wacka-BLEIUP"
Join Date: Feb 20, 2011
Location: lost in translation
Posts: 336
Age: 31
@Hiino
Huh, it seems like there really isn't anymore a concrete line to draw between what is or isn't an IDE.

More like there never was one, as the term has always been ambiguous imo.

So I'm wondering is there a more appropriate and general term? I'd like to avoid seeming like a doofus as you say ^_^;;
I guess you could refer to GameMaker: Studio as a software development kit, however that term is usually used for a set of tools that aren't as specialized as GameMaker is. Game creation system would likely be the most appropriate term.

Yeah, GCS ("game creation system") is perfect.
 
Sep 2, 2015 at 5:17 AM
Senior Member
"This is the greatest handgun ever made! You have to ask yourself, do I feel lucky?"
Join Date: Aug 15, 2015
Location: 0xDEADBEEF
Posts: 111
Hiino thank you for saving us from the torture of two people who were both wrong arguing with each other
Admittedly, I had not educated myself on the matter and simply relied on assumptions from whatever I've heard in the past; despite that, my coding savvy still pushed me towards this >_<
Just please don't kill me :<
I've learned stuff, so my thanks to Hiino for that.
 
Top