tabs or spaces?
indentation or brackets?
def foo() or
function foo() ?
to semicolon or not to semicolon?
so many hours wasted on pointless flame-wars, so much talent dedicated to never-ending arguments.
currently, every language comes with its own syntax, every company/project has their own coding standard, every developer has their personal taste, so many counter-productive code-refactor commits, so many emotions.
I have a dream where a computer language doesn’t enforce grammar.
I have a dream where a smart IDE shows the same code-representation differently to each developer taste.
I have a dream where code has a single markup and the rendering depends on themes, just like html and css.
while humans wish to view their code in paragraphs, like prose, free text blob is a very poor representation for programming instructions. code-instructions are structured components, hierarchically nested into blocks, brackets and parenthesis (depending on your language). for a machine, something like trees, json, yaml or xml would make much more sense.
why wouldn't machines mess with the internal representation of the source-controlled tree, and humans deal with its textual view (based on personal style). a smart IDE would trans-format back and forth.
imagine your favorite computer language stripped to internals only: byte-code, libraries, packages, etc., such “bare language” could support many syntaxes just as a natural language can have different accents.
It’s been long since the web community embraced the concept of rendering: a software responsible for visually displaying a structured representation for a data such as html. it’s time for the development process to make the same step and break the ties between the language internal representation and its visual appearance. let's make it happen in computer languages too