Famous Websites & Apps Programmed in What Languages?
So a lot of you might be wondering what has Instagram been programmed in, or what is the front-end language Facebook uses for their mobile site versus their actual website. These kind of questions might be making you lead in a different question of what program should I learn?! Well I am here to share that with you!
Implementing a backend involves knowing a lot about many domains of software engineering: web servers, system adminning, database programming, database tuning, data object transmission formats, load balancing, interfacing with 3rd party APIs, interfacing with 3rd party cloud platforms, etc.
If you are asking this question, you are not ready to think about doing this. Given this, I'd suggest learning how to write the client part of it that runs on the mobile device, which you would do in Objective C/Swift for iOS or Java for Android, and then using a BaaS (Backend as a service) for the backend, such as Kinvey or Parse.
We originally had a monolithic Python backend, and even in our shift to a services-oriented architecture, we kept to Python for a while — for a variety of reasons, including: existing familiarity of the dev team with Python and with Python in our stack; the ease of just extracting portions of our codebase and wrapping them in thin Python service layers rather than implementing those services from scratch; and of course all the usual reasons that Python is a good language for startups to move fast and iterate with.
Search was the first major piece of our backend written in Java, and as our engineering stack has matured and we've upped our bar for availability, performance, and reliability, we've turned to Java for a lot of other services as well, particularly in infrastructure. We recently introduced Go as part of our ads serving stack and Go is also now a supported language in our services framework.
Sawzall, for processing log files.
Go (programming language), for highly concurrent systems. Nowhere near as popular as C++ but that may very well change in a few years.
Several small DSLs used for monitoring, builds, and deployment.
Perl, PHP, and Ruby are occasionally used for small scripts and web pages but not so much for production sites. Also see Neil Kandalgaonkar's answer to When will Google permit languages other than Python, C++, Java and Go to be used for internal projects?. He brings up some interesting points like readability reviews and how they affect language choice.