5 ms·
I have a soft spot for languages with strong type systems and was always attracted by ADA, but newer met anyone using it in the wild. Is it used anywhere outsi
by insulanian 8y ago
I have a soft spot for languages with strong type systems and was always attracted by ADA, but newer met anyone using it in the wild.
Is it used anywhere outside of defense and flight industry?
- qop 8y agoF# gets used a lot in finance. If you're in the NY area with F# experience you could easily find a contract or maybe a position. When Julia 1.0 drops, there will be some shifting around as the industry begins the Matlab exodus. But not a lot of prospects right now. It has a really cool type system with multiple dispatch, but it's dynamically typed. Depends on your taste. Takes practice in my experience organizing code by dispatch. Didn't click in my brain at first. Also, there are macros ala Lisp, good performance, etc. Not sure about Ada, hoping to find out more.
- gaius 8y agothere will be some shifting around as the industry begins the Matlab exodus Stats I’ve seen on applicants/job broken down by language suggest that that is already well underway - tho’ Python/R seem to be where the demand has shifted to
- qop 8y agoI'm not so familiar with the academic side of things as much as I am finance and corp side of things. Academic roles probably benefit a lot more from the more rigorously designed language/platfrom R offers. Not to mention the maturity of the ecosystem. Julias big draw is performance, in my eyes. Ease of use is good too, Python syntax + types + macros is great, but the speed is absolutely killer once you get it tuned up. Time will tell, but I see some very strong threats as Julia already has packages for xlsx, and a good Quant community forming up. For finance, I will be shocked if Julia isn't a household name 2-3 yrs from now. It's what the financial world has been waiting for. Python won't be killed for a while. It's just too ubiquitous. But it poses no major threat to any major firm who needs decent performance, and there will be more and more turmoil in python chore community as time goes on. I think it will get much worse, not better.
- gaius 8y agoJulias big draw is performance, in my eyes. Ease of use is good too, Python syntax + types + macros is great, but the speed is absolutely killer once you get it tuned up. Yes I’ve heard that but the counter-argument is just use Numba and leverage your existing Python/NumPy code onto GPU. Everyone always forgets that the Python community is very comfortable with offloading heavy lifting to other languages.
- qop 8y agoThose people generally aren't of the same caliber as Matlab programmers. I'm talking about professional-grade numerical work. People use matlab or R for this currently. Mathematica too. These people, who are very talented mathematical minds but maybe not necessarily the most talented programmers, are going to eventually find Julia to be more convenient and more attentive to their needs doing numerical work than Python+PyJunk libraries. Python sucks. Plain and simple. No types, no macros, it's slow, it can be a pain to get gpu support up and running, the main guy just up and left (?!?!?), and the primary survival trait of the community at large is figuring out how to write python and make something other than python do the work. It would be like buying a car and the dealer hands you a complimentary bus pass and says "try and keep her off the road if you can help it." So yeah. I don't consider it a major threat to the ecosystem.
- simonbyrne 8y agoI've heard this before: what is F#'s main draw over other functional languages in finance? Is it simply that it comes already bundled with .NET?
- acomjean 8y agoI programmed a radar system with Ada, I guess that counts a defense system. The language grew on me. I miss parts of it, but it suffers from the chicken egg problem. Not enough people using it to make useful libraries from it so it doesn't get a lot of new users. Also the lack of a really good compiler that was free held ada back, but that shouldn't be a problem anymore. (https://en.wikipedia.org/wiki/GNAT https://en.wikipedia.org/wiki/GNAT) The other knock on ada was it was slow. All the runtime checks eat up cpu resources which made it slower than the competition. The language and package system are solid though. I was switching between C and Ada for a while and I found programming in Ada to be be a better experience.
- pecg 8y ago> The other knock on ada was it was slow. I'm curious, is the compilation time that takes too much, or is it the execution time? I'm really interested in learning the language, but I don't want to end-up with programs that generate slower native code, compared to that of C. What's your experience with it?
- PeCaN 8y agoIt's not any slower than C. In some cases the compiler can actually generate better code because of stricter rules on pointer aliasing. You can also do more with only stack allocation in Ada, which is a huge win. It does generate some extra code for things like range checks and checking invariants, i.e. things you can skip in C to write buggy code.
- Fabien_C 8y agoThere's a little benchmark project here: https://github.com/frol/completely-unscientific-benchmarks https://github.com/frol/completely-unscientific-benchmarks The Ada implementation is the second fastest behind C++.
- jnbiche 8y ago> All the runtime checks eat up cpu resources which made it slower than the competition. You can turn off all the runtime checks. When you do, Ada is competitive with Rust and even C. But user jonathanstrange's criticisms above of Ada and Adacore hit the nail on the head, in my opinion. Ada's a great language but unless Adacore revisits the licensing, it's doomed. Now, even the defense industry has for the most part abandoned Ada, despite it being perfectly suited for the industry.
- dwheeler 8y agoThey talk about uses of Ada in this page: https://learn.adacore.com/courses/intro-to-ada/chapters/introduction.html https://learn.adacore.com/courses/intro-to-ada/chapters/intr... "Specific domains seeing Ada usage include Aerospace & Defense, civil aviation, rail, and many others. These applications require a high degree of safety: a software defect is not just an annoyance, but may have severe consequences. ... Ada provides safety features that detect defects at an early stage --- usually at compilation time or using static analysis tools. Ada can also be used to create applications in a variety of other areas, such as: * Video game programming * Real-time audio * Kernel modules"
- randomsearch 8y agoI believe part of the London Underground system was written in Ada - think it was the signalling on the Jubilee line.
- jadavies 8y agoIt was, as well as the Automatic Train Protection (ATP) and Automatic Train Operation (ATO) systems. I worked on part of the track to train comms system of the subsequent Victoria Line upgrade which was also written in Ada. I forget which compiler was used, all I remember is that it cost an arm and a leg!
- randomsearch 8y agoThat's great, Ada is such a fantastic language and I'm delighted and reassured to hear it's running those systems!
- randomsearch 8y agoOh, and the ISS, but I’m not sure it still runs that code.
- b_b 8y agoAsk nearly any Latin student nowadays and they'll mention that they have used or frequently still use Whitaker's Words [1] which is made in Ada [2]. I and my friends in Latin class use it so frequently (through the University of Notre Dame portal) that I made a reskin for me and some friends [3] to use so we can enter in all the words we want for a passage and to look at convenient conjugation cheatsheets :) [1] = http://www.archives.nd.edu/words.html http://www.archives.nd.edu/words.html [2] = https://github.com/mk270/whitakers-words https://github.com/mk270/whitakers-words [3] = https://abidsikder.com/wweb/index.html https://abidsikder.com/wweb/index.html