RFC's - new Ada features

I think this site could implement a similar RFC site/repo to AdaCore’s. The thing I see often in their comments is that they refuse an rfc because it “looks like this is out of the scope of what we want to accomplish,” the emphasis on “we” (AdaCore) there.

AdaCore have there own plans which we are not privvy to. If people are to not think that Ada is controlled by AdaCore, I think this is a necessary thing to add to this site.

2 Likes

I believe that the next version should be a breaking change, there will still be Ada 2022 and below, but the next revision should take everything that has been learnt and apply them.

This allows us to create a new modern runtime without the baggage of the past 40 years. And also implement some features which would’ve easily broken previous versions.

The ARG github repo is the official place for community input. Work on the next revision seems to be well underway.
As much as AdaCore’s RFCs are unofficial (in terms of Ada revisions), I don’t think adding another unofficial place will reduce the confusion.

1 Like

Oh yeah, I’d forgotten about that. 2 years and counting and still in rtf.

So, is it “well underway?”

I don’t think having another site with its own RFC list is a good idea. You may not like that AdaCore has so much leverage, but that is the reality of it***. Any proposed feature is worthless unless a vendor is willing to implement it.

***A lack of action by other Ada vendors is a big reason for this. The community is partly responsible as well (ie writing code that depends on GNAT features, promoting Alire which is GNAT specific, not buying a copy of Janus/Ada, etc).

1 Like

If people are to not think that Ada is controlled by AdaCore, I think this is a necessary thing to add to this site.

It’s already on the site and has been for a long time.

ada-lang.io is just a community site for open source Ada and GNAT is the only open source compiler I know of for Ada. The ARM is available so anyone could write a front end and then use LLVM’s C library as a backend or use QBE or another backend or cross-compile to C.

AdaCore has leverage, but since they contribute code back, they’re effectively paid contributors to the language, which is also a huge benefit.

Yes, please do use the ARG github issue list. The ARG meets several times a year to consider the issues. We have not gotten too deep into any major enhancements yet, though there are already some on the table, such as the Pattern Matching proposal (my personal favorite ;-), generalization of the Obj.Operation syntax to include untagged types, and a number of smaller issues listed in the ARG issue list, and also in the Active AIs on the ARG website.

6 Likes

AdaCore will never control Ada for me, because I use Ada 1995 for most things, and generally Ada 2005 at the latest. If I don’t like the additions of Ada 2022, and I don’t like those square brackets, then I handle the issue by simply never using that version of the language.

The Steelman requirements are one thing, but let’s not pretend letting anybody make an RFC like it’s Rust is a good idea. Part of what makes Ada appealing is design by committee, not design by Internet horde.

I know what you are trying to say and I agree on Adas well considered development being important. I think that applies to Ada 2022. Thankfully Ada wasn’t designed by committee. Else it might have been an abomination like ipv6. What is the problem with square brackets?

The only good idea in Ada 2022 with which I’m familiar is @.

I guess we’re using different definitions of design by committee. I see Ada as a language developed by a large organization, the United States military, after collecting requirements for several years. This fits the definition well enough for me.

I’m to understand they add a new syntactic category to address a minor issue.

It’s currently developed/maintained by the ARG (which one might still consider a committee, but is not part of the military). The US military never designed the language, it just put up the money / request to have the language developed for them. I believe the group that initially designed it was from Honeywell maybe? They were under contract to make it for the military, but the military did not have a hand in the actual language process other than to lay out the requirements.

I’m sure someone with a clearer remembrance of history can clear it up.

1 Like

The United States military held a contest between, I believe, four participants. I know not how the winner was chosen.

I believe the requirements process was also a competition. Development of Ada today and since 83 is perhaps described as design by committee but I know nothing about that and obviously it builds upon the original base.

Competition usually helps to combat the feature creep that design by committee often results in.

ipv6 would have been more secure (when written in C) and adopted sooner if they had simply increased the address space. Did you know ipv6 was meant to have built in ipsec support.

The history of how the Ada programming language came to be is described in the Wikipedia entry for the High Order Language Working Group at High Order Language Working Group - Wikipedia, and especially in the referenced paper “Ada - The Project, The DoD High Order Language Working Group”, copyright 1993, originally published in ACM SIGPLAN Notices (Vol. 28, No. 3, March 1993), available at Ada - DoD HOLWG, Col Wm Whitaker, 1993

2 Likes

Ada 80 and 83 were designed by Jean Ichbiah. He was assisted by a team, but the final decision on all aspects of the language was his. Ichbiah was not a committee.
I don’t know if Tucker Taft is similarly responsible for Ada 95. Later versions of the language were designed by the ARG, which is a committee.

3 Likes

I appreciate the new abilities with renames, with declare expressions, and the ability to use quantified logic when constructing objects.

1 Like

His competitive proposal to implement the competitively iterated spec was successful and I assume funded. To say he designed the language is inaccurate in my opinion. At the same time. Surely he conducted much design work in the process.

1 Like

Bob Duff and I were the lead designers of Ada 95. Ada 2005, Ada 2012, and Ada 2022 were designed by the ARG, but with some very strong shared principles focused on safety, efficiency, and human engineering, and definitely not a series of back-room deals to make everybody happy.

7 Likes