Should I learn Java, C++, or continue VB.net?

I know basics for VB.net, and am currently self-teaching myself. I may go to a technology camp this year. What I want to know is this, which is more valuable: An education in Java, C++, or VB.net (pick only ONE) for a person looking to go into computer programming and why.

Update:

I know the more languages the better, I didn't plan on only learning one. Which one should I focus on? This camp only offers one language per period. IF I go, what should I take?

8 Answers

Relevance
  • 10 years ago
    Best Answer

    If you already know VB.Net, and are really interested in computer programming, it's time to move to something new. C#, Java and C++ are good candidates. I don't think any programmer who knows one of these language besides VB, would prefer to stay on VB.

    C# .Net is very close to VB.Net (in terms of .Net framework and library classes) and is much more professional than VB, but despite general beliefs, it is NOT more difficult than VB .Net. As an experienced programmer, I have found that C# is the best language I have seen so far. It's unfortunate that C# is restricted to Windows for the time being, but it has a promising future; it is the language of the future.

    Java is more popular than C#, that is, it is widely used in different OS's and systems including mobile phones, and it is the most similar to C#, but it has less professional features than C#. C++ is a very powerful language with almost unlimited capabilities. Knowing C++ means that there is nothing about computer programming you cannot learn.

    If I were you, I would pick one of them at a time, but eventually I would learn all of them. I have learned them in this order: C++, C#, Java (You may guess that It did really take little time for me to learn Java).

  • You should learn all 3, but VB.NET is NOT a good one to start with, because it teaches non-standard programming techniques. If you learn a language like Java or C++ really well, then you should have not much trouble learning additional languages afterwards. VisualBasic, however, uses very weird syntax that is not found in other popular programming languages.

    So yes, I would concur with others who said you should learn Java first, since it's the most flexible and versatile language, but also teaches good programming habits and standards. The first language I learned was C++ when I was 13 and that worked out fine, but it was a bit tough to grasp the intense OOP aspects of Java at first. Do it the other way around and you'll become a great C++ programmer later on.

  • Anonymous
    10 years ago

    C++ is a dying language unless you are doing systems programming, and even then you can do the same with Java. If it were me, I'd pick C# and learn that. From that, you learn the .NET framework which will allow you to learn VB.NET easily. Once you learn one high level language, the others come very easily. Its much easier to get an application up and running with C# than Java.

    There are way more .NET jobs out there than Java jobs. Search.

    Source(s): .NET Developer since its inception.
  • 4 years ago

    Java is better introduction language that C. If you are learning a programming language, it really doesn't matter. Java was built to be as much like C/C++ as possible. So if you learn Java you already know how to do basic things in both C and C++ (and vice versa if you learn C or C++ you already know how to do most of the things in Java). So why Java over C? Java doesn't really require that you understand what is going on under the hood, to write good C code you need to fully understand pointers and memory management, in Java this is all taken care of for you. Of course this comes at a cost, Java is less efficient that C or C++, but ONLY for complicated programs, for simple programs there is no difference in efficiency between C/C++ and Java. Another reason to go with Java is that it is more standardized that C/C++. Now, there is ANSI C, which I stick with. ANSI C is essentially the standard form of C, all modern compilers conform to ANSI C, but you really have to make sure that you use libraries that are common to ANSI C, otherwise you risk losing portability. Java doesn't have these problems...yes you can import external libraries in Java too, but usually you can just package these with your program so it looks transparent. ALL available functions/classes/objects can be found @ the Java API page. Anything you use from here is guaranteed to work with any version of the JRE (java runtime environment). The JRE is what allows Java to be portable. To understand this requires a little understanding of how programs run on a computer to begin with. C programs are portable by way of the end-user's compiler. You give them the source code, they compile it, then their compiler gives them Machine Code that can be run on their computer and their computer ONLY (although similar machines can probably run the same machine code). On the other hand a Java program is compiled on the programmers computer into Java byte-code. This is what the end-user will end up with (the Java byte code)...it's a little bit of smoke and mirrors because actually what happens is that the JRE will convert this Java Byte Code into Machine Code that can be run on the end-user's computer. So you can think of it as the JRE is the common link, all JRE's can interpret the same byte code and then create computer-specific machine code (because the JRE is specific to the end-user's computer). This just makes the process of creating machine code (which is necessary to run the program) transparent to the user...and also causes inefficiency. Also, Java allows for easy graphics, although it will be a while until you are able to to anything graphical if you are just getting started. My bottom line is that if you want to learn programming then you should learn both, so the real question is which should you learn first? I would say Java, learn how to write a program, then once you are comfortable with that, you can better appreciate the nuances of C. Edit: Java isn't strictly a compiled or interpreted language, it's a little of both. It is compiled in the sense that all programs are compiled into Java byte code, but it's interpreted in the sense that the JRE has to interpret the the byte code for your specific machine. I wouldn't really consider Java an interpreted language because usually the only real benefit to interpreted languages is that you can make changes on the fly, you can't do this in Java without re-compiling.

  • How do you think about the answers? You can sign in to vote the answer.
  • Anonymous
    10 years ago

    That depends on what you want to do. I started C++ about a month ago and you can do a lot with it. You can do a lot with Java as well, but I wouldn't bother with VB.net. Personally I recommend C++, but Java isn't a bad choice either.

  • 10 years ago

    You will be more versatile as a programmer with the MORE languages you know.

    You can focus your energy on one type but most employers are looking for a broader range of knowledge.

    By all means expand your work in VB.net, but familiarizing yourself with others is only bound to help more.

    For the most part programmers know more than one language no matter what their title is.

  • 10 years ago

    Learn Java. It is used more and more. You can do a lot with JAVA. Like standalone windows desktop apps, Mac apps, Ipod apps, Mobile phone apps, then the Web Page (using jsp), it has endless scope.

    Source(s): Java developer for the past 13 years.
  • Java or if you want to make applications for desktop C++ or C#

    PERSONALLY: C/C++

Still have questions? Get your answers by asking now.