Readers like you help support MUO. When you make a purchase using links on our site, we may earn an affiliate commission. Read More.

I want to be a software engineer so, in your opinion, what language should I learn and why?

Reý Aetar
2012-03-24 19:54:00
There is no "best" programming language. It just depends on what you wish to program in the future. Now the top 3 most powerful language that are mostly used today are the following C++C# JavaNow there are specific advantages to each and out of these. You can determine which programming language you want to use depending on these advantages and disadvantages. Now firstly C++ is considered a low level language or hybrid. Many people say that it is low level because it can deal with the processing unit and such but it's really a hybrid because it can do both low level and high level programming which gives it a big advantage. C# and Java are strictly high level languages and there are a lot of advantages of high level languages. They are generally easier to program in and require less code than a high level language. A complicated code in say c++ code be say 100 lines of code but it java and c# it could be only like 50 lines of code so that's a big advantage and it increases production time. Now c# and Java are strictly object oriented and since you are learning java I assume you know what that means. C++ is not strictly object oriented but you can still use object oriented programming so it basically gives you more variety and in turn, the learning curve is much easier. Now c++ made programs run faster than programs made with java and c# because low level programming languages run faster because they are closer to the processor. But if coded right, Java and C# should run smoothly. and if you didn't know, the game runescape was made with java. Now I am a c++ programmer. I can program with both c# and Java but I just prefer c++. But anyways just for some advantages and disadvantages Adv. C++-low level programming language-faster-easier to learn-many features like windows development and windows phone development and now iphone developmentJava-cross platform-easier code-similar syntax to c++-many features like mobile and web developmentC#-you can use xna to create xbox 360 games. Yes I said xbox 360 games-very easy to learn after c++ and or java-more dynamic than c++-built in GUI for faster productiondisadvantagesC++-It tends to get more complicated after a while-can get frustrating if you're not a good programmerJava-many features like java 2d and 3d can get a bit complicated -documentation on the official website is not really straight forward all the time in my opinionc#-It's only for windows and windows only so forget about max, linux , unix , etc. -People say its windows copy of java. -Not that many resources to help you get started and often you don't know where to startC++, Java and C# all basically have similar syntax so what I'd advise you to do is learn c++ and then go into java and then c#. After learning c++, java and C# will be a breeze!
MAKEUSEOF VIDEO OF THE DAY
SCROLL TO CONTINUE WITH CONTENT
shaheer
2012-07-17 16:17:49
thank you for your advice
Bruce Epper
2012-03-23 11:49:00
It all depends on what you want to do.  If you intend to be doing system-level programming, you will need C/C++.  If you are going to be doing web development, you should look at JavaScript, HTML5 (not exactly programming, but...), PHP, Ruby, Python and similar languages. Desktop application programming would be under any of the .NET languages for Windows-based machines, Objective C for Mac.  Many of these languages are not strictly for the categories that are listed here.  For example, Ruby and Python can also be used for applications developed for the desktop.If you are looking to work in an engineering environment, Fortran is still frequently used.  If you are lookiing at a large corporation, there are still hundreds of millions of lines of COBOL that need to be maintained and updated.Overall, it doesn't matter a whole lot where you begin.  The basic concepts that underlie development in any of these categories remains the same no matter what language you are using.  The things that change are the keywords, syntax and other programming language-specific constructs, but those are easy to adapt to once you know the basics.Finally, there is no "best programming language" to study.  Some are better suited for some purposes than others, but that is about all.  The key is getting the basics down and learning the strengths and weaknesses of the various languages that you learn (and you will eventually be learning many) so you know what language to use for your current project to make it come in within budget, on time, and functions as detailed in the specifications.