Live data from Hacker News

Introduction to Ada

learn.adacore.com

81–90 of 193 posts

Re: Introduction to Ada

#82

Ada is one of those languages that I always wish I had a reason to program in

Ada is basically boomer Rust. You don't need a specific reason to use it -- just jump in! My first Ada programs were crappy reimplementations of Unix utilities, just to see how the language felt when doing common tasks.

Re: Introduction to Ada

#83

I'd be very interested in someone with substantial experience in Ada/Spark providing some insight: * Why did Ada not manage to get a significant foothold outside of some small domains? * What's great, what's not so great about it? * How "modern" does the language feel, including the tooling, documentation, etc? Specifically Spark 2014. ( I see a LSP server and VSCode plugin, for example) * Spark2014 seems to be open…

I don't have extensive experience but learned it a few years ago and believe I can answer some your questions. This is subjective, others might disagree or perhaps add their own experiences. > Why did Ada not manage to get a significant foothold outside of some small domains? Probably mostly due to licensing issues. Ada has a runtime that you basically have to use and the most complete AdaCore version forces you to r…

>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 have to build them yourself, which is a pain. But they are working on that.

> and allows you to use the much more permissive mGPL version.

MGPL hasn't been a thing for at least 10 years now. The FSF version if GPLv3 with linking exception.

> However, it always lags behind the version from AdaCore and many developers in the past were scared away by the licensing issues.

And the cost of licencing from AdaCore. Not small company / startup friendly, but apparently that has changed, but you still have to email them for prices!

> - Ada is a very complete language and not easy to learn. The syntax is special, in that it specifies each construct on its own and re-uses keywords.

This makes no sense, all languages are "complete" to some degree. The syntax is not special, it's like any other, it's defined by a grammar, as are all languages. A lot of languages re-use keywords.

Re: Introduction to Ada

#84
post #55

Earlier quoted context omitted.

Thank you for posting that. Especially interesting in light of Walter Bright's comment(s) in this thread. I didn't quite understand why someone who wrote a c++ compiler would think Ada was insurmountable - this adds some context. In my nativité I'd have guessed that writing an Ada compiler was on par with Pascal (but with more types and stuff). This is probably the same (wrong) reasoning by which Mr Bright tricked hi…

Oh Ada is so much more complex than Pascal. I think getting something with the numeric types is doable in a smaller timeframe, the OO, tasking stuff would be much harder. You could knock out an object-Pascal / Oberon compiler in a matter of weeks imo.

Oberon and Object Pascal as initially introduced yes.

On their most up to date variants, Active Oberon and Delphi/Oxygen/FreePascal it will take much longer than just a couple of weeks.

Re: Introduction to Ada

#85
post #80

The original open source Ada83 compiler that grew into GNAT for Ada95 was written in setl. The author of GNU setl has said he would release the source, but we're still waiting. There are binaries here: https://setl.org/setl/bin/ (No NetBSD ones though, forcing us to use emulation) Ada reminds me of spitbol, and setl can be written in spitbol. R K Dewar's spitbol, written in a portable assembly language called MINIMAL…

Interesting. Never heard of SETL before. There is even a Wikipedia entry: https://en.wikipedia.org/wiki/SETL . References 1 and 2 confirm that it was indeed used to implement the first validated Ada compiler. Didn't know that.

Another factoid: It was actually SNOBOL (later SPITBOL from Dewar, who was a founder and president of Ada Core), not AWK, that was the first language to offer "associative arrays", which are simply called "tables".

Re: Introduction to Ada

#86

Nice documentation. Ada looks a lot like Pascal. It is interesting that SPARK is a subset of subset of Ada.

Pascal-like syntax seemed to have been popular around the time. Outside the Writh languages(Pascal, Modula, Oberon) and Ada, I was reading about CHILL[0] the other day, which is supposedly similar to Ada, but was rather domain specific. Sadly I don't think any modern, free implementations exist. [0] https://en.m.wikipedia.org/wiki/CHILL

VHDL has a quite similar syntax, too.

Re: Introduction to Ada

#87

Earlier quoted context omitted.

I don't have extensive experience but learned it a few years ago and believe I can answer some your questions. This is subjective, others might disagree or perhaps add their own experiences. > Why did Ada not manage to get a significant foothold outside of some small domains? Probably mostly due to licensing issues. Ada has a runtime that you basically have to use and the most complete AdaCore version forces you to r…

>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…

I talked to an Ada Core sales guy at Embedded World Nuernberg. He mentioned they have a cheap license now for small companies. 5000 Euros.

Re: Introduction to Ada

#88
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…

Oh, double-hyphen for comments! So maybe that's where SQL got it's comment style from? I'm not sure which SQL spec defined it and what is its overall availability, but it's defined in DB2 and Oracle SQL languages so I'd say it predates the SQL-1992 standard. I think it's also available in MySQL SQL and pgSQL, with a required space between the dashes and the comment text.

Definitely, early PLSQL is inspired by Ada. See here: https://www.orafaq.com/wiki/Ada

Re: Introduction to Ada

#89
post #6

Petty and inconsequential as this sounds, I'm convinced Ada go have gone farther if it didn't have capitals and underscores in all their libs, and long keywords like `procedure`. All that shift-key action makes Ada a physically painful language to work in.

Rust seems to flourish despite its heavy use of symbols, and I mean... heavy . Plus, code is supposed to be documentation. :)

This is actually one of my few gripes with Rust. I see lots of code that starts to resemble what I call "cryptosyntax" (also a feature of C++).

In this regard, Ada explicitly had maintainability as a design requirement, and I wonder how well Rust will fare with its concise, symbol-heavy code in that regard.

Re: Introduction to Ada

#90

I'd be very interested in someone with substantial experience in Ada/Spark providing some insight: * Why did Ada not manage to get a significant foothold outside of some small domains? * What's great, what's not so great about it? * How "modern" does the language feel, including the tooling, documentation, etc? Specifically Spark 2014. ( I see a LSP server and VSCode plugin, for example) * Spark2014 seems to be open…

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.

Post reply on HN