TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Wing: A cloud-oriented programming language – request alpha access

261 pointsby xiaodaiover 2 years ago

45 comments

OJFordover 2 years ago
Why is this a language, not just a framework for JavaScript or whatever?<p>I suppose you could say the same about Terraform using HCL - but that makes extensive use of it being declarative, which is so unusual that they&#x27;d be picking an obscure probably-new-to-the-user language anyway. This just looks.. JS-ish, a bit like anything really.<p>I suppose I&#x27;m asking what are the <i>language</i> features that make Wing great for &#x27;cloud&#x27;, any `new Bucket()` etc. aside?<p>If you look at its &#x27;design tenets&#x27;, the only ones that are about the language not the SDK are just saying &#x27;be good&#x2F;familiar like other languages&#x27;... Ok so why not <i>be</i> another language? <a href="https:&#x2F;&#x2F;docs.winglang.io&#x2F;reference&#x2F;spec#02-design-tenets" rel="nofollow">https:&#x2F;&#x2F;docs.winglang.io&#x2F;reference&#x2F;spec#02-design-tenets</a>
评论 #34051943 未加载
评论 #34054683 未加载
评论 #34051528 未加载
评论 #34054285 未加载
评论 #34052340 未加载
评论 #34054500 未加载
评论 #34055309 未加载
MontyCarloHallover 2 years ago
New languages == zero ecosystem—no third-party libraries, community discussion (e.g. StackOverflow), real-world repositories, etc.<p>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.<p>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.
评论 #34053527 未加载
评论 #34052817 未加载
评论 #34051609 未加载
webstrandover 2 years ago
I really dislike advertisements that want you to &quot;request access.&quot; I&#x27;ve submitted them on occasion before, but have never heard back. And the information they want to collect is invasive. I suspect they&#x27;re all vapourware harvesting information about the gullible.
评论 #34055257 未加载
评论 #34051646 未加载
评论 #34056690 未加载
评论 #34052058 未加载
评论 #34053356 未加载
rexreedover 2 years ago
A cloud-oriented language should have a way to output for every function that has financial cost, there should be a cost estimator or inspector that provides estimated cost ranges for execution, or at least some indication of potential cost impact. The language should optimize for cost-reduction instead of performance as the cloud presents a cost &#x2F; performance tradeoff.
评论 #34052295 未加载
评论 #34055219 未加载
评论 #34053766 未加载
评论 #34057491 未加载
quanticleover 2 years ago
None of the links to the Github repositories for the language resolve. I checked the link for the compiler [1], the SDK [2], and the VSCode extension [3], and all of them 404. Seems like the repositories are all still private, which is odd, given that the page claims<p><pre><code> However, it&#x27;s definitely ready for those brave of hearts who would like to be involved at this early stage, influence our roadmap and join us for the ride. </code></pre> Kind of hard to do that when all the source code is closed.<p>[1]: <a href="https:&#x2F;&#x2F;github.com&#x2F;orgs&#x2F;winglang&#x2F;projects&#x2F;1">https:&#x2F;&#x2F;github.com&#x2F;orgs&#x2F;winglang&#x2F;projects&#x2F;1</a><p>[2]: <a href="https:&#x2F;&#x2F;github.com&#x2F;orgs&#x2F;winglang&#x2F;projects&#x2F;3">https:&#x2F;&#x2F;github.com&#x2F;orgs&#x2F;winglang&#x2F;projects&#x2F;3</a><p>[3]: <a href="https:&#x2F;&#x2F;github.com&#x2F;winglang&#x2F;wing">https:&#x2F;&#x2F;github.com&#x2F;winglang&#x2F;wing</a>
评论 #34055291 未加载
评论 #34052436 未加载
gwn7over 2 years ago
Seems like a reasonable effort and we probably need more of this kind of stuff. But still I think the industry should focus more on educating developers to prevent them from introducing mostly unnecessary accidental complexity to today&#x27;s typical apps rather than inventing new layers to manage it.<p>Related:<p><a href="https:&#x2F;&#x2F;twitter.com&#x2F;garybernhardt&#x2F;status&#x2F;1603498230125588480" rel="nofollow">https:&#x2F;&#x2F;twitter.com&#x2F;garybernhardt&#x2F;status&#x2F;1603498230125588480</a><p><a href="https:&#x2F;&#x2F;twitter.com&#x2F;garybernhardt&#x2F;status&#x2F;600783770925420546" rel="nofollow">https:&#x2F;&#x2F;twitter.com&#x2F;garybernhardt&#x2F;status&#x2F;600783770925420546</a><p><a href="https:&#x2F;&#x2F;geekandpoke.typepad.com&#x2F;geekandpoke&#x2F;2011&#x2F;03&#x2F;architectural-best-practices.html" rel="nofollow">https:&#x2F;&#x2F;geekandpoke.typepad.com&#x2F;geekandpoke&#x2F;2011&#x2F;03&#x2F;architec...</a>
评论 #34052199 未加载
zoomzoomover 2 years ago
This is one of the more sophisticated and cool of the &quot;Self Provisioning Runtime&quot; concepts that have emerged in the last few years (<a href="https:&#x2F;&#x2F;swyx.io&#x2F;self-provisioning-runtime" rel="nofollow">https:&#x2F;&#x2F;swyx.io&#x2F;self-provisioning-runtime</a>). Some of the others: - <a href="https:&#x2F;&#x2F;www.pulumi.com&#x2F;docs&#x2F;tutorials&#x2F;cloudfx&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.pulumi.com&#x2F;docs&#x2F;tutorials&#x2F;cloudfx&#x2F;</a> - <a href="https:&#x2F;&#x2F;www.serverless.com&#x2F;cloud" rel="nofollow">https:&#x2F;&#x2F;www.serverless.com&#x2F;cloud</a> - <a href="https:&#x2F;&#x2F;www.shuttle.rs&#x2F;">https:&#x2F;&#x2F;www.shuttle.rs&#x2F;</a> - <a href="https:&#x2F;&#x2F;encore.dev" rel="nofollow">https:&#x2F;&#x2F;encore.dev</a><p>In general, while it&#x27;s clear that somehow cloud complexity needs to be abstracted away from developers, I don&#x27;t think it makes sense that new programming languages or frameworks are necessary to do this well. It makes migration of existing apps and backwards compatibility with the existing software ecosystem too challenging.<p>At Coherence (withcoherence.com - I&#x27;m a cofounder), we believe that a new category anchored by tools like replit, AWS CodeCatalyst, and our products is the solution to this problem, because it does not have the same issues. Instead, it offers best-in-class versions of the same workflows and toolchains that teams are using now, while radically reducing the investment required to get there.<p>It&#x27;s an exciting time in the DevOps world!
dj_mc_merlinover 2 years ago
This feels like inventing a technology for the sake of it and then trying to fit a problem to it.<p>Abstracting over cloud resources is inherently very leaky. Yeah, S3 compliant buckets work, but that&#x27;s the simplest example possible. Even then, if you&#x27;re working at scale, you still need to keep in mind features like (AWS) Intelligent Tiering, GET&#x2F;POST&#x2F;PUT costs, cross-region costs. This can be the difference between a 15k and 150k bill, you don&#x27;t want to abstract over it. What&#x27;s the point of a cloud language if I have to care about the specifics if I&#x27;m doing something at scale with it? I can just keep using Java or Python and the respective SDKs.<p>I don&#x27;t want to write all of my stack in a cloud programming language. Especially one that is completely new and not cross-compatible with any other language. This isn&#x27;t just a small thing -- it&#x27;s a complete dealbreaker. There&#x27;s no tools, no libraries. It&#x27;s been a decade since Nim has started development and look at its progress now with so much interest behind it. Creating PLs and compilers follows the 80&#x2F;20% rule.. it will take mountains of work to even make the compiler truly optimized and usable, and that&#x27;s a basic prerequisite.<p>The cloud simulator is cool.. but there&#x27;s already localstack which will simulate AWS services much more faithfully. If you don&#x27;t have faithful simulation (and you can&#x27;t do that for every cloud service), you can&#x27;t use the simulation for anything besides playing around anyway. In which case, why not have a dev&#x2F;testing environment and kill two birds with one stone? There&#x27;s no point to unit testing cloud things, that&#x27;s basically all integration testing anyway. You can unit test the code that interfaces with the cloud using the same language-specific tools that have always been used.
评论 #34052608 未加载
评论 #34055064 未加载
评论 #34052742 未加载
评论 #34056992 未加载
vlovich123over 2 years ago
I haven’t looked through everything, but I opened a random TS comparison:<p>Wing<p>let x = 1; &#x2F;&#x2F; x is a num<p>let v = 23.6; &#x2F;&#x2F; v is a num<p>let y = &quot;Hello&quot;; &#x2F;&#x2F; y is a str<p>let z = true; &#x2F;&#x2F; z is a bool<p>let w: any = 1; &#x2F;&#x2F; w is an any<p>let q: num? = nil; &#x2F;&#x2F; q is an optional num<p>TS:<p>const x: number = 1;<p>const v: number = 23.6;<p>const y: string = &quot;Hello&quot;;<p>const z: boolean = true;<p>const w: any = 1;<p>const q: number? = undefined;<p>Except you’d never do that in TS unless you were being extra verbose (which you could with Wing too) because the types for x, y, and z are superfluous and don’t change the inferred type. So if you remove those types, the examples become identical (except for using const vs let).<p>Intentionally showing TS in a worse light than reality in a comparison is not a good look in terms of intellectual honesty.
评论 #34053509 未加载
shaeqahmedover 2 years ago
I&#x27;m on the fence about this one. When I heard it was announced, and that it was created by none other than the creators of the amazing AWS CDK, I was really excited by what could be possible. Having worked on complex infra automation using CDK (we use it extensively for our open source project for analyzing security logs on AWS: <a href="https:&#x2F;&#x2F;github.com&#x2F;matanolabs&#x2F;matano">https:&#x2F;&#x2F;github.com&#x2F;matanolabs&#x2F;matano</a>), I was excited because of the room for improvement with an integration that is language-native.<p>But after having looked into the abstraction that Winglang, and other &quot;infrastructure-from-code&quot; providers have come up with, I&#x27;m admittedly very skeptical. As other have mentioned, cloud primitives are almost by nature a leaky abstraction with many bells and whistles to be tuned. So I&#x27;m not sure it is a good idea, or feasible in a complex production application, to build on these very high level primitives such as cloud.Queue without limiting yourself to the lowest common denominator of features. But perhaps this issue is solvable by creating a nicer SDK.<p>What bothers me the most is having to to write code in a completely new language, that kind of treats runtime code as a second class citizen to be embedded in a configuration oriented language that looks like Typescript with some magic added in. Imo, this is far too much friction and risk vs. the benefit that could come from something like this over using your language of choice along with CDK.<p>I&#x27;m still rooting for Wing, and hoping they can figure out these issues, because the problem they are solving is a massive one. I think Winglang has the potential to do for cloud, what Rust did for memory safety by doing smart things at compile time and enforcing policies that could easily be missed by developers. For example, automatically deriving least privilege and minimal permissions for all infrastructure could be a great way to improve security out of the box.
mihauover 2 years ago
If anyone is interested in Infrastructure as Software, I also recommend giving Pulumi a try. I&#x27;ve been using Terraform for a couple of years, Pulumi for about a year and I think that Pulumi is on a completely different level.<p>It also supports higher level abstractions (Component Resources). For example: check out AWS EKS provider.
评论 #34055567 未加载
评论 #34055891 未加载
评论 #34051706 未加载
onion2kover 2 years ago
The example on the homepage is a good example of why I don&#x27;t think I&#x27;d find this useful. Using Node or Go or whatever to create a file in an S3 bucket based on an incremented value from DynamoDB isn&#x27;t <i>that</i> hard. The code necessary is maybe a few tens of lines using the official libraries. Actually setting up all the infrastructure to get it to work, with monitored quotas to check things won&#x27;t fall over, with properly secured IAM profiles, etc is where the all of the pain lies for me.
评论 #34052091 未加载
zdragnarover 2 years ago
This seems to fall into a common trap of making hard things easier at the cost of making easy things harder.<p>One thing to rule them all at the cost of an inferior language for actually writing code in.
wiremineover 2 years ago
The include their motivation in their language spec:<p>&quot;What makes wing special? Traditional programming languages are designed around the premise of telling a single machine what to do. The output of the compiler is a program that can be executed on that machine. But cloud applications are distributed systems that consist of code running across multiple machines and which intimately use various cloud resources and services to achieve their business goals.<p>&quot;Wing’s goal is to allow developers to express all pieces of a cloud application using the same programming language. This way, we can leverage the power of the compiler to deeply understand the intent of the developer and implement it with the mechanics of the cloud.&quot;
ITBover 2 years ago
Software stacks keep becoming so unnecessarily complex. I suspect this approach will hide more stack details and therefore promote even more pico-services madness.
评论 #34052735 未加载
dadadad100over 2 years ago
DAPR[1] comes at this problem from the other direction. It creates an abstract infra that any language can use<p>[1] <a href="https:&#x2F;&#x2F;dapr.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;dapr.io&#x2F;</a>
salmoover 2 years ago
What I’m the world is a cloud-oriented language? Looks at page.<p>Oooh. This is JS with a schmancy library. That’s cool, I guess… for someone.
Thaxllover 2 years ago
Looks like it just use Terraform behind the scene: <a href="https:&#x2F;&#x2F;docs.winglang.io&#x2F;getting-started&#x2F;installation" rel="nofollow">https:&#x2F;&#x2F;docs.winglang.io&#x2F;getting-started&#x2F;installation</a>
mathgladiatorover 2 years ago
I believe in the advantages of using language based techniques for dealing with distributed systems, but this is buying into the AWS ideology. This ideology can be summarized that your application is composed of infinitely scalable functions which sounds great until you account for the overhead. Then, you wake up and realize you are being nickle&#x27;d and dime&#x27;d to death.
评论 #34054161 未加载
mikepurvisover 2 years ago
I may have only looked too quickly, but the cloud-ness of this looks like more of a library thing than something requiring first class language support.<p>On the language side, it would be helpful to have a comparison with other async-first runtimes (js, go) in order to understand how&#x2F;whether the fundamentals here differ.
评论 #34054688 未加载
评论 #34054679 未加载
RcouF1uZ4gsCover 2 years ago
Why a new programming language instead of, for example, a cloud oriented Python library.<p>Is there a specific programming paradigm that this language brings to the table?
emmanueloga_over 2 years ago
Reminds me of <a href="https:&#x2F;&#x2F;ballerina.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;ballerina.io&#x2F;</a><p>... which looks actually pretty nice, but I suspect the name of the project is a terrible marketing decision that will hold adoption back ¯\_(ツ)_&#x2F;¯
progxover 2 years ago
I don&#x27;t get it. Why we need a new language, when an Module for a language would do the job too?<p>NIH-Syndrom?<p>Why not just simply pre compile it to specific language modules?
TruthWillHurtover 2 years ago
Interesting. Reminds me of Pulumi that uses Python&#x2F;Js to define cloud resources. The differentiator is the simulator, that could be a huge advantage - you could test your terraform and app with a single tool. No need for terratest and local lambda sim with AWS SAM.<p>However it does look very limited at the moment - we&#x27;ll need more than just buckets and queues. And the more you add the more complicated things get. Look at Pulumi and what a mess it is to define an env (depends on, apply(), wait for resource etc etc).<p>Perhaps it should be a module&#x2F;lib rather than a lang on its own. How will I write complex functions? will I need to import py scripts from other files? odd.
Hamukoover 2 years ago
Roadmap leads to a 404 and I can&#x27;t find any information on what kind of cloud support I could expect from this. I don&#x27;t really see a reason to care about this over something mature like Serverless or CloudFormation templates if it only supports AWS. I also don&#x27;t necessarily see how well Cloudflare Workers &#x2F; KV &#x2F; D1 translates to AWS Lambda &#x2F; DynamoDB &#x2F; RDS so that I can write stuff once and get it working on both backends.
specialistover 2 years ago
My future perfect &quot;cloud&quot; language has grammar for idioms like queues and counters. Ditto pubsub, logging, metrics.<p>And structured concurrency. Not async&#x2F;await, promises, and so forth.<p>--<p>Along the lines of &quot;we were promised jetpacks&quot;, I&#x27;m still stuck on 1990s era future perfect notions like software agents and grid computing. Like the cloudlet (vs applet, servlet) manifestation of Sun Computer&#x27;s Jini and JXTA.
评论 #34066008 未加载
rco8786over 2 years ago
The example appears to be valid Javascript. I’m not saying it doesn’t look interesting or useful. But, “Why not Javascript?”
maxmcdover 2 years ago
Love a powerful abstraction. This creates equal feelings of &quot;wow how easy&quot; and &quot;oh no the $$$&quot;.
BerislavLopacover 2 years ago
My main problem with uniform solutions like this (or Shuttle) is that they are losing one of the main strengths of distributed systems: the abiility to mix and match different technologies and platforms (both for development and deployment) in the same system.
mcluckover 2 years ago
I like the idea of creating languages that capture a specific problem really well and making them easier to reason about. At a glance, I couldn&#x27;t understand why this language makes anything in the cloud easier to do. The front page should focus on what the language does better than others. From what I can tell by going deeper into the docs, the selling points are a unified API for cloud resources across different vendors, inflight functions, and the simulator. Hopefully this language continues to grow and becomes compelling enough to use instead of just TypeScript (which seems to be its closest relative)
swyxover 2 years ago
its worth noting that the creator of Wing is Elad Ben-Israel - formerly the creator of AWS CDK which has by all accounts been quite popular in the AWS Infra-as-Code world. I kind of view Wing as &quot;CDK++&quot; - if CDK was such a success in flexibily defining and testing infrastructure, what could you do if you further merged in in your language?<p>i have no stake in Wing but it is a good example of the Self Provisioning Runtime thesis (<a href="https:&#x2F;&#x2F;swyx.io&#x2F;self-provisioning-runtime" rel="nofollow">https:&#x2F;&#x2F;swyx.io&#x2F;self-provisioning-runtime</a>)
wolframhempelover 2 years ago
I think there would be a lot of value in having an imperativ, very high level language for cloud workflows that abstracts the underlying implementation or even cloud provider away. Think something like &quot;when authenicated user uploads file of type image: resize to width 800px and store in bucket user-images&quot;. Given the lack of specific references to S3, IAM or other concrete services, this could then be executed by different cloud providers.
simplifyover 2 years ago
How does this compare to Unison[0]? Aside from looking JavaScript-like.<p>Doesn&#x27;t look statically typed at first glance, but the docs seem to imply it is [1]. Pretty interesting overall.<p>[0]: <a href="https:&#x2F;&#x2F;www.unison-lang.org" rel="nofollow">https:&#x2F;&#x2F;www.unison-lang.org</a> [1]: <a href="https:&#x2F;&#x2F;docs.winglang.io&#x2F;reference&#x2F;spec#18-type-inference" rel="nofollow">https:&#x2F;&#x2F;docs.winglang.io&#x2F;reference&#x2F;spec#18-type-inference</a>
davidjfelixover 2 years ago
The example shown in the animation was one of the quickest yikes I&#x27;ve ever had for architecture.<p>SQS with minimal config into lambda. Alright, good luck.
评论 #34054108 未加载
stevefan1999over 2 years ago
Great works! Seeing the demo in the front page really makes me think of the cloud architecture as a whole may just be an operating system out of itself.<p>Heck, I once even thought of comparing microservices to microkernel in OS design and that might actually some make sense over time and time again.
shaiberover 2 years ago
[Wing team member here] To get some more insight into why we&#x27;re building Wing, you are welcome to read Elad&#x27;s blog post: <a href="https:&#x2F;&#x2F;docs.winglang.io&#x2F;blog" rel="nofollow">https:&#x2F;&#x2F;docs.winglang.io&#x2F;blog</a>
hestefiskover 2 years ago
What’s the point of “bring cloud”?
评论 #34051620 未加载
CRidgeover 2 years ago
Is this &quot;cloud oriented&quot; or &quot;AWS oriented&quot;?
peloratover 2 years ago
Looks like typescript.
tomcamover 2 years ago
That animation on the home page is sick af
qaqover 2 years ago
The team is top notch (of CDK fame) found a non-trivial bug was assigned and fixed in 30 min. In general joy to interact with. Very strong focus on dev. experience. After a very subpar experience of building a very large enterprise project using AWS serverless stack Wing is the first thing that gives me hope that things can be way better.
goodpointover 2 years ago
I&#x27;d rather have grassroots language that does not run on any cloud service.
Aaronstotleover 2 years ago
This seems like a great way to give cloud providers a lot of your money
z3t4over 2 years ago
Are the cloud functions guarnteed to succeed?
tuananhover 2 years ago
what makes it a cloud language? what is cloud language even?