Entrepreneurs often discuss this topic ad nauseam. It’s often a tell that the entrepreneur in question has no idea about tech and is just trying to sound well-informed.
My advice is this: If you are not technical then don’t waste more than thirty minutes of your time worrying about what language your app should be written in.
Here’s the lowdown on what non technical people need to know.
The most common server-side languages are PHP, followed by Ruby and Python. If you’re making an app for an Apple device then you’ll be using Objective-C. Android uses mostly Java.
Your data gets stored on a database (this is the reason why when you refresh your page your Amazon account doesn’t disappear, as your data isn’t stored by the browser, but on a database somewhere). The most common databases are MySQL and NoSQL.
Some people like to argue saying that one language is better, faster, easier to code than the other. Some people say that Ruby is the quickest and therefore you should be using this for your app.
So what should you use to make your app? Well I would say to decide, you first need to become aware of what you are actually trying to achieve.
As an entrepreneur all you should be worried about is getting your product out, scaling and then being in a position to hire more people.
Basically if you are making an app, every order of magnitude you hit will require a huge build to cope with demand. The code used in your MVP won’t be able to keep up with 10,000 active users at the same time. It will require another large build. When you reach 100,000 people you’ll need another big build. In essence, if you are aiming to go big, then you’ll need to hire people to scale (this is also one of the reasons why if you’re not a coding ninja already, you shouldn’t learn how to code to build a business, as it’ll take you 10 years to gain mastery in this domain).
And this is the reason why you shouldn’t really care about what the actual languages being used in your app are, but how easy it is to hire people who can code in those languages/technologies.
PHP is by far and away the most popular server-side language on the web. As of today >82% of the web uses this technology. Compare this with 0.5% using Ruby and 0.2% using Python. (You can see the stats on this web page: Click me!)
In terms of databases MySQL is the most popular. (Click here for a breakdown of database use: Click me!)
So this is my point. If your app uses the most popular languages then you will be able hire anyone from anywhere in the world to build and iterate for you. It also drives costs down. If you choose much less popular languages such as Python and Ruby then you won’t be able to scale, you’ll have a much harder time to find someone to hire and it will cost you more.
Try to avoid fads. A lot of startups are using things like MongoDB, for their databases, but there really is no point. MySQL does everything you need.
And what about people who say that it’s much quicker to build in Ruby / Python? Well if you’re making a MVP, the difference in time is minimal. The outcome and what your app will be able to do will also be minimal. So basically, it’s a non issue. What will be an issue is that if you use languages which are much less popular, you will have a much more difficult time scaling and hiring.
I also believe that this reasoning should also guide you with regards to what languages you should pick if you want to learn to code. I can’t believe the number of people who don’t know Javascript, PHP and MySQL. They’re shooting themselves in the foot as they will inevitably have to return to these at some point if they’re serious about code.