diff
Uniksowe narzędzie, które wylicza minimalną różnicę między dwoma plikami tekstowymi — a tym samym fundament wszystkich późniejszych systemów kontroli wersji.
Napisał je Douglas McIlroy w Bell Labs i dołączono je do piątej edycji Uniksa w 1974 roku. Problem jest matematycznie precyzyjny: znaleźć najdłuższy wspólny podciąg dwóch ciągów wierszy, tak aby cała reszta była wstawieniem albo usunięciem. McIlroy wypróbował kilka algorytmów, zanim zdecydował się na ten, który w tym samym roku opublikowali Hunt i Szymanski.
Format zunifikowany, tworzony przez diff -u — wiersze z przedrostkiem + i -, trzy wiersze kontekstu wokół zmiany i nagłówki fragmentów w rodzaju @@ -14,7 +14,9 @@ — jest dziś lingua franca. Wyświetla go Git, renderują narzędzia do przeglądu kodu, a patch potrafi go odczytać z powrotem. Porównywanie wierszami tłumaczy też, czemu przeformatowanie akapitu wygląda jak całkowite przepisanie.