Intro to programming for 13 yr old?

I am familiar with light programming but far from a programmer. My son is just starting to get interested in computers and is interested in Haiku since I am.

To introduce him to programming gently I am using REXX. I have “Teach Yourself REXX in 21 days”. I have it running on a Mac Mini but would like to get it running on Haiku. I have tried to get the 3.3 Beos version of REGINA from BeBits to install but it did not work on Alpha 2.

If anyone has a REGINA version running on Haiku please let me know. I think it should be doable.

I am challenging him to write a program to identify all prime numbers from 1 to 1,000,000. That is about the limit of my programming skill as well.

Never looked at Yab but might have to.

Is GOBE Productive working in Alpha 2? I bought it years ago.

I tried to compile Regina…
Well if you copy config.guess from libtool (alt+f search for config.guess) into rexx the configure completes… but I think im still missing something… I don’t thing it is getting linked with the network libs correctly…

It supports BeOS so… haiku shouldn’t be too much of an issuea

Check out http://projecteuler.net/

The problems scale from trivial to genuinely tricky problems, it is language agnostic and the forum posts often point at reusable techniques for efficiently obtaining a solution.

my humble opinion - I also have a 13 yr old son :slight_smile:

C and C++ should be the way to start :slight_smile:

http://oreilly.com/catalog/beosprog/book/
http://www.haiku-os.org/legacy-docs/bebook/index.html

and Paladin as the IDE for Haiku development.

cb88,

Thanks for giving it a try. I also tried BeBrexx (I think that was it) and it did some sputtering as well. I am not enough of a programmer by any means to figure the dependencies (or tree structure etc) out as to what the problem may be.

I am not going to worry too much about it but will try again on the next release of Haiku. In the interim he can play with it on the Mac Mini and maybe Ubuntu If he can get that working.

Thanks again for giving it a try. I know there is nill interest in REXX on Haiku at this stage.

NoHaikuForMe and Pistooli,

Thanks for the suggestions. I think C or C++ would be beyond him now. He has been raised essentially without media up to about the age of 12. He is wild about ham radio at this point.

He heard me railing against MSFT for some reason a few weeks ago and started asking questions and I am laying down the bread crumbs for him to explore. He has a clear knack for music at this point and developing math skills.

I haven’t looked at C for many years but I will give Paladin a peek. Maybe something will come back but I doubt it.

I tried YAB but it did not install correctly either from what I can tell.

Thanks again for you comments.

C/C++ is too hard to start off for programming and only good for those very interested in programming.

I looked at REXX on Wikipedia and seemed kinda boring.

I wrote a somewhat complex program in YAB. YAB is fairly easy to learn and very enjoyable too. It allows doing both the code and GUI for it. YAB is yabasic + separate GUI functions. You could install Yabasic on Windows & Linux to play around with but would miss out on the GUI stuff. GUI makes it more fun and cooler to program with.

http://www.yabasic.de/

Install gcc2 version unless you build gcc4 images
http://www.haikuware.com/directory/view-details/development/language/yab

The Basic? run away! It gives very bad habits. (many hacks were added to the Basic to circumvent the weaknesses of the Bill Gates’ language…) It’s doing stuff, but it does not help you to understand what you are doing.
IMHO : nothing to learn here!

To discover programming, the Logo is very funny with his famous “turtle”.
IMHO : somewhat like a game.

But if you really want to learn programming, there is nothing better than Pascal. It’s very clean, clear, well organized and above all, it is a very good introduction to object oriented programming (C++, java…)
IMHO : a language every one should start with.

Resources here :
http://www.haikuware.com/directory/development/language/
http://www.haikuware.com/directory/view-details/development/language/acslogo
http://www.freepascal.org/

I’m officially known as a music teacher, but at the school I teach at, I’ve also been teaching computers for about the last 4 years or so. I’ve taught the basics of C++ to 12 year olds using, unsurprisingly, BeOS. It’s all in how you approach it.

Not to toot my own horn, but it might be worthwhile to look at the “Learning to Program With Haiku” lessons that I’ve been publishing. It starts from knowing nothing about programming except having the desire. It would also make for a good review for anyone who hasn’t done code in years. The archive can be found at http://darkwyrm.beemulated.net/lessons.htm.

Personally speaking, I would recommend learning the concepts of programming (loops, branching, messaging,etc.) using Scratch (http://scratch.mit.edu/). There isn’t a port for Haiku, but it works for Windows and Mac and there’s a mostly-working Linux package as well.

Darkwyrm, Thanks, I’m 40 something, but will check it out, Ive already read some of your lessons, they still seem a little over my head. But I’ll keep going over them, and try them, now that I have Haiku running on something here

I studied programming back in the 80’s, with basic and later assembly. I dont know if its me, time, or something else, but assembly seemed to make so much more sense then anything today. After 20 years I’m trying to get back into it. But everything I read just makes me more confused

Back then, you just made a file, typed in the asm code, and saved it to TAPE. Nothing else

The first language that I learnt was BASIC on a BBC Micro emulator,and this was when I was the same age as your son. I would advise learning BASIC, or something similar, like python. Some people will say that it is too unstructured, and teaches ‘spaghetti programming’, with GOTO statements, etc. But, I found it simple, and, most importantly, flexible. The C family is commonly used, but unintuitive, and an unnatural language. The best way is to find a good guide, and a simple language to familiarise him with the basic concepts of programming.
For the future, assembly language is a pretty irrelevant language in this modern age, but is interesting, and demonstrates how processors work.

Hope you find something good.

how about erlang? it’s a concurrent world peeps =)

basic would be good point to start, something that helps your kid to get stuff moving on screen would be great imho. javascript is a good choice as well, you can build a simple game very easily using say webkit animations and jquery.

a language that gives you instant gratification is the best one to start with. there’s all the time in the world to learn about compilers and linkers later on. If they are at all necessary at that point that is.

Thanks for all the great comments.

Yes, I wanted to start with something that was simple and allowed some easy successes to start with. The YAB approach may work if I scrap what I have and reinstall for GCC 2 on Alpha 2. GCC 4 did not work.

Darkwyrm, Hi, I think you used to be near Allentown and I am in Royersford and we exchanged some emails a few years ago. I like your tutorials from what I read. That is about right where he needs to start. About 23 years ago I took one course in structured programming using QBasic. Prior to that I used Fortran on honest to God punch cards in the 60s. The punch cards ruined me for serious programming IMO. It took over 20 years until I tried a simple program again. I had Pascal on an Apple II in 1980 and played with it and a few other languages.

One simple question more for now. Can Alpha 2 fully support GCC 2 and 4? If so which is more stable? Maybe I can get one of them running. He really wants to do something on Haiku if possible.

Alpha2 is GCC2 hybrid. It supports GCC 2&4 but some GCC4 programs may not always work. GCC2 is supposed to be more stable since the developers are supposed to test that one out the most. GCC4 is stable also.

Yes, YAB is great to start learning with. It uses structured syntax similar to C and teaches the basics. Quick, simple and fun to learn and use.

prime number example done in yabasic:

What about using python?

Just type python in Terminal and test it…

Unfortunately there is no easy GUI library for python at the moment.
pygame does not work, if it is working now please tell me.
Bethon is not easy to use for a beginner.

Python itself is very easy to learn. There are some nice books for children out there as well.

Alchemy,
I was browsing around OSDrawer and I found a REXX interpreter for Haiku. This might be a little late and I apologize, but below is the link. I am not sure how well it works, so no guarantees.

http://dev.osdrawer.net/projects/berexx

The only problem is that I cannot figure out how to download it. If you can figure it out please tell me.

Thanks!

Is SVN not working?

svn checkout http://svn.osdrawer.net/berexx

Oh, I wasn’t sure how to download stuff from there. Thanks alot!

Here’s a good intro book for kids:
http://cp4k.blogspot.com/
It uses python and the beginning parts can be done using Haiku, but in later chapters they require some gui modules that haven’t been ported to Haiku (yet?).

And if he is interested in games, then move on to this one:
"Game Programming: The L Line, The Express Line to Learning"
It also uses python with pygame. This book is used in some schools as a text book for introducing students to programming. Since it is being used as a textbook chances are you can pick up a used copy rather cheaply.