4 ms·
New languages == zero ecosystem—no third-party libraries, community discussion (e.g. StackOverflow), real-world repositories, etc. A brand new language thus mu
by MontyCarloHall 4y ago
New languages == zero ecosystem—no third-party libraries, community discussion (e.g. StackOverflow), real-world repositories, etc.
A brand new language thus must be extremely compelling at a syntactical level to make it worth leaving behind existing ecosystems. The new language’s syntax must provide capabilities that are impossible to implement in any other commonly used language. Otherwise, just implement the core language functionality using the syntax of another established language.
I just don’t see why that couldn’t be done here. Everything in the demo code could easily be implemented as a Python or JavaScript API.
- hackerman123469 4y agoYeah, the example looks like an API demonstration rather than a language demonstration. I would have assumed the API functions were keyword oriented IF it was a programming language.
- indymike 4y ago> A brand new language thus must be extremely compelling at a syntactical level to make it worth leaving behind existing ecosystems. For many niche languages the runtime or standard library is the main show and syntax is built around making the standard library more accessible. In this case it looks like they've built a standard library that abstracts away a lot of cloud components (i.e. SNS, S3) and made them very easy to call. This one actually looks like they may be on to something because of the level of inconsistency between cloud apis. > Everything in the demo code could easily be implemented as a Python or JavaScript API. There are very few domains where this is not true.
- MontyCarloHall 4y ago>This one actually looks like they may be on to something because of the level of inconsistency between cloud apis. I still don't see why this requires a totally new language. You could easily write a high-level API in a commonly used language that under the hood generates cloud provider-specific API calls. Indeed, this is exactly what Pulumi does, with API bindings to many commonly used languages. There is no need for a custom runtime, much less a new language specifically designed for that runtime.
- indymike 4y ago> I still don't see why this requires a totally new language. It doesn't require one, but never underestimate the perceived value of a wheel, except round. > There is no need for a custom runtime, much less a new language specifically designed for that runtime. I think the bet here is that Wing could be easier to learn/use, more productive, etc... that they can get enough developers into their product that they can make money selling and supporting it. There's a ton of products like this, and they do make money and provide value - just not to everyone.
- chriscbr 4y agoEngineer at Monada (team working on Wing) here. > New languages == zero ecosystem—no third-party libraries, community discussion (e.g. StackOverflow), real-world repositories, etc. Bootstrapping a language ecosystem is a challenge we know we needed to face from day 1. To avoid starting from scratch, we're designing the language to compile to JavaScript as an intermediate format so that we can add native syntaxes for users to import JavaScript/TypeScript libraries and leverage that existing ecosystem. Our type systems are not the same, but we're trying to make sure users can still be productive and that things "make sense" out of the box, in case you want to import libraries like axios, express, etc. We are also designing it to interoperate with the existing ecosystem of "CDK" libraries (https://constructs.dev/ https://constructs.dev/) that tens of thousands of developers have already been using to write abstractions for cloud resources based on Terraform, CloudFormation, and Kubernetes.