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
next prev parent 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