I’m here with this annoying question. I’d like to get some advice about pulumi SDKs / programming language choice and whether it is really a personal preference.
I started to wonder after seeing function serialization being supported only in nodejs runtime - is it the only case? I would appreciate some advice from experienced users willing to share maybe some use-case strictly SDK/language related that was blocker or pain in the ass.
Thanks for any answer.
08/20/2022, 11:33 AM
There are three things that are currently only supported in nodejs&python:
1. Function serialisation
2. Dynamic providers (which depends on function serialisation)
3. Policy packs
There's also currently no support for packaged components (also called multi-language components) in dotnet or java.
The lack of policy pack and packaged component support is just due to engineering priorities, it is very possible to support those features in all languages, we just haven't got around to doing it yet.
Function serialisation and dynamic providers will always be somewhat language constrained. For example there's pretty much no sensible way to ever do function serialisation in golang. It might be possible to do in dotnet and java, and I've been working on a side project for exactly this in dotnet (https://github.com/Ibasa/Pikala) so we'll probably get dotnet dynamics at some point. I don't know if there's anything for function serialization in Java, if there's a good ecosystem package for it or someone gets the itch to write one then we could look at adding these things for Java as well.
08/20/2022, 11:35 AM
I feel like if I were on the edge I'd go with node but that python also feels very mature. Iv not tried the others. I assume anything attached to java is a dumpster fire except for cassandra, which is ... a useful dumpster fire.