3 ms·
HASH sounds pretty cool though. Also is "marshalling" JSON really a term that people use instead of deserializing?
by sushsjsuauahab 5y ago
HASH sounds pretty cool though. Also is "marshalling" JSON really a term that people use instead of deserializing?
- snoman 5y agoC++/COM used the term marshalling a lot if I recall.
- iampims 5y agoMarshaling is serializing.
- sushsjsuauahab 5y agoBased on a Google search of the term, it seems that Go uses that terminology, but others might not...
- iampims 5y ago> In computer science, marshalling or marshaling (US spelling) is the process of transforming the memory representation of an object into a data format suitable for storage or transmission https://en.m.wikipedia.org/wiki/Marshalling_(computer_science) https://en.m.wikipedia.org/wiki/Marshalling_(computer_scienc...
- omnicognate 5y agoImmediately followed by > Marshalling can be somewhat similar or synonymous to serialization. Marshalling is describing an intent or process to transfer some object from a client to server, intent is to have the same object that is present in one running program, to be present in another running program, i.e. object on a client to be transferred to and present on the server. Serialization does not necessarily have this intent since it is only concerned about transforming data into a, for example, stream of bytes. One could say that marshalling might be done in some other way from serialization, but some form of serialization is usually used.[1] I'm most familiar with the term "marshaling" from COM, where it is quite distinct from serialization.
- sodapopcan 5y agoPython calls it "pickling"[0] which is also pretty cool. While others have already given examples re "marshalling" I'll go ahead and add one to the pile: Ruby also uses this term[1]. However, in my ~10 years of working with Rub daily, I have never Marshalled anything, nor have I known anyone who has. On the contrary, the few pythonists I talk to on the regular seem to be pickling all the time. ...but I seem to be maybe getting off track here. [0] https://docs.python.org/3/library/pickle.html https://docs.python.org/3/library/pickle.html [1] https://ruby-doc.org/core-2.6.3/Marshal.html https://ruby-doc.org/core-2.6.3/Marshal.html
- kuang_eleven 5y agoTypically, one wouldn't use the term 'pickling' for JSON however, it's usually used for a more general serialization process. Most of the time I just hear people talk about 'loading' and 'dumping' JSON, also from the Python JSON library.
- quietbritishjim 5y agoPickling is just one specific type of marshalling, so the terms are not equivalent. I'm not familiar with Ruby, but from your link it's clear that the Marshal library is also for one specific marshaling format. By the way, pickling is great for transmitting data at runtime between processes that you own, because it can marshal almost any Python object and it's very fast. But it's bad at storing data (on disk or in a database) because it can execute arbitrary code and the format of the objects can change between package releases. That's quite different from marshaling as JSON, which is a very stable format supporting a deliberately restricted set of types.
- sodapopcan 5y agoYou're right—my bad.
- matsemann 5y agoIn Java-land, marshalling is used in xml libraries, and serializing in json libraries. Wonder why they ended up differently.
- stuchl4n3k 5y agoThe term is quite commonly used in Java world for serialization, mainly DTOs (e.g. JAXB).