- If you are building a Single Page Application using Angular, React or some such, that is hosted and deployed separately from the backend, then you have more good options, such as:
* PHP: Slim offers a very compelling Express-like framework for building web services, also checkout Lumen
* Ruby: both Grape and Sintara are easy frameworks for web services
* Java: Vert.x is the tool I use, checkout vertx-awesome for all the things that are available
* Python: both FastAPI and Flask are popular web services frameworks with easy API
* C++: yes, it can be very easy to build a web service in C++, with Crow.
Thanks for the input! Probably going to use Java or Python for the backend. I'm planning on buying the hardware (already have the components chosen). Out of those 2 options, Python may be the best option since Flask seems to have a decent uptime and isn't going to cause me issues. I don't know how knowledgeable you are with virtual machines, but would Python have better efficiency in a ritualized environment over Java due to Python not relying on a runtime environment?
Python does rely on a runtime environment - the C-Python parser. Without getting too much into the definition of VMs (as in, software runtime abstraction layer, e.g, Java VM, Python VM, Ruby VM, etc) generally, it is accepted that you don't choose an interpreted language (which C-Python definitely is) for execution speed - Python is better than alternatives because it optimizes for "developer speed".
There are various strategies to accelerate Python, one of them is Jython - which is running Python on the Java runtime (e.g. https://pybenchmarks.org/u64q/jython.php), but generally - if you care very much about runtime performance, you probably want to consider Java or one of he other compiled languages (like C++ or C#).