I'd say the biggest hurdle is that Ada is a very complex language to implement. I've been writing Ada for more than 20 years, and writing static analysis tools for 5 years with libadalang (an amazing toolbox...) now and I still find it hard to grasp the whole combinatrics of features.
Easy to use, but very hard to implement.
I wonder if there's a deno/bun style business in here. Would be cool to see Ada compete with Go/nodejs/java etc. Or do you think that would be a terrible fit for the language?
We can look at the size of the GCC frontends for various languages to get some idea of the complexity compared to other languages:
gcc/ada/*.ad* : 712194 lines (excludes C files and gcc-interface folder)
gcc/ada/libgnat/ : 438117 lines (standard library)
gcc/ada/libgnarl/ : 61705 lines (runtime)
gcc/c/ : 63816 lines
gcc/cp/ : 279732 lines
gcc/c-family/ : 53110 lines
gcc/d/ : 212457 lines (185253 are DMD)
This probably isn't the best metric, and I may be missing some files as I'm not very familiar with GCC internals, but if I'm getting this right then we can see that just the Ada frontend has more lines than the C, C++, and D frontends combined.> I wonder if there's a deno/bun style business in here.
You could do this with a library without anything special in Ada. You don't need to dig deep in to the internals like you do with JS.