You are here:Home»KB»Programming»General»Which Programming Language Should I Learn?
Saturday, 21 February 2015 19:24

Which Programming Language Should I Learn?

Written by

Languages

  • Objective C
    • This is the language used by aplle/IOS for the mobile platform
    • This will get replaced by swift
    • It is an apple only language
    • It is C underneath with extras added on
    • Ie the cocoa API thing
  • C
    • Most languages are based of this, it is 40 years old
    • It is a low level language
    • Mainly used for OS and embedded systems
    • It is a procedural language
  • C++
    • This is based on C
    • It has classes
    • It is a low level language
    • It is a OOP language (+ other paradimes)
  • VB (visual basic)
    • This is Microsoft basic scripting language
    • Its functionality is similar to C#
  • C#
    • This is a more indepth language
    • I think this is a low level language
    • It is limited to Microsoft products
    • This can do all VB can and more
    • Most popular language ?
  • C.Net
    • Not sure if this is C# rebranded
  • Python
    • This is a scripting language
    • Is easy to learn
    • A very visual language
  • Php
    • This is required if you want to do web development
    • 85% of the worlds rendered html is done my PHP
    • Is a good language to learn programming basics whilst getting something out of it. Ie. Most people start with websites
  • Java
    • This is a low level language
    • Is difficult to learn
    • Is platform independent
    • Version 8 will be a massive change in how it works
    • Write once, multiple platforms
  • Ruby
    • It seems very popular for web development
  • Perl
    • A low level language?
    • Server based
  • Javascript
    • Useful for webdevelopment
    • Client based scripting languages (ie runs the code on the html loaded into the browser on your PC, not at the server)

Analysis of Languages

Most hardcore programmers probably use C or C++ as a base and also know java, for web devlopers HTML, PHP, Java, ruby on rails (optional) and javascript.

I believe as hardware gets better that C++ will be used more that C, currently C++ is used for gaming and high end software. Firefox is written in C++ and so is the search engine GigaBlast.

Because C is aimed at OS, linux and embedded systems even though you can right other stuff with C, I recommend learning C++ first. This is because you learn the basic of C whilst learning C++ (I know people will tell you they are different languages, they are right and wrong. Read my in depth article on the differences between them) and as C++ can do more of the stuff you are most likely to want to do like games and apps, c++ is the way. Another thing about C++ is that JAVA is based on C++ so by learning C++ you get a really good start on JAVA.

JAVA is used for design most android apps amongt some online applets and games for PCs(you don’t see them as much now). You can now develop apps and games for androis using C and C++ (and some others) which is useful.

If you are ultimately going to learn JAVA it will not harm you to do a short courcse on C++ before learning java. I am raeding a book called ‘C++ for dummies 5th edition’ and then I will see about how I feel about java. You must remember that C++ is a low level programming language and you can get at all the hardware of your computer which allos some fun.

I was debating about doing a short course on C with the book ‘C for Dummies Volume 1’ before C++ and the JAVa, a bit like history and felt like a natural progression. However I felt that asa I did not want to do OS level stuff like drivers or Linux programs (a lot of their stuff is C) but more games and apps and that I liked the OOP paradigm (the sharing of code) I elected to go for C++ which has the best of C (or all 1991 C) and OOP it would be eaiser to grasp and easier then to progress on to JAVA.

If I ever what to go and learn C once I have mastered the other 2 languages at least I will know why I want to learn it because at the minute I do not have a need. I will also find it easier to learn as these languages are all realated they will have similarities. if you get your head around programming logic it is really just the syntax that changes. Most languages today are based on C at some point in their history ie Apples Objective-C, this is C with Apples custom library added on, C++ is obviously from C, and as mentions JAVA is from C++. I could go through other languages and show you how they are based or derived from C but you get the idea.

The only exception to the order of learning stuff is if you definitely what to program Apple stuff, then I would learn C and then Objective-C.

You must know at least one of the following to be classed as a real programmer, all 3 would make you an excellent programmer.

  • C
  • C++
  • JAVA

Learn C++ to do all the hardcore stuff and JAVA for easy cross platform apps (ie mobile phones). C++ can design weapon systems

Descision Path Chart

These languages are in the order you should learn them for the selected specialism you pick.

General Web Windows Apple Embedded

HTML

CSS

PHP

-

C++

Java

HTML

CSS

PHP

-

ASP (optional)

Javascript

Ruby On Rails

JQuery

AJAX

Java (optional)

HTML

CSS

PHP

-

ASP (optional)

C#

VB ( the different versions)

HTML

CSS

PHP

-

C

Objective-C

The new apple language

Java ?

HTML

CSS

PHP

-

C

C++ (optional)

HTML/CSS/PHP are an excellent base for further learning in any discipline and also because they are so widely used throughout the web. Another reason is that they are likely to be required in a great deal of your projects at some point.

Research Links

  • Should you learn C++?? | Prime Reacts - YouTube - You should learn C++ as it will teach you how to program and how computers work.
  • Should I learn C before learning C++? - Stack Overflow
    • There is no need to learn C before learning C++.
    • They are different languages. It is a common misconception that C++ is in some way dependent on C and not a fully specified language on its own.
    • Just because C++ shares a lot of the same syntax and a lot of the same semantics, does not mean you need to learn C first.
    • If you learn C++ you will eventually learn most of C with some differences between the languages that you will learn over time. In fact its a very hard thing to write proper C++ because intermediate C++ programmers tend to write C/C++.That is true whether or not you started with C or started with C++.
    • If you know C first, then that is good plus to learning C++. You will start with knowing a chunk of the language. If you do not know C first then there is no point focusing on a different language. There are plenty of good books and tutorials available that start you from knowing nothing and will cover anything you would learn from C which applies to C++ as well.
    • Is it true that there is no need to learn C because C++ contains everything? - Stack Overflow
      • It is almost true that C++ is a superset of C, and your professor is correct in that there is no need to learn C separately.
      • C++ adds the whole object oriented aspect, generic programming aspect, as well as having less strict rules (like variables needing to be declared at the top of each function). C++ does change the definition of some terms in C such as structs, although still in a superset way.
Read 1269 times Last modified on Saturday, 02 November 2024 14:57