I wanted to use either NodeJs or Elixir, but my friends are more in favor of Java, mainly because Java has more mature libs and frameworks. I agree with the libs being better than NodeJs, but is there any downside of using Java for building an MVP?
Technology choices at startups should center around ability to rapid prototype. People screw around with new technology too much at startups. Your job number one is to prove your business concept, don’t let the latest tech fad get in the way of that.
If your dev team knows java and can move fast then use it.
Yes, as long as your developers know the correct libraries for your situation. For example they should be using Lombok, Guava, and Hibernate Validator. These are staple libraries that make developing in Java an order of magnitude faster providing that they know the libraries well.
There are more special case libraries that speed up development like Spark REST server for doing, well obviously, a Rest API. DWR for providing communicate between the web page and the backend. There are the common libraries for database connectivity like Hibernate and MyBatis, but do not discount valuable resources like Firebase or another cloud data store. Use Angular or React with Redux for your web front end if your application requires a complicated front end.
Also ensure your developers are educated on Domain Driven Design which will make it easier for you and them to communicate about expectations (via the ubiquitous language) and the resulting code can be built and tested in JUnit. All without an interface of any kind which helps you refine your MVP faster.
There are a number of other useful techniques and tools available to experience developers. Java developers typically have a do it right mindset which is the worst enemy of rapid MVP construction. Developers should choose the correct technique or tool to get the MVP done rapidly so it can evolve fast.
Using these tips I've spun up applications in days validated them with the customer and then put an interface on them within weeks.
Other languages might seem better for rapid idea implementation and can be just a correct as Java but that doesn't mean Java is not a possible solution. Really the choice comes down to having developers that can get stuff done fast. If they use Java then Java is the correct answer for that situation. There is no right (perfect) language for MVP creation.
As an aside you might want to use a sophisticated mockup builder to validate your idea before investing in a full blown application. Knowing your idea has merit makes the large investment in a full application easier justy.
Take action and don't let your idea go stale. I with you the best of luck.
Go for a stack like Java/Play Framework/JOOQ - that way you'll be using java, but also with a modern framework that was inspired by RoR and a considerably better alternative to JPA/Hibernate ugliness.
I’d be concerned if they were talking about using ada, idris, or apl, but any mainstream programming language is fine. Java is nothing if not mainstream.
If your dev team knows java and can move fast then use it.