Which Programming Language Should I Use to Build My Application?
"Which programming language should I use for X?"
My dad used to say "If I had a dollar for every time I've heard that question, I would retire tomorrow." and, I have to admit, I'm starting to empathise more and more every time I hear this criminally overasked question.
For those of you who came here seeking an answer, allow me to save you some time and frustration: It doesn't matter!
Don't believe me? Let's take a look at just a small subset of hit applications and what technology they use:
- StackOverflow - ASP .NET MVC
- YouTube - Python
- Reddit - Python / Django
- Facebook - PHP
- Twitter - Ruby on Rails
- World of Warcraft - C++ / LUA
- Android OS - Java
See where this is going? All of these applications do vastly different things and use different technologies but they all have one thing in common. Awesomeness. They all do at least one thing really well and that provides the secret sauce to their success.
The hard part of making any software project successful is building a community, you know, the people who are going to actually use your software and (hopefully) fork over their hard earned cash. Focus on building great software that improves the lives of your target users and watch everything else fall into place.
Remember, nobody cares that Facebook was written in PHP, they just want to be able to update their relationship status and cyber-spy on all of their friends.
Your project will probably have the same chances of success by picking a programming language randomly out of a hat as it would if you obsess for months over finding the "perfect technology".
If you are building the project yourself, pick the language you are most familiar with. If you are hiring developers to build it for you, find a really smart one to get your project off the ground and let her decide.
Stop obsessing over technology and start buliding something, get it released, and get some real feedback.
Rinse and repeat.