It's true that many of these systems are equivalently powerful and redundant, but the dominant forces driving them are social, not technical.
Fred Brooks's 'The Mythical Man-Month' is the classic book on this topic. In an ideal world, where information flowed freely and instantly, all these mentioned technologies would not exist. On Thu, Jul 11, 2013 at 10:37 AM, Alexander Gunnarson < alexandergunnar...@gmail.com> wrote: > This idea's been on my mind lately: could Clojure be used as a unifying > force for all those disparate file formats and frameworks like: > - XML / XLink / XPointer / XQuery, > - JSON, > - HTML / XHTML, > - CSS, > - JavaScript / jQuery, > - Flash (SVG/ActionScript), > - SQL, > - and (of course) Java? > > As a disclaimer, I'm no expert on all of these things I'm listing. But my > thoughts go like this. > - XML and JSON are roughly equivalent. > - HTML, XHTML, and SVG are subsets of XML. > - *These "data storage" filetypes are equivalent to Clojure data > structures like vectors, symbols, keywords, lists, maps, etc. and could > theoretically be reduced to Clojure S-expressions.* > - Java, JavaScript, and ActionScript all play roughly the same role. > - Some aspects of their libraries overlap with XML navigation and > manipulation functions (XLink / XPointer / XQuery). > - *Clojure covers what these languages aim for. It has direct access to > Java libraries and the Clojure to JavaScript compiler has already been > written, so further interop with ActionScript/Flash shouldn't be too > terribly difficult (there's already a port on GitHub > here<https://github.com/aemoncannon/las3r/wiki> > ).* > - *SQL is a subset of Clojure. It just uses operations on the equivalent > of Clojure data structures.* > *- *Probably other languages can be included in this set of which Clojure > is a superset. > > As it gains more popularity and notoriety, Clojure could be used > side-by-side with and eventually in place of all of the above filetypes and > frameworks I mentioned (and more). Say goodbye to 15 different Web > technologies and hello to one, much better, more powerful one that envelops > all of them. > > Of course, I think my parade is going to get rained on. Clojure runs on > the JVM and we've already said goodbye to Java applets long ago. So maybe a > workaround would be to compile Clojure to a hundred little > XML/HTML/CSS/SQL/JavaScript files, but to really only code in Clojure. > > But not having to compile it would be nice. Think about it: with Clojure > macros, you can have self-optimizing code, which would make for a > self-optimizing web. Clojure running on the JVM would mean fairly easy > concurrency, which would speed up video streaming/processing and (Clojure > ported) Flash media significantly, especially as Moore's Law kicks in with > multicore processors. > > Thoughts? > > -- > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.