Live data from Hacker News

Programmer Tooling Beyond Plain Text

joelburget.com

1–10 of 75 posts

Re: Programmer Tooling Beyond Plain Text

#2
I've long felt that a proper structured editor would work somewhat like a tree editor[1]. Code is trees, right?

[1] https://pcmonk.wordpress.com/2014/04/01/why-dont-we-have-a-g...

If you had a really good, intuitive tree editor, I would imagine it would be easily adaptable to all kinds of interfaces and scenarios. Mobile, web, VR...

Re: Programmer Tooling Beyond Plain Text

#3
Lately I've been figuring out how to apply this kind of structured version control to a relational language - http://incidentalcomplexity.com/2015/04/22/version-control/

Most programmers have violent allergic reactions to the idea of storing code in anything but raw text, but would have similarly violent allergic reactions to the idea of replacing their database with a series of text files and a merge program. We spend huge amounts of effort on this raw text, restructuring and annotating it in IDEs, trying to retroactively guess at the intent of changes in VCSs, guessing at changes in incremental compilers, parsing errors messages out of console logs to find the location in the editor etc. All of the tools we use day to day are in constant communication with each other but they are limited to a single terrible API.

The counter-argument is that at least they all use the same terrible API. Somehow I don't find that very comforting.

Re: Programmer Tooling Beyond Plain Text

#5
I've been hearing this sort of thing for years (decades?), but I have yet to see someone put a toolchain together that works well using these concepts. It would be interesting to see someone try it instead of just talking about how it would be a good thing.

Re: Programmer Tooling Beyond Plain Text

#6

I've long felt that a proper structured editor would work somewhat like a tree editor[1]. Code is trees, right? [1] https://pcmonk.wordpress.com/2014/04/01/why-dont-we-have-a-g... If you had a really good, intuitive tree editor, I would imagine it would be easily adaptable to all kinds of interfaces and scenarios. Mobile, web, VR...

You might be interested in reading about Frontier, Dave Winer's outline/tree-oriented scripting language/object database/web server from the 90s:

http://davewiner.userland.com/historyOfFrontier

More context: http://scripting.com/davenet/

A lot of the infrastructure of the current web sprung out of Dave Winer's experiments with Frontier. From RSS/OPML/podcasts to weblogs to RPC-over-HTTP, Dave and his employees at UserLand (which included Brent Simmons and IIRC Aaron Swartz) were pioneers that contributed a lot to the Internet we currently live in.

Re: Programmer Tooling Beyond Plain Text

#7
colorForth adds at least the color dimension to a programming language. Words have different meaning depending on the color used. This reduces the amount of punctuation and the need for "reserved" words as we see in traditional languages.

Re: Programmer Tooling Beyond Plain Text

#8
post #5

I've been hearing this sort of thing for years (decades?), but I have yet to see someone put a toolchain together that works well using these concepts. It would be interesting to see someone try it instead of just talking about how it would be a good thing.

Excel, Access, Labview, Scratch.

Pretty much anything that doesn't require years of training as a programmer uses a mixture of structured editing and small chunks of raw text. If you look at it by sheer number of users, structured tools are winning and have been for a long time.

Re: Programmer Tooling Beyond Plain Text

#10
I've been working on a Structured Code Editor for a couple of years:

https://i.imgur.com/wvcduDk.png

(in the picture above "string" is selected, and "find" is slightly highlighted because its on the same level. this helps visualize the tree and plan your movements)

It actually started as my final project during undergrad. Here's my 78-page thesis on it (unfortunately Portuguese, but has English pictures):

https://projetos.inf.ufsc.br/arquivos_projetos/projeto_1398/...

Structured editing is much, much, MUCH better suited for programming than plain text. Syntax preservation and source-display separation are game changers, and they are not the only benefits.

Unfortunately it has a Vim-level difficulty curve and people don't realize how much time they currently waste on syntax mucking. This makes marketing kinda hard, even with a fully operational and well polished implementation.

Fun fact: structured editing also works with non-programming structured text, like JSON, HTML and CSS!

Post reply on HN