How far should a programming language aware diff go?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Purpose built for real-time analytics at any scale.
InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • SemanticDiff

    Community support for SemanticDiff, the programming language aware diff for Visual Studio Code and GitHub.

    Hi, author of SemanticDiff here.

    I'm sorry you didn't have a good experience testing the tool. If it doesn't work / makes things worse than a standard diff, that's definitely considered a bug. It is probably something specific to your code and not a general issue. It would therefore be great if you could open an issue [1] or support ticket [2], ideally with some sample code, so we can take a look. Thanks in advance!

    [1] https://github.com/Sysmagine/SemanticDiff/issues

  • InfluxDB

    Purpose built for real-time analytics at any scale. InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.

    InfluxDB logo
  • difftastic

    a structural diff that understands syntax 🟥🟩

    After switching to difftastic for semantic diff, I have never looked back. (https://github.com/Wilfred/difftastic)

    How does semanticdiff compare to that? Anyone got experience?

  • WebKit

    Home of the WebKit project, the browser engine used by Safari, Mail, App Store and many other applications on macOS, iOS and Linux.

    Even though it makes no sense for (2, 3) to be a result in those cases, that was just how I ended up reading it, and I was exceptionally confused about how the printed output could possibly happen.

    A super nice example of how subtle differences can really change things though.

    As a side note, ASI for JS is actually super easy to implement and the rules are actually really simple (leaving aside whether the feature itself is good :D ) as it's just "these specific statements can have a new line instead of a semicolon" - so in the parser instead of consume(semicolon) you can just do "semicolon or newline" (You can check the logic in JSC in https://github.com/WebKit/WebKit/blob/main/Source/JavaScript... - just look for autoSemicolon() or autoSemi() I can't recall off the top of my head)

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • My programming language aware diff for VS Code and GitHub now supports Rust

    4 projects | /r/rust | 6 Dec 2023
  • Developer tool 'diff' is 40 years old: can it be improved?

    3 projects | news.ycombinator.com | 26 Aug 2024
  • Fixing a Bug in Google Chrome as a First-Time Contributor

    5 projects | news.ycombinator.com | 26 Aug 2024
  • WebKit Enables WasmGC by Default

    1 project | news.ycombinator.com | 20 Aug 2024
  • How to Build a Better IDE

    3 projects | news.ycombinator.com | 9 Aug 2024

Did you konow that Objective-C++ is
the 93rd most popular programming language
based on number of metions?