Hacker News new | past | comments | ask | show | jobs | submit login
Developer tool 'diff' is 40 years old: can it be improved? (stackoverflow.blog)
25 points by MilnerRoute 3 months ago | hide | past | favorite | 14 comments



> Or maybe you prefer to code with the classic old-school text editors, like vi (2012), Sublime Text (2008), or vim (1991)

Huh, vi was introduced 15 years after I first used it. Must have been inspired by vim. Think I’ll stop reading here.


If you google "vi release date", you actually get the release of a certain League of Legends character (I think), which was introduced in 2012.

Not sure if this is a llm or just lazy research.


Looks like it's written by llm where it mixed up the numbers


Regardless of how they messed up, they just successfully vaporized their credibility with me. It’s a big platform, and an obvious mistake that the editor should have caught. And if they care so little about my time that they’re not going to employ an editor, shame on them.

Needless to say, private parties get a lot more leeway with me. This isn’t a mistake that would phase me on a random person’s blog, but Stackoverflow speaks with the voice of authority. They have a duty to get it right.


vim is late 1991, vi was 1976, sublime text was 2008. Just seems like garbage writing (very easily could be LLM).


Seems like an LLM wrote this.


We had, back in the '90s, a 'semantic diff' that ignored whitespace, knew about programming languages, showed only significant code changes (not comments; not empty lines; not refactoring of code into a different number of lines). All I used after that.


There is this amazing tool called difftastic. I've been using it for years with git and it works like a charm. [1] [2]

[1] https://news.ycombinator.com/item?id=27768861

[2] https://github.com/Wilfred/difftastic


isn't difftastic the new way to do this? https://news.ycombinator.com/item?id=39778412

I highly recommend trying it out.


- https://github.com/dandavison/delta is nice for a prettier presentation of the same information as `git diff`.

- This may or may not qualify, since I think GNU diff supports it with an option, as does Git diff, but "Color-words" diff can be nice, where changes in the middle of the line are highlighted and whitespace is ignored.

- Somebody already recommended https://github.com/Wilfred/difftastic, which I second. It uses treesitter and is very interesting. Surprisingly, in practice difftastic is not always noticeably better than color words diff (don't expect miracles), but occasionally it is much better.

For the last two, see Difftastic's FAQ, https://github.com/Wilfred/difftastic#isnt-this-basically---...

Update: Finally, this blog post about difftastic describes some details: https://www.wilfred.me.uk/blog/2022/09/06/difftastic-the-fan...

Update 2: Finally finally, Difftastic's wiki has more related tools: https://github.com/Wilfred/difftastic/wiki/Structural-Diffs. Difftastic's author writes many interesting things, it seems :).


I think diff is at least 50 years old. It shows up in the unix v5 source from 1974.

https://minnie.tuhs.org/cgi-bin/utree.pl?file=V5/usr/source/...


It would be great if this were accompanies by a patch to diff itself.


> Developer tool 'diff' is 40 years old: can it be improved?

Fix the bugs first, please.


I think I need a tldr for a 12 year old because my answer to that question is: does it need to be improved?

Diff, like all the original Unix tools was only meant to do one thing, compare two files. The beauty in that being that it can be a core component of whatever you want.

UI extensions, algorithm adjustability to name some. But based on what Myers mentioned as someone else said, “improved diff” is partially a semantic diff. One that’s less cold blooded about trivial changes like white spaces.

I don’t mean to be the typical pedantic HN commenter but that sounds like a diff of commit objects rather than files.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: