The Artima Developer Community
Sponsored Link

Weblogs Forum
Version Control is Undo

83 replies on 6 pages. Most recent reply: Jan 27, 2009 4:17 AM by Dhruva Krishnamurthy

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 83 replies on 6 pages [ « | 1 ... 3 4 5 6 ]
Wolfgang Lipp

Posts: 17
Nickname: wolf2005
Registered: Sep, 2005

Re: Version Control is Undo Posted: Dec 29, 2008 6:40 AM
Reply to this message Reply
Advertisement
wow now that i’ve actually skimmed over the other posts i must say this discussion has gone haywire. it started out with a discussion of version control, but has turned into a little xml war.

i’ll say, for all that xml has done good, it is still 80% B.S.---things you don’t need, things you don’t want, and things you can hardly use. the single most important thing in IT is data, the second important thing is the structure of that data, and the third, to process / manipulate / transform that data.

xml does nothing that is easily usable to approach the first problem---in xml, you can’t even tell a number from a text, or a boolean (there is xml schema, and there is DTDs, but both are atrocious solutions and, for me, necessary evils that largely fall into the 80% B.S. category. DTDs are not even formulated in XML).

xml does astoundingly little to approach the second most important point in IT---the structure of data. sure, you can put tags inside of tags, but you are still burdened with all that attribute-vs-tag content B.S., plus you still don’t know whether (foo)(bar)42(/bar)(baz)108(/baz)(/foo) is a list of values or a mapping of values. people, JSON does get the first point right (for five most important things: number, text, null, true, false), and it gets the second point right (with lists and mappings). AND it does so with 1%---ONE MEAGER FUCKING PERCENT---of all the complexities of XML (or, god beware, SGML). (disclaimer: yes, i know it would be hard to use JSON as a text markup technology, but frankly some of the most annoying B.S. that you have to deal with when parsing XML-as-data-structure-language comes down on you because of mixed content).

lastly, XML itself does nothing for you when it comes to processing data. only tools tailored to handle its immense complexities---DOM, SAX, whathaveyou---can do that for you. that is all fine if it wasn’t for the fact that the complexities of XML do shine through in almost every tool you can use in the most obnoxious of ways. heck, when i retrieve a JSON structure over the wire via an ajax HTTP request, i already have e.g. a NATIVE javascript mapping of names to NATIVE booleans, strings, numbers---am i supposed to implement all of XML schema in javascript so i can have numbers in the result set? say WHAT??

it took people like john resig, of jQuery fame, to show the world that you can, in 80% of the time, get away with `$('#foo')`, `$('.bar')` and friends. in may experience, that is also 80% of what you ever wanted to do with XML. the simplicity, beauty, and usefulness of his design stands in a shockingly stark contrast to the immense heap of specs that have gone into making XML the bloat it is. which is sad, as it looked like a good idea, years ago.

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: Version Control is Undo Posted: Dec 29, 2008 1:23 PM
Reply to this message Reply
> it took people like john resig, of jQuery fame, to show
> the world that you can, in 80% of the time, get away with
> `$('#foo')`, `$('.bar')` and friends. in may experience,
> that is also 80% of what you ever wanted to do with XML.
> the simplicity, beauty, and usefulness of his design
> stands in a shockingly stark contrast to the immense heap
> of specs that have gone into making XML the bloat it is.
> which is sad, as it looked like a good idea, years ago.

XML is a great idea as a markup language and an improvement over HTML. The problem is that because it was at the right place at the right time, it was adopted for a lot of things that it doesn't fit.

And, because there are so many people that defend it with righteous indignation, we can't move past it.

Achilleas Margaritis

Posts: 674
Nickname: achilleas
Registered: Feb, 2005

Re: Version Control is Undo . . . or more Posted: Dec 30, 2008 6:36 AM
Reply to this message Reply
> > What do you mean 'mixed-content'?
>
> I'm kind of bored with this discussion and there's no way
> you will convince me that XML is a good format for code.
> I have too much experience with XML. Likewise, you seem
> m set in your belief that it is an improvement over the
> more classic structured language approach.

Obviously, if you are dogmatic about your views, then you can't change them, even a tiny bit.

>
> But I will answer the above. Mixed-content elements are
> those that contain both text and elements. They are
> useful in markup for documents e.g.:
>
<para>The quick brown fox jumped over the
> <emphasis>lazy</emphasis> brown dog</para>

> This is why when you use something like DOM or SAX you
> need to account for multiple text nodes in an element.
> For some reason some parsers return multiple nodes even
> n when there is no mixed-content.
>
> This feature is great for marking-up documents (what XML
> was designed for) but not useful otherwise.

I never had to use it, but it does not get in the way at all. It's like this capability has never existed for me.

> That's the
> issue with XML. It's not designed for code/data and has
> lots of features that aren't needed for that purpose and
> has others that are problematic for that purpose.

You did not show any features that are problematic for that purpose though. Again, I am asking you, for the 3rd time: what features of XML has caused you problems?

Achilleas Margaritis

Posts: 674
Nickname: achilleas
Registered: Feb, 2005

Re: Version Control is Undo Posted: Dec 30, 2008 6:42 AM
Reply to this message Reply
> wow now that i’ve actually skimmed over the other posts i
> must say this discussion has gone haywire. it started out
> with a discussion of version control, but has turned into
> a little xml war.
>
> i’ll say, for all that xml has done good, it is still 80%
> B.S.---things you don’t need, things you don’t want, and
> things you can hardly use. the single most important thing
> in IT is data, the second important thing is the structure
> of that data, and the third, to process / manipulate /
> transform that data.
>
> xml does nothing that is easily usable to approach the
> first problem---in xml, you can’t even tell a number from
> a text, or a boolean (there is xml schema, and there is
> DTDs, but both are atrocious solutions and, for me,
> necessary evils that largely fall into the 80% B.S.
> category. DTDs are not even formulated in XML).
>
> xml does astoundingly little to approach the second most
> important point in IT---the structure of data. sure, you
> can put tags inside of tags, but you are still burdened
> with all that attribute-vs-tag content B.S., plus you
> still don’t know whether
> (foo)(bar)42(/bar)(baz)108(/baz)(/foo) is a list of values
> or a mapping of values. people, JSON does get the first
> point right (for five most important things: number, text,
> null, true, false), and it gets the second point right
> (with lists and mappings). AND it does so with 1%---ONE
> MEAGER FUCKING PERCENT---of all the complexities of XML
> (or, god beware, SGML). (disclaimer: yes, i know it would
> be hard to use JSON as a text markup technology, but
> frankly some of the most annoying B.S. that you have to
> deal with when parsing XML-as-data-structure-language
> comes down on you because of mixed content).

I couldn't agree with you more! Referring to XML was an example of a solution in the right direction. JSON is a more suitable solution to the problems you mention.

To come to the correct path in the discussion, a format like JSON (or XML, whatever) which is structured and provides a set of primitive types would be ideal for version control and undo.

>
> lastly, XML itself does nothing for you when it comes to
> processing data. only tools tailored to handle its immense
> complexities---DOM, SAX, whathaveyou---can do that for
> you. that is all fine if it wasn’t for the fact that the
> complexities of XML do shine through in almost every tool
> you can use in the most obnoxious of ways. heck, when i
> retrieve a JSON structure over the wire via an ajax HTTP
> request, i already have e.g. a NATIVE javascript mapping
> of names to NATIVE booleans, strings, numbers---am i
> supposed to implement all of XML schema in javascript so i
> can have numbers in the result set? say WHAT??

This problem does not diminish the use of XML in any way, and it's irrelevant to XML though.

>
> it took people like john resig, of jQuery fame, to show
> the world that you can, in 80% of the time, get away with
> `$('#foo')`, `$('.bar')` and friends. in may experience,
> that is also 80% of what you ever wanted to do with XML.
> the simplicity, beauty, and usefulness of his design
> stands in a shockingly stark contrast to the immense heap
> of specs that have gone into making XML the bloat it is.
> which is sad, as it looked like a good idea, years ago.

The point of this discussion is how version control and undo could be merged, and using a structured format would help.

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: Version Control is Undo . . . or more Posted: Jan 2, 2009 10:04 AM
Reply to this message Reply
> You did not show any features that are problematic for
> that purpose though. Again, I am asking you, for the 3rd
> time: what features of XML has caused you problems?

I can't be bothered to repeat myself over and over again. Go back and read my previous responses.

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: Version Control is Undo . . . or more Posted: Jan 2, 2009 10:11 AM
Reply to this message Reply
> > But I will answer the above. Mixed-content elements
> are
> > those that contain both text and elements. They are
> > useful in markup for documents e.g.:
> >
<para>The quick brown fox jumped over the
> > <emphasis>lazy</emphasis> brown dog</para>

> > This is why when you use something like DOM or SAX you
> > need to account for multiple text nodes in an element.
> > For some reason some parsers return multiple nodes even
> > n when there is no mixed-content.
> >
> > This feature is great for marking-up documents (what
> XML
> > was designed for) but not useful otherwise.
>
> I never had to use it, but it does not get in the way at
> all. It's like this capability has never existed for me.

This response demonstrates that you don't have much depth of experience with XML. This is exactly the problem: you and many many others don't realize these features exist and think you really know XML. Ignorance is bliss. These features are used and you ignore them at your own (or your employer's) peril.

A common example of the problem is that people assume that they don't need to append together all the text nodes in an element. They just grab the first one. Then something parses a little differently and they lose data or worse. This is a real world bug I've had to resolve.

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: Version Control is Undo Posted: Jan 2, 2009 10:16 AM
Reply to this message Reply
> The point of this discussion is how version control and
> undo could be merged, and using a structured format would
> help.

But you haven't shown that. Your only argument is that some formats are ambiguous. I think most everyone agrees that ambiguous formats are bad. But you can use a structured format and still have ambiguous meaning. For example, your C++ example can be mirrored in an XML based format. Structure formats can make parsing easier. That's their only benefit and I'm not convinced it's worth the downsides from a user perspective.

Achilleas Margaritis

Posts: 674
Nickname: achilleas
Registered: Feb, 2005

Re: Version Control is Undo Posted: Jan 7, 2009 2:38 AM
Reply to this message Reply
> > The point of this discussion is how version control and
> > undo could be merged, and using a structured format
> would
> > help.
>
> But you haven't shown that. Your only argument is that
> some formats are ambiguous. I think most everyone agrees
> that ambiguous formats are bad. But you can use a
> structured format and still have ambiguous meaning. For
> example, your C++ example can be mirrored in an XML based
> format.

For the third time, please do not confuse grammar ambiguity with meaning of data. The problem at hand is recognition of structure, not making sense of the data.

> Structure formats can make parsing easier.

Thank you, that's what I am arguing about.

> That's their only benefit and I'm not convinced it's
> s worth the downsides from a user perspective.

The benefits seriously outweigh any problems. A structured document that is easily parsed allows for a wide variety of different tools to be developed independently, including undo and version control.

Dhruva Krishnamurthy

Posts: 2
Nickname: dky
Registered: Jan, 2008

Re: Version Control is Undo Posted: Jan 27, 2009 4:17 AM
Reply to this message Reply
> It seems pretty obvious that's where we'll eventually go,
> complete versioning built into the file system - probably

Well, looks like where OpenVMS left off! What they did years back in their file system is where the world wants to go (IIRC, RMS had similar ideas: http://www.gnu.org/gnu/initial-announcement.html)

Appears like we have reached a complete cycle and going back the good old days and reinventing the forgotten technologies and features.

Flat View: This topic has 83 replies on 6 pages [ « | 3  4  5  6 ]
Topic: Report on an Unconference in Poland Previous Topic   Next Topic Topic: The Demise of the Headhunter

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use