comp.lang.ada
 help / color / mirror / Atom feed
* who needs types? Types makes code ugly.
@ 2022-06-02  3:21 Nasser M. Abbasi
  2022-06-02  8:00 ` Doctor Who
                   ` (3 more replies)
  0 siblings, 4 replies; 26+ messages in thread
From: Nasser M. Abbasi @ 2022-06-02  3:21 UTC (permalink / raw)


So Ada had it wrong all the time it seems. From

https://python.land/python-tutorial

------------
In a strongly typed language, you need to specify the exact
type of each variable, like String, int, and float. It
gets even uglier when objects are involved.

Now let’s look at Python variables. In Python, we can do
exactly the same without types:

my_name = "Erik"
my_age = 37
my_salary = 1250.70

As you can see, the Python variant is a lot cleaner and easier on the eyes!
----------------------

And about possible error, they defend this by saying:

--------------------------
In addition, you’ll find out soon enough during testing
and fix the error before the software ever goes to production.
---------------------------

So, I think all what Ada needs is to simply remove all those
ugly types from the language and it will become popular
like Python is now :)

--Nasser

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: who needs types? Types makes code ugly.
  2022-06-02  3:21 who needs types? Types makes code ugly Nasser M. Abbasi
@ 2022-06-02  8:00 ` Doctor Who
  2022-06-02  8:37   ` Dmitry A. Kazakov
  2022-06-02 10:47 ` Jeffrey R.Carter
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 26+ messages in thread
From: Doctor Who @ 2022-06-02  8:00 UTC (permalink / raw)


On Wed, 1 Jun 2022 22:21:08 -0500, "Nasser M. Abbasi" <[email protected]>
wrote:

>So Ada had it wrong all the time it seems. From
>
>https://python.land/python-tutorial
>
>------------
>In a strongly typed language, you need to specify the exact
>type of each variable, like String, int, and float. It
>gets even uglier when objects are involved.
>
>Now let’s look at Python variables. In Python, we can do
>exactly the same without types:
>
>my_name = "Erik"
>my_age = 37
>my_salary = 1250.70
>
>As you can see, the Python variant is a lot cleaner and easier on the eyes!
>----------------------
>
>And about possible error, they defend this by saying:
>
>--------------------------
>In addition, you’ll find out soon enough during testing
>and fix the error before the software ever goes to production.
>---------------------------
>
>So, I think all what Ada needs is to simply remove all those
>ugly types from the language and it will become popular
>like Python is now :)
>
>--Nasser

nonsense.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: who needs types? Types makes code ugly.
  2022-06-02  8:00 ` Doctor Who
@ 2022-06-02  8:37   ` Dmitry A. Kazakov
  2022-06-02 10:08     ` Nasser M. Abbasi
                       ` (2 more replies)
  0 siblings, 3 replies; 26+ messages in thread
From: Dmitry A. Kazakov @ 2022-06-02  8:37 UTC (permalink / raw)


On 2022-06-02 10:00, Doctor Who wrote:
> On Wed, 1 Jun 2022 22:21:08 -0500, "Nasser M. Abbasi" <[email protected]>
> wrote:
> 
>> So Ada had it wrong all the time it seems. From
>>
>> https://python.land/python-tutorial
>>
>> ------------
>> In a strongly typed language, you need to specify the exact
>> type of each variable, like String, int, and float. It
>> gets even uglier when objects are involved.
>>
>> Now let’s look at Python variables. In Python, we can do
>> exactly the same without types:
>>
>> my_name = "Erik"
>> my_age = 37
>> my_salary = 1250.70
>>
>> As you can see, the Python variant is a lot cleaner and easier on the eyes!
>> ----------------------
>>
>> And about possible error, they defend this by saying:
>>
>> --------------------------
>> In addition, you’ll find out soon enough during testing
>> and fix the error before the software ever goes to production.
>> ---------------------------
>>
>> So, I think all what Ada needs is to simply remove all those
>> ugly types from the language and it will become popular
>> like Python is now :)
>>
>> --Nasser
> 
> nonsense.

A more deep analysis begs the question, why don't we remove all that 
ugly variables and the code itself?

Programming by the emoji is the future!

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: who needs types? Types makes code ugly.
  2022-06-02  8:37   ` Dmitry A. Kazakov
@ 2022-06-02 10:08     ` Nasser M. Abbasi
  2022-06-02 10:39       ` Dmitry A. Kazakov
  2022-06-02 13:22     ` Stéphane Rivière
  2022-06-06 23:26     ` Jerry
  2 siblings, 1 reply; 26+ messages in thread
From: Nasser M. Abbasi @ 2022-06-02 10:08 UTC (permalink / raw)


On 6/2/2022 3:37 AM, Dmitry A. Kazakov wrote:
  
> A more deep analysis begs the question, why don't we remove all that
> ugly variables and the code itself?
> 
> Programming by the emoji is the future!
> 

I am afraid others have beat you to this brilliant idea !

https://levelup.gitconnected.com/5-most-amusing-programming-languages-you-can-code-using-emojis-4bfd43bc7614

"Well, smart and talented people out there have imagined and
developed full-fledged programming languages that we can use to code
with emojis and emoticons."

I still do not know if they have strong types when using Emoji languages
or not. May be you can not add a smily face to sad face? That will be
type error at compile time?

--Nasser

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: who needs types? Types makes code ugly.
  2022-06-02 10:08     ` Nasser M. Abbasi
@ 2022-06-02 10:39       ` Dmitry A. Kazakov
  0 siblings, 0 replies; 26+ messages in thread
From: Dmitry A. Kazakov @ 2022-06-02 10:39 UTC (permalink / raw)


On 2022-06-02 12:08, Nasser M. Abbasi wrote:

> I still do not know if they have strong types when using Emoji languages
> or not. May be you can not add a smily face to sad face? That will be
> type error at compile time?

Emoji programming is emotional paradigm. You stuck in the old hateful 
and toxic imperative paradigm of adding stuff... (:-))

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: who needs types? Types makes code ugly.
  2022-06-02  3:21 who needs types? Types makes code ugly Nasser M. Abbasi
  2022-06-02  8:00 ` Doctor Who
@ 2022-06-02 10:47 ` Jeffrey R.Carter
  2022-06-02 11:47 ` ldries46
  2022-06-02 17:28 ` Keith Thompson
  3 siblings, 0 replies; 26+ messages in thread
From: Jeffrey R.Carter @ 2022-06-02 10:47 UTC (permalink / raw)


On 2022-06-02 05:21, Nasser M. Abbasi wrote:
> In addition, you’ll find out soon enough during testing
> and fix the error before the software ever goes to production.

Proven beyond a shadow of a doubt by the total absence of security 
vulnerabilities in production S/W.

-- 
Jeff Carter
"If you think you got a nasty taunting this time,
you ain't heard nothing yet!"
Monty Python and the Holy Grail
23

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: who needs types? Types makes code ugly.
  2022-06-02  3:21 who needs types? Types makes code ugly Nasser M. Abbasi
  2022-06-02  8:00 ` Doctor Who
  2022-06-02 10:47 ` Jeffrey R.Carter
@ 2022-06-02 11:47 ` ldries46
  2022-06-02 15:02   ` Ben
  2022-06-02 17:28 ` Keith Thompson
  3 siblings, 1 reply; 26+ messages in thread
From: ldries46 @ 2022-06-02 11:47 UTC (permalink / raw)


As someone who has been programming since 1966 I used several different 
languages, Algol 60, Fortran, Basic, C/C++ and Ada, I like using strong 
types because the most ugly faults you can create are the ones where you 
by accident use different types in the input or the output of a formula. 
Such a fault can work through the complete program an result in very 
tough error searching. Even when the basic failure is using an integer 
instead of an real.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: who needs types? Types makes code ugly.
  2022-06-02  8:37   ` Dmitry A. Kazakov
  2022-06-02 10:08     ` Nasser M. Abbasi
@ 2022-06-02 13:22     ` Stéphane Rivière
  2022-06-06 23:26     ` Jerry
  2 siblings, 0 replies; 26+ messages in thread
From: Stéphane Rivière @ 2022-06-02 13:22 UTC (permalink / raw)


> Programming by the emoji is the future!

I second that.


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: who needs types? Types makes code ugly.
  2022-06-02 11:47 ` ldries46
@ 2022-06-02 15:02   ` Ben
  2022-06-02 22:10     ` John Perry
  0 siblings, 1 reply; 26+ messages in thread
From: Ben @ 2022-06-02 15:02 UTC (permalink / raw)


ldries46 <[email protected]> writes:

> As someone who has been programming since 1966 I used several
> different languages, Algol 60, Fortran, Basic, C/C++ and Ada, I like
> using strong types because the most ugly faults you can create are the
> ones where you by accident use different types in the input or the
> output of a formula.

The terms being using in this thread might need to tightened up a bit
because I think you are talking about strong /static/ typing.

Python is strongly typed (though exactly how "strong" is debatable) but
the checking is at run-time, so you have to rely on testing rather than
the compiler.  (I don't know enough about Python's new static type
syntax to know how strong that is, but it's optional anyway.)

Also, the OP is talking about removing all those messy types, and that's
not necessarily the same as removing type checking, either static type
checking or at run-time.  Haskell, for example, has strong static type
checking, but a lot of Haskell is written without ever using a type
because of the language's type inference mechanism.

-- 
Ben.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: who needs types? Types makes code ugly.
  2022-06-02  3:21 who needs types? Types makes code ugly Nasser M. Abbasi
                   ` (2 preceding siblings ...)
  2022-06-02 11:47 ` ldries46
@ 2022-06-02 17:28 ` Keith Thompson
  3 siblings, 0 replies; 26+ messages in thread
From: Keith Thompson @ 2022-06-02 17:28 UTC (permalink / raw)


"Nasser M. Abbasi" <[email protected]> writes:
> So Ada had it wrong all the time it seems. From
>
> https://python.land/python-tutorial
>
> ------------
> In a strongly typed language, you need to specify the exact
> type of each variable, like String, int, and float. It
> gets even uglier when objects are involved.
>
> Now let’s look at Python variables. In Python, we can do
> exactly the same without types:
>
> my_name = "Erik"
> my_age = 37
> my_salary = 1250.70
>
> As you can see, the Python variant is a lot cleaner and easier on the eyes!
> ----------------------
>
> And about possible error, they defend this by saying:
>
> --------------------------
> In addition, you’ll find out soon enough during testing
> and fix the error before the software ever goes to production.
> ---------------------------

That's just one tutorial.  It likely doesn't reflect the views of most
Python programmers.  The "python.land" site has no official connection

And for what it's worth, Python 3.5 added support for "type hints".
https://docs.python.org/3/library/typing.html

-- 
Keith Thompson (The_Other_Keith) [email protected]
Working, but not speaking, for Philips
void Void(void) { Void(); } /* The recursive call of the void */

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: who needs types? Types makes code ugly.
  2022-06-02 15:02   ` Ben
@ 2022-06-02 22:10     ` John Perry
  2022-06-03  0:02       ` Ben
  0 siblings, 1 reply; 26+ messages in thread
From: John Perry @ 2022-06-02 22:10 UTC (permalink / raw)


On Thursday, June 2, 2022 at 10:03:00 AM UTC-5, Ben wrote:
> ldries46 <[email protected]> writes: 
> 
> (I don't know enough about Python's new static type 
> syntax to know how strong that is, but it's optional anyway.) 

I think you mean "type hints"? The compiler doesn't check even when you specify the types. The typing is available for those who want to use a 3rd party tool to do "stuff" with it. See the note at the top of this page: https://docs.python.org/3/library/typing.html

   The Python runtime does not enforce function and variable type annotations.
   They can be used by third party tools such as type checkers, IDEs, linters, etc.

> Haskell, for example, has strong static type 
> checking, but a lot of Haskell is written without ever using a type 
> because of the language's type inference mechanism. 

Correct me if I'm wrong, but do you mean "without ever *specifying* a type"? Several recent languages have taken this up, including Kotlin and Rust, though you have to specify some types.

Even Ada 2022 offers it with the "renames" keyword.

regards
john perry

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: who needs types? Types makes code ugly.
  2022-06-02 22:10     ` John Perry
@ 2022-06-03  0:02       ` Ben
  2022-06-03  3:37         ` Dennis Lee Bieber
  0 siblings, 1 reply; 26+ messages in thread
From: Ben @ 2022-06-03  0:02 UTC (permalink / raw)


John Perry <[email protected]> writes:

> On Thursday, June 2, 2022 at 10:03:00 AM UTC-5, Ben wrote:
>> ldries46 <[email protected]> writes: 
>> 
>> (I don't know enough about Python's new static type 
>> syntax to know how strong that is, but it's optional anyway.) 
>
> I think you mean "type hints"? The compiler doesn't check even when
> you specify the types. The typing is available for those who want to
> use a 3rd party tool to do "stuff" with it. See the note at the top of
> this page: https://docs.python.org/3/library/typing.html

Thanks.  As I said, I haven't looked at this.

>> Haskell, for example, has strong static type 
>> checking, but a lot of Haskell is written without ever using a type 
>> because of the language's type inference mechanism. 
>
> Correct me if I'm wrong, but do you mean "without ever *specifying* a
> type"?

"Use" was not at all the right word since writing 1+2 obviously "uses"
types, but I don't mean specify either since types can be specified
simply by writing literals like "abc".  I should have said something
more technical like "without writing any type signatures".

> Several recent languages have taken this up, including Kotlin
> and Rust, though you have to specify some types.

Yes, and even C++.

> Even Ada 2022 offers it with the "renames" keyword.

I don't know much about Ada newer than about 1990.  I'll take a look...

-- 
Ben.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: who needs types? Types makes code ugly.
  2022-06-03  0:02       ` Ben
@ 2022-06-03  3:37         ` Dennis Lee Bieber
  2022-06-03 18:13           ` Ben
  0 siblings, 1 reply; 26+ messages in thread
From: Dennis Lee Bieber @ 2022-06-03  3:37 UTC (permalink / raw)


On Fri, 03 Jun 2022 01:02:27 +0100, Ben <[email protected]> declaimed
the following:
>
>I don't know much about Ada newer than about 1990.  I'll take a look...

	My condolences -- taken literally, that means you are working with
Ada-83 (ANSI/Mil-Std 1815A -- later ISO-8652:1987). The first significant
update was Ada-95 (and Air Force funded original GNAT).


-- 
	Wulfraed                 Dennis Lee Bieber         AF6VN
	[email protected]    http://wlfraed.microdiversity.freeddns.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: who needs types? Types makes code ugly.
  2022-06-03  3:37         ` Dennis Lee Bieber
@ 2022-06-03 18:13           ` Ben
  2022-06-03 18:34             ` Niklas Holsti
  0 siblings, 1 reply; 26+ messages in thread
From: Ben @ 2022-06-03 18:13 UTC (permalink / raw)


Dennis Lee Bieber <[email protected]> writes:

> On Fri, 03 Jun 2022 01:02:27 +0100, Ben <[email protected]> declaimed
> the following:
>>
>>I don't know much about Ada newer than about 1990.  I'll take a look...
>
> 	My condolences

Thank, but I'm fine.  Knowing was not intended to imply forced to use.

> -- taken literally, that means you are working with
> Ada-83 (ANSI/Mil-Std 1815A -- later ISO-8652:1987). The first significant
> update was Ada-95 (and Air Force funded original GNAT).

That was the only Ada I knew, though I knew about the updates of
course.  Couldn't find any reference to type inference though.  Is there
a good place to go for a "summary of changes" between standards?

-- 
Ben.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: who needs types? Types makes code ugly.
  2022-06-03 18:13           ` Ben
@ 2022-06-03 18:34             ` Niklas Holsti
  2022-06-03 20:27               ` John Perry
                                 ` (2 more replies)
  0 siblings, 3 replies; 26+ messages in thread
From: Niklas Holsti @ 2022-06-03 18:34 UTC (permalink / raw)


On 2022-06-03 21:13, Ben wrote:
> Dennis Lee Bieber <[email protected]> writes:
> 
>> On Fri, 03 Jun 2022 01:02:27 +0100, Ben <[email protected]> declaimed
>> the following:
>>>
>>> I don't know much about Ada newer than about 1990.  I'll take a look...
>>
>> 	My condolences
> 
> Thank, but I'm fine.  Knowing was not intended to imply forced to use.
> 
>> -- taken literally, that means you are working with
>> Ada-83 (ANSI/Mil-Std 1815A -- later ISO-8652:1987). The first significant
>> update was Ada-95 (and Air Force funded original GNAT).
> 
> That was the only Ada I knew, though I knew about the updates of
> course.  Couldn't find any reference to type inference though.


As far as I know, the only type inferencing that occur in Ada is in 
for-loops where the type of the loop parameter variable is inferred from 
the range or container over which the loop iterates.


> Is there a good place to go for a "summary of changes" between standards?


Each version of the Reference Manual has an "Introduction" chapter that 
contains a subheading "Language Changes", but those are quite terse. If 
you can find a "Rationale" document for the version in question that 
usually has much more information about the changes.

For Ada 95: 
https://www.adaic.org/resources/add_content/standards/95rat/rat95html/rat95-contents.html

For Ada 2005: https://www.adaic.org/ada-resources/standards/ada05/

For Ada 2012: http://www.ada-auth.org/standards/rationale12.html

For Ada 2022, see the Intro in the RM: 
http://www.ada-auth.org/standards/ada2x.html

For Ada 2022 I don't think there is any "Rationale" document (yet), but 
there are various summaries and introductions, for example 
https://learn.adacore.com/courses/whats-new-in-ada-2022/chapters/introduction.html

HTH!

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: who needs types? Types makes code ugly.
  2022-06-03 18:34             ` Niklas Holsti
@ 2022-06-03 20:27               ` John Perry
  2022-06-03 20:56               ` Ben
  2022-06-04  0:28               ` Randy Brukardt
  2 siblings, 0 replies; 26+ messages in thread
From: John Perry @ 2022-06-03 20:27 UTC (permalink / raw)


On Friday, June 3, 2022 at 1:34:39 PM UTC-5, Niklas Holsti wrote:
> As far as I know, the only type inferencing that occur in Ada is in 
> for-loops where the type of the loop parameter variable is inferred from 
> the range or container over which the loop iterates.

FWIW I was referring to the optional specification of type in a renames clause, which I first read about here:

   https://blog.adacore.com/ada-202x-support-in-gnat

(section "Renames with type inference").

regards
john perry

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: who needs types? Types makes code ugly.
  2022-06-03 18:34             ` Niklas Holsti
  2022-06-03 20:27               ` John Perry
@ 2022-06-03 20:56               ` Ben
  2022-06-04  0:28               ` Randy Brukardt
  2 siblings, 0 replies; 26+ messages in thread
From: Ben @ 2022-06-03 20:56 UTC (permalink / raw)


Niklas Holsti <[email protected]> writes:

> On 2022-06-03 21:13, Ben wrote:
<cut>
>> Is there a good place to go for a "summary of changes" between standards?
>
> Each version of the Reference Manual has an "Introduction" chapter that contains a subheading "Language Changes", but those are quite terse. If 
> you can find a "Rationale" document for the version in question that usually has much more information about the changes.
>
> For Ada 95: https://www.adaic.org/resources/add_content/standards/95rat/rat95html/rat95-contents.html
>
> For Ada 2005: https://www.adaic.org/ada-resources/standards/ada05/
>
> For Ada 2012: http://www.ada-auth.org/standards/rationale12.html
>
> For Ada 2022, see the Intro in the RM: http://www.ada-auth.org/standards/ada2x.html
>
> For Ada 2022 I don't think there is any "Rationale" document (yet), but there are various summaries and introductions, for example 
> https://learn.adacore.com/courses/whats-new-in-ada-2022/chapters/introduction.html

Thanks for the links.

-- 
Ben.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: who needs types? Types makes code ugly.
  2022-06-03 18:34             ` Niklas Holsti
  2022-06-03 20:27               ` John Perry
  2022-06-03 20:56               ` Ben
@ 2022-06-04  0:28               ` Randy Brukardt
  2022-06-04 12:05                 ` What's new in Ada 2022? (was: Re: who needs types? Types makes code ugly.) Dirk Craeynest
  2022-06-17 17:33                 ` who needs types? Types makes code ugly Wesley Pan
  2 siblings, 2 replies; 26+ messages in thread
From: Randy Brukardt @ 2022-06-04  0:28 UTC (permalink / raw)


"Niklas Holsti" <[email protected]> wrote in message 
news:[email protected]...
...
> Each version of the Reference Manual has an "Introduction" chapter that 
> contains a subheading "Language Changes", but those are quite terse. If 
> you can find a "Rationale" document for the version in question that 
> usually has much more information about the changes.
>
....
> For Ada 2022, see the Intro in the RM: 
> http://www.ada-auth.org/standards/ada2x.html
>
> For Ada 2022 I don't think there is any "Rationale" document (yet), but 
> there are various summaries and introductions, for example 
> https://learn.adacore.com/courses/whats-new-in-ada-2022/chapters/introduction.html

It is not likely that there will be an Ada 2022 Rationale, as no one has 
stepped up to write it or pay John Barnes write it. The closest thing we 
have is the Jeff Cousins overview, which I can't find an on-line reference 
to (or my copy, for that matter). I'll check with Jeff and hopefully get 
more information.

                                Randy.


^ permalink raw reply	[flat|nested] 26+ messages in thread

* What's new in Ada 2022? (was: Re: who needs types? Types makes code ugly.)
  2022-06-04  0:28               ` Randy Brukardt
@ 2022-06-04 12:05                 ` Dirk Craeynest
  2022-06-17 17:33                 ` who needs types? Types makes code ugly Wesley Pan
  1 sibling, 0 replies; 26+ messages in thread
From: Dirk Craeynest @ 2022-06-04 12:05 UTC (permalink / raw)


In article <[email protected]>,
Randy Brukardt <[email protected]> wrote:
>"Niklas Holsti" <[email protected]> wrote in message 
>news:[email protected]...
[...]
>> For Ada 2022, see the Intro in the RM: 
>> http://www.ada-auth.org/standards/ada2x.html
>>
>> For Ada 2022 I don't think there is any "Rationale" document (yet), but 
>> there are various summaries and introductions, for example 
[...]
>It is not likely that there will be an Ada 2022 Rationale, as no one has 
>stepped up to write it or pay John Barnes write it. The closest thing we 
>have is the Jeff Cousins overview, which I can't find an on-line reference 
>to (or my copy, for that matter). I'll check with Jeff and hopefully get 
>more information.
>                                Randy.

Two additional sources of information on Ada 2022 exist:
- the Ada User Journal;
- the new book by John Barnes.

The Ada User Journal (AUJ, http://www.ada-europe.org/auj/home) has
published several articles the last few years about the changes in
Ada 2022 (then called Ada 220x).

The latest contribution was the above mentioned overview by Jeff
Cousins.  It is available from the AUJ online archive:

  Ada User Journal, Volume 41, Number 3, September 2020
  Jeff Cousins: "An Overview of Ada 202x", pp.159-175
  http://www.ada-europe.org/archive/auj/auj-41-3-withcovers.pdf?page=43

And then there's of course the new edition of John Barnes' book:

  "Programming in Ada 2012 with a Preview of Ada 2022"
  https://www.cambridge.org/core/books/programming-in-ada-2012-with-a-preview-of-ada-2022/AD30275F35CCECB97EAB80ABC32B019C

Previews of the various sections are available on the cambridge.org
site mentioned above, such as the first page of the Preface at
https://www.cambridge.org/core/books/abs/programming-in-ada-2012-with-a-preview-of-ada-2022/preface/21277D825A1D24906949F642B4AD8BE8

That page includes:
  "[...] the main chapters describe the 2016 updated version of Ada
  2012 in detail. The book concludes with a major appendix describing
  the key new features of Ada 2022".
(2016 refers to the year of publication by ISO of the Corrigendum
which revised Ada 2012.)

I asked John Barnes about the differences between the original
"Programming in Ada 2012" and this new book, apart from the extra
appendix on Ada 2022.  He provided the following info.

  "The main changes are twofold.

  In the main body, I have updated it to cover all changes introduced
  by the 2016 corrigendum. I have corrected all known errors (there
  were quite a lot) and many cross references were wrong.

  An idea of the amount of change can be gathered by noting that the
  original version had just 6 AIs mentioned in the Index. The new
  edition mentions 55 AIs in the index.

  I also updated the text of the main body to use aspects rather than
  pragmas where relevant.

  So the body is now Ada 2016 although we don't usually talk about
  that.

  The new appendix (46 pages) covers all major features of Ada
  2022. The associated website also has things such as the full
  syntax for Ada 2022 in a style matching the book (that's another
  30 pages). Also an updated table of the facilities in containers
  (14 pages). And some worked examples using new features especially
  using the big integer packages (currently another 14 pages).

  Each chapter of the main book ends with a checklist outlining the
  new features and referring to the appropriate place in appendix 4
  where they are discussed.

  -- John Barnes, 14 May 2022, with permission"

I hope this helps.

Dirk Craeynest

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: who needs types? Types makes code ugly.
  2022-06-02  8:37   ` Dmitry A. Kazakov
  2022-06-02 10:08     ` Nasser M. Abbasi
  2022-06-02 13:22     ` Stéphane Rivière
@ 2022-06-06 23:26     ` Jerry
  2 siblings, 0 replies; 26+ messages in thread
From: Jerry @ 2022-06-06 23:26 UTC (permalink / raw)


On Thursday, June 2, 2022 at 1:37:24 AM UTC-7, Dmitry A. Kazakov wrote:

<snip>
> Programming by the emoji is the future! 
> 
> -- 
> Regards, 
> Dmitry A. Kazakov 
> http://www.dmitry-kazakov.de

Agreed. Plus, it is more important to express how you feel about your code than it is to have correct code.

Jerry

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: who needs types? Types makes code ugly.
  2022-06-04  0:28               ` Randy Brukardt
  2022-06-04 12:05                 ` What's new in Ada 2022? (was: Re: who needs types? Types makes code ugly.) Dirk Craeynest
@ 2022-06-17 17:33                 ` Wesley Pan
  2022-06-17 20:46                   ` Paul Rubin
  2022-06-18  2:06                   ` Randy Brukardt
  1 sibling, 2 replies; 26+ messages in thread
From: Wesley Pan @ 2022-06-17 17:33 UTC (permalink / raw)


On Friday, June 3, 2022 at 5:28:28 PM UTC-7, Randy Brukardt wrote:
> It is not likely that there will be an Ada 2022 Rationale, as no one has 
> stepped up to write it or pay John Barnes write it. The closest thing we 
> have is the Jeff Cousins overview, which I can't find an on-line reference 
> to (or my copy, for that matter). I'll check with Jeff and hopefully get 
> more information. 
> 
> Randy.

How much would it likely cost to pay someone to generate the Ada2022 rationale? Maybe the community can join together to help fund the work?

-Wesley

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: who needs types? Types makes code ugly.
  2022-06-17 17:33                 ` who needs types? Types makes code ugly Wesley Pan
@ 2022-06-17 20:46                   ` Paul Rubin
  2022-06-18  2:06                   ` Randy Brukardt
  1 sibling, 0 replies; 26+ messages in thread
From: Paul Rubin @ 2022-06-17 20:46 UTC (permalink / raw)


Wesley Pan <[email protected]> writes:
> How much would it likely cost to pay someone to generate the Ada2022
> rationale? Maybe the community can join together to help fund the
> work?

Compared to Ada 2012, the 2022 changes look fairly modest.  

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: who needs types? Types makes code ugly.
  2022-06-17 17:33                 ` who needs types? Types makes code ugly Wesley Pan
  2022-06-17 20:46                   ` Paul Rubin
@ 2022-06-18  2:06                   ` Randy Brukardt
  2022-06-18 10:29                     ` Dirk Craeynest
  1 sibling, 1 reply; 26+ messages in thread
From: Randy Brukardt @ 2022-06-18  2:06 UTC (permalink / raw)



"Wesley Pan" <[email protected]> wrote in message 
news:[email protected]...
> On Friday, June 3, 2022 at 5:28:28 PM UTC-7, Randy Brukardt wrote:
>> It is not likely that there will be an Ada 2022 Rationale, as no one has
>> stepped up to write it or pay John Barnes write it. The closest thing we
>> have is the Jeff Cousins overview, which I can't find an on-line 
>> reference
>> to (or my copy, for that matter). I'll check with Jeff and hopefully get
>> more information.
>>
>> Randy.
>
> How much would it likely cost to pay someone to generate the Ada2022 
> rationale? Maybe the community can join together to help fund the work?

Dunno, you'd have to ask John.

I did get a copy of Jeff Cousin's overview that I'll put up on Ada-Auth.org 
when I get time (probably not until next month).

                        Randy.


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: who needs types? Types makes code ugly.
  2022-06-18  2:06                   ` Randy Brukardt
@ 2022-06-18 10:29                     ` Dirk Craeynest
  2022-06-18 22:16                       ` Paul Rubin
  2022-06-20 21:40                       ` Randy Brukardt
  0 siblings, 2 replies; 26+ messages in thread
From: Dirk Craeynest @ 2022-06-18 10:29 UTC (permalink / raw)


>> On Friday, June 3, 2022 at 5:28:28 PM UTC-7, Randy Brukardt wrote:
>>> It is not likely that there will be an Ada 2022 Rationale, as no one
>>> has stepped up to write it or pay John Barnes write it. The closest
>>> thing we have is the Jeff Cousins overview, which I can't find an
>>> on-line  reference to (or my copy, for that matter). I'll check with
>>> Jeff and hopefully get more information.

>"Wesley Pan" <[email protected]> wrote [...]:
>> How much would it likely cost to pay someone to generate the Ada2022 
>> rationale? Maybe the community can join together to help fund the work?

In article <[email protected]>,
Randy Brukardt <[email protected]> wrote:
>
> Dunno, you'd have to ask John.
>
> I did get a copy of Jeff Cousin's overview that I'll put up on
> Ada-Auth.org when I get time (probably not until next month).

See my follow-up to Randy's June 3 posting quoted above, that I
posted on 4 Jun in this newsgroup with subject "What's new in Ada
2022?" (copied below).

Executive summary:

- John Barnes wrote a 46 page overview on what's new in Ada 2022;
  it is available as a new appendix in his latest book "Programming
  in Ada 2012 with a Preview of Ada 2022";

- Jeff Cousin's overview was published in the Ada User Journal (AUJ),
  and is already available in the online AUJ archive.

Recent addition:

Earlier this week, Tucker Taft presented a very interesting half-day
tutorial "Moving up to Ada 2022" at the 26th Ada-Europe International
Conference on Reliable Software Technologies (AEiC 2022), held in
Ghent, Belgium.  The event was announced in this newsgroup and via
various mailing lists and social platforms.  Tutorial participants
got a nice overview of what's new in Ada 2022 and practical examples
of how to use the new features.
(http://www.ada-europe.org/conference2022/tutorials.html#T1).

To conclude, I repeat below my earlier posting with more information
on, and pointers to, John's and Jeff's contributions:

From: [email protected]. (Dirk Craeynest)
Newsgroups: comp.lang.ada
Subject: What's new in Ada 2022? (was: Re: who needs types? Types makes code ugly.)
Date: Sat, 4 Jun 2022 12:05:55 -0000 (UTC)
Organization: Ada-Belgium, c/o Dept. of Computer Science, KU Leuven
Summary: See contributions in Ada User Journal or new book by John Barnes

In article <[email protected]>,
Randy Brukardt <[email protected]> wrote:
>"Niklas Holsti" <[email protected]> wrote in message 
>news:[email protected]...
[...]
>> For Ada 2022, see the Intro in the RM: 
>> http://www.ada-auth.org/standards/ada2x.html
>>
>> For Ada 2022 I don't think there is any "Rationale" document (yet), but 
>> there are various summaries and introductions, for example 
[...]
>It is not likely that there will be an Ada 2022 Rationale, as no one has 
>stepped up to write it or pay John Barnes write it. The closest thing we 
>have is the Jeff Cousins overview, which I can't find an on-line reference 
>to (or my copy, for that matter). I'll check with Jeff and hopefully get 
>more information.
>                                Randy.

Two additional sources of information on Ada 2022 exist:
- the Ada User Journal;
- the new book by John Barnes.

The Ada User Journal (AUJ, http://www.ada-europe.org/auj/home) has
published several articles the last few years about the changes in
Ada 2022 (then called Ada 220x).

The latest contribution was the above mentioned overview by Jeff
Cousins.  It is available from the AUJ online archive:

  Ada User Journal, Volume 41, Number 3, September 2020
  Jeff Cousins: "An Overview of Ada 202x", pp.159-175
  http://www.ada-europe.org/archive/auj/auj-41-3-withcovers.pdf?page=43

And then there's of course the new edition of John Barnes' book:

  "Programming in Ada 2012 with a Preview of Ada 2022"
  https://www.cambridge.org/core/books/programming-in-ada-2012-with-a-preview-of-ada-2022/AD30275F35CCECB97EAB80ABC32B019C

Previews of the various sections are available on the cambridge.org
site mentioned above, such as the first page of the Preface at
https://www.cambridge.org/core/books/abs/programming-in-ada-2012-with-a-preview-of-ada-2022/preface/21277D825A1D24906949F642B4AD8BE8

That page includes:
  "[...] the main chapters describe the 2016 updated version of Ada
  2012 in detail. The book concludes with a major appendix describing
  the key new features of Ada 2022".
(2016 refers to the year of publication by ISO of the Corrigendum
which revised Ada 2012.)

I asked John Barnes about the differences between the original
"Programming in Ada 2012" and this new book, apart from the extra
appendix on Ada 2022.  He provided the following info.

  "The main changes are twofold.

  In the main body, I have updated it to cover all changes introduced
  by the 2016 corrigendum. I have corrected all known errors (there
  were quite a lot) and many cross references were wrong.

  An idea of the amount of change can be gathered by noting that the
  original version had just 6 AIs mentioned in the Index. The new
  edition mentions 55 AIs in the index.

  I also updated the text of the main body to use aspects rather than
  pragmas where relevant.

  So the body is now Ada 2016 although we don't usually talk about
  that.

  The new appendix (46 pages) covers all major features of Ada
  2022. The associated website also has things such as the full
  syntax for Ada 2022 in a style matching the book (that's another
  30 pages). Also an updated table of the facilities in containers
  (14 pages). And some worked examples using new features especially
  using the big integer packages (currently another 14 pages).

  Each chapter of the main book ends with a checklist outlining the
  new features and referring to the appropriate place in appendix 4
  where they are discussed.

  -- John Barnes, 14 May 2022, with permission"

I hope this helps.

Dirk Craeynest

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: who needs types? Types makes code ugly.
  2022-06-18 10:29                     ` Dirk Craeynest
@ 2022-06-18 22:16                       ` Paul Rubin
  2022-06-20 21:40                       ` Randy Brukardt
  1 sibling, 0 replies; 26+ messages in thread
From: Paul Rubin @ 2022-06-18 22:16 UTC (permalink / raw)


[email protected]. (Dirk Craeynest) writes:
> To conclude, I repeat below my earlier posting with more information
> on, and pointers to, John's and Jeff's contributions: ...
> I hope this helps.

Yes, thanks, those references are useful for understanding the changes
introduced in Ada 2022.  I had thought the idea of a formal rationale
was different: not just to explain the changes, but also to explain from
an authoritative standpoint why the decisions were made.  I don't know
how important rationales traditionally been in the Ada world.  But, Ada
2012 introduced a much larger set of changes than Ada 2022 did.  So I
can understand if a rationale was more important in 2012 than in 2022.

I guess if higher-end Ada community thought that a 2022 rationale was
necessary, they would have required it and funded it.  As a
not-so-serious user or wannabe user, I don't think I need it, but that's
just me.

I do notice long after reading "Ada Distilled" that most of the
discussions on this group about technical aspects of Ada still baffle
me.  So I think a more advanced online tutorial would do some good.  I
believe the current Ada Wikibook is nice for beginners but doesn't cover
more advanced topics all that well.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: who needs types? Types makes code ugly.
  2022-06-18 10:29                     ` Dirk Craeynest
  2022-06-18 22:16                       ` Paul Rubin
@ 2022-06-20 21:40                       ` Randy Brukardt
  1 sibling, 0 replies; 26+ messages in thread
From: Randy Brukardt @ 2022-06-20 21:40 UTC (permalink / raw)


"Dirk Craeynest" <[email protected].> wrote in message 
news:[email protected]...
>>> On Friday, June 3, 2022 at 5:28:28 PM UTC-7, Randy Brukardt wrote:
>>>> It is not likely that there will be an Ada 2022 Rationale, as no one
>>>> has stepped up to write it or pay John Barnes write it. The closest
>>>> thing we have is the Jeff Cousins overview, which I can't find an
>>>> on-line  reference to (or my copy, for that matter). I'll check with
>>>> Jeff and hopefully get more information.
>
 In article <[email protected]>,
> Randy Brukardt <[email protected]> wrote:
...
>> I did get a copy of Jeff Cousin's overview that I'll put up on
>> Ada-Auth.org when I get time (probably not until next month).
>
> See my follow-up to Randy's June 3 posting quoted above, that I
> posted on 4 Jun in this newsgroup with subject "What's new in Ada
> 2022?" (copied below).
...
> - John Barnes wrote a 46 page overview on what's new in Ada 2022;
>  it is available as a new appendix in his latest book "Programming
>  in Ada 2012 with a Preview of Ada 2022";
>
> - Jeff Cousin's overview was published in the Ada User Journal (AUJ),
>  and is already available in the online AUJ archive.

Correct. The version of Jeff's overview I have is quite a bit newer than the 
version from the AUJ, and has many errors corrected. So I would suggest 
reading that version rather than the original AUJ version (but of course, 
only once I can get it posted).

                                                   Randy.


^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2022-06-20 21:40 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-02  3:21 who needs types? Types makes code ugly Nasser M. Abbasi
2022-06-02  8:00 ` Doctor Who
2022-06-02  8:37   ` Dmitry A. Kazakov
2022-06-02 10:08     ` Nasser M. Abbasi
2022-06-02 10:39       ` Dmitry A. Kazakov
2022-06-02 13:22     ` Stéphane Rivière
2022-06-06 23:26     ` Jerry
2022-06-02 10:47 ` Jeffrey R.Carter
2022-06-02 11:47 ` ldries46
2022-06-02 15:02   ` Ben
2022-06-02 22:10     ` John Perry
2022-06-03  0:02       ` Ben
2022-06-03  3:37         ` Dennis Lee Bieber
2022-06-03 18:13           ` Ben
2022-06-03 18:34             ` Niklas Holsti
2022-06-03 20:27               ` John Perry
2022-06-03 20:56               ` Ben
2022-06-04  0:28               ` Randy Brukardt
2022-06-04 12:05                 ` What's new in Ada 2022? (was: Re: who needs types? Types makes code ugly.) Dirk Craeynest
2022-06-17 17:33                 ` who needs types? Types makes code ugly Wesley Pan
2022-06-17 20:46                   ` Paul Rubin
2022-06-18  2:06                   ` Randy Brukardt
2022-06-18 10:29                     ` Dirk Craeynest
2022-06-18 22:16                       ` Paul Rubin
2022-06-20 21:40                       ` Randy Brukardt
2022-06-02 17:28 ` Keith Thompson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox