Geekzone: technology news, blogs, forums
Welcome Guest.
You haven't logged in yet. If you don't have an account you can register now.

View this topic in a long page with up to 500 replies per page Create new topic
1 | 2 | 3
259 posts

Ultimate Geek

  #807475 29-Apr-2013 15:33
Send private message

My suggestion would be to use a scripting language or command interpreter. Which breed you choose depends on your operating system environment.

For *nix I would recomend python or bash.

For Windows PowerShell

The attraction of a scripting language is it introduces beginners to the basics of programming and needs only a text editor to get started.

PowerShell contains hooks into .NET system.forms so you can use PowerShell as a wrapper around a GUI.

Obsequious hypocrite


26 posts


  #807550 29-Apr-2013 16:40
Send private message

Thanks very much guys, all your replies have been incredibly helpful. just as an add-on to the original question though (Mr Moderator, if it's not allowed, boot me out and I'll start a new thread), What language did you start on, and if you could do it again, what would you have started on?


1550 posts

Uber Geek

  #807568 29-Apr-2013 17:02
Send private message

Bah all these new fangled "languages", what's wrong with good old 6502 machine code ? Teach them efficiency and not to write big bloaty applications!


Though if you want to teach fun as well, get some Arduino boards a bag of LEDS, resistors and other doohickeys and do some programming where students get a sense of accomplishment where their program does something like turn on motors rather than sort a range of data alphabetically :-)

1345 posts

Uber Geek

  #807571 29-Apr-2013 17:10
Send private message

ShadyG: Thanks very much guys, all your replies have been incredibly helpful. just as an add-on to the original question though (Mr Moderator, if it's not allowed, boot me out and I'll start a new thread), What language did you start on, and if you could do it again, what would you have started on?

I guess I could say CBM BASIC perhaps, on a VIC-20.  Did have a ZX-81 before that but don't remember doing any programming on it, but I guess it was possible I did.  Long time ago now.

If I skip forwards a bit through some dabblings in various basic-ish interpreted languages, my first "real" programming was self taught in C on an Amiga.

After that at Uni, COSC121 was taught in Modula-II, and COSC122 from memory was in Haskell.  C came along in 200 level courses, along with Prolog, Simula, Lisp, TCL, Bash, Smalltalk, PASCAL, and some C++ somewhere.

Now days I think they start with Java, and probably end with it too :-(

Actually, going back to that Haskell (HUGS) usage, these days you would probably use Javascript with a nice DHTML library to do that (see Khan Academy's work) and it would be a really close analog to what we were doing back then from memory.  Wolfgang Kreutzer and Bruce McKenzie literally wrote the book on the Haskell usage for this course (which I don't know if it was ever published, we got a draft copy in the lectures, Wolfgang also taught all the Smalltalk based OOP lectures, excellent lecturer, quick google shows he's still there at Cant'y.

Damn, with the old ISPs thread and this one, Geekzone is reminiscing central this week!

James Sleeman
I sell lots of stuff for electronic enthusiasts...


26 posts


  #807575 29-Apr-2013 17:26
Send private message

I started on GWbasic, and wrote some working applications on it. I also had a ZX81, and I did write code, but I think I was only copying games with it.

16512 posts

Uber Geek


  #807582 29-Apr-2013 17:37
Send private message

Started on BASIC when I was 10 or so. Pascal at university, followed by C, assembler, Python, and the basics of Java. Done a bit of PHP myself, but it's so untidy I don't like it, I'm used to structured and typed code. Commercially only ever Java, though I'm senior enough now I haven't written any production code in a couple of years.

1332 posts

Uber Geek
Inactive user

  #807584 29-Apr-2013 17:37
Send private message

I started with Java and have also used Python, C, & PHP. I am glad I began with Java, I think it is the best language to learn when you're absolutely new.


4240 posts

Uber Geek


  #807588 29-Apr-2013 17:41
Send private message


Do whatever you want to do man.


118 posts

Master Geek

  #807808 30-Apr-2013 07:07
Send private message

Why limit the club to just one language? Many languages are used in the real world, depending on the application and organizational preferences. I believe that there's a lot of merit in learning multiple languages, so that programmers can see both the similarities and the differences between languages.

My recommendation would be to pursue parallel streams:

1. Web. HTML + JavaScript. Fairly straightforward to produce results, so gives a sense of accomplishment early in the learning process. There is a massive amount of freely available content to help with specific tasks, and lots of code snippets that can be deconstructed to help with learning. Later, server-side languages like PHP could be added. Since PHP typically has bits of HTML and JavaScript embedded in it, they need to learn HTML and JavaScript first.

2. Desktop. C# is a highly structured, object-oriented language for desktop applications so it would provide a nice contrast to the often chaotic world of web programming. Having grasped C#, it is a fairly small step from there to many other languages. Earlier someone questioned that cost of Visual Studio - that isn't a barrier, as the free version, Visual Studio Express, contains everything that is needed for all but pro development.

Perhaps start with Stream 1, to get things underway, then add Stream 2 later.

I would also suggest exploring Content Management Systems (CMS), such as Joomla, as they are the basis of many web development projects. The students can then customize the CMS or the template using what they'd learnt about HTML, JavaScript, PHP, etc.


923 posts

Ultimate Geek


  #807818 30-Apr-2013 07:48
Send private message

I actually think you're all missing the point... When teaching programming, language is largely irrelevant.

What is important is the teaching of algorithms, data structures, and program control. Each of those can then be experimented with in various languages, to see the similarities and differences, benefits and cons of each.

That said, to me, the most important languages to get a grounding in are plain old K&R C (to develop a healthy respect for managing memory, and thinking about memory usage), Java, and whatever other languages that let you do what you need for your target platform (C/Perl/Python/etc for *nix, C# for windows, ObjC for Mac/iOS, Java for Android, etc etc).

Seriously, stay away from PHP for teaching programming (and any other web language). it's not a conventional run-time environment, and PHP at least teaches a lot of very bad habits.


4875 posts

Uber Geek

  #807829 30-Apr-2013 08:23
Send private message

ShadyG: I read an article a couple of weeks ago that said that Java was the most popular language, but for the life of me I can't see how the author arrived at that conclusion. I can't see the justification of teaching a language that hasn't got a lot of use in the real world.

Go to , and search for java. 

Then try some of the other languages such as asp etc.

Java still seems to be relevant here in NZ. 

3506 posts

Uber Geek


  #807831 30-Apr-2013 08:33
Send private message

If you already know C# I reckon go with that; it actually is a very good language. Sounds like your students are interested in web so combine it with a healthy dose of HTML + Javascript (which in itself is actually a great language if you do it right!)

Someone suggested a scripting language approach and this is not a bad idea. Avoid powershell at all costs though! :) I would suggest looking at scriptcs:

I haven't played with it yet but it looks very cool, like powershell done right, and you can avoid the need for visual studio or and IDE altogether - get you students started with more of a plain text editor approach so that learning an IDE doesn't get in the way initially.

For web hosting I'd try and avoid the need for too much IIS to start with - maybe look at self hosting options with webAPI or something like Nancyfx.

Get your students back to basics and understanding the fundamentals then build on that.

You asked how everyone got started: I got started "real" programming in plain old C in emacs. Yeah I'd probably start there again if I had to, it's a great starting point, but for a lot of kids today who want to get straight into something they can see like a webpage it might seem a bit boring. :)

"I was born not knowing and have had only a little time to change that here and there."         | Electric Kiwi | Sharesies
              - Richard Feynman

1304 posts

Uber Geek

  #807846 30-Apr-2013 09:00
Send private message

- PHP is easy to pick up and used in a lot of open source software so it's easy to find examples.

This is probably the best argument around for avoiding teaching PHP. Finding good code is a bit like trying to find the proverbial needle in a haystack. 

Anyway, back to the second question...
I started with GWBasic then PERL. From there it was an easy jump into PHP. 


26 posts


  #807855 30-Apr-2013 09:13
Send private message

Thanks for all your replies, you've provided me with a lot to think about. I want my members to enjoy programming, a bit like I do really. They are all Geeks-in-waiting, and just need that little push to tip them over the edge into true geekhood, which the club is designed to do.. Like all kids today they come fitted with an understanding of how the electronic world works.

I think I'm going to use C# as the medium to get them going with OOP, and structured code, and throw the doors open for them to pick up HTML etc. themselves. I'm going to provide them each with their own website so that they can let their hair down with some show-off stuff. I'm sure if I do that, then things like javascript will come naturally, and I can be there to act as a guide.

961 posts

Ultimate Geek


  #808006 30-Apr-2013 14:20
Send private message

Whatever you choose, keep it simple - too complex and they will drop like flies!  You have to remember the OO is a paradigm that a lot of programmers do not understand and may over complicate the intention - which is to teach programming.  Java (IMO) is fantastic but if you don't get OO you will never become very proficient at it.  Sequential languages are easier to teach and follow - but you probably will need to gauge the class.

I did BBC BASIC at school (80's) and then when things weren't working for me I went to University to do an HNC in programming in 1997-9 where I was introduced to Java which was a core language along with C, C#, HTML, VB and ASP.  Within a year I had written an application that played a story across 4 computers synchronised from a central server using TCP/IP and sockets.  Java is very powerful when used well - a pain if not.

In the real world, I program ABAP (SAP) and have done for 14 years - ironically straight out of Uni.  Good thing is it keeps evolving so I'm constantly learning more.  When ABAP started to include OO I had a massive head start over some of the other consultants.  Regularly use, VBScript, JavaScript, ASP, Java, HTML and 90% ABAP.  Something else that is missing is good SQL knowledge - I've seen some really bad database reading and writing in my job.

Good on you for taking on this challenge.

Procrastination eventually pays off.

1 | 2 | 3
View this topic in a long page with up to 500 replies per page Create new topic

News »

Nanoleaf enhances lighting line with launch of Triangles and Mini Triangles
Posted 17-Oct-2020 20:18

Synology unveils DS16211+
Posted 17-Oct-2020 20:12

Ingram Micro introduces FootfallCam to New Zealand channel
Posted 17-Oct-2020 20:06

Dropbox adopts Virtual First working policy
Posted 17-Oct-2020 19:47

OPPO announces Reno4 Series 5G line-up in NZ
Posted 16-Oct-2020 08:52

Microsoft Highway to a Hundred expands to Asia Pacific
Posted 14-Oct-2020 09:34

Spark turns on 5G in Auckland
Posted 14-Oct-2020 09:29

AMD Launches AMD Ryzen 5000 Series Desktop Processors
Posted 9-Oct-2020 10:13

Teletrac Navman launches integrated multi-camera solution for transport and logistics industry
Posted 8-Oct-2020 10:57

Farmside hits 10,000 RBI customers
Posted 7-Oct-2020 15:32

NordVPN starts deploying colocated servers
Posted 7-Oct-2020 09:00

Google introduces Nest Wifi routers in New Zealand
Posted 7-Oct-2020 05:00

Orcon to bundle Google Nest Wifi router with new accounts
Posted 7-Oct-2020 05:00

Epay and Centrapay partner to create digital gift cards
Posted 2-Oct-2020 17:34

Inseego launches 5G MiFi M2000 mobile hotspot
Posted 2-Oct-2020 14:53

Geekzone Live »

Try automatic live updates from Geekzone directly in your browser, without refreshing the page, with Geekzone Live now.

Support Geekzone »

Our community of supporters help make Geekzone possible. Click the button below to join them.

Support Geezone on PressPatron

Are you subscribed to our RSS feed? You can download the latest headlines and summaries from our stories directly to your computer or smartphone by using a feed reader.

Alternatively, you can receive a daily email with Geekzone updates.