comp.lang.ada
 help / color / mirror / Atom feed
From: Gabriele Galeotti <gabriele.galeotti.xyz@gmail.com>
Subject: Re: Ada syntax questions
Date: Thu, 17 Dec 2020 15:18:34 -0800 (PST)	[thread overview]
Message-ID: <35386f4e-74d7-4dfa-832b-13b631514a9en@googlegroups.com> (raw)
In-Reply-To: <5fdbde31$0$6455$426a74cc@news.free.fr>

On Thursday, December 17, 2020 at 11:39:47 PM UTC+1, DrPi wrote:
> Hi, 
> 
> Ada claims to have a better syntax than other languages. 
> I'm fine with with, but... 
> 
> 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. 
> 
> 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. 
> 
> 
> For my knowledge, are there good reasons for these syntaxes ? 
> 
> Nicolas

1)
This allows you to replace your array with a function with the same name,
which takes the subscript as an argument and returns a value, without touching your client code.
Think about an expensive lookup table -vs- a simple function which computes your data.
Do not see this as an ambiguity but rather a nice uniformity of calling something for a value.

2)
Nearly the same, but in another context and without an argument.
"NewStatus" could be, e.g., a constant, as long as types match.

G

  reply	other threads:[~2020-12-17 23:18 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 [this message]
2020-12-18  8:26 ` Jeffrey R. Carter
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