Originally posted by: tkotitan2
C++ first.  Java is a simplification of C++, and if you want to be a well-rounded programmer, i'd start with C++.
		
		
	 
I don't know Java, but I am assuming that the difference between it and C++ is a lot more than just some simplifications.  Each language has its own libraries and idioms, and those take time to learn.
	
	
		
		
			It can be a bit more low level which means if you learn it, you could do better as a systems programmer with C, or maybe even give you  good understanding of assembler.  Java does not have pointers, but it uses them behind the scenes.
		
		
	 
He could learn Java, and then C++, and then C, and then assembler.  Or Java -> C -> assembler.  Or Java -> C++ -> assembler.  etc.  There is no real reason (that I can think of) that it's important to learn C++ first.
	
	
		
		
			The one thing every programmer should know after thier first year is how pointers work.
		
		
	 
I'm not sure what this means.  I didn't know how a pointer worked after my first year of programming (well, I may have heard "it's like a link or alias or shortcut"), but I didn't have any problems learning pointers (it did take time, and the relationship with arrays was hard to understand for a while, but once I got it, I got it), and I don't have any problems programming in general.  And what's a programmer?  Someone who does web application coding?  Someone who automates system maintenance tasks?  Someone who writes database-related apps in VB?  Those people don't need to know what a pointer is.  And what's a year?  Some people code all day, some people only code at work, some people only code as a hobby, some people only code every once in a while.  A year of programming is a different thing to each of them.
	
	
		
		
			Java is too simple, IMNSHO.
		
		
	 
I learned some VB (way back, in another life almost), and learned PHP, Python, and some shell scripting quite well before learning C++.  Those are all "simple" languages.  I turned out fine.  Just because you learn how to tie your shoes first doesn't mean that you can't be a basketball pro later.  And there could be basketball pros who can't tie their shoes, for that matter.
	
	
		
		
			I learned, you could say mastered C++ before learning Java
		
		
	 
Ahh here we go. 

  It seems that whenever people recommend learning languages in a certain order, it has to do with their own personal experience and almost nothing else.  Jzero learned Java first and then had a bad experience with C++, so he recommends not learning Java first.  You, on the other hand, learned C++ first, and had a good experience learning Java, so you recommend learning C++ first.
	
	
		
		
			and Java took me 2 weeks to learn, because all I had to realize is what I couldn't do that I could do in C++, like use a pointer when I wanted.
		
		
	 
Syntax and whatnot can be learned in 2 weeks, but like I mentioned before, every language has its own libraries and programming idioms, and those take (often considerable) time to learn.