Good Language Choice For School Programming Test? 407
An anonymous reader writes "The Australian Informatics Olympiad programming test is being run in a couple of months. I'm an experienced programmer and I'm thinking of volunteering to tutor interested kids at my children's school to get them ready. There will be children of all levels in the group, from those that can't write 'hello world' in any language, to somewhat experienced programmers. For those starting from scratch, I'm wondering what language to teach them to code in. Accepted languages are C, C++, Pascal, Java, PHP, Python and Visual Basic. I'm leaning towards Python, because it is a powerful language with a simple syntax. However, the test has a run-time CPU seconds limit, so using an interpreted language like Python could put the students at a disadvantage compared to using C. Is it better to teach them something in 2 months that they're likely to be able to code in but possibly run foul of the CPU time limit, or struggle to teach them to code in a more complicated syntax like C/C++ which would however give them the best chance of having a fast solution?"
Too easy... can't resist... (Score:1, Funny)
If there's a runtime CPU limit, then why is Java even an option?
Many good choices (Score:5, Funny)
You don't want a test that favors kids who have studied that particular language in the past. I suggest the Turing-complete language LaTeX. It's the only way to be sure.
Re:Too easy... can't resist... (Score:5, Funny)
Born free, free as the wind blows
Re:I'm guessing the CPU limits are generous. (Score:5, Funny)
Right, the OP says that Python is an accepted language, so it's only sensible to assume that this isn't a sneaky trap set by the Ruby Mafia intending to disqualify testers for using it.
The Navy research showed Python is a good language for learning OOP and if programming contests today are anything like what they were when I was in ACSL, boy would having a scripting language be handy. I wonder how anybody could compete in c (but perhaps that's a built-in test - picking the right language for the job is an important skill).
Re:No option of Fortran? (Score:2, Funny)
Hello World (Score:5, Funny)
Re:There's C then there's C written by newbies (Score:3, Funny)
Actually, I take this back.
Go with C++. If not, in 20 years, some of these kids will come after you for ruining their lives by seducing them into the nasty painful world of programmers. It's a nasty way of life. Scare them shitless off it - teach them Perl and make them debug each other's code. Tell them all the grownups use Perl.
Re:Faster than you think (Score:5, Funny)
LOLCODE would be easiest to learn for the cellphone-texting rugrats of today.
Example of Hello World program:
HAI
CAN HAS STDIO?
VISIBLE "HAI WORLD!"
KTHXBYE
Re:Too easy... can't resist... (Score:4, Funny)
C++ is definitely the best language in the world.
My god
Re:Too easy... can't resist... (Score:1, Funny)
Re:Perl !! (Score:3, Funny)
although if you were decently skilled I'm sure you could write one liner to translate your perl source into any one of the accepted list
Not necessary, just do this:
:)
#!/usr/bin/python
import os
lulz = os.system('perl myprogram.pl')
Look, it's in Python!
Re:The syntax viewpoint is an oversimplification. (Score:3, Funny)
It's sad that the list of languages includes only immature dynamic languages du jour like Python
I think you meant "du last two decades", as Python's first release was in 1991 [wikipedia.org]. What qualifies as "mature" in your opinion? Is it OK to start using ALGOL yet?