|
sorry for the rapid succession of thread creation here. i forgot to ask this here earlier. :/
Long story short, my best friend wants to learn how to program. He doesn't know very much about it at all, and would like to avoid college or university entirely, if possible. Also, his final goal may either be to learn web-based back-end programming, or C++ with a future in game development.
What advice would you give him? Any links or any places he should start looking?
|
If he wants a job programming, he owes it to himself to go to college and get a Comp. Sci degree. Not only will it be damned near impossible to get a job without one, it teaches good habits. A good Comp. Sci program isn't about learning to program (other than your first two semesters of intro to <insert language here>). It's about learning how to think and approach programming projects.
Visual BASIC showed the world that any two-bit hack could write a program. It ALSO showed us that any two-bit hack can write a program that will have massive problems, holes, and be absolutely unmaintainable, but only someone who knows what they're doing can write a quality project that's fast, stable, and maintainable.
As for what language to learn: Python might work well. I learned on QBASIC when I was 6 years old, but I wouldn't recommend BASIC as it teaches some bad habits. C++ is my language of choice (and the language that I was retaught on in college when I became a Comp. Sci major after not programming for the better part of a decade), but I taught myself Python in the course of a few hours and found it a simple and enjoyable language. Otherwise, C++ is a solid choice since it runs everywhere and is used in a lot of places. It's a bit tougher than some languages when you get into advanced stuff, but it's not a bad language to learn on, really.
I would NOT reccommend C#. Once you learn one or two languages picking up others is not tough (After I learned C++, I learned PHP in a week, Python in maybe an hour, and I'm currently teaching myself Java and Perl), but C# is an awkward choice because of its
lack of compatibility. Mortis may claim otherwise, but .NET is Microsoft-exclusive and they've shown no interest in porting it to any other systems. Mono on Linux isn't bad (I've written C# code to run there), but it's unofficial, incomplete, and sadly lacking. And MacOS? Forget it. Java and C++, by contrast, DO run anywhere.
Jam it back in, in the dark.