[Yr7-10it] Re : .. Programming for all levels

Russell Edwards edwards.russell.t at edumail.vic.gov.au
Wed Sep 19 10:38:49 EST 2007


On 17/09/2007, at 9:23 PM, Costello, Rob R wrote:
>
> I like the visual drag and drop of GameMaker - although it's a pity it
> doesn't show the corresponding code when you drag in an "icon" - and I
> feel the pure coding side of GM is still quite tricky, a "curly  
> bracket"
> language,  with events, object level scope etc - compared to the old
> procedural BASIC, its not easy.

I think you're making two disctinctions there about GM (and most  
other modern procedural or object-oriented languages) and BASIC

1. It is a "curly bracket" language, i.e. it has proper procedural  
control structures with scoped variables, as disctinct from BASIC's  
mess of GOTOs

and

2. It is object-oriented and event-driven.

I actually think both of those are a bonus, even for novices.

Granted, #1 can make simple code a little difficult to follow   
(although a visual interface with the ability to collapse blocks of  
code and replace with a 1-line comment could help with that!), but as  
everyone knows, once a program grows to a non-trival level of  
complexity, GOTO soup becomes the harder one to understand.

For #2, I wonder if we who cut our teeth on procedural languages are  
merely reflecting that fact when we complain that OO/ED is harder to  
understand.  I think it's actually intrinsically much EASIER to  
understand. That is why visual programming environments are even  
possible. Try making GameMaker without an OO/ED model!   Where OO  
gets difficult is in the details like inheritance, templates,  
operator overloading, protection, etc etc. These, in my opinion, are  
the real reason why so few people succeed when trying to follow the  
path of learning C and then C++. They get so bogged down in all the  
details that they fail to truly move to an OO paradigm.  Languages  
like Java make most of these details less messy than C++, while GM,  
Scratch etc manage to shelter the user from them completely. Kids  
then only really need to understand the object and event model, which  
they mostly seem to grasp intuitively with very little need for  
instruction.

However, if you wanted to give them the basics of imperative  
programming without worrying about objects, events, object level  
scope etc, you could always make a GM game with a single object and a  
Create event. Put all your code in the create event's actions.

cheers

Russell Edwards
Whittlesea SC


Important - This email and any attachments may be confidential. If received in error, please contact us and delete all copies. Before opening or using attachments check them for viruses and defects. Regardless of any loss, damage or consequence, whether caused by the negligence of the sender or not, resulting directly or indirectly from the use of any attached files our liability is limited to resupplying any affected attachments. Any representations or opinions expressed are those of the individual sender, and not necessarily those of the Department of Education and Early Childhood Development.


More information about the Yr7-10it mailing list