Github, Git, Diff, etc.

I consider "github" to be a whole gamut of technologies based on "diff".



"Github" is a production version of "diff".  



Automated DRY


Github could use "diff" in a bigger way.  Instead of diff'ing lines of code, it should diff layers of design.  (Which might be blocks of code).


Our PLs[1]  are just glorified text editors.


A lot of what we think about and build into PLs is DRY.[2]  


RY[3] is what we want, but we waste brain power on DRY.


Machines could detect DRY for us.  And refactor the code/design/etc. for us automagically.


Github could include technology to figure out DRY.



Git-based Editors

Our editors could figure out repeated lumps of text and make a golden copy for us.


The editor could show repeated lumps of source in gray and automagically update the golden copy when we edit the gray parts.




[1] PL means Programming Language

[2] DRY means Don’t Repeat Yourself

[3] RY means Repeat Yourself