|
|
It is wonderful that you have decided to undertake the hobby of computer programming, but which language should you choose: Python, PHP, Java, C\#,
|
|
|
C/C++, VB, Ruby, Scala, Groovy, Javascript, or one of the thousands of others languages available to programmers. There are many factors to consider
|
|
|
when choosing a programming language especially when getting into programming for the first time: paradigm, syntax, platform and even just the
|
|
|
coolness factor.
|
|
|
|
|
|
\subsection{Paradigm}
|
|
|
A languages paradigm refers to how the language is constructed. For example the three mainly disucessed paradigms are Functional, Object Oriented
|
|
|
and Multi Paradigm. Functional refers to languages that are based around completing tasks using Mathematical functionals; C is an example of
|
|
|
a functional language because it does not support the use of classes or objects. Object Oriented languages on the other hand are constrcuted
|
|
|
by designing classes and objects to complete your programming tasks; Java is an example of an Object Oriented programming language because
|
|
|
regardless of the type of program you develop you are forced into using classes and objects. Multi Paradigm languages are usually a mix
|
|
|
of more than one paradigm. For example Python is a Multi Paradigm language because you can choose whether or not to use classes and objects
|
|
|
when programming.
|
|
|
|
|
|
\subsection{Syntax}
|
|
|
A languages syntax is very important when choosing a language. This is mainly going to be a personal preference. Personally I like C style
|
|
|
sytanx languages like C,C++,Java,PHP,Javascript,etc. Other people might prefer other languages because their use of other syntax styles. Your
|
|
|
personal preference will come with time as you move from one language to another and develop your own personal style and preferences.
|
|
|
|
|
|
\subsection{Platform}
|
|
|
This is a very important factor when choosing which programming language to use. What platforms do you have available to use? Do you only have
|
|
|
a Windows computer at your disposal? That might remove some of the options out there as some languages might not support developing on a
|
|
|
Windows machine.
|
|
|
|
|
|
\subsection{Coolness}
|
|
|
What seems cool to you? Right now as I write this a lot of people are trying out Node.JS (even myself) as it is somewhat new and exciting.
|
|
|
What do you want to learn? Does the idea of developing real time event based web applications seem cool? Then maybe you should check out
|
|
|
Node.JS. Prefer to develop Windows based desktop applications, why not try out C\# or Vb? Go with what you feel.
|
|
|
|
|
|
\subsection{Conclusion}
|
|
|
Advice, if after doing some research you are still unsure which lanauge you want to use, especially for going through this resource try out
|
|
|
Python. Python is available for every platform, or at least all of the ones I can think of, it is interpreted and lastly it's syntax is
|
|
|
going to be one of the closest to the sudo langauge that this resource uses.
|