5 ms·
It's before my time, so YMMV, but it seems that the 90s-era "HN crowd" took something of a "shoot-the-messenger" approach to Ada, assuming it must be a terrible
by smitherfield 10y ago
It's before my time, so YMMV, but it seems that the 90s-era "HN crowd" took something of a "shoot-the-messenger" approach to Ada, assuming it must be a terrible language because it was created by the Department of Defense. Not unlike how anything associated with Microsoft used to be treated until pretty recently.
Complaining-about-languages-you-don't-use was an even bigger phenomenon in the era when the internet/open-source was not widespread, and trying out a new language was often far from a trivial thing to do.
It's always a bit amusing to read an old article from the 90s or early 00s, filled with unironic praise for langs now considered poor-to-mediocre, like C, Perl and PHP. (Because these were the languages that didn't take a great deal of effort/money to start writing in the first place).
- agumonkey 10y agoI didn't pursue it, but I found some blogs about low level type safe Ada through generics and modules that looked very interesting. Since, I believe, most of us are sad about C lack of safety, seeing these was inspiring.
- stesch 10y agoCurrent complaints are about the language not being free enough. And kind of boring looking.
- jordanb 10y agoThe main compiler nowadays for Ada is GNAT, the compiler is GPL and the runtime is LGPL. In a sea of C-syntax languages I find an ALGOL-syntax language to be really neat looking. :) I think the biggest problem with Ada is a small community/mindshare.
- the_why_of_y 10y agoActually Ada is quite unusual in that the official ISO standard has always been licensed under terms that permit unrestricted redistribution and even modification; it is AFAIK the only ISO language standard that you can install as a package[1][2] from Debian's "main" repository. The language is thus more free than ISO C and C++, where everybody googles for "draft" pdfs and hopes their content does not substantially differ from the actual standard. [1] https://packages.debian.org/jessie/ada-reference-manual-2005 https://packages.debian.org/jessie/ada-reference-manual-2005 [2] https://packages.debian.org/jessie/ada-reference-manual-2012 https://packages.debian.org/jessie/ada-reference-manual-2012
- david-given 10y agoI did a bunch of stuff with Ada, and like it a great deal; the core language is rock solid, fast, expressive, and extremely easy to work with. But I still have a laundry list of issues, and probably would pick something else for future projects. (My current one is in C. C89. Because reasons. Sigh.) The three biggest turnoffs for me with Ada are: - case insensitive identifiers. I understand why they chose that, but history has shown that that's not what programmers want, as evidenced by ever other mainstream programming language ever. Also, there's nothing more likely to repel a new developer than forcing them to switch to a new coding style. (It's also weirdly unAdalike; surely a language which puts such an emphasis on correctness and precision wants things that look different to be different?) - no garbage collector. As soon as you spend any time with the language it becomes obvious that one's been planned right from the very beginning --- it would drop right in. It just hasn't been implemented. - deeply inscrutable object oriented syntax. I've used it several times and I still have to look it up, every single time, and even so I keep getting it wrong. There are several hidden gotchas --- it only works properly if your class is defined in a named package and all your method declarations need to be next to each other. I think. It's all totally unmemorable and desperately needs a 'class' keyword. There's some other stuff which would be nice to have, like better strings, or the ability to have pre- and post-conditions on procedure definitions and not just declarations, but for me those are the three big ones. I might try Nim next, as that looks nice, and appears to have a number of features borrowed from Ada.
- PeCaN 10y agoThe class syntax feels like they wanted to make it clear that an object is just a tagged record with a vtable. Unfortunately, it ended up looking like they were trying to design a Java-like OO system without using the word “class”. Thankfully you can generally avoid OOP in Ada with the really well designed packages and generics. I wish they hadn't tried to tack on OOP or at least not half-assed it so much. I agree with you about the core language. It's elegant and fun to use. The stdlib isn't too bad either. I just wish it either was explicitly GCed or explicitly not-GCed like Rust, instead of “well, it could be GCed, so we'll make pointers kind of safe but kind of not”.
- fghgfdfg 10y ago
- epc 10y agoI learned Ada in a survey course in the late 1980s. My impression was that it was perfectly fine, but no one was hiring Ada programmers other than in the immediate DC area. There were few public libraries to do stuff (compared with C or Fortran for example). Finally the defense industry imploded just before the technology boomed caused by the rise of the Internet. I vaguely recall intense licensing issues as well, like it was the only compiler we used which we had to return the floppy disks. So while we could hack around with C, Prolog, Perl, etc. we couldn't "play" with Ada outside of the course.
- pjmlp 10y agoI have papers from the 70's already giving examples of C's lack of safety, but on those days one would need to pay for getting them by snail mail.