Why did Pulumi decide to choose Typescript as thei...
# general
b
Why did Pulumi decide to choose Typescript as their language of preference? Python and Go adoption is far ahead for DevOps, Cloud Infrastructure, and backend/platform teams. Part of my job is empowering the more junior engineers to learn languages that will help them advance their careers and I don’t see Typescript doing that.
b
Interesting - why don’t you think TypeScript has the same way of advancing a career?
It’s a language choice - the Pulumi ecosystem for TypeScript now is indeed rich but it’s so because it’s a typed language - the same style syntactical sugar cant really be added for Python and Go is in preview and increasing all the time
☝️ 2
b
Go is in preview
As is Pulumi, which also happens to be written in Go. That’s a big deal for those of us interested in being code contributors.
b
The engine of Pulumi is written in Go
There is a lot of the code itself (eg crosswalk) that is written with TypeScript
I also don’t really see Pulumi as being in preview
As language adoption grows / changes then changes will be made
Nothing is set in stone
b
Eventually Pulumi will have equal examples for all the languages it supports, however Pulumi seems interested in obtaining adoptees now rather than eventually.
b
100% agree that we will have more examples for all languages but there will always be a slight divergence in the languages we support - but that’s only due to the language ecosystem itself Eg we can have exactly the same syntactical sugar for Go as we can for TypeScript But we are always striving to get better. TypeScript was the first language we supported. The others are getting a lot of attention now
b
Speaking as someone who’s currently rebuilding our infrastructure from scratch I’d really like to use something better than Terraform now, since the more time we invest in Terraform the harder it will be to convince the rest of the company that we should switch tooling again.
b
I totally understand - FWIW the language support for Python is as solid as TypeScript. We have all the same features we just don’t have Crosswalk libraries for Python
The raw providers have full Python support - we are just trying to get better with Python docs and examples as we go
b
Any chance you’ll have that done in the next two weeks? 🙏
b
I can 100% say no with confidence :/
I can give you example code if there’s something specific you need though
Or we can help with examples
Feel free to DM with some of the types of things you want to do with Pulumi and I can try and help you out here
👍 1
s
Part of my job is empowering the more junior engineers to learn languages that will help them advance their careers and I don’t see Typescript doing that.
@bumpy-restaurant-1466 I think you should reconsider this. In terms of language features, Typescript is the strongest language for general DevOps purposes. In terms of ecosystem, it's incredibly mature as well. I'm actually surprised that it's not a much more popular language in DevOps. It's one of the reasons why Pulumi drew me in. I don't want to be a slave to documentation like I would be with Python, and a declarative style of programming isn't really an option for Go.
a
Go is 2 hard for ops guys. lets be honest about that. Take a good look at your network guys configuring the firewalls/switches and the like. They will hate you :)
b
@adamant-postman-86832 A genesis of the term “DevOps” is that what would classically be considered “Ops”, which was managing data centers often part of IT, was being replaced by cloud infrastructure that could be managed by code. It’s true that for some people it was just a rebranding, however a lot of us - including those without a CS background - love coding and are eager to embrace ever better tooling, which includes learning new languages. My attitude is that if you treat your cloud infrastructure engineers as developers, set clear expectations of what that means, and move towards the “You build it, you run it” model so that they actually have the bandwidth to code, then the best of us thrive and are happy to take on problems that some might consider “too hard”.
f
I think if anything TypeScript and C# are far better than Python since they’re offering static typing and compile time checks. Not sure what Python brings to the table except shooting yourself in the foot. Our primary languages are Erlang for backend and I would never want to use Erlang for this.
3