Mac OSX Do you code or you program in GML?

G

GaPeLo

Guest
I don't know, I been asking myself that question for so long. Any ideas?
 

TsukaYuriko

☄️
Forum Staff
Moderator
The big question is why does it only matter which word you use on Mac OSX?
Because that's what ~real programmers~ use, while the lowly coders are probably still working in that little black box. You know, that ancient "CMD" operating system.

Sass mode off now...
I don't know, I been asking myself that question for so long. Any ideas?
You'll get different definitions of these terms depending on who you ask. If there ever has been an "official" (whatever that means in a context where there isn't one single authority) distinction between these two, it's been lost to time.
I've heard various definitions over the course of my life:
- Coding is writing code, programming is the entire application development cycle.
- Coding is the same as programming.
- Coding is for interpreted languages, programming is for compiled languages.
- Novice developers are coders, experienced developers are programmers.

Note that I'm not saying that any of these are necessarily true or false (although a lot of them do sound like nonsense to me), this is just to show how varied definitions of these terms seem to be.

With that said, the definition that is taught in my region - or at least, is supposed to be taught according to the curriculum - is that programming is translating ideas into an abstract concept, and coding is transforming said abstract concept into code.

Since GML is a programming language (enter someone claiming it's a scripting language here and trying to define the difference between those), according to this definition, you code in GML while you program in GMS (and potentially other related tools you use for development).
 
G

GaPeLo

Guest
Thank you all for your kind responses!! They are all very useful. It will be nice to see the answer from the developers. Most of the time when I read the GM manual, I see the term code used often. But it was nice to know what people thinks about this subject. Kudos to all.
 

Felbar

Member
I look at it like a conversation

"Hey! what are you doing?"

"I am programming a game"

"Oh really? what language are you using?"

"I am coding in GML"

but i am sure there are as many opinions for this as there are for where to place your curly brackets (<- holy war!) he he
 

NightFrost

Member
(enter someone claiming it's a scripting language here and trying to define the difference between those)
Over the years I've heard several times some people try to create an explicit division between programming and scripting, always with the intent of proving somehow that scripting is a lesser form of the two. And always, I seem to recall, a C++ programmer speaking to a PHP programmer (that is, to me). I couldn't care less about those holier-than-thous trying to establish a pecking order, but technically the difference is that scripting is not compiled and is instead interpreted.
 
S

Sybok

Guest
Do you code or you program in GML?

I don't know, I been asking myself that question for so long. Any ideas?
Yes to both.

'Coding' isn't some sort of mystical magical thing that happens only by dudes wearing a hoodie over their heads, in a dark room, lit only by the blue glow of their screens. It's just the act of typing in the language that the compiler or interpreter understands.



Is it the argument of scripting vs compiled code?

Are you a programmer if you choose the standard VM Exporter and then magically become a coder if you choose the YYC Compiler?

The end result is that you have created an application that tells the computer to do what you want it to do.
 

kraifpatrik

(edited)
GameMaker Dev.
enter someone claiming it's a scripting language here and trying to define the difference between those
That would be me, I've told that "GML is a simple scripting language for writing game logic" on multiple occasions. I'm not here to convince others that this is what GML should be called, but to just give you my personal view on it:

While programming in low-level languages like C or C++ allows you to write very efficient code, it can also be a pain in the a** because of having to deal with strict typing, strict language rules, memory management and bugs related to it etc., and the development progress is generally much slower. It may be then desirable to have an additional high-level language embedded into your program, which would have access to the low-level functions, but it wouldn't require you to deal with all the tedious stuff, so you could iterate much faster. Such languages are also commonly called "scripting languages".

These languages usually
  • are interpreted
  • have dynamic typing
  • are garbage collected
  • don't require variable declarations
  • allow for easy manipulation with strings and data structures
  • don't terminate the program if an error occurs
  • don't have an explicitly specified entry point
  • etc.
A few examples of scripting languages from the top of my head are Scheme, Lua, Python, JavaScript (and GML of course). Calling a language a "scripting language" doesn't mean it's bad, it just gives you a better idea on the language's features and its use, what may be its strengths and what may be its weaknesses, what may be a good idea to implement in it or what should rather be implemented on the lower level. The first paragraph on lua.org/about.html states that Lua is a scripting language, which I don't think it proudly would, if the authors thought that this automatically discredits it and makes it bad.

Why do I call GML specifically a "simple scripting language for writing game logic":
  • Simple: Until the GMS2.3 update, GML looked syntactically like a simpler C. With the new update, it gets closer to JavaScript, but it still doesn't allow for the same constructs as JavaScript (mostly because JS has different scoping). Arguably, GML is a lot simpler to learn and use than C (and it is supposed to be that way).
  • Scripting language: GML is used as a high-level language in a C++ game engine. Its purpose is to make game development easier and faster, without having to care about how the stuff works under the hood. Aside from that, it also practically doesn't exist outside of GameMaker, it's always an additional layer in the game engine, so you can't really say that it's ever used in any other way.
  • For writing game logic: Well, that's its most common use, and it fits it perfectly. GML is also arguably pretty bad in other places, where C++ would excel (and vice versa) - here go native extensions for the rescue.
That being said, when someone asks me what programming languages do I know, I don't exclude it "because it's a scripting language hurr durr!", I treat it the same way as any other language and I just mention it with the rest.

And that's about it. Happy scripting/coding/programming/decoding your code everyone!
 
Last edited:
A

av8956

Guest
I started out with GML. Then I started trying other languages. I can do the basic stuff loops , switches etc etc, but I have problems with doing more complex logic. I've been learning C# for about 6 months now and it just gets in my way. So here I am back to GML to learn how think like a programmer. Figure out why something is not working, or how to make that Dang object to do exactly what I want it to do. The last thing I got stuck on in c# was while I was trying to build a simple calculator. I just could not figure out how to make the calculator keep adding or multiply a number I entered like 1 + 1 + 2 *10 -3 + 10. Its like the answers right there but my brain said f you I'm done. So yeah that's what I'm dealing with right now lol
 
G

GaPeLo

Guest
Its like the answers right there but my brain said f you I'm done. So yeah that's what I'm dealing with right now lol
hang in there. It takes time and don't change your ways in the middle of the road, that will only slow you down. Just practice, practice practice. GML is very easy compared to other computer languages so if you have a hard time here, you are probably going to have a harder time somewhere else. But again, practice with basic stuff and go from there. Good luck!!
 
A

av8956

Guest
hang in there. It takes time and don't change your ways in the middle of the road, that will only slow you down. Just practice, practice practice. GML is very easy compared to other computer languages so if you have a hard time here, you are probably going to have a harder time somewhere else. But again, practice with basic stuff and go from there. Good luck!!
Yeah that's what I plan on doing. I started with Gm and moved on to Uni@#. But in the end C# is just getting in the way. I know I can do it but I need to get a handle on advance logic and problem solving. I will eventually go back but I need to use something that is simple like gm and get pass that barrier I just seen so many people start with gm and make that switch and say how easy it was for them and think it was gonna be the same for me.
 
Top