Good Language Choice For School Programming Test?
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?"
If there's a runtime CPU limit, then why is Java even an option?
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.
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).
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
But then he must add a module for maintaining neckbeard
I spend most of my time in bed, darling.
On the plus side, you could make a really spiffy "Hello World".
I won't join Slashcott. OTOH, If Beta goes live, I just won't be back until it's fixed. Sorry Dice.
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.
Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
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
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!
512 MB RAM, 20 GB disk, 200 GB transfer, five datacenters. $19.95/month.
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. What qualifies as "mature" in your opinion? Is it OK to start using ALGOL yet?
Dewey, what part of this looks like authorities should be involved?