wcrichton

Joined 12 years ago

Karma
1,757
Submissions
204
Member since
Mar 28
Assistant professor of computer science. Putting together programming language theory and human-computer interaction.

https://mastodon.social/@tonofcrates

http://willcrichton.net

[email protected]

View on Hacker News

Recent submissions

Comment · 1 year ago
Comment · 1 year ago
(Author here) That's exactly why I built this for Rust, and why it's difficult to replicate in any other language.
Comment · 1 year ago
My issue is that this article is trying to use cognitive load in its specific, academic meaning. It says:

> The average person can hold roughly four such chunks in working memory. Once the cognitive load reaches this threshold, it becomes much harder to understand things.

This is a paraphrase of the scientific meaning. "Intrinsic" and "extrinsic" cognitive load are also terms of art coined by John Sweller in his studies of working memory in education.

I agree the article isn't designed to be peer-reviewed science. And I agree the article has real insights that resonate with working developers. But I'm also a fan of honesty in scientific communication. When we say "vaccines prevent disease", that's based on both an enormous amount of data as well as a relatively precise theory of how vaccines work biologically. But if we say "composition reduces cognitive load", that's just based on personal experience. I think it's valuable to separate out the strength of the evidence for these claims.

Comment · 1 year ago
I'm not saying that the conclusions in the article are false. As a programmer, I prefer composition to inheritance, too. I'm saying that the justifications are presented using a scientific term of art (cognitive load), but the scientific evidence regarding cognitive load isn't sufficient to justify these claims.
Comment · 1 year ago
The article is attempting to use a scientific term of art, "cognitive load", to justify claims about programming. Those claim cannot be justified given the existing evidence about cognitive load. As I explain in my linked response, I nonetheless agree with many of the claims, but they're best understood as folk theories than scientific theories.

And I don't think condescension will make this a productive discussion!

Comment · 1 year ago
Comment · 2 years ago
Do you believe that you could implement the Airbnb interface without any CSS or Javascript?
Comment · 3 years ago
Hi, Nota creator here. A high-level comment:

After developing the initial prototype you see in the webpage, I've since gone back to the drawing board. I'm working on developing a firmer foundation for issues like:

- How do you interleave content and computation? See: https://arxiv.org/abs/2310.04368

- How do different syntaxes make different document tasks easy, hard, or impossible? See: https://github.com/cognitive-engineering-lab/doclang-benchma...

I still very much believe in the high-level philosophy, but Nota will look very different within ~6 months. In the meantime, the single coolest development in the document language space is Typst, which I encourage you to check out: https://typst.app/

Also: the next version of Nota will be written 99% in Rust :-)

Comment · 3 years ago
Yes, this was my first and probably last experiment using participants from Mechanical Turk. Just too unpredictable.
Comment · 3 years ago
For the curious, I have done some experiments on working memory and programming: https://arxiv.org/abs/2101.06305

> Program tracing, or mentally simulating a program on concrete inputs, is an important part of general program comprehension. Programs involve many kinds of virtual state that must be held in memory, such as variable/value pairs and a call stack. In this work, we examine the influence of short-term working memory (WM) on a person's ability to remember program state during tracing. [...]

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton