"The problem here is that when you’re building infrastructure you’re usually using a statically-typed language, which will have a severe impedance mismatch with JSON’s happy-go-lucky attitude: the structure of the data is the structure given by the characters in the JSON text, which is definitely neither known nor deducible at compile time."
As an old school network protocol geek, I find laments such as this article inexplicable. Message handling is a variant of good old parsing. The only difference between it and the first couple of weeks of your compilers class is that you want message parsing to be fast (the term of art is 'wire speed') and you don't really care what the error is, if there is one.
Usually, all that means you only look at the parts of the message you need to, and if something is wrong you drop it right there. The more magic in the way, the worse off you are.
As an old school network protocol geek, I find laments such as this article inexplicable. Message handling is a variant of good old parsing. The only difference between it and the first couple of weeks of your compilers class is that you want message parsing to be fast (the term of art is 'wire speed') and you don't really care what the error is, if there is one.
Usually, all that means you only look at the parts of the message you need to, and if something is wrong you drop it right there. The more magic in the way, the worse off you are.