7 ms·
This is more of a general question With the availability of free languages such as Rust, Clojure, F#, Go, Typescript, Idris, Raku You have a solid option that c
by systems 5y ago
This is more of a general question
With the availability of free languages such as
Rust, Clojure, F#, Go, Typescript, Idris, Raku
You have a solid option that cover ever possible paradigm and style of programming you may fathom
Why would any one invest time or effort in a commercial language such as Ada, Eiffel or even Xojo and LispWorks, that require you to pay for Automated test support and what is considered by most standards now basic libraries
And not only that, the communities are usually tiny and support is probably very limited to the commercial support they provide, and when it comes to languages, languages with big communities, provide infinitely better support than commercial support for proprietary languages or implementations
The cost of AdaCore is not just the compiler license, its the total ecosystem cost
- xvilka 5y agoRust is not yet ready for formal verification, along with some ready libraries for that purpose, unlike Ada/SPARK. Hopefully, it will be there, just not yet. It still requires tremendous multi-year effort to finish that.
- galangalalgol 5y agoIn addition to lacking formal verification tools, I'm worried about compiler certification with a language that changes as fast as rust, and c++, and even c now do. Yes you cannstick to a version, but the world and bug fixes, and libraries will pass you by. Which brings up another problem with rust for safety critical. The stdlib is so very thin, that doing almost anything requies a dependency tree of a dozen or more crates by different authors. You need to certify all those as well. Its a nightmare of an ecosystem from the safety cert perspective.
- steveklabnik 5y agoBe that as it may, it hasn't stopped certification from being pursued.
- galangalalgol 5y agoMany cases when you want cert will probably be nostd anyway so it is definitely worth pursuing given all the other advantages the language has. I'm just being grumpy because I love the language but I am a fan of batteries included languages. Or at least a thick stdlib and a boost-like thing. That is partly influenced by my primary dev environment being airgapped, and my secondary one being behind nexus/solarcube.
- pjmlp 5y agoLisp is a good example, instead of Allegro and LispWorks one gets to dabble in SBCL + Emacs. Qt/Delphi/C++ Builder versus free beer GUI tooling is another. Or doing RAD Web Applications in Outsystems or doing it all by ourselves. Certain quality levels are only reachable when people pay for their tools.
- lavezza 5y agoIt probably doesn't make a lot of sense for a greenfield project, but for established projects it might make sense to stay with the current technology stack. At my last job we had a team of 10+ domain experts that were expert level at a proprietary language. Replacing years of work to save $10k per developer every year would have been a bad decision.
- Jtsummers 5y agoAda isn't a commercial language, though AdaCore's implementation is. Just like Green Hills compiler implementations cost money, sometimes the commercial implementations offer features/guarantees/support the open source implementations do not.
- thesuperbigfrog 5y agoCorrect. Here is the Ada 2012 standard: http://www.ada-auth.org/standards/rm12_w_tc1/html/RM-TOC.html http://www.ada-auth.org/standards/rm12_w_tc1/html/RM-TOC.htm... If you create a programming language that meets all of the Ada standard requirements, you will have your own Ada implementation. You could use whatever backend suits your needs (or write your own) and license it accordingly.
- touisteur 5y agoBy the way, the test suite, ACATS is part of the standard and is freely available. Not enough for an industrial strength compiler, but amazingly detailed already.
- jabl 5y agoPerhaps companies and individual with an interest in a permissively licensed Ada ecosystem should step up and create it? Build it on top of LLVM and call it, say, alang.
- thesuperbigfrog 5y ago>> Perhaps companies and individual with an interest in a permissively licensed Ada ecosystem should step up and create it? Build it on top of LLVM and call it, say, alang. If it is an Ada implementation, why wouldn't they call it Ada rather than alang? If the language implements the Ada standard (http://www.ada-auth.org/standards/rm12_w_tc1/html/RM-TOC.html http://www.ada-auth.org/standards/rm12_w_tc1/html/RM-TOC.htm...), it is Ada, regardless of how the particular implementation is licensed.
- jabl 5y ago> If it is an Ada implementation, why wouldn't they call it Ada rather than alang? In the same way that "the" C/C++ LLVM frontend is called clang and the Fortran frontend is called flang. So a hypothetical Ada frontend could be called alang. > If the language implements the Ada standard (http://www.ada-auth.org/standards/rm12_w_tc1/html/RM-TOC.htm http://www.ada-auth.org/standards/rm12_w_tc1/html/RM-TOC.htm...), it is Ada, regardless of how the particular implementation is licensed. I wasn't arguing against that, but, yes I agree.
- thesuperbigfrog 5y agoI understand now. It would be the alang Ada compiler similar to the clang C compiler. Thank you for clarifying.
- Lucretia9 5y ago> If it is an Ada implementation, why wouldn't they call it Ada rather than alang? A serious lack of imagination, re clang, flang, etc.
- touisteur 5y ago
- Agingcoder 5y agoAda is not a a commercial language. It's free, and the standard is free as well. Adacore's support is excellent - you're talking directly to gcc/gdb devs. There is no intermediate layer. I've hit a number of nasty technical issues ( compiler bugs mostly), usually fixed within 48h. They then provide you with what they call a 'wavefront' which is essentially a patched version of the compiler which is supported as well. It is true that the ada community is small, but there is no real other contender in that space ( embedded, formal verification, qualified toolchains, etc). Edit: nvidia uses spark/ada (from adacore), it's not clear to me what other options they might have given what they want to do (video presentation in the link) "AdaCore + NVIDIA Partnership | AdaCore" https://www.adacore.com/company/partners/nvidia https://www.adacore.com/company/partners/nvidia
- touisteur 5y agoAnd to be clear they also support C on GCC, so our gcc bugs go there too. Also very very happy with AdaCore's tech support. Response within the day, help and patience in reproducing problems, and almost always with a quick workaround. Often citing the reference manual. You also often have an expert jumping in to help, or to answer a question, or to implement some optimization :-) I still have fond memories of (the sadly late) Robert Dewar answering a ticket of mine 'this is so slow, whyyyyyyy?' with a 'we have implemented a change that should improve the performance of your code' so fast I hadn't had the time to go talk to our local Ada guy for an alternative idea. They also have world experts in formal methods like Yannick Moy and Claire Dross who will help you prove you jump-start a Spark project and are pushing the state of the art every year (proof of floating point code, pointer/ownership...). Money well spent. And to be clear: not from AdaCore, just a customer.
- dragonwriter 5y ago> This is more of a general question With the availability of free languages such as Rust, Clojure, F#, Go, Typescript, Idris, Raku You have a solid option that cover ever possible paradigm and style of programming you may fathom > Why would any one invest time or effort in a commercial language such as Ada, (1) Ada isn’t a commercial language (2) What other free language covers the style and paradigm Ada addresses? Rust maybe (I haven't really done a detailed analysis) now subsumes Ada, but has a different focus and a lot of cognitive overhead related to that focus. Haskell or another static functional language with a robust type system might provide an alternative approach to some similar benefits, but not the same style and paradigm.