logoalt Hacker News

mrbnprcktoday at 3:33 PM1 replyview on HN

I remnber that ASN.1 does sth similar. You'd give a ASN.1 notation to a language generator (aka producing C) and not have to worry about parsing the actual structure anymore!


Replies

IshKebabtoday at 6:02 PM

Literally every schema-based serialisation format does this. ASN.1 is a pretty terrible option.

The best system for this I've ever used was Thrift, which properly abstracts data formats, transports and so on.

https://thrift.apache.org/docs/Languages.html

Unfortunately Thrift is a dead (AKA "Apache") project and it doesn't seem like anyone since has tried to do this. It probably didn't help that there are so many gaps in that support matrix. I think "Google have made a thing! Let's blindly use it!" also helped contribute to its downfall, despite Thrift being better than Protobuf (it even supports required fields!).

Actually I just took a look at the Thrift repo and there are a surprising number of commits from a couple of people consistently, so maybe it's not quite as dead as I thought. You never hear about people picking it for new projects though.

show 2 replies