Talk:Comparison of data-serialization formats: Difference between revisions

Content deleted Content added
Dun Nic (talk | contribs)
Zzo38 (talk | contribs)
No edit summary
 
(11 intermediate revisions by 8 users not shown)
Line 1:
{{WikiProject Computing |class=List}}
{{oldafdfull|page=Criticism of XML|date=6 August 2009|result='''Move''' to [[Comparison of data serialization formats]]}}
{{WikiProject banner shell|class=List|
{{WikiProject Computing |class=List}}
}}
 
==Reason for this article==
Line 20 ⟶ 22:
 
I second the inclusion of XDR [[User:Jann.poppinga|Jann.poppinga]] ([[User talk:Jann.poppinga|talk]]) 10:57, 19 March 2010 (UTC)
 
Shouldn't Boost Serialization be included here? <!-- Template:Unsigned IP --><small class="autosigned">—&nbsp;Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/98.171.183.235|98.171.183.235]] ([[User talk:98.171.183.235#top|talk]]) 00:54, 25 October 2022 (UTC)</small> <!--Autosigned by SineBot-->
 
== This section is in the wrong place ==
Line 226 ⟶ 230:
 
Have a nice day :) [[User:Dun Nic|Dun Nic]] ([[User talk:Dun Nic|talk]]) 19:22, 14 October 2022 (UTC)
 
== Additional characteristics for comparison ==
 
Hi, I' missing a key characteristic (at least, it's key to me).
 
Lacking a better name for it, we can refer to it as '''streaming'''. A data serialization format supporting streaming would mean that it supports a '''unlimited''' amount of '''items in one''' data '''stream'''.
 
For instance:
 
* [[CSV]] supports one item per line.
* [[Log file]]s support one item per line.
* [[YAML]] supports multiple "documents".
* [[Multipart/form-data]] supports many "parts" and even of different MIME types.
* [[JSON]] on the other hand, does not allow concatenation of multiple documents.
* The same goes for [[XML]], it demands only one root node (closed).
 
Have a nice day :) [[User:Dun Nic|Dun Nic]] ([[User talk:Dun Nic|talk]]) 19:39, 14 October 2022 (UTC)
 
:Yes, we should add a stramable field. It can be argued though that JSON is partially streamable, as there is no rule against sending multiple objects in one document.
:I propose:
:- Streambale: Yes. This means it is explictly designed for streaming or live-appendation, such as CSV and log files.
:- Streamable: Somewhat. This means it was not designed for it but it has methods to stream it. (Such as making a file/stream an implicit array of JSON objects).
:- Streamable: No. Formats which cannot be streamed, such as XML it would inherntly violate the structure. [[User:Tryoxiss|Tryoxiss]] ([[User talk:Tryoxiss|talk]]) 00:59, 7 December 2023 (UTC)
 
== Missing RDF ==
 
[[RDF]] seems legit to me :) [[User:Dun Nic|Dun Nic]] ([[User talk:Dun Nic|talk]]) 19:39, 14 October 2022 (UTC)
 
== PostScript binary format ==
 
There is also the [[PostScript]] binary format. It has the advantage that you might not need to parse all of the data to find something; each part contains the address of the sub-parts. However, it also has disadvantages such as lack of 64-bit integers, and strings cannot exceed 64K. --[[User:Zzo38|Zzo38]] ([[User talk:Zzo38|talk]]) 01:34, 6 April 2024 (UTC)
 
:Postscript is a programming language, not a serialization format. [[Special:Contributions/83.84.234.140|83.84.234.140]] ([[User talk:83.84.234.140|talk]]) 10:56, 18 May 2024 (UTC)
 
::This is true, but there is the PostScript binary serialization format, which is a subset of PostScript like JSON is a subset of JavaScript. (The PostScript binary serialization is a perfectly valid PostScript code. PostScript has the unusual feature of being a programming language that can be written in text but also has binary forms for many tokens and allows them to be mixed together in the same program.) --[[User:Zzo38|Zzo38]] ([[User talk:Zzo38|talk]]) 05:49, 31 December 2024 (UTC)
 
== Very difficult to read ==
 
I'm viewing this on an average-sized monitor using Chrome and it's very very difficult to "read" these tables as I can only see half of the table. I have to scroll down to the bottom of the table, where I find a horizontal scroll bar, move it along, then go up but then I can't see what on earth I'm looking at because I've lost the LHS. It's basically unviewable. What madness is this? [[Special:Contributions/2A02:C7C:5C4A:6900:18D1:DEE:D5D5:4EB1|2A02:C7C:5C4A:6900:18D1:DEE:D5D5:4EB1]] ([[User talk:2A02:C7C:5C4A:6900:18D1:DEE:D5D5:4EB1|talk]]) 12:10, 26 August 2024 (UTC)
 
== Data type comparison ==
 
I think it would be worth to compare what data types are available. Some such types are:
* Null
* Boolean
* Integers: Some will limit the number of bits and some have no maximum.
* Floating point
* Bit strings
* Byte strings
* Character strings: There is also consideration of character sets. For example, some formats are limited to Unicode, while others allow other character sets. (Some formats have no character string type separate from the byte string type.)
* Date/time types
* Sequence
* Key/value list
* Unordered set or multiset
* Object identifier
* References to other nodes
* User-defined types
* Other types which do not match the above
--[[User:Zzo38|Zzo38]] ([[User talk:Zzo38|talk]]) 05:47, 31 December 2024 (UTC)