SO I take normal high school classes half of my day then programming class the other half. I've been told that we are going to learn pretty much only java and visual basic. For what I think the internet thinks is that visual basic and java are the 2 lamest coding languages. And I think I agree.
I haven't done anything in visual basic, but I know a little of batch coding and batch from what I learned to do a simple flash drive prank is a very easy to understand language.
But java seems like it wants to have half of it be in some what english and the other have to be random non sense making coding things very confusing and over all no bueno.
I'm thinking of maybe dropping the class since i'm really only interested in html,php,mysql,c, and c++
Would like some perspective from people that know java and vb well/////////////////
Java can be comparable to C++ (in some ways) once you actually know the language. Its a simple and well supported language. When it comes to packages/programming libraries and resources, there isn't a shortage at all. C++ is pretty much the same.
HTML I wouldn't consider a language, since its really just a structure of elements. Just how XML isn't much of a language because you need other languages to actually use it effectively. C & C++ are quite close, so they're generally considered the same thing. If you know one, you can almost write in the other effectively. (There are changes of course since C++ is newer and it depends on the compilers that you use)
But more on my perspective of java. I use Java for just about everything now. I used to switch a lot between java and C++. C++ is effective and efficient. But its common to have to write per-platform with C++, while Java is quite universal between each 3 major operating systems. I use Java to write games, make quick programs, and make random stuff. Its not inefficient or slow when it comes to using it right. C++ can be exactly the same way. A lot of things I see when people write games, is they use the Java Swing libraries, which really doesn't show off java very well. When it comes to the default swing libraries in java, they suck. If you know how to, you can use LWJGL (Lightweight Java Game Library) to use OpenGL for rendering, and Java because quite a bit better.
There is a bit of over head with Java because you need extra resources to run the JVM but it is virtually a non issue by today's computing standards. However, your app is effortlessly cross platform even on embedded devices. Basically everything Devon said.
Don't be a fan boy and if you find the pun in this post I'll give you a cookie.
I don't know much about Visual Basic, so I won't comment on that.
Java on the other hand I know quite well. Have been working for several different companies in the past 5 years using it. As Devon has said, it can be and is used everywhere: embedded, mobile, servers. In fact it is one of the most used languages in the world (basically tied with C): TIOBE Index
Java has a very big community, which is both a blessing and a curse: One the bright side, there are libraries for basically every task you need to accomplish, on the other hand some of those are really bad and it might be hard to tell the good ones from the bad ones - especially if you are inexperienced. The same applies to the community itself: Lots of people with varying levels of experience and understanding, means you often have to dig through a lot of nonsense.
Finally, the public opinion ("what people on the net say"): Don't listen. Most of them have no clue what they are talking about. They mostly are fed up with Java on the Desktop and the failure that is the Java browser plugin (had lots and lots of security vulnerabilities in the past). However, as stated before, Java is not the browser plugin: It is the number one language in enterprise software development, the language behind Android Apps and so much more.
Oh, one more thing: If you decide to give it a go, use a proper IDE (I recommend IntelliJ IDEA, but Netbeans or even Eclipse are also ok, I guess). It will make all the difference when it comes to productivity.
I've used c, c++, vb, and java. Stay as far away from vb and java as you can, worst languages I have ever used. VB's syntax is horrid and java is so slow compared to c++ which has a very similar syntax and is easier to use(imho) so theres no reason to ever use vb or java. C# does what vb does only better syntax, c++ does what java does only better.
The thing about most programming languages is that once you know how to use the structures effectively is it super easy to learn a new language. E.G. in my GCE computing course we use VB.net, however it is easy to go from understanding HOW to program in vb.net and learn the syntax of the different C based languages. in such if you want to learn how to program take whatever help you can in getting started because that is the hardest bit. once you are able to use a good OOP(like java and to an extent VB.net) language you can move to a different OOP language in a matter of weeks.
See, don't be a fan boy like this guy xD He has a point but in your situation I'd still take advantage and learn Java. To Java's defense you are almost NEVER going to need the speeds of C++ to get the job done, especially for games programming. Not unless you are doing some scientific calculations and such (and even then they use FORTRAN for that). Java is also very close to C++ in terms of design so at the very least you can use it to help you learn C++ on your own later on. VB on the other hand is an abomination and should be burned with fire. Even if you do learn it your skills won't transfer to any of the more powerful languages. It's just a dead end so stay away from it.
I use C++ and I prefer it above anything else but I'm not going to give you a biased opinion based on my experiences. But the consensus pretty much from ANYONE that has used both C++ and Java is that Java is horrible.. Even the engineers at my last job thought so and they used Java for the most part..
I would disagree with Devon when it comes to C++, you don't have to write per-platform at all. C++ is completely cross-platform, the issue with many programmers is that they work entirely in Windows C++ and Visual Studio, which means they end up using windows specific c++ "things" (new to c++ here) like DWORD's. You can write completely cross platform code if it is a consideration from the start and you are smart about it.
As for what to do, It's all personal. I'm in a similar situation with C# and VB.NET in my college course. What I am doing is taking any code I write in class and converting it into C++ when I get home to get an understanding of C++. However it's not ideal, and in an ideal world I would drop the class and then teach myself C or C++ first. The reason why I say this is because C and C++ are relatively hard but are worth the reward, once you can program in C or C++ then you will be able to pick up languages like Java and PHP no problem, and you will understand some lower level ideas at the same time which will help you in the future.
But that's just my 2 cents and you should take it with a grain of salt.....okay maybe a mound of salt.