A language agnostic book on programming.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

33 lines
2.8 KiB

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.