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, some of which are the languages paradigm, syntax, platform and even the coolness factor of the language. \subsection{Paradigm} A languages paradigm refers to the languages overall style of development. For example the three mainly adobted 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 rather than using classes or objects to complete it's tasks it used constructed functions. 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 must use 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. \par There are many more types of paradigms that languages can follow but most languages you will come across today are either strictly functional, strickly object oriented or they offer the best of both worlds by supporting both. \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, like the almost sudo code style of Python. Your personal preference will come with time as you move from one language to another and develop your own personal styles 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. \par When starting out try and choose a language that works on a platform that is readily available to you. Do not try and move to a new or different operating system in order to learn programming. Keep things simple. \subsection{Coolness} What seems cool to you? What is everyone else raving about right now? What is new and different? \par Some may think that this is a silly factor to introduce when trying to pick a programming language to use, but I can honestly say that it has effected my choices in the past. When I was learning programming in college we were being taught Java, but I picked up and learned PHP myself on the side mainly because my friend was using it and I wanted to impress him. This is not a bad thing. Let others help influence your decisions when programming, that is how you will grow and learn things you might not of experienced without the influence. \subsection{Conclusion} So, we have taken a quick look at how to go about picking a programming language. Some of you might say, "that was not really helpful, you did not tell me which language to use", and your right I didn't, it should not be my choice which language you learn first. I want to try and keep some bias out so that this resource is as lanuage agnostic as possible. \par \emph{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 (you don't have to compile everytime you want to run your code) and lastly it's syntax is going to be one of the closest to the sudo langauge that this resource uses.