Hacker News new | ask | show | jobs
by quickthrower2 931 days ago
I need an elevator pitch on this (which is currently in my "yet another terraformy thing" mental bucket right now, rightly or wrongly!).

I am interested, but when I look at the comparison with Pulumi - https://www.winglang.io/docs/faq/why-a-language, they have 4 lines of code in Wing, but the long Pulumi example sets up permissions. So how did the permissions get set up in Wing? The great thing about Pulumi is if you are trying to comply with company security policies which in turn are for SOC2 etc. then this explicit setup as code is great. I think Pulumi also has a policy system but I haven't explored it yet.

So what I am saying is more code != bad (think of the raison d'etre of the Go programming langauge) but I am not saying Wing is bad ... I am saying I would like to know more.

I find it hard to believe that there is a semantic deficiency in JS/Go/C# etc. that means you need a new languages. And if you use Typescript, OCaml or Haskell (most likely Typescript for popularity) you can probably make the Type system do as much static heavy lifting as possible. Of course some checks need the current state so need runtime. But happy to be persuaded we need a new language.

2 comments

[I'm on the Wing team] The elevator pitch is that there are things we cannot do with existing languages, such as our inflights and their connection to preflights. This is because that if we used an existing language we'd have to support its legacy code and could not impose new limitations that are needed to execute the inflight system well. It doesn't mean that you cannot come close with existing languages, and there are nice projects that do that, it just means that you cannot go all the way.

The full version is here: https://www.winglang.io/docs/faq/why-a-language

> […] they have 4 lines of code in Wing, but the long Pulumi example sets up permissions. So how did the permissions get set up in Wing?

As it says on the page: "Wing allows developers to write very few lines of code and let the compiler take care of IAM policies and other cloud mechanics."

Basically it auto-generates least-privilege IAM policies.

> Basically it auto-generates least-privilege IAM policies.

Nice!