comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: protobuff for Ada
Date: Mon, 31 Dec 2018 18:59:35 +0100
Date: 2018-12-31T18:59:35+01:00	[thread overview]
Message-ID: <q0dle7$mn2$1@gioia.aioe.org> (raw)
In-Reply-To: 71d4373a-d8f7-448e-90cf-ea700c783030@googlegroups.com

On 2018-12-31 17:55, Olivier Henley wrote:
> Interesting. I do not grasp the problem in full though...
> 
> When you say "Sorry to disappoint you in this festive time", do you mean trying a solution from ASN.1 or only trying at Protobuff?

Both. They are useless, up to harmful.

> I think I get why a Protobuff could not cover "complete" transfer of Ada types around, but how does other languages do? (Almost everyone has it) Some of these languages have relatively "complex" type system..?

The very concept of a data definition/description language (DDL) is 
wrong as I tried to explain. It has a very long and sad history in 
process automation, control, communication (e.g. CORBA), databases (e.g. 
SQL). Almost everybody and everyone tried it and failed. There are 
countless protocol describing "languages" around in process automation. 
I fought with them for decades, wrote several compilers for this mess. 
One could save huge amount of money and time if there were a law to 
punish people introducing this stuff... (:-))

> How do they achieve it? They express any complex types with a limited subset of primitive types(string, int32, etc)?

You cannot express a type in a DDL. Data /= Type. Type = data + 
operations. If you want to express complex typed objects you lose before 
you start with a DDL. You throw all type semantics overboard.

*If* you are OK without semantics then there is no need to introduce 
this mess. Use Ada stream attributes and simply read and write what you 
want and how you want. It is clean, easy, fast and 100% Ada.

> Can you give a more pragmatic example that exemplifies the limitations in Ada?

Any limitations Ada might have are unrelated to the issue of language 
impedance: DDL vs Ada unless you make DDL embedded like embedded SQL, 
which does not work either.

I believe AdaCore has a product of the sort. Though I don't think that 
would be much better, but I would rather trust them than anybody else...

Happy New Year!

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

  reply	other threads:[~2018-12-31 17:59 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-28 18:57 protobuff for Ada Per Sandberg
2018-12-29  5:53 ` Shark8
2018-12-29 11:05   ` Dmitry A. Kazakov
2018-12-31 16:55     ` Olivier Henley
2018-12-31 17:59       ` Dmitry A. Kazakov [this message]
2019-01-01 14:56         ` Olivier Henley
2019-01-02  6:57         ` G. B.
2019-01-02 10:02           ` Dmitry A. Kazakov
2019-01-01  8:05     ` Per Sandberg
2019-01-01 15:04       ` Olivier Henley
2018-12-29 13:01 ` joakimds
2018-12-29 14:52   ` Per Sandberg
2018-12-30  0:27     ` joakimds
2018-12-30  0:28     ` joakimds
2018-12-30  6:21       ` Per Sandberg
replies disabled

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