comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <bauhaus@futureapps.invalid>
Subject: Re: ANN: Introducing AdaBase - Thick database bindings for Ada
Date: Sat, 21 May 2016 12:37:59 +0200
Date: 2016-05-21T12:37:59+02:00	[thread overview]
Message-ID: <nhpdjj$9uk$1@dont-email.me> (raw)
In-Reply-To: <55c5001b-af4e-400c-a4fc-86a44d057932@googlegroups.com>

On 21.05.16 09:01, jrmarino wrote:

> I seriously doubt anyone beyond beginner would have the slighly issue understanding the code or understanding the purpose of the variables or types based on the names.  I'll give you the style could be more uniform, and I'll give you I had no idea of the level of anal-retentiveness about things, but I will not concede that the quality or readability of the actual code is affected.  It seems this situation is the equivalent of moving Rafael Nadal's water bottles out of their perfect alignment before he serves -- something that shouldn't make a bit of differences but is crippling to somebody with OCD. :)

Some less subjective issues to consider.

- Pattern recognition: a human's capability to recognize some
arrangement of visible items is so well developed that deviations
of any kind can lead to rejection even when differences are
minor. Worse, even when rejection actually means a failure to
recognize that the thing seen is just right, structurally. In a sense:
false negatives resulting from minor pattern deviations.

- Expectations: anyone beyond beginner might have grown expectations
that he or she will find met by much software. Using any programming
language. These typically create some group pressure on authors to
(somewhat) conform in order for their work to be more welcome, pompous
and condescending as this might be. The mechanism works, statistically.
Solution below.

- Crowd addressed: All of C#, Swift, Java, Scala, Haskell, ...
use letter case and underscores in ways that make software "usual",
stylistically, even when grammatically it does not matter:
a piece of software typically needs to be "properly dressed"
to make a first impression. You know how important first impressions
are. Write an Objective-C class using Ada underscores, or
K&R C style for method names, and you're out for these reasons.
Even when the compiled structure is in line with the structure
of the system for which is was written.

- Precedent (+/-): There were two Ada bindings for OS/2. One did use
IBM's names, the other tore them apart using Ada underscores and turned
IBM's two-letter prefixes into package names, IIRC. Apparently,
some readers found it difficult to (pattern-)recognize the original
names after Ada-ification.  Which brings me to:

- Existing names: Typical database stuff names that are already known
by readers. So, whenever two things in are written in different
programming languages' names (e.g., original, binding) to denote the
same thing, then the names should perhaps be the very same, including
letter case (in a thin binding).


A tutorial example using RM style could render the issue less
controversial, and less in need of body-part psychological reference.
(Is a public Ada interface style and private body style is
useful as a means to match any author's working habits? It seems to
work outside Ada.)

I like fully spelled names in public interfaces, also types in
preference to names, particularly to composite names. Just had to
type and type again those varied names used for Base 64 Encoding
functions, while using three programming languages. Python's
incarnation ends the package name with "64", and starts method
names with "b64", "b32", and so on. Logical? Yes. Usable?
Not near the end of a workday. For me, monotonous uniformity of
naming makes focusing job matters easier.


-- 
"HOTDOGS ARE NOT BOOKMARKS"
Springfield Elementary teaching staff

  reply	other threads:[~2016-05-21 10:37 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-13 20:37 ANN: Introducing AdaBase - Thick database bindings for Ada jrmarino
2016-05-13 21:44 ` Per Sandberg
2016-05-13 23:37   ` Randy Brukardt
2016-05-14  6:59     ` gautier_niouzes
2016-05-16 20:06       ` Randy Brukardt
2016-05-17  7:35         ` gautier_niouzes
2016-05-17  9:38           ` G.B.
2016-05-17 23:29             ` Randy Brukardt
2016-05-29  3:45     ` David Botton
2016-05-14  6:22 ` Dmitry A. Kazakov
2016-05-14 10:41   ` jrmarino
2016-05-14 11:31     ` Björn Lundin
2016-05-14 17:11     ` Jeffrey R. Carter
2016-05-14 12:22 ` AdaMagica
2016-05-14 13:27   ` Georg Bauhaus
2016-05-14 13:50     ` Dmitry A. Kazakov
2016-05-15 13:59     ` Shark8
2016-05-15 17:03       ` Björn Lundin
2016-05-19 15:50         ` Shark8
2016-05-15 14:23     ` AdaMagica
2016-05-15 19:38       ` jrmarino
2016-05-16 19:45 ` Olivier Henley
2016-05-18 17:13 ` Anh Vo
2016-05-19  8:16   ` jrmarino
2016-05-20 15:18 ` Martin
2016-05-20 17:44   ` jrmarino
2016-05-20 20:36     ` Jeffrey R. Carter
2016-05-20 23:44       ` jrmarino
2016-05-21  1:12         ` Jeffrey R. Carter
2016-05-21  7:01           ` jrmarino
2016-05-21 10:37             ` Georg Bauhaus [this message]
2016-05-21 17:49             ` Jeffrey R. Carter
2016-05-21 18:14               ` jrmarino
2016-05-21  5:11         ` J-P. Rosen
2016-05-21  6:43           ` jrmarino
2016-05-21 11:09             ` J-P. Rosen
2016-05-21 16:54 ` jrmarino
2016-05-21 18:20   ` Jeffrey R. Carter
2016-05-21 18:44     ` jrmarino
2016-05-22 21:35       ` Martin
2016-05-23  0:33         ` brbarkstrom
2016-05-23 11:40           ` Martin
2016-05-23 12:46             ` AdaMagica
2016-05-23 22:03               ` Martin
2016-05-24  7:28                 ` jrmarino
2016-05-24  9:09                   ` J-P. Rosen
2016-05-24 15:27                   ` Simon Wright
2016-05-23 20:28             ` Jeffrey R. Carter
2016-05-22 15:06 ` brbarkstrom
2016-05-24 10:16 ` Graham Stark
2016-05-26 22:59 ` jrmarino
2016-05-30  9:19 ` karsar
replies disabled

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