Help - Search - Members - Calendar
Full Version: Does Gamemaker Teach Bad Coding Practices?
Game Maker Community > General > The Community
Pages: 1, 2, 3, 4
soccer99
As we all know, Gamemaker has a very forgiving coding language (GML). And peoples coding styles who use it are scattered all over the place.

What are your thoughts about GML. Do you think it is a good starting language for people who eventually plan to try and get into the game industry? Or is it slowing them down by letting them fall into bad coding habits.
Alpha Man
I do not believe that Game Maker specifically "teaches" anything by itself.
Recreate
Gamemaker can accept "pseudocode" Like so:
CODE
if value = 1 then instance_destroy()
And Code nearly identical to C++ Like so:
CODE
if(value==1)
{
instance_destroy();
}

So i would say no, not really, It all depends on which tutorials the user sees...
QUOTE
Do you think it is a good starting language for people who eventually plan to try and get into the game industry?

That, Yes big time, I recommend using GameMaker and learning syntax and becoming experienced before moving on to a more complicated language, like C++
soccer99
QUOTE (Alpha Man @ Oct 20 2009, 11:50 PM) *
I do not believe that Game Maker specifically "teaches" anything by itself.

"Or is it slowing them down by letting them fall into bad coding habits."

I know it doesn't... My main question is (which is in the topic not the title), is GML hurting programmers because it is so forgiving of bad coding practices and people can get so used to coding that way. It may be harder to break the bad habits.
T-Bird
It teaches the basics very well. It covers all the items needed for structured programming, expressions, variables, statements, comparisons, loops, functions (scripts). And even give's a taste of what an object is. Though GM is not an OO language, and it's objects differ significantly from a real Object, it does get the user used to thinking in terms of objects (similar to an idea of a class) that handles a certain problem with it's functions and variables, and instances of those objects, which have their own unique variables.

But like anything it can become a crutch. One can get so wrapped up in thinking in GML and in GM's objects that it becomes hard to train the mind to solve problems using the blocks another language provides. But this is simply a test of a programmers will. If a programmer is so caught up in GM and can't get themselves applied enough to another language, then they weren't going to be successful in that language regardless.

As for coding habits, like semicolons, parentheses around comparisons, etc. GM's manual makes it quite clear what the preferred method is, and that follows rather closely to standard practice. A large portion of breaking those habits will come with learning the new language's syntax, the rest will come through several iterations of facepalming when the compiler returns a syntax error for no semicolon.

EDIT: LOL 4 replies in the time it took me to write my one. I guess I can be wordy.
NakedPaulToast
Too many people on these forums look for a scapegoat. The most convenient scapegoat is Game Maker, it's performance and GML.

The problem is the people. The majority are young people, most of whom have absolutely no formal training, and poor critical thinking skills. Virtually all languages allow poor programming, GML is no exception.

Look at all the problems that people post about, they are overwhelmingly syntax related and logic related. Things like using uninitialized variables, comparing strings to numberss. When people see a message like "operator expected" they freeze like a deer in a headlight. Tightening up GML will do absolutely nothing to help, it will only frustrate them more, causing more people to abandon Game Maker and programming.

This in turn will contribute to a mindset, that they can't program.

What needs to improve is not the application of syntax, but the application of critical thinking, problem solving, debugging skills. Members here are not interested in actually learning proper programming, they may think they are, but they're not. They are looking for a quick solution instead of developing experience.
soccer99
QUOTE (NakedPaulToast @ Oct 21 2009, 12:07 AM) *
Too many people on these forums look for a scapegoat. The most convenient scapegoat is Game Maker, it's performance and GML.

The problem is the people. The majority are young people, most of whom have absolutely no formal training, and poor critical thinking skills. Virtually all languages allow poor programming, GML is no exception.

Look at all the problems that people post about, they are overwhelmingly syntax related and logic related. Things like using uninitialized variables, comparing strings to numberss. When people see a message like "operator expected" they freeze like a deer in a headlight. Tightening up GML will do absolutely nothing to help, it will only frustrate them more, causing more people to abandon Game Maker and programming.

This in turn will contribute to a mindset, that they can't program.

What needs to improve is not the application of syntax, but the application of critical thinking, problem solving, debugging skills. Members here are not interested in actually learning proper programming, they may think they are, but they're not. They are looking for a quick solution instead of developing experience.

Thats a good point. If people cant learn GML, or a new language after GML, then its either not for them or they need to take more time.
NakedPaulToast
QUOTE
Thats a good point. If people cant learn GML, or a new language after GML, then its either not for them or they need to take more time.


Or the more obvious, get a formal education.

If somebody, got a set of tools, and tried to fix a car, failing, would your advice be "its either not for them or they need to take more time." Why is it with many disciplines the natural path; is to get an education, yet somehow here people think that programming courses are somehow not neccessary?


Recreate
Comparing a car to a programming language?
soccer99
QUOTE (NakedPaulToast @ Oct 21 2009, 12:19 AM) *
QUOTE
Thats a good point. If people cant learn GML, or a new language after GML, then its either not for them or they need to take more time.


Or the more obvious, get a formal education.

If somebody, got a set of tools, and tried to fix a car, failing, would your advice be "its either not for them or they need to take more time." Why is it with many disciplines the natural path; is to get an education, yet somehow here people think that programming courses are somehow not neccessary?

Gamemakers simplicity opens it up to people of all ages, including teens and children. People of all ages are able to program good games without any programming classes, by taking time to learn the language. But of course an education and programming classes are going to help, but are not entirely necessary.
daman123125
QUOTE
The problem is the people. The majority are young people, most of whom have absolutely no formal training, and poor critical thinking skills. Virtually all languages allow poor programming, GML is no exception.

Look at all the problems that people post about, they are overwhelmingly syntax related and logic related. Things like using uninitialized variables, comparing strings to numberss. When people see a message like "operator expected" they freeze like a deer in a headlight. Tightening up GML will do absolutely nothing to help, it will only frustrate them more, causing more people to abandon Game Maker and programming.

That is a big problem.
Some people would post code in Novice Q&A, and then the person gets an error, and if they have no idea how to code, so then they post complaining about their error, instead of learning the code.
There isn't a good way to stop all of this madness, so all we can do is stick around for them to keep the forums alive.
Yes, GM can teach bad coding habits, but that depends on the tutorials they read. A majority of the tutorials I've seen have fairly neat coding, but some of them teach bad habits like using "=" for comparisons, instead of "=="; and they also have coding that isn't indented. Although GM lets you get away with these practices, it is a good language to start with, since it teaches essential fundamentals in programming. You probably wouldn't have any idea how to code C++ if you haven't learned GML, unless you take some special course in college, and get taught by some sort of proffesional.
NakedPaulToast
QUOTE
Comparing a car to a programming language?


There was no comparison of a car to a programming language.

But, I really didn't expect you to understand what I wrote. You've also proven my point about members having poor critical thinking skills.

QUOTE
A majority of the tutorials I've seen have fairly neat coding, but some of them teach bad habits like using "=" for comparisons, instead of "==";


This is absolutle non-sense.

Inferring that = should not be used for comparisons, because other languages use is it for assignment is silly. What about all the languages, that don't use == for comparison?
e_barroga
QUOTE (NakedPaulToast @ Oct 21 2009, 06:07 AM) *
Too many people on these forums look for a scapegoat. The most convenient scapegoat is Game Maker, it's performance and GML.

The problem is the people. The majority are young people, most of whom have absolutely no formal training, and poor critical thinking skills. Virtually all languages allow poor programming, GML is no exception.

Look at all the problems that people post about, they are overwhelmingly syntax related and logic related. Things like using uninitialized variables, comparing strings to numberss. When people see a message like "operator expected" they freeze like a deer in a headlight. Tightening up GML will do absolutely nothing to help, it will only frustrate them more, causing more people to abandon Game Maker and programming.

This in turn will contribute to a mindset, that they can't program.

What needs to improve is not the application of syntax, but the application of critical thinking, problem solving, debugging skills. Members here are not interested in actually learning proper programming, they may think they are, but they're not. They are looking for a quick solution instead of developing experience.

Hear hear.

On a side note, if you cannot bring yourself out of the Game Maker mindset when the time comes, you'd have failed if you didn't start with Game Maker. The reason for such a statement lies in the fact that programming is a career that requires you to be learning constantly. Your skills today will be obsolete within your career's lifespan. Don't let yourself get too comfortable. Learn something everyday, or you'll become an old geezer without a job.
johnjoe
gamemaker is mainly intended to people who have not a clue of Programming, hence it is simplified to reduce complexity, that assuming implies it does not teach bad practice but rather introduce the user to Programming.
DZiW
QUOTE
Does Gamemaker Teach Bad Coding Practices

No, users adapt to free-style coding themselves because of
QUOTE
a very forgiving coding language (GML)

No evil. Also, very many GM users already know a couple of other languages.

QUOTE
Do you think it is a good starting language

No, if one intends to program a certain language he should consider start using it directly.

QUOTE
Or is it slowing them down by letting them fall into bad coding habits

No, coding is just a skeleton. If one can see a process clearly then it has little to do with a language means.

QUOTE
The problem is the people.

The? They always are. Without them many things would be useless.

QUOTE
get a formal education

How brilliant of NPT. Yet one learns much faster and better when actually using something new instead of book-learning.

QUOTE
gamemaker is mainly intended to people who have not a clue of Programming

No, even simple programming is still a programming (specified algorithmization)

Well, once I saw a telecast about some programming contest where children (rather poor at math and grammar btw) were excellent coders - they often had to explain how a prog worked to their clever adult 'teachers'.
NakedPaulToast
QUOTE
How brilliant of NPT. Yet one learns much faster and better when actually using something new instead of book-learning.


Getting a formal education, does not mean book learning.

Every programming course I've taken was just the opposite.

Benaroth
Is semi-colons and the like really that big of a deal?
I suppose if someone learns a for each loop in C# they should be forewarned that they will not be able to do for loops in Java for the rest of their life. Should I be sueing someone for not warning me about this?

In Game Maker they are not poor practice as they are still equally readable and functional. It is not hard for someone to start using semi-colons and the like when they learn another language. Indentation is much more important then semi-colons in my opinion.
flexaplex
I think Game Maker is actually partly at fault, but as I have said many times because of it's lack of proper teaching methods on gml in the manual.

From my own experience of starting programming from gml, I started out using poor syntax as most probably do. But then naturally I started to develop better syntax when I learnt the advantages of doing so, I would expect any intelligent user to advance in the same way. So I don't think gml having loose syntax is to blame as people should eventually learn to adapt a better programming style themselves. However if the advantages of good syntax and proper application of programming was taught in the manual I can pretty much guarantee that I would have developed much faster.

Perhaps something Game Maker could actually do is have the much discussed addition of an expect mode, then in this expert mode proper syntax is actually forced within gml. Doing this has several advantages:

1. Most expert users actually want stricter syntax enforced so the interpreter can actually check for 'mistakes' in their syntax.
2. Users would then be forced to learn proper syntax when developing further within GM.
3. Naturally, more code around the forum would start to use better and more uniform syntax.
4. As I imagine some more of the more complicated functionality in GM would also only be accessible in expert mode, it would prevent nooblings (who will likely use poor syntax) from actually using the expert mode and thus prevent them from using things which they wont understand.

The expert mode could also remove things like execute_string, treat un-initialised variables as 0 and the ability to use resource conflicts. So these bad habits were also eradicated when advancing further.
DPoole
The point of GameMaker is to make it easier for people to make games.

A more forgiving language reduces frustration.

It is not GML's responsibility to teach 'good coding habits'.
Levi224
QUOTE (T-Bird)
it's objects differ significantly from a real Object

How do you define a real object? Anything can be real, anything can be fake.
score_under
QUOTE (Levi224 @ Oct 21 2009, 05:25 PM) *
QUOTE (T-Bird)
it's objects differ significantly from a real Object

How do you define a real object? Anything can be real, anything can be fake.

How about "Conventional", then?

QUOTE (NakedPaulToast @ Oct 21 2009, 06:19 AM) *
If somebody, got a set of tools, and tried to fix a car, failing, would your advice be "its either not for them or they need to take more time." Why is it with many disciplines the natural path; is to get an education, yet somehow here people think that programming courses are somehow not neccessary?

Programming courses are completely unnecessary. They may help a complete beginner, but they are not necessary. Real experience, however, really counts for something.

Programming is also significantly easier to gather materials for and to repeat than repairing a car.

QUOTE (NakedPaulToast @ Oct 21 2009, 06:42 AM) *
QUOTE
A
majority of the tutorials I've seen have fairly neat coding, but some
of them teach bad habits like using "=" for comparisons, instead of
"==";


This is absolutle non-sense.

Inferring that
= should not be used for comparisons, because other languages use is it
for assignment is silly. What about all the languages, that don't use
== for comparison?

Absolutle, eh?

Name 3 languages that use "=" for comparison and do not use "==" for comparison.
Now name 3 languages that use "==" for comparison and do not use "=" for comparison.

Which list was easier to compile?

NPT, I miss your old quality of posted responses.
KC LC
QUOTE (score_under)
Programming is also significantly easier to gather materials for and to repeat than repairing a car.

Easier? Does this explain why mechanics earn blue-collar wages, while programmers attend universities and then enter high-paying jobs? laugh.gif
Recreate
(We are talking about cars, depending on what you do, it could be a high paying job)
commander of games
QUOTE (flexaplex @ Oct 21 2009, 08:28 AM) *
I think Game Maker is actually partly at fault, but as I have said many times because of it's lack of proper teaching methods on gml in the manual.

From my own experience of starting programming from gml, I started out using poor syntax as most probably do. But then naturally I started to develop better syntax when I learnt the advantages of doing so, I would expect any intelligent user to advance in the same way. So I don't think gml having loose syntax is to blame as people should eventually learn to adapt a better programming style themselves. However if the advantages of good syntax and proper application of programming was taught in the manual I can pretty much guarantee that I would have developed much faster.

Perhaps something Game Maker could actually do is have the much discussed addition of an expect mode, then in this expert mode proper syntax is actually forced within gml. Doing this has several advantages:

1. Most expert users actually want stricter syntax enforced so the interpreter can actually check for 'mistakes' in their syntax.
2. Users would then be forced to learn proper syntax when developing further within GM.
3. Naturally, more code around the forum would start to use better and more uniform syntax.
4. As I imagine some more of the more complicated functionality in GM would also only be accessible in expert mode, it would prevent nooblings (who will likely use poor syntax) from actually using the expert mode and thus prevent them from using things which they wont understand.

The expert mode could also remove things like execute_string, treat un-initialised variables as 0 and the ability to use resource conflicts. So these bad habits were also eradicated when advancing further.

Thats a dumb idea. Dont force people to code with proper syntax, thats evil and pathetic. What is wrong with noobs using advanced functions? They will eventualy learn how to use them, and making it so they cannot is only stopping them from learning. If Mark put that in, I would leave GM forever. It would NOT be fair to noobs or other people if they had to use perfect syntax just to make a character move or something!

Also, I never put semi-colins or use "==" when I program. And when I find code on the internet, I remove all of the "==" sh*t, using that is just a waste of time.

GML is supposed to be easy for people to learn and use, if they made it so that it FORCED people to use perfect syntax, many people would get fed up and leave it. GM is not build specialy for experts, its built for people that dont want to learn C++, Visual Basic, Java, C#, and all those other programming laungages that are hard to learn.
Yourself
QUOTE
Name 3 languages that use "=" for comparison and do not use "==" for comparison.


I'm not sure I understand the motivation behind needing 3, but here it goes:

BASIC (and all or most of its derivatives), Pascal (and Delphi, naturally), Scheme, Ocaml, and Common ML. I suppose you could also count SQL, but it's in a sort of different class from these other languages. There are also many more languages that don't use either '=' or '==' for comparison. And, after all, NPT only mentioned languages that don't use '==' for comparison. He never mentioned that those languages must use '=' instead. So in that sense you've created an unnecessarily restrictive criteria by which to list languages which doesn't fully address the point he made.

QUOTE
Now name 3 languages that use "==" for comparison and do not use "=" for comparison.


C++, Python, and PHP.

QUOTE
Which list was easier to compile?


Neither, because I'm an actual programmer with actual knowledge of the field and the wide variety of languages that have been created and used.

QUOTE
Programming courses are completely unnecessary. They may help a complete beginner, but they are not necessary. Real experience, however, really counts for something.


Unnecessary in what sense? In the sense that given enough time you'd be able to learn a programming language to the point where you could be considered functionally literate in it? Maybe you could pull off proficient and, if you're lucky, make it up to the point where you might actually be able to motivate describing yourself as a professional. However, to get even that far you'll actually need to do a lot of reading and know something about computer science which you won't learn just from ****ing around in a language. It's quicker and easier to just take a class.

So, yeah, in the strictest sense they're totally unnecessary, which is why you see so many people in programming jobs without a formal education in it. But then formal education isn't strictly necessary for any field provided you're willing to put in the effort to actually educate yourself in that field anyway.

QUOTE
Dont force people to code with proper syntax, thats evil and pathetic.


QUOTE
Thats a dumb idea.


Enforcing a strict syntax doesn't make it harder to program. Strict syntax makes a language less confusing since it removes alternative ways of writing a particular structure.

I will never understand this obsession people have with maintaining their own unique, personal coding habits. It's stupid. If you'd just learn to do things the right way to begin with, there wouldn't be a problem.
ZeplashStudios
I agree to both points and disagree at the same time, Gamemaker may be forgiving in the sense of the language style and allows us to learn bad habits, that is true, but It's a great way to start. When I first started with Gamemaker I was useless in GML. but since it's more easier and basic to understand in some aspects it made it possible for me to fuel my n33d to learn GML, thus in turn made me perceive mathematical and geometrical problems in a different way. thus it opened me to see a more diverse spectrum of the CODING world. with that said, basically Gamemaker made me SMART lol, but in turn it gave me something to feed on, and I would say Unlearning bad habits is worth it, because without Gamemaker C++ looked like gibberish.

But if these small differences okay some of them huge lol, but if these bothers everyone so much, why not make Gamemaker compatible with C++ with Coding Principles, and make us learn C++ instead of GML. Yeah it might be harder and take a #$%# long time to improve, but it will keep those bad habits away since we then use a global language. when you look at it from both perspectives I suggest you launch Gamemaker with the Option to choose between C++ or GML principles. (But if I am mistaken isn't that already available in Gamemaker? lol well u first need to get the C++ Codes tho...) But I'm not disappointed if i have learned a few bad habits, because what the HECK, I can program! lol and Whom do we have to thank? MARK .

P.S. Recreate, yeah okay learning the right way may be the best, but think of it so, classes cost money, and Gamemaker Lite is freely available. to that point helps beginners, and if you do choose to be professional and do have to teach yourself the right way, at least you got the basic principle of programming to help you. SO GAMEMAKER JUST GIVES US A PROPER TASTE IN WHAT THE AVARAGE PROGRAMMER MIND THINKS LIKE, at least that's my opinion.
flexaplex
QUOTE
Dont force people to code with proper syntax


QUOTE
It would NOT be fair to noobs or other people if they had to use perfect syntax just to make a character move or something

How I suggested it, they wouldn't be forced. They could still use loose syntax in beginner/advanced mode. You would not need to be in expert mode to make a character move.

QUOTE
What is wrong with noobs using advanced functions? They will eventualy learn how to use them, and making it so they cannot is only stopping them from learning.

Because using things they don't understand actually confuses them and hinders their learning.
KC LC
QUOTE (flex)
Because using things they don't understand actually confuses them and hinders their learning.

That's like telling a child you won't take the training wheels off his bike, until he learns how to ride without them. laugh.gif
syth184
Gamemaker doesn't teach bad habits at all in my experience. I find that having learned GML first helped greatly when moving on to C++. True I haven't yet moved on to a completely differently structured language and I know little about them, but nonetheless I've never found myself subcontiousley thinking i was using gamemaker while programming in my C++ class.

I doubt I'm very special in that regard, but I go to school twice a week and program in C++ for 6 hours, then come home and program in GML for hours and hours, and really there is no problem. I always use semi-colons in C++ and never in gamemaker, same with "==" etc.

Now on the flipside, despite having minimal knowledge of C++ in the past, I am way advanced in my intro to C++ class. I don't know anything more about the language then any of the other students, but I've learned how to program from using gamemaker, even though the syntax is different the logic is the same so the whole language is just about learning how to use the functions, and since they are used a bit differently my mindset when im coding C++ is trying to think of how I'm supposed to write it out, for that I nor would any reasonable person turn to the syntax of gamemaker for anything more than a basic idea.

So no, based on my and my friend's experiences, I would say gamemaker does just the opposite of creating bad habits
flexaplex
QUOTE (KC LC @ Oct 21 2009, 07:12 PM) *
QUOTE (flex)
Because using things they don't understand actually confuses them and hinders their learning.

That's like telling a child you won't take the training wheels off his bike, until he learns how to ride without them. laugh.gif

Not really. It's more like telling a child not to go in the deep end of the pool until they can at least swim a bit.
e_barroga
QUOTE
If Mark put that in, I would leave GM forever. It would NOT be fair to noobs or other people if they had to use perfect syntax just to make a character move or something!

Then leave, where else are you going to go? If it's too hard for you to follow something so simple, I doubt you'll be better off else where.
TheMagicNumber
It doesn't teach bad coding practices as much as allowing them to exist without a problem. Just like Recreates little mistake, using '=' as a comparison operator in PHP. It's not the best start for people who are not willing to follow rules.
Recreate
It is simply different syntax in different languages.
commander of games
@flexalplex(post after ZeplashStudios post): BUT, they(wich includes me)would not be able to use EVERY function in Game Maker, so that is limiting them, wich is totaly unfair in my opinion.

@e_barroga: In my opinion, it is annoying and unecisary to force people to code with perfect syntax. Maybe you should leave if you think everyones code should be perfect. sleep.gif

@Recreate: Exactly. Each laungage has different syntax, GML, simply has a different syntax than other luangages.
uuf6429
QUOTE
Name 3 languages that use "=" for comparison and do not use "==" for comparison.
Now name 3 languages that use "==" for comparison and do not use "=" for comparison.

First, that's unfair since it completely depends on how languages were developed.

But playing your little game,

==
Java
PHP
C++

=
Oberon
Modula
Pascal

Easy? Definitely, since I know how those operators came about (including how it came into GM).

Bad coding? No. What defines bad coding? Not adhering to a language's standards.
But if it is part of the standard, then by all means it's not bad coding.
Dangerous_Dave
Instead of forcing a particular syntax, how about a code editor that does it by default? Many (all?) of those Visual C/++/#/BASIC programs automatically structure the code for you. It wouldn't force it, but it would encourage it.

Although I'm a fan of a stricter syntax, so many problems are easily found if people would just indent their code properly.
e_barroga
QUOTE
In my opinion, it is annoying and unecisary to force people to code with perfect syntax. Maybe you should leave if you think everyones code should be perfect.

Why should I leave? I wasn't the one who so ignorantly exclaimed: "I will leave GM if that ever happens".

You demonstrate the lack of ability to adjust. You are inferring that I strongly believe people should be forced to standards because I replied to your ignorance. I never made such claim. I'm simply stating that GM isn't what would make you leave, it's yourself due to your inability to follow something that is so easy.

I also believe that people shouldn't be forced to strict standards, but I also think that people who refuse to succumb to standards should simply quit because it gets you no where anyways (save your effort).
KC LC
QUOTE
...but I also think that people who refuse to succumb to standards should simply quit because it gets you no where anyways (save your effort).

Let's all take a step back. Nobody needs to leave... or quit... regardless of their willingness to follow conventional coding standards. These standards are very useful, and we should all follow them. But GM and the GMC embraces programmers at all levels, from beginners to professional, regardless of their willingness to follow standards.

QUOTE
succumb to standards

succumb? laugh.gif I think a better expression would be "accept standards"
superjoebob
QUOTE (Alpha Man @ Oct 20 2009, 09:50 PM) *
I do not believe that Game Maker specifically "teaches" anything by itself.

Exactly.
commander of games
QUOTE (e_barroga @ Oct 21 2009, 02:37 PM) *
QUOTE
In my opinion, it is annoying and unecisary to force people to code with perfect syntax. Maybe you should leave if you think everyones code should be perfect.

Why should I leave? I wasn't the one who so ignorantly exclaimed: "I will leave GM if that ever happens".

You demonstrate the lack of ability to adjust. You are inferring that I strongly believe people should be forced to standards because I replied to your ignorance. I never made such claim. I'm simply stating that GM isn't what would make you leave, it's yourself due to your inability to follow something that is so easy.

I also believe that people shouldn't be forced to strict standards, but I also think that people who refuse to succumb to standards should simply quit because it gets you no where anyways (save your effort).

Sorry that I said that, I was angry. Also I am sick to death of people calling me ignorant! If anyone calls me ignorant again I will add them to my "non-friends" list.

Also, why should everyone that uses game maker have to clean up code in there games if they ever use a future version of game maker that forces perfect syntax? That is completly unfair.

And whats the point of forcing perfect syntax if not every person using GM is going to use C++ in the future? In my opinion forcing perfect syntax would only increase frustration for noobs.
weckar
QUOTE (Yourself @ Oct 21 2009, 06:48 PM) *
I will never understand this obsession people have with maintaining their own unique, personal coding habits. It's stupid. If you'd just learn to do things the right way to begin with, there wouldn't be a problem.

In GM there isn't quite a 'right' way, is there?
I have a BASIC background myself, so naturally my coding patterns will differ from someone who uses (or plans on using) C++. The marvelous thing about GM is is that it isn't a stool to reach a single language, but a flying carpet to reach (nearly) every possible one.
Dangerous_Dave
QUOTE (commander of games @ Oct 22 2009, 09:17 AM) *
Sorry that I said that, I was angry. Also I am sick to death of people calling me ignorant! If anyone calls me ignorant again I will add them to my "non-friends" list.

Is that a little notepad you keep with the names of everyone in the word who isn't your friend? Must be a long list.
At least now you are no longer ignorant of what ignorant means. Although you are certainly ignorant in other areas.

QUOTE
Also, why should everyone that uses game maker have to clean up code in there games if they ever use a future version of game maker that forces perfect syntax? That is completly unfair.

I'm of the opinion that you shouldn't do something just because that's how it's already done. If something would be better done another way, don't leave it the way it is because it's already that way, fix it.

Although by my suggestion above old games would still work fine.

QUOTE
And whats the point of forcing perfect syntax if not every person using GM is going to use C++ in the future? In my opinion forcing perfect syntax would only increase frustration for noobs.

In my opinion being told 3 different things by three different people, all which do the same thing and all of which are correct, would be more frustrating that having one way of doing things.
flexaplex
I like the suggestion Dangerous_Dave gave, it holds nearly the same advances as the one I suggested but would probably go down a lot better with current users. Also it would be handy to be able to use such a tool anyway. I still hold the opinion that the problem would be highly reduced if the manual actually taught better.
commander of games
QUOTE (Dangerous_Dave @ Oct 21 2009, 03:24 PM) *
QUOTE (commander of games @ Oct 22 2009, 09:17 AM) *
Sorry that I said that, I was angry. Also I am sick to death of people calling me ignorant! If anyone calls me ignorant again I will add them to my "non-friends" list.

Is that a little notepad you keep with the names of everyone in the word who isn't your friend? Must be a long list.
At least now you are no longer ignorant of what ignorant means. Although you are certainly ignorant in other areas.

QUOTE
Also, why should everyone that uses game maker have to clean up code in there games if they ever use a future version of game maker that forces perfect syntax? That is completly unfair.

I'm of the opinion that you shouldn't do something just because that's how it's already done. If something would be better done another way, don't leave it the way it is because it's already that way, fix it.

Although by my suggestion above old games would still work fine.

QUOTE
And whats the point of forcing perfect syntax if not every person using GM is going to use C++ in the future? In my opinion forcing perfect syntax would only increase frustration for noobs.

In my opinion being told 3 different things by three different people, all which do the same thing and all of which are correct, would be more frustrating that having one way of doing things.

[lol]Its an imaginary list.[/lol]

Anyway people, could you stop calling me ignorant, please? I am getting tired of being insulted like that. If everyone stops that, I will get rid of my imaginary list of non-friends. smile.gif

Also, why not just make it so that you have an expert mode, but it has the same functions as advanced mode(wich is all the functions)? It would allow people to make cool games without having to code perfectly. Thats all I have left to say.
Dangerous_Dave
QUOTE (commander of games @ Oct 22 2009, 09:37 AM) *
Also, why not just make it so that you have an expert mode, but it has the same functions as advanced mode(wich is all the functions)? It would allow people to make cool games without having to code perfectly. Thats all I have left to say.

Because anyone using expert mode would likely know how to code properly to begin with. It should be the other way around; by default, it has a strict syntax, but there could be a compatibility mode that allows the old syntax.
weckar
Great, I'm ignored... I repeat: there's no such thing as perfect syntax in GML
Dangerous_Dave
QUOTE (weckar @ Oct 22 2009, 09:49 AM) *
Great, I'm ignored... I repeat: there's no such thing as perfect syntax in GML

If you set a strict standard then whatever followed that standard would be perfect GML syntax by definition.
flexaplex
The only things I would probably put in expert mode are 3D, mplay and DLLs. Just to help hinder nooblings trying to use things they don't understand. Expert mode could of course have additional functionality like the 'execute a piece of code' action being in events by default, named arguments etc. Stricter syntax goes along with these also, as I said most more advanced members will actually prefer a stricter interpreter as it's easier to check proper syntax then.

All these things will actually ultimate help beginners, they might just not agree (realise) it. It's not 'unfair' as I saw someone put, they can still use the functions once they learn to code properly. Going back to my pool analogy it might be exciting and cool to go in the deep end, but if you can't swim well it's not really a good idea.
weckar
QUOTE (Dangerous_Dave @ Oct 21 2009, 08:51 PM) *
QUOTE (weckar @ Oct 22 2009, 09:49 AM) *
Great, I'm ignored... I repeat: there's no such thing as perfect syntax in GML

If you set a strict standard then whatever followed that standard would be perfect GML syntax by definition.
While that is true, what to base it on? C++? BASIC? (most logically) Delphi?
Dangerous_Dave
QUOTE (flexaplex @ Oct 22 2009, 09:51 AM) *
The only things I would probably put in expert mode are 3D, mplay and DLLs. Just to help hinder nooblings trying to use things they don't understand. Expert mode could of course have additional functionality like the 'execute a piece of code' action being in events by default, named arguments etc.

I don't think it's a good idea to only allow 3D, mplay and DLLs if the code action is in the event by default. Experts want to use GM how they decide, not how they are told.

QUOTE (weckar @ Oct 22 2009, 09:51 AM) *
While that is true, what to base it on? C++? BASIC? (most logically) Delphi?

Choose one, it makes absolutely no difference.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.