← Back to context

Comment by not_kurt_godel

1 day ago

Why would users who never wanted change proactively switch to your product in the first place? And putting them aside, you haven't listed a single concrete technical idea that would indicate you have the vision for a car. Maybe you should spend more time on that than drumming up your grift-adjacent persecution complex.

They wouldn't. Every adoption curve needs early adopters, who will be people not satisfied with the current state of things. But obviously most people aren't early adopters.

If you would like me to list a single concrete technical idea, I am pleased to oblige. The idea is: universal gaps. Our syntactic-semantic documents can have holes in them, places where we know some content is missing. That allows a document to behave like a template which lets us fill in the blanks. In a text-editor-based IDE there is no equivalent, which means that when I go to make a new sticky regex in Javascript I type //y and the IDE thinks I meant to comment out the rest of the line. It has no way of expressing the concept that between those two slashes something is known to be missing, which is exactly what I want to be able to tell it so that it can understand the difference between the state when I'm about to write a regex body and the state where I'm about to write a comment body

  • That idea has nothing to do with source control that would replace git. It also already exists in the form of TODO tags and is handled exactly as you describe in JetBrains IDEs[0] (plus helpful semantic highlighting), and probably others as well.

    [0] https://www.jetbrains.com/help/idea/using-todo.html

    • I'm talking about a universal placeholder, something that you're free to use anywhere, in any language, for any part of a syntax tree that is missing.

      A TODO comment can't do that because the syntax conflicts. For a regex the conflict would look like `//* TODO *//`, and for a comment it would look like `// /* TODO */`. Both have an existing meaning, and in neither case is that the meaning I want.

      If I could have a magic "stuff goes here" character this would be solved. I often use · to represent the idea of this magic character. That gives you /·/ and //· at least, but of course it isn't safe to assume that no language will ever assign meaning to the · character so we can't literally use it as the universal gap. To get something universal, you need to move from using a sentinel token to using embedded/encoded data.

      1 reply →