This post is for those who want to learn a **programming language** but don't know **what to choose**.
A friend once told me that he wanted to learn coding, so I asked him "**Why?**" The most important thing you should consider is **¿What do you want to do with that programming knowledge?** and **¿What are you going to apply that coding skills to?**

There is a lot of **applications for programming**, since **website development** to **hardware based control systems**. It's on you to choose **how you want to contribute to the world**.
So here you can see what can each language do, in order to make the selection esier:
## Web and Internet Development
#####
- **Python** (Tools: Django, Flask, Bottle, Pyramid)
- **Java** (for JSP and Servlets)
- **Javascript** (for Front-End)
- **Ruby** (Tools: Rack, Ruby on Rails)
- **PHP** (Some outputs: Wordpress, Wikipedia and Facebook)
## Videogames Development
#####
- **Python** (Some outputs: EVE Online, Civilization IV)
- **Java** (Outputs: Minecraft, lots of mobile plataform games like "Paid To Kill")
- **C++** (Outputs: Half life, CS, Warcraft, Doom, the list is long)
- **C#** (Tools: Unity, Cryengine)
## Desktop GUI
#####
- **Python** (Tools: Kivy, wxWidgets, PyQt, PySide)
- **Java** (Tools: Netbeans GUI Building, AWT, Swing, JavaFX)
- **Ruby** (Tools: Shoes, FXRuby, wxRuby, Qtbindings, Ruby/GTK2)
- **C#** (Tools: Visual Studio, Gtk#, MonoMac, QtSharp)
## Mobile development
#####
- **Java** (for Android and iOS)
- **Objective C** (for iOS and Mac OS)
- **Swift** (for iOs and Mac)
## Operating Systems
#####
- **C** (Outputs: UNIX, Linux, Windows, Mac OS)
- **C++** (Output: Windows)
- **C#** (Output: Windows)
- **Objective C** (Output: Mac OS)
## Hardware
#####
- **Python** (for Arduino, Raspberry Pi, MicroPython)
- **C/C++** (for Arduino)
## Data Science
#####
- **Python** (Tools: Numpy, SciPy, Pandas)
- **R** (Some outputs: Matlab, JMP, Statistica, Statgraphics)
## Search Engines
#####
- **Python** (Some outputs: Google, DuckDuckGo)
- **Perl** (Outputs: DuckDuckGo, Amazon)
- **C++** (Outputs: Google, Outlook)
- **ASP.NET** (Output: Bing)
# And...
#####
This is just a drop in the ocean. So pick a language or go and do some more research, next step is starting to code. If I'm mistaken please leave your comment and we'll update this post. You can also add usefull content if you want.
#### Source:
#####
- Image from Pixabay.com
- Own content (a bit of experience and a lot of research from the internet)