From: Brian I. <in...@tt...> - 2001-08-06 12:47:26
|
NOTE: This is a repost from a few days ago. My mailer was having problems. I can't find the starting thread on this so I'll start a new one. Adding meta-information to each each YAML node is ludicrous. It could only be suggested by someone who has no experience with scripting languages like Perl, Python, PHP, Tcl, JavaScript, Ruby, etc which all use a similar interal data model consisting of maps, lists and scalars, where scalars are strings, ints and floats. These structures come for free. They don't need to be defined and allocated/constructed in an explicit manner. YAML must be able to represent these natively without any extra work. Java, C++, C# are different animals. They require strongly typed data structures and would make use of the the formal API-s. While this type of control is potentially useful in scripting languages as well, it would not be the norm. The norm would be the two method serialize/deserialize API. Attaching extra mandatory cruft to YAML will cripple it for scripting languages, and believe me, that will be the demise of YAML. YAML is currently tuned to the map/list/scalar data model. The only place it is reasonably possible to attach attribute/meta information is on maps. And even there it will complicate the user experience. Another point. Every one of the aforementioned languages has strings, ints, and floats as native data types. These must be easily serialized and round-trippable without extra attributes. The Python people pointed this out to me. This is easily accomplished using my suggested syntax. This is a separate issue from dates, times and phone numbers which generally are not native in any language, AFAIK. Cheers, Brian |