PDA

View Full Version : learning some basic programming



mayamore
8th February 2005, 08:49 PM
Hi

I am after some advice.
My 13 year old nephew loves his G3 iMac and spends lots of hours using it.
He is interested in programming and would like to start learning some basics but we
have no idea where to start.

Some advice would be greatly appreciated.

thanks

Ozi
8th February 2005, 08:57 PM
It would be cool if we could have an experienced ATAU member write up a basic-programming article. That would make an awesome resource for this site, and would bring lots of new members in. Is anyone here game?

We could perhaps have a number of members collaborating on writing the article. :)

iSlayer
8th February 2005, 09:26 PM
any language inparticular.
my experience is mainly with php and sql

there are so many diff languages to choose from and different types of coding so you will need to give us a bit more detail

Pooyan
8th February 2005, 09:38 PM
Is your nephew running OSX on that machine? If so, he's got some nice tools already at his fingertips.

The ideal path depends on what he hopes to achieve; if he wants to learn software development properly, OSX has numerous good tools already included, and many others just a download away. If he wants to become just another VB programmer, he's probably asking the wrong forum...

Speaking as a developer with almost a quarter of a century of experience (!), either an OSX machine or a Linux machine make very good development platforms. IMHO, avoid starting him on anything 'heavyweight', concentrate him more on the thought processes of programming.

eg, whilst I use C++ for most serious work, it's not always the right tool for the job. However one relatively obscure language that is bundled with OSX is Ruby. It's a delightfully readable language, and deceptively powerful. Imagine Perl that is actually readable and maintainable, and with OO done properly ;) Either buy a copy of the Pragmatic Programmer's "Programming Ruby" book, or find a copy online.

Another option is Applescript. Whilst some might not consider it a "real" language, it would teach him some important concepts, and may be more interesting to a learner.

Squeak is yet another interesting idea. It's a Smalltalk-based system, very friendly and well designed. Smalltalk can be a head-spin for people only versed in "normal" languages, but once again it teaches useful and interesting concepts, and is a friendly development environment.

There are also the more Mac-specific combinations of eg Cocoa and Objective-C, or Carbon and C++, but I wouldn't recommend either to a beginner as both languages have quite a bit of historical baggage which would get confusing. Also, Objective-C isn't very common outside of the Mac realm.

A trap that people fall for is to get too hung up on the IDE or RAD; ultimately they are just tools, they should concentrate on the language and the programming task at hand. Keep your skills portable, and keep learning new things.

Enough rambling from an old fart :)
/me wanders off for his slippers and cup of warm cocoa

Mark T
8th February 2005, 11:15 PM
For a 13 year old, who'd never done any programming, would working their way through an introductory book on C be a good place to start.

I've written a couple of very basic programmes in C and I know that you can compile and run them from either the terminal or Xcode.

teej
8th February 2005, 11:37 PM
I'm going to go against the grain here and suggest having a play with HyperCard or AppleScript for a little while and then jumping in to C and what not.

Sure it's basic stuff and it's not going to help your child write anything really serious, but it's a start that's not likely to scare/bore your child away from programming.

fox69
8th February 2005, 11:55 PM
If you want to learn C, C++, Java, or Objective C, Codewarrior offer a learning edition of their IDE (thats the Integrated Developement Environment - software for writing, compiling and testing code and applications), which includes some tutorial stuff. I guess that other companies that make IDEs would have similar learning packages for beginners. I haven't actually used it but I have their old "discover programming" CDs which were quite handy. Java is the easiest of these languages to start on.

I also had a look at the free tutorial that you get with OS X and found it too confusing for someone with little experience like me, so I am hoping to find something for OS X that starts with really simple stuff and doesn't assume that I know anything.

codeman
9th February 2005, 01:55 AM
C or Java would be a good place to start - there's loads of tutorials online to teach you the basics (and platform doesn't matter when you're learning "hello world!" so you can use tutorials aimed at unix, osx has all the command-line tools doesn't it?)

Think about the future, if they're good at it, unix programmers should be worth more than windows ones :D

Kreats
9th February 2005, 02:55 AM
Probably best to start with html and php for some instant gratification. Making a data driven website is an interesting project and not too unobtainable for the beginner.

suryo
9th February 2005, 03:05 AM
I think Java is an excellent language to start learning the basic concepts of object-oriented programming and would give him a solid foundation for moving on to C, C++, etc. A good, simple IDE to get hold of is BlueJ, available through the Apple website (http://www.apple.com/downloads/macosx/development_tools/bluej.html), or from bluej.org (http://www.bluej.org/), for free. There is an article (http://java.sun.com/features/2002/07/bluej.html) on BlueJ at sun.com that you may want to read.

I would also highly recommend a book by Walter Savitch entitled "Java - An Introduction to Computer Science & Programming". It covers the basic concepts of O-O programming well and is an excellent resource for beginners.

It is also critical that he has Mac OS X (10.2 at least) installed on his machine. Mac OS 9's support for Java, and software development in general, is apalling.

I hope all goes well for him. :)

Suryo.

Husq
9th February 2005, 05:52 AM
He is interested in programming and would like to start learning some basics but we
have no idea where to start.

What exactly about programming took his interest? I'd start with a language that surrounds what he is interested in.
To find a starting point to learn the basics, just google it with a query such as "php tutorial" or "java tutorial".

As a starting point, php is a good web programming language. An advantage of using a web language is that you have a visual user interface to start off with.
Java is a good "application language" to get a core understanding of programming principles. I'd echo suryo's book suggestion. I have that book permanently on loan to aspiring java developers as it starts at the absolute basics and combines code and explainations in a simplistic manner.

After learning one programming language, others come much easier.

Chr1s
9th February 2005, 07:31 AM
Before I studied Java, I did a few online tutorials. They are a great resource for first-timers in my opinion. There are some great ones out there for HTML, CSS and Java, just for an introduction. :)
Just google "Java tutorial".

marxy
9th February 2005, 08:01 AM
I think it's really important to get some instant gratification. Learning to program any OS is a daunting task.

My suggestion would be to install XCode, pull down the file menu, make a new Cocoa Application, build and run it. Right away he'll have a window, menu bar and about box. Then start tinkering with it by editing the nib file.

Next up, follow the tutorial at:
http://developer.apple.com/documentation/C...rial/index.html (http://developer.apple.com/documentation/Cocoa/Conceptual/ObjCTutorial/index.html)

Objective C isn't the most mainstream language out there but there's no harm in tinkering with different languages. I personally like python very much but what you learn in one applies to all the others.

best wishes,

marxy.

Alessiman
9th February 2005, 08:36 AM
ahhhhh my little ones :)

I wonder how many of us 30 something group learnt programming the old fashioned way.

Which was to retype computer listings for games that were published in computer magazines of the day like CV&G, Crash, Zap 64 etc?

The languages I've learnt and used (i.e too get a salary) are VB, Cobol, JCL, shell scripts, pascal, fortran & C

There are stacks more I never used to make money but know as its fun. Python, logo, lisp etc.

Personally if you are going to program. Do projects that are relevent to your needs, not some stupid one like print a box in the middle of the screen etc.

For example I learnt VB as I wanted to write a program to take the data from two terminal based applications and put them into a single data repository.

Most people know that as Enterprise Application Integration (EAI) now. I did that in 1994

Nevets_Anderson
9th February 2005, 10:22 AM
Maybe start with a few very simple applescripts

Drop these into the Script editor

__
say "Yum yum applescript"

__

display dialog "Is this not fun!"

_

Muck about with the diffrent save as options (ie save as application)

Then show him xcode and incorporate the above in a simple applscript application
Again with it's own about box etc..

All of the above are free or a down load away

And would get him up and running quickly

Hope this helps

Nevets

mayamore
10th February 2005, 06:40 AM
Hi
Thanks for all the responses - much appreciated.

Sorry - yes he is using OS X . 10.2 I think.

Well it look like we have lots of choices.
I'm not sure where his main interest lies and what he would like to acheive.
He is a smart kid who likes a bit of a challenge.

Thanks once again and we will explore options.