Live data from Hacker News

Introduction to Ada

learn.adacore.com

101–110 of 193 posts

Re: Introduction to Ada

#101
post #91

I spent about 4 years of my early career working with Ada in the aerospace industry (specifically, I worked on the GPS satellite program). It was rather career-limiting because I ended up as a young engineer with a lot of experience in an extremely niche language. It took a while, but I was finally able to escape and start working with more modern technology (involved a lot of self-learning on side projects and final…

It's a brilliant language and due to the fact that it can limit you in the eyes of employers is one reason why I'm dabbling with other languages (including Go) and also a syntax for a new one inspired by Ada.

Re: Introduction to Ada

#102
post #99
post #91

I spent about 4 years of my early career working with Ada in the aerospace industry (specifically, I worked on the GPS satellite program). It was rather career-limiting because I ended up as a young engineer with a lot of experience in an extremely niche language. It took a while, but I was finally able to escape and start working with more modern technology (involved a lot of self-learning on side projects and final…

> their just isn't enough interesting work going on using Ada to warrant investing time in learning the language. You can help change that -- by doing interesting work! The nice thing about open source and self-directed projects is that you can use what you want based on its own merits, and leave bandwagoneering for when you have to find a job.

I've done that.

Re: Introduction to Ada

#103
post #26

Earlier quoted context omitted.

Seriously, the curly braces are a huge improvement. That's no joke. The "fn" and ":" are good too. I'm less sure about "include", because I doubt Ada does textual inclusion. If it does, then that is good too. Otherwise, better choices might be: using, use, require, requires, depend, depends, external, library, unit, module...

I don't get this whole need to shorten keywords to 2 letters when the IDE will just autocomplete them, it's really stupid.

Not everyone wants to write code in an IDE. Quite a lot of people prefer a text editor of some kind.

Re: Introduction to Ada

#104
post #41

Earlier quoted context omitted.

I spent a lot of time circa 2009/2010 teaching myself Ada for similar reasons. I work in avionics systems (or used to, present job is not) and Ada is grossly underutilized. I’d be willing to wager half the bugs that I saw make it to the testers or, worse, the field would not have happened if we’d used Ada (and used the type system properly). And these days, using Spark, even more bugs could be detected before compila…

Using Spark contracts to specify and verify low level requirements should be a huge time saver. I too don't understand why everybody seems to use C/C++ nowadays. I guess commercial Ada is just too expensive.

There is a group trying to bring contracts to C++, and Spark is something they have looked at for guidance. I'm not sure of the progress, last I checked there were conflicts on how to use them. That is the compiler guys wanted to use the contract to optimize farther, while the safety guys said that is insane: you don't know if the contract is proved.

Re: Introduction to Ada

#105
I like that the primitives types are so refined in Ada. That's something that is missing in a lot of languages. You can define subtypes or different types and ranges from the integer type for example.

A few years ago, I wrote a little blog entry about it: https://www.dialectical-computing.de/blog/blog/2011/05/08/de...

Re: Introduction to Ada

#106
post #99
post #91

I spent about 4 years of my early career working with Ada in the aerospace industry (specifically, I worked on the GPS satellite program). It was rather career-limiting because I ended up as a young engineer with a lot of experience in an extremely niche language. It took a while, but I was finally able to escape and start working with more modern technology (involved a lot of self-learning on side projects and final…

> their just isn't enough interesting work going on using Ada to warrant investing time in learning the language. You can help change that -- by doing interesting work! The nice thing about open source and self-directed projects is that you can use what you want based on its own merits, and leave bandwagoneering for when you have to find a job.

I don't know, if I'm trying to create an open-source project with the intent of making something that becomes useful and popular, I'm not sure I'd want to artificially limit the number of potential contributors by picking an obscure language.

That said, I don't really have a strong enough desire to get back into Ada anyway. I'm a big fan of Clojure and Kotlin at the moment :)

Re: Introduction to Ada

#107
post #7

Earlier quoted context omitted.

It was my first language i learned in school... in Radford ( Virginia), before my university switched to Java. ADA was/is popular with defense contractors, so a lot of schools in VA teach it. It is very safe language, being both static typed, and strong typed. It was originally a procedural language, but later they added some OO to it. (to folks that don't know what a imperative language is, think of a language where…

People need to stop using "wordy" when they mean "readable."

Readable is a matter of education. As a C++ programmer I've learned what {} means, and so that is more readable than begin/end which happens to not be the block symbol in any language I know well. Considering all the languages I know I've concluded that block symbols are important enough to be worth learning as a separate symbol (Looking at python where it is white space). Of course I can learn begin/end, but it isn't worth typing those extra letters of the word when something that common can be done in one.

Note too that {} graphically indicate the open/close in a way that begin/end is another reason not to like begin/end.

Re: Introduction to Ada

#108
post #91

I spent about 4 years of my early career working with Ada in the aerospace industry (specifically, I worked on the GPS satellite program). It was rather career-limiting because I ended up as a young engineer with a lot of experience in an extremely niche language. It took a while, but I was finally able to escape and start working with more modern technology (involved a lot of self-learning on side projects and final…

How's the $$$?

I was a fairly junior software engineer at the time. And took the job only because it was 2008 and I was unemployed. Had never used Ada but the employer (rhymes with "Going") didn't seem to mind. My mother was kind of enough to supply me with all of her old Ada books when she finished laughing about me taking a job using a language she had long since left behind.

The money was about... market rate for the time. Not good, not terrible. Better than taking a job completely outside of my field.

Re: Introduction to Ada

#109

Earlier quoted context omitted.

I don't know SPARK and haven't touched it, but...I had to learn Ada9X at uni in 1995, I've been using it for the last 15 years and have been on #Ada on Freenode for longer. 1) The creator of #Ada, caracal, once said that when he was in the army, there were two groups of people: i) those who were interested to learn about Ada and ii) those who were totally against it without having seen any of the language at all. The…

Alire is an Ada package manager built around the GNAT toolchain: https://github.com/alire-project/alire I have not used it, but it looks promising.

Currently it's built around gnat, not looked at the source, but I hope they've built in portability across compilers.

Re: Introduction to Ada

#110

Earlier quoted context omitted.

>Probably mostly due to licensing issues. Yup. See https://www.reddit.com/r/ada/comments/ijwqfl/last_call_on_th... > Ada has a runtime that you basically have to use and the most complete AdaCore version forces you to release executables under GPL. See above. > The FSF version is less complete (many libraries are missing) Incorrect, AdaCore just packages their libs with their version of the compiler, with FSF, you ha…

Thanks for the "corrections". Some of them are fine (I didn't know about the FSF license change) but with some I really don't agree. > Incorrect, AdaCore just packages their libs with their version of the compiler, with FSF, you have to build them yourself, which is a pain. But they are working on that. Various fairly essential libraries maintained by AdaCore are under GPL, so you could not use them for non-GPL softw…

> Various fairly essential libraries maintained by AdaCore are under GPL, so you could not use them for non-GPL software that is distributed.

That's not true, the AdaCore libraries are covered by the Runtime Library Exception of GPL and available on GitHub: https://github.com/adacore

And soon available in the package manager: alire.ada.dev

> The purpose of this Exception is to allow compilation of non-GPL (including proprietary) programs to use, in this way, the header files and runtime libraries covered by this Exception.

Post reply on HN