comp.lang.ada
 help / color / mirror / Atom feed
From: "Jeffrey R. Carter" <spam.jrcarter.not@spam.not.acm.org>
Subject: Re: Ada syntax questions
Date: Fri, 18 Dec 2020 09:26:39 +0100	[thread overview]
Message-ID: <rrhp3v$lsf$1@dont-email.me> (raw)
In-Reply-To: <5fdbde31$0$6455$426a74cc@news.free.fr>

On 12/17/20 11:39 PM, DrPi wrote:
> 
> 1) What about array indexing ?
> In some other languages, arrays are indexed using square brackets. In Ada, 
> parentheses are used for function calls and for array indexing.
> In the code "status := NewStatus(some_var);", you can't tell if NewStatus is a 
> function or an array.

The requirements for the language included a restricted set of characters for 
source code that did not include brackets. So that is the primary reason 
parentheses are used.

However, both arrays and functions are often used as maps, and so an 
after-the-fact rationalization is that using the same syntax for both array 
indexing and function calls makes it easy to switch between the two.

> 2) In Ada, a function without arguments is called without any parentheses.
> In the code "status := NewStatus;", you can't tell if NewStatus is a function or 
> a variable.

That's because Newstatus is a terrible name. If you'd used New_Status there 
would be no confusion.

Seriously: Ada 80 required empty parentheses for a subprogram call with no 
explicit parameters. During the review process that resulted in Ada 83, these 
were universally reviled and so were eliminated.

-- 
Jeff Carter
"I didn't squawk about the steak, dear. I
merely said I didn't see that old horse
that used to be tethered outside here."
Never Give a Sucker an Even Break
103

  parent reply	other threads:[~2020-12-18  8:26 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-17 22:39 Ada syntax questions DrPi
2020-12-17 23:18 ` Gabriele Galeotti
2020-12-18  8:26 ` Jeffrey R. Carter [this message]
2020-12-18  9:18 ` Dmitry A. Kazakov
2020-12-18 16:55 ` Mart van de Wege
2020-12-18 17:38 ` Björn Lundin
2020-12-18 19:35 ` Niklas Holsti
2020-12-20 21:59   ` Keith Thompson
2020-12-22  1:04     ` Randy Brukardt
2020-12-22  8:00       ` Dmitry A. Kazakov
2020-12-23  1:23         ` Randy Brukardt
2020-12-23  8:59           ` Dmitry A. Kazakov
2020-12-24  4:06             ` Randy Brukardt
2020-12-24  9:37               ` Dmitry A. Kazakov
2020-12-22 13:48       ` AdaMagica
2020-12-20 21:59   ` Keith Thompson
2020-12-21  8:08     ` Dmitry A. Kazakov
2020-12-18 23:09 ` Stephen Leake
2020-12-19 11:50   ` DrPi
2020-12-19 12:40     ` Dmitry A. Kazakov
2020-12-19 17:13       ` Andreas ZEURCHER
2020-12-19 17:49         ` Dmitry A. Kazakov
2020-12-19 18:40           ` Andreas ZEURCHER
2020-12-19 19:37             ` Dmitry A. Kazakov
2020-12-19 22:11               ` Andreas ZEURCHER
2020-12-20  8:47                 ` Dmitry A. Kazakov
2020-12-20 16:53                   ` Andreas ZEURCHER
2020-12-22  0:58                     ` Randy Brukardt
2020-12-22  2:39                       ` Andreas ZEURCHER
2020-12-22 10:05                     ` Stéphane Rivière
2020-12-25  9:34                     ` G.B.
2020-12-19 17:01     ` AdaMagica
2020-12-19 21:51     ` Stephen Leake
2020-12-19 22:20       ` Andreas ZEURCHER
2020-12-20 14:10       ` DrPi
replies disabled

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