I'm a self-taught quant developer, looking to raise the level of 'formal' knowledge I have about C# and Java. Along the lines of "Learning Python" by Mark Lutz, and "Programming - Principles and Practice of Using C++" by Bjarne Stroustrup... ... what are the best, must-have books to get a proper, formal handle on C# and Java? Thanks.
Java is vast, will take years to master. You should be familiar with OOP patterns. You will want to learn the basic language features then the Collections api, the Multi threading features and apis, date and time stuff. You can create a complex desktop gui very quickly and cleanly with javafx. http://docs.oracle.com/javase/tutorial/index.html Really you need to build some real applications using the J2SE to really learn it. Then if you want to do HTTP/HTML5 based applications then learn JEE or Spring, JPA, hibernate etc http://www.oracle.com/technetwork/java/javaee/documentation/tutorials-137605.html When you get stuck, use google and stackoverflow for example code.
This isn't 2001. Nobody codes in Java or C. Unless of course if you're from India and are in America on an H1.
Where did you get that idea? Java is still one of the most favored language of programming. C# is also still quite popular albeit further down in the list. Some web coders or mobile phone developers are sorely mistaken if they think the future is on mobile devices, only. People are not stupid and after a while a lot of people who do stuff on their phones today will move back to larger screens, whether it be on a linux, windows, or max machine. That is where dedicated applications shine and have an advantage no mobile phone app can beat.
Well if Oracle decides that should support Java i guess it would a major player for a lot of years....but it doesn't seem that way...So MS will probably win the war with C# if they manage to pull up a compiler that matches the speed of Java....