Is all the console programming necessary?
In short, yes. The easiest way to learn how to solve different problem is writing small programs you can test instantly. Console applications are the easiest way to do this, and if you think you can just get automation on all the things you learn to do here once you jump into GUI programming, you'll never be a good programmer. You
have to learn the math and logic behind everything. In fact, if you can, try learning to program somethings directly in ASM.
I'm willing to spend a good deal of time to learn, however after seeing how long I have to learn console programming I start to wonder if it is really what I should learn. Also, I had been told that pretty much all languages are similar, apart from syntax and optimal functionality. How accurate is this? Because my eventual goal is to develop games for Apple or Nintendo?
It takes 10,000 hours of practice in anything to become a master, and many languages are VERY different. The following are basic snippets of code in different languages.
C
#include <stdio.h>
int main(void)
{
printf("hello, world\n");
return 0;
}
PHP
<?php
echo 'hello, world';
?>
APL
'hello, world'
Python
print "Hello, World!"
Perl
#!/usr/bin/perl
print "Hello, world!\n";
Ruby
puts "Hello World!"
As you can see, even the most basic forms of code can have some drastic changes between languages. There are many different types of languages, and you program differently in most of them. However, most share at least basic syntax with C, which is why it's generally recommended starting to program with C console applications.
To keep learning the basics of programming, stay with C++, or, if you have no need for everything but the kitchen sink, move down to C. If you have an interest in programming only very far from the metal, try Python or Lua.
Also,
1) Apple doesn't make games.
2) If you're trying to get into programming, just to develop games, with no interest in mathematics, get out, because you aren't going to be able to do anything worthwhile. You should be designing, not developing.
None.