11 ms·
so,here it is: Google backs Go. Apple backs Swift. Amazon is trying to back Rust. Edit : What I am trying to say is that Financial Backing and adoption by F
by varbhat 6y ago
so,here it is:
Google backs Go.
Apple backs Swift.
Amazon is trying to back Rust.
Edit : What I am trying to say is that Financial Backing and adoption by FAANG companies can really improve ecosystem of Programming language. I am not here to tell that it will be product of certain company.
- usrnm 6y agoThank god, we still have C++ :)
- eecc 6y agoThought also Microsoft was dabbing into Rust.
- rualca 6y agoAnd that's why languages such as C and C++ are not a reference implementation from a vendor but an international standard. Just get a few rust standards out of iso, one for the core language and another for some standard libraries, and get it over with.
- piaste 6y ago> And that's why languages such as C and C++ are not a reference implementation from a vendor but an international standard. I'm not a C++ programmer but when I read C++ programmers discussing their language standard committee, "free and unconstrained by corporate interests" is usually not how they characterize it.
- usrnm 6y agoOf course not, but at least we have several very different corporations that have to fight and agree on the final result, instead of just one that can push whatever crap that suits its short-term interests better
- fluffy87 6y agoBut that’s not the case for Rust? Rust is backed by Microsoft, Amazon, Apple, Google, Facebook, Intel, and many others... The Rust development and specification happens all in the open on GitHub. There is no single company controlling its future or direction.
- nullifidian 6y agoMozilla pays salary to the core team members, who approve/decline pull requests, vote on RFCs. So far there haven't been any reasons for concern, and Mozilla is more of a dying husk without too many interests to affect rust's development, but the situation could be improved with more neutrality/independence.
- parley 6y agoThat is actively ongoing work: https://blog.rust-lang.org/2020/08/18/laying-the-foundation-for-rusts-future.html https://blog.rust-lang.org/2020/08/18/laying-the-foundation-...
- steveklabnik 6y agoMozilla used to pay a salary to a handful of the 200+ folks who make these decisions. And since we operate on consensus, every member of the team must agree. So it’s never been possible for one company to completely control things. This is by design.
- chrismorgan 6y agoRust is not ready to be specified as is required for ISO and similar standards. A few large chunks of its functionality currently don’t have any good definition written down, but instead are defined by the rustc implementation: most significantly, the ownership and borrow checking system. Research towards formalising this model in a way that a specification could use is ongoing (e.g. https://people.mpi-sws.org/~jung/thesis.html https://people.mpi-sws.org/~jung/thesis.html, published a couple of months back), but until then any specification document would be unreasonably complicated and verbose, containing large chunks of the current compiler rather than describing an independently-useful model. But more generally, I think you’re approaching this from the wrong angle, perceiving a problem that doesn’t exist—Rust is already not tied to a single corporate interest. But have patience, there are rustlings of independent implementations in a few places, and their fullness will come in a few years’ time.
- pjmlp 6y agoMost languages aren't either, they just start the process and evolve from there. C was still mostly K&R C when the process started, and in C++ all we had was the C++ARM book.
- tannhaeuser 6y agoWhy would I then base a development project on Rust, if there's neither a spec nor an alternate implementation? This is strictly worse than what we have now. And no, I don't trust the Rust propaganda machine. When Mozilla announced they were getting rid of Rust teams, all we heard from said Rust devs was that this doesn't spell the end for Rust. My impression was that they were mainly motivated by advancing their language rather than, you know, implementing a browser. And to this date, I haven't really read a critical post-mortem addressing claims that Rust can actually replace C or C++ in the areas where these languages are essential. Apart from kernels and drivers (where Rust seems an outright no-go), C is traditionally used for higher-level language runtimes and compilers/interpreters/VMs. But Rust's borrow checker is a bad fit for just about any text book algorithm and technique in that space. Hell, even Rust devs themselves say implementing a DOM is about the worst use case for Rust.
- 6y ago
- pjmlp 6y agoAlthough both are standards by accident. C because when UNIX started to get widespread, that was the way to settle difference across multiple language implementations. And C++ because Bjarne eventually settled on ISO as means to settle out the differences across the various C++ implementations that sprung off. https://www.stroustrup.com/hopl-almost-final.pdf https://www.stroustrup.com/hopl-almost-final.pdf However this is also a reason why nice tools like package managers and IDEs are ages behind, because when one vendor comes up with nice toys (C++Builder, vcpkg, CUDA), they don't land on ISO and you are stuck in one eco-system anyway.
- cageface 6y agoWhat’s the advantage of a formal standard when the language itself and the tools are all open source? All I can see a formal standard adding to the picture is a lot of bureaucracy and friction and the headache of subtly incompatible implementations.
- higerordermap 6y agoHaving a spec is enough IMO. Go has one. That enables alternative implementations. There are enough reasons to not want an implementation monoculture.
- cageface 6y agoWhat are the reasons? I see a lot of benefits of an open source monoculture, especially if corporate backing is uncertain.
- higerordermap 6y agoCompetition is great. If there is no competition, implementation quality stagnates. It happened with GCC, for example.
- cageface 6y agoI doesn't seem like a comparable situation. There were already multiple competing C & C++ compilers including several commercial options. I don't think complacency is holding Rust back.
- nullifidian 6y agoI would be nice to have a document we can rely on and refer to, in case of subtle breakages and bugs. Alternative implementations could also be a possibility down the line. Having a formal spec would also help with code verification, i.e. you basically can't do it unless the language is specified.
- 6y ago
- dijit 6y ago> And that's why languages such as C and C++ are not a reference implementation from a vendor but an international standard. Is that true though? I mean the spec is so "loose" that most compilers don't even work with the same code if it has any level of serious complexity. Normally that's put under the rug of 'undefined behaviour' but imo it's a "vendored version" of the language, the most common variants being MSVC, GCC and CLANG, and even projects which make efforts to be agnostic or have many eyes (linux) can't support GCC _and_ CLANG easily.
- jononor 6y agoIf you move up from kernel level, many projects work with multiple compilers. For example most of the underlying libraries that are part of GNOME work with MSVC, GCC and CLANG. Probably also many more, but it does not tend to be tested much.
- parley 6y agoEdit: As varbhat has edited their post to clarify that they indeed did not mean to say backing in an adversarial way, my post can be ignored or just read as my understanding of the space. Apologies if I misunderstand your post, in which case you can disregard my entire post, but -- I assume you mean as in adversarial backing? These companies use practically all of these languages but to a different extent, for different uses, and for good reasons. I currently get paid to write C and Go but I dabble in most things, and I'm certainly the happiest when I get to write Rust and ReasonML/ReScript. Having said that, I personally think it's fair to guess that Swift will continue to shine mainly as Apple ecosystem language, Go will continue to shine mainly as network server language and Rust (and whatever follows it) will continue to grow for network servers but will also slowly seep into our shared foundational layer of software. Slowly, slowly, libraries, kernel modules, runtimes, stdlibs for other languages, frameworks, etc. This a good thing, because it slowly rids us of old C and C++ code bases that may not have kept up with the times Yes, all of these languages are being used to write excellent CLI tools, graphical applications, etc and that's wonderful (I use many of them), but none of these languages are realistically competing to kill any of the other in any definitive way. Now if only Go would give me sum types (ADTs), my life would be even easier :)
- pjmlp 6y ago> This a good thing, because it slowly rids us of old C and C++ code bases that may not have kept up with the times +1 to that, that is also the reason why although I am critical of Go's design approaches, I am at the same time quite supportive of projects using it.
- chrismorgan 6y agoGo is a Google product that came out of Google. Swift is an Apple product that came out of Apple. Rust was incubated in Mozilla, and this support was essential to getting it going and for its early years (until 1.0 plus or minus a year or so, I’ll suggest), but it was never tied to any one company in the same way: it always had a distinct identity, with others welcome to join that (as distinct from joining Mozilla if they wanted to effect change). Now, various large companies are steadily working on helping support it in this sort of way—Microsoft, Amazon, Facebook, and more.
- computerphage 6y agoAnd, importantly here, including Apple and Google, though perhaps to a lesser degree
- bsg75 6y agoThis is a such a dead horse. Exactly how is Go _tied_ to one company, Google? Sure Go is near exclusively "incubated" by Google, they employ much of the core development team, but there is nothing preventing any organization from contributing to it. Go and Rust are both open languages - they can be used with no commercial licenses and the source is available. The differences are in their major supporting companies, and the perspective which some choose to use as a deciding factor in the platforms they choose. Neither is a product. They may be used to create products, but they do not directly generate revenue.
- chrismorgan 6y agoA key word here is “governance”. I searched for “rust programming language governance”, and immediately found https://www.rust-lang.org/governance https://www.rust-lang.org/governance. Nice and clear description of how it all works, how changes are made and who makes decisions, making it very clear that Rust is its own thing and not the property of or beholden to any one company, and that it’s very deliberately an open project, not merely open source. I searched for “go programming language governance”, “golang governance” and a few other things, but I can’t find anything at all. When I look through their website, it’s Google this Google that, supported by Google, in order to contribute you must accept Google’s contributor license agreement, that kind of thing. I’ve found mention of “Go maintainers” in about two locations, as being those that can approve changes, but I can’t find any mention of who they might be (search terms included “{go programming language,golang} {maintainers,core team}”). Go is absolutely a Google open source project, as they say in a few places. I imagine Go is a good deal more open to non-Google contributions than Swift is to non-Apple contributions, but it’s still very firmly Google controlling Go, setting its direction, and managing the project, in a way that was never the case for Rust.
- deleted 6y ago[deleted]
- karmasimida 6y ago> Amazon is trying to back Rust I don't know. Amazon doesn't really back any languages TBH, teams in Amazon chooses their own stack if it justifies itself. Rust is apparently great language for critical low-level programming, and AWS crazes for safety and security. I won't attribute too much significance to this hiring.
- steveklabnik 6y agoIt depends on what specifically you mean by “back.” Amazon has been financially supporting the Rust project for over a year at this point, which is one common interpretation of “back.”
- johnisgood 6y agoNVIDIA picked Ada/SPARK. I wonder why Ada is not considered by large companies when it comes to critical low-level programming. Ada/SPARK got all the constructs for that, it has been designed for very critical stuff, and low-level programming is pretty easy and so much less error-prone than most languages that are considered. It is actually a joy to do low-level programming in Ada. There are no performance penalties either, so that is not an issue.
- pjmlp 6y agoAda is unfortunately tainted by its traditional customer base (military, avionics, high integrity computing) so it tends to have little love from the traditional software houses. Additionally from the 5 existing vendors, only Ada Core bothers to keep a link with the FOSS community and somehow approachable prices for commercial licenses, which doesn't help to move beyond the existing perceptions about Ada.
- yawaramin 6y ago> Ada is unfortunately tainted by its traditional customer base 'Tainted' how? > only Ada Core bothers to keep a link with the FOSS community and somehow approachable prices for commercial licenses There's an Ada compiler as part of the GNU compiler suite.
- Xevi 6y agoMicrosoft and Facebook are also hiring developers to work on Rust. Google, Apple, and many other big companies use Rust as well, and I wouldn't be surprised if they do the same. This is very good imo. Rust needs dedicated developers that get paid for their work. And with the upcoming Rust Foundation it feels like Rust is about to really take off to the next level.
- chillee 6y agoI haven't heard anything about Google using Rust, other than for (essentially toy) usage in Fuchsia.
- Xevi 6y agoTo a lesser extent so far, yes. As you mentioned there's the Fuchsia stuff, and some other smaller open source repositories. But there's also other areas, for example Android. https://www.youtube.com/watch?v=MNkFSCRUk6E&feature=youtu.be&t=727 https://www.youtube.com/watch?v=MNkFSCRUk6E&feature=youtu.be... Google is also listed as a sponsor here: https://www.rust-lang.org/sponsors https://www.rust-lang.org/sponsors They might not be as invested as other companies, but I bet they'll eventually ramp up their involvement.
- steveklabnik 6y agoChromeOS uses Rust for its hypervisor stuff, this is actually where Firecracker (from Amazon) started.
- roblabla 6y agoGoogle has also been experimenting with using Rust within Chrome[0]. They're working on autocxx to make C++/Rust FFI much smoother[1]. [0] https://www.chromium.org/Home/chromium-security/memory-safety/rust-and-c-interoperability https://www.chromium.org/Home/chromium-security/memory-safet... [1] https://github.com/google/autocxx https://github.com/google/autocxx
- pella 6y agothe open list : * Google github repo ( 30 results for repositories written in Rust ) * https://github.com/google?q=&type=&language=rust https://github.com/google?q=&type=&language=rust
- tybit 6y agoAmazon still has a much more significant investment in Java than Rust, just as Microsoft does with C# and TypeScript than Rust even though both companies are investing more and more in Rust for low level projects.
- vbezhenar 6y agoWhen I talked to some Googlers, they said me that majority of Google code uses Java and C++, not Go. That was few years ago, may be now that changed, but it seems to me that Java and C++ really runs everything everywhere.
- SAI_Peregrinus 6y agoNobody sensible is going to rewrite everything in Rust all at once. They'll start with new tools or things they needed to refactor anyway. Then use it where it's appropriate (it's certainly not a universally applicable language, the tradeoffs Rust makes are well known). Maybe someday AWS will have replaced all their Java with Rust, but I suspect some bits will stay Java for quite a long time, or migrate to Kotlin or some other garbage-collected language.
- chenzhekl 6y agoI do feel Google puts a lot of resources on Dart and its ecosystem (e.g. Flutter). While for golang, there's not much support from the company.
- nimmer 6y ago> Google backs Go. Apple backs Swift. Amazon is trying to back Rust. Thankfully we can still use independent languages like Nim, Python, C, C++
- darthrupert 6y agoAlthough Nim could really use a high profile company to become great.
- squiffsquiff 6y agoI don't think it's that simple: Here's an example of an AWS open source project, written in Go and hosted on GitHub: https://github.com/kubernetes-sigs/aws-load-balancer-controller https://github.com/kubernetes-sigs/aws-load-balancer-control...
- estebank 6y agoIs your concern that Amazon employing people to work on the open source project will dramatically alter its direction? From what all I've seen I am taking the public comments at face value: Amazon wants to use Rust long term, so they are putting resources into ensuring Rust's long term viability. I think that there are exist few things that Amazon could possibly want that from this effort that wouldn't also be desired by the ecosystem at large. Changing the language isn't something that is done in the dark, the RFC process is as transparent as it could be (although it is not actively promoted to the entire community, which does produce the "why wasn't I consulted?" reaction from time to time) and that process will not be changed to become more opaque. Rust the project is resilient because although it was significantly shepherded by Mozilla, it's been years since it relied on any single company or even individual for advancing (although there are many people whose contributions are very important). Rust the language is stable, if "incomplete", as there are many language "features" that are still needed (by "features" I don't necessarily mean "adding new things" as some might be worried about, but rather "making existing features work in more places" which although they complicate the implementation of the language simplify the usage of the language). Rust the ecosystem has advanced by leaps and bounds in the past couple of years but is still green, particularly if you want to use anything outside of the beaten path trail blazed by hobbyists and early adopters. Writing new crates people might want or bringing existing crates up to production quality requires resources: people, money and time. Amazon, Microsoft, Facebook and Google are four large companies that are providing some of those resources. Lots of other companies and individuals are as well. I see these developments as a good thing.