What language to use to build webapp or OSS project?
If you were looking to build the backend for a web app, a microservice for it or an open source project, how would you evaluate which language and framework to use?
Here are some of the things I assume would matter.
- Developer experience (Type safety, type checking, dev time, debugging, error handling)
- Performance (request/s, memory and CPU useage)
- Popularity (how many devs know it, community support, libraries etc)
- Familiarity with the language (your own)
Is there anything else? I know it depends on the specific use case so maybe is not applicable generally (but I was wondering about this from the perspective of supertokens.io - where I work)
11 comments
[ 3.5 ms ] story [ 35.4 ms ] threadGood:
* Friendly developer community and very active Slack channel
* Makes websockets much easier to get started
* We like the simplicity of Phoneix framework (We avoided rails because we didn't like the magical parts at times)
Bads:
* I miss types (We at least use TS in the frontend)
* Deployments are more complicated and I had some trouble figuring out the build release process.
We had no familiarity with Elixir when we started. We decided on Elixir since we thought it went very well with email messaging. We've been wanting to try elixir and realized that if we didn't use Elixir then we would never switch.
My main considerations were that Lambda is cheap and scales, Python has tons of tutorials if I get stuck, and the experience will be useful at my current job.
if it is a hobby project that you want to learn and have fun with, then you can choose a shiny language.
All the things you listed like Dev experience, performance etc. can be handled by many languages including the universally hated PHP. It really depends on what you are building and what your goals are.
If I don't use excessive libraries, how many distributions will my programs run on reliably without a tambourine dance?
If I write my code in a certain restricted style, can I still understand it after a year of not looking at it?
How likely is my code to work, at least partially after it is put through various bit-rot processes?
How much existing code example and solutions is there on the web, outside of StackOverflow, which still works when used today?
(I chose Perl for my project.)