4 ms·
A Random Walk Through Ada (2014)
- ICWiener 11y agoSee also the Ada Gems serie of articles: http://www.adacore.com/adaanswers/gems/ http://www.adacore.com/adaanswers/gems/
- pjmlp 11y agoBesides Ada, Algol 68, Mesa/Cedar, Modula-2, Modula-3, Oberon derivatives are also worth a mention in the list of languages that allow low level systems programming without the usual C minefields. Nice article, Ada is on favourite languages list.
- lambdaelite 11y agoThe licensing for the Ada ecosystem is confusing to me. It seems that the major vendors are Adacore, Green Hills, and Atego. Am I correct that for commercial products, there are no free toolchains available?
- Avshalom 11y agothe FSF version of gnat is robust, mature, and reasonably up to date. It's licensed LGPL so you can use it pretty much like anything else. Adacore also puts out a slightly more state of the art version of gnat but it's GPL so in theory everything you make with it needs to be gpl as well (though of course that's fairly irrelevent for many classes of software)
- Narishma 11y agoWhat's wrong with the GNU compiler?
- lambdaelite 11y agoNothing per se. I was confused in that both Adacore and FSF offer a compiler with the same name but different licensing. As to my specific situation, I cannot release source code and so the Adacore GPL licensed product is a no-go.
- _kst_ 11y agoUsing a GPL-licensed compiler doesn't mean you have to release the source code that you compile with it. (I am not a lawyer; do not rely on my advice without thoroughly verifying it.)
- lambdaelite 11y agoPerhaps it has to do with the runtime being GPL'd? Regardless, the Adacore FAQ specifically councels that the GPL version is suitable for free software only.[0] Admittedly, I find the licensing situation confusing and could be completely in the wrong here. [0] http://libre.adacore.com/tools/gnat-gpl-edition/faq/ http://libre.adacore.com/tools/gnat-gpl-edition/faq/
- jdcskillet 11y agoOh Ada. In college (six years ago), it was the language solely responsible for dragging down my grade right before graduation. I very much disliked the prof who taught it, which probably clouded my perception of the language, but I found it a lot harder to solve problems in the extreme type safety of ADA than C++ (our "core language"). Not sure why, just vividly remember being dead set against never seeing it again :) I do remember the professor going on and on about why the safety was necessary for his beloved Military and Avionics software (he worked at an avionics software company in his "off" hours). It makes a lot more sense now, and oddly enough with my interest peaking in Rust and Go, it might be worth looking at again... or maybe I'll just stick with languages that don't invoke bad memories.
- cbd1984 11y agoIt's interesting to me that when people boost Ada's type safety, they always compare it to other Foogols, like C and Java. OK, how about Ada vs Haskell? Does Ada have anything like Haskell typeclasses or am I going to have to write a different sort function for every single data type which can be sorted? Does Ada have a numeric tower, or will I have to accept truncation and re-write basic numeric functions? Haskell has strong static typing without forcing me to specify irrelevant details up front. How about Ada?
- deleted 11y ago[deleted]
- pjmlp 11y ago> Does Ada have anything like Haskell typeclasses or am I going to have to write a different sort function for every single data type which can be sorted? Generics and interfaces. > Does Ada have a numeric tower, or will I have to accept truncation and re-write basic numeric functions? Subtypes and ranges. > Haskell has strong static typing without forcing me to specify irrelevant details up front. How about Ada? If you mean type inference. No in Ada everything has to explicit. Now you are comparing Apples and Oranges here, as Ada is a systems programming language. So it allows for memory safe systems programming, with all the direct hardware access and memory allocation control that such use cases require. Whereas Haskell, currently, still requires language extensions like on HalVM and House OS implementations.
- kzhahou 11y agoI wonder how Ada would fare today if the basic syntax was modernized. I mean, This_Hurts_My_Pinky_Finger!!