Johnson also suggests young developers take a look at Swift.
On programming in practice
Once you've got a few projects under your belt, how do you take your skills to the next level?
Eich suggests learning from the early (and current) masters by studying great code.
"Read high-quality code, sometimes even on paper printouts, where you can write notes and mark with colored pens," Eich says. "On high-quality code, I think a classic is still Kernighan & Ritchie's The C Programming Language, but I'm showing my age. Also, The Unix Programming Environment. More recent code worth reading: 'Solving Every Sudoku Puzzle' or anything on norvig.com, really."
Hickey advises patience and preparation.
"The most important part of programming happens away from the computer," he says. "Figure out what you are going to do before you start, rather than mashing away at the keyboard until you get something that appears to work."
But once you do sit down at the keyboard, Eich advises, keep at it: "I still find Ken Thompson's ‘When in doubt, use brute force' saying to be eternally helpful. Don't get stuck!"
Johnson offers another source for code worth studying: open source.
"You can learn a lot from the code of good open source projects and there are lots of opportunities to contribute," he says. "It also helps pick up collaboration skills. I've seen this be a valuable bridge from school to industry, or from a boring job to the potential to get more exciting work."
As for where that exciting work may be for young programmers planning future careers, Eich suggests "space, 3D printing, 3D rendering, bioinformatics, web."
Van Rossum advises against settling when it comes to choosing work: "Avoid accepting work that you don't think you'll have fun. There is so much work for programmers. Find something that you actually enjoy doing because you'll be more productive and happier and it will be better for everyone."
Hickey agrees. "One of the great things about programming is that software is needed in almost all domains. Pick a domain that interests you," he says.
Whatever you chose, Schlueter suggests you keep an eye on the horizon.
"Programming is pretty easy if you're patient and keep learning. But eventually, all career paths either dead-end or lead to management of some sort," he says. "Even if you're focused on technology, eventually you'll be leading people, so that you can have a bigger reach and accomplish more."
To that end, Schlueter advises reading books on leadership, communication, and business as you go.
"That stuff is more complicated than it seems and is super important," he says.
Sign up for Computerworld eNewsletters.