React, Flux, GraphQL, Hack, HHVM...? All of this and more!
Drupal is a very popular Content Management System (CMS) built with LAMP (Linux, Apache, MySQL, PHP). It serves very well for a compromise for a number of different purposes, ranging from building websites to complex web applications.
Drupal, like any tool is obviously not perfect. In fact members of the development team itself conclude that "Drupal may not always be the best solution, but it is almost always a solution". This means that when working with Drupal, you often make quite a few compromises.
Drupal is a lot like a monkey wrench. It will adjust to all sorts of things and is often great for quick fixes. The generic nature of it, tends to lead to mediocre solutions. Or in the case of the monkey wrench, bolts that have gone bad - because the monkey wrench ate corners over time with extended use.
This is not to say Drupal is all bad, in fact it's catched up quite a bit with the release of Drupal 8. But there are other options out there to investigate. Ranging from hosted CaaS platforms to more simple CMSes and complete web application frameworks:
Alternatives to Drupal in web application development:
Alternatives to Drupal as a content platform:
Alternatives to Drupal as a Content Management System: