4 ms·
I don't get why there is so much love for Rust but so little love for Ada?
by analognoise 7y ago
I don't get why there is so much love for Rust but so little love for Ada?
- im_down_w_otp 7y agoThere's a lot of love for Ada. Unlike Rust, Ada is already an approved language and toolchain for safety-critical software development. That Sealed Rust is trying to do what it takes to get Rust into the approved language & toolchain category along side Ada is entirely the point, and what makes it interesting.
- ajxs 7y agoThere's plenty of love for Ada, more than ever. https://blog.adacore.com/the-emergence-of-a-new-ada-era https://blog.adacore.com/the-emergence-of-a-new-ada-era
- justinclift 7y agoPotentially interestingly, it looks like there's ongoing work to get Ada compiling to wasm via LLVM too. Hello World style demo: https://blog.adacore.com/use-of-gnat-llvm-to-translate-ada-applications-to-webassembly https://blog.adacore.com/use-of-gnat-llvm-to-translate-ada-a...
- pjmlp 7y agoI guess, due to a couple of things. 1 - There is a younger generation that thinks C and C++ are the only game in town, and never learn about myriad of systems programming languages going back to 1961. 2 - This same generation is very averse paying for tooling and among the six surviving Ada compiler vendors, GNAT is the only free one, and even then discussions about its licensing pop up ('cause lets have free beer) 3 - Ada suffers from the whole bondage vs cowboy programming theme that was so common in the early 90's. Where many could not grasp the benefits of type driven programming. 4 - You need a strong engineering background, specially on high integrity computing domain, to understand why Ada offers what it does 6 - Due to high integrity computing domain, Ada tends to be used in domains that many don't find cool, government contracts, train control systems, airplane avionics, pages long contracts with project management very waterfall like even when they pretend to be agile now 7 - It is definitely not a language for the Silicon Valley culture. However thanks to Ada being there first, having the certified compilers, being deployed into production during the last 40 years, with the increasing number of security exploits, some companies have been adopting Ada, NVidia being one of them. https://blogs.nvidia.com/blog/2019/02/05/adacore-secure-autonomous-driving/ https://blogs.nvidia.com/blog/2019/02/05/adacore-secure-auto... Two of the reasons, for why Ada and not Rust, was precisely the lack of maturity of Rust on high integrity computing and Ada being more approachable to their engineers. They did a webinar about the adoption process.
- sgift 7y agoDid Ada - or rather its proponents - make any effort to get people to learn it? If I google for "Ada programming language" I do not even find what could be an official site? I thought it could be adacore.com, but that's a commercial offering. Wiki tells me it could also be adaic.org, which errors out with "SSL_ERROR_UNSUPPORTED_VERSION" in current Firefox. Even if I could access the site: Would I find tutorials? Other supporting material? Explanations why I should use Ada? If you want people to use your language you have a to put in work. Even more for a language with the reputation of Ada (the sibling comment by pjmlp gives a good overview).
- synack 7y agoAgreed, Ada's documentation is sparse and hard to find. Unfortunately, the best resource I've found for learning it from the ground up is the textbook "Programming in Ada 2012" by John Barnes. It's a bit pricey, but the core of the language hasn't really changed since Ada 95, so a used copy of an old edition will get you started. AdaCore's got some decent learn-by-example stuff here, but it doesn't cover every aspect of the language. https://learn.adacore.com/courses/intro-to-ada/index.html https://learn.adacore.com/courses/intro-to-ada/index.html Wikibooks has a pretty comprehensive book on Ada Programming, but there are still a lot of missing pages. https://en.wikibooks.org/wiki/Ada_Programming https://en.wikibooks.org/wiki/Ada_Programming Finally, the language reference covers everything, but it's formatted in the most unusable and difficult to search way I've ever seen. The source files for the reference are maintained by a single editor who invented his own markup language and parser for converting that into HTML and PDF. That may have been acceptable in 1995, but it provides a significant barrier to adoption today. I've made a few attempts at coercing these sources into docbook, but so far I've found I'm not clever enough to untangle this mess. http://www.ada-auth.org/standards/ada12.html http://www.ada-auth.org/standards/ada12.html So yeah, just buy the textbook... Skip the first few chapters, they're basically just advertising that tells you how great the thing you're about to learn is, which I find to be in poor taste.
- nraynaud 7y agoAda is not cool. More seriously, GNAT crashed all the time in random ways when I tried it, and when I tried adacore on stm32, the timing functions were based on systick, that’s a non-starter for me, and I didn’t want to start learning a new system by re-implementing part of its internals.
- rcxdude 7y agoGetting started with Ada is hard. The best compilers and runtime for it are commercial, and especially getting it to work in embedded (where it really shines) is not at all straightforward. I've looked at it a few times and never really been able to get anywhere useful with it, and came away with the impression the best way is to drop a few thousand on it or work on a government contract.
- brmgb 7y agoAda get plenty of love where it matters : actual industrial usage in critical systems. It is not clear to me how the internet hype surrounding Rust which seems mostly driven by people coming from dynamic languages and former web developers actually translate to use where it counts.
- Argorak 7y agoAs someone who lead a lot of the talks hinted at in the blog post: it translates to where it counts. I also see your devaluing of effective use of marketing and some peoples background on the internet. Memes like "InternetOfShit" wouldn't have happened if hardware builders would appreciate the skill sets of web engineers (e.g. running applications that are constantly under automatic attack). Ada is still on the table though. In most places we spoke to that evaluated Rust as the next language, the other language on the table was Ada.
- brmgb 7y ago> I also see your devaluing of effective use of marketing and some peoples background on the internet. I fear you are bringing your own prejudice to my post. I merely pointed that the most vocal supporters of Rust are not people doing safety critical software which is supposedly Rust forte. The whole "InternetOfShit" thing is purely on your own.
- ajxs 7y agoYou seem to be implying that the horrible state of IoT is not mostly the fault of the web integration layer.
- phaylon 7y agoFrom my perspective, I'd say it's because there isn't much talk about Ada as a technology. It comes up a lot when Rust is discussed, but I never see details besides built-in ranges for numbers. I can't even remember ever hearing anything much about the library/tooling Ada ecosystem. Also, Ada users seem to be more focused on technical content about safety/mission critical things, like this discussion. But this is a meta-area where no specific features or solutions are in focus. When there's a discussion about zero-copy parsing, compiler optimizations, platform support, scalability or any other everyday technical topic, noone knowing Ada seems to join in with their perspective and experience. So my advice to the Ada community would be to talk more details, talk more about what you love. Tech is a big field and it's currently a lot of work to get to know Ada from the outside.
- Argorak 7y agoThere's still tons of love for Ada at all the places where we spoke to. Rust, Swift, Nim, Zig and other languages are the driver of a current resurgence of debates around the embedded toolstack, though, which Rust leading the pack by having the most upfront "we want to talk" messaging.