You are new to programming. You are wondering what programming language to learn because different programming language seems to do some work and not others. You don’t know what language to learn because you don’t know what kind of work will suite you. You are here because you caught some news that smartphone applications or applications in general, are making a lot of money and you want see some benefit of that kind too. If it is the last one, then you probably have an idea for an application already but you do not know how to bring it to reality. Then this article is to help you make a choice as soon as possible.
The fact is that applications (or apps) are making way too much money. And they are going to do that until the next big thing shows up. The next big thing seems to be Virtual reality (any VR now a days) or Augmented reality (Google glass or Microsoft’s Holo Lens etc) and guess what? Apps are going to be in that platform in one form or another too. So, you better get some application development skills under your belt to solidify your career.
A good application isn’t just some code coming together and doing a job (Like a console application), rather it is more than that. That is because, for an application designed to serve a need, will have to do a lot more. For example, if you have a library, you will not only want to make checking out and accepting returned book, possible, but also keep track of all the books inside and outside the library. Obviously, that is going to be a huge amount of hard data instead of having logic get done using some programing language. The point is that, you are not only needed to wisely pick a programming language but also some accessories that will make your application survive the real world.
- Java: Java is popular amongst android programming enthusiasts. Actually, Java can be used to build applications for Windows, Mac, Android etc. It is build such that is fast, robust and secure. It is used to build the behavior of the application in android development. Learning Java is easy because it doesn’t trouble the beginner with the memory handling part as it actively uses garbage collectors to make sure that memory is not being held up unnecessarily, although it does provide manual memory management. Learning basics of java doesn’t only involve learning syntax but also the LambdaJ. The thing is that as you start building programs you will realize that you are doing similar things again and again and would like it if you could just decrease the number of lines you are typing in. Lambdaj is used for that. Amongst the best resources is udemy. If you are looking for a book that you can read offline, then this is the best one to go for java.
- C#: C# is one of the .NET wrappers. C# and visual basic is very similar. Learning one makes learning another almost seamless. C#, pronounced “C sharp” where the sharp is inspired from a musical note, is seen mostly in Microsoft technologies like .NET and ASP.NET. It used garbage collection as well. Although it looked very similar to java, in its infancy, it grew up to be different from java. C# is a very powerful language whose work flow leans more towards C++ than java. It can be used to write very web applications (using ASP.NET), windows applications (using .NET), computer drivers etc. For beginners, C# is like an express engine driving them straight into application development. C# was developed keeping application development in mind. It doesn’t make application development very easy compromising performance like Visual Basic or very difficult like C++ by leaving everything to the programmer to work with. It is a very well calculated middle ground any one will need it in today’s world. What is better than having a perfect middle ground? Being able to develop for almost all popular operating system. Yes, you read it right. C# can be used to write a program once and compile it for android, iOS, windows all together. You will decrease your workload by three times and still get just as much benefit as before. I would recommend new programmers to try C# because it is a very good starting point for all, to understand how files are organized for an application may it be native or web. Using C# as a launch pad anyone is good to take up any other programming like a little more complicated android application development or a more complicated game development using C++. You can learn C# using the online tutorial at C# for Beginners.
- C++: The C++, pronounced “C plus plus”, is a general-purpose programming language. It is used in DirectX and OpenGL. DirectX is APIs created by Microsoft for handling multimedia related tasks like video and image processing. DirectX is used for video game development. OpenGL is related to rendering 2D and 3D vector graphics. Therefore, OpenGL is related to mostly game development. Although OpenGL is more game development oriented it is DirectX that is seeing lot more games than OpenGL. C++ being more performance oriented is more suitable for game development. C++ is generic procedural as well as object oriented because the design philosophy of C++ is C with classes. Most school syllabus teaches C++ and C because there is nothing that cannot be achieved using these two languages that can be achieved by other high level programming language. C++ is lightning fast and therefore it makes sense to use C++ for making games that are resource heavy. But it doesn’t make sense to write lots of lines of code to do something as rendering a 2D file in a window because it can be done using other languages in just a few lines of code. That said, C++ is the place where all the programmers end up after starting off with languages like Java and C# because as time passes as programmers mature their skills they make more demanding applications. That doesn’t make C++ not good for starting off. Many beginners start off with C++. One of the best place to learn C++ is here and after that make sure you check out this as well.
- C: C is pronounced “see”. It is an imperative procedural language. It was designed to be compiled using a relatively straight forward compiler, to provide low level access to memory, to provide language constructs that map efficiently to machine instructions. It is used for making performance demanding tasks like video games development and stock market calculations. Since its creation, it is the most used programming language. One of the best C tutorial available out there is this
Now that we have addressed 4 mainstream programming language, we will proceed to some other technologies as well.
Python: Python is a scripting language unlike most other languages listed in the article. Calculations are simple with Python, and expression syntax is straightforward: the operators +, -, * and / work as expected; parentheses () can be used for grouping. Experienced programmers in any other language can pick up Python very quickly, and beginners find the clean syntax and indentation structure easy to learn. Python knows the usual control flow statements that other languages speak — if, for, while and range — with some of its own twists, of course. Learn python as you develop your game here. Learn python here.
PHP: PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. The best thing about PHP is that it is done completely on the server side. That way the client will not know what you have in store for the client. All the processing is done on the server side and the result of the processing is sent to the client as a HTML file. You can start learning php, here.
There are going to be many more popular programming languages that we could cover here but that is not the point. We are going to finish this article by introducing another key player in application development.
XAML: Extensible Application Markup Language is like the html counterpart to application development. It is used to create the UI of the application. Without a UI, there will not be an application that can be used by an end user. Anything that is created or implemented in XAML can be expressed using a more traditional .NET language, such as C# or Visual Basic.NET. However, a key aspect of the technology is the reduced complexity needed for tools to process XAML, because it is based on XML. Not just that, this language is used to create UI in many other platform like android etc. You should learn XAML and there is no other way around for some successful career in application development. Learn XAML here.