<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: brian_harvey</title><link>https://news.ycombinator.com/user?id=brian_harvey</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 12 Sep 2026 07:07:45 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=brian_harvey" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by brian_harvey in "Λ Snap – An inviting programming language for kids and adults for CS study"]]></title><description><![CDATA[
<p>A note to those commenters who complain that visual programming doesn't help you learn software engineering:<p>Right, you aren't our target audience.  We're after the people who aren't going to major in computer science in college, but who're curious what all the fuss is about.  They've taken high school algebra, so they know what a variable is and what a function is.  (They <i>don't</i> have to know about functions as data, but we hope to teach them that.)  These days, they probably used Scratch in elementary school, so we don't have to teach them the syntax of blocks, or what a sprite is, etc.<p>Nobody's going to come straight out of our class into a software engineering job.  They'll have plenty of opportunity to learn that later, supposing that (as happens gratifyingly often) they change their minds about what to study in college because of our course.<p>They're <i>not</i> (or at least not yet) hackers, in the sense of people whose instinct on meeting a machine is to take it apart.<p>Oh, P.S., there <i>is</i> one sense in which block languages <i>are</i> better for software engineering: you can have arbitrarily long names of things (including spaces between words), because you only ever need to type the name once, so you can give your procedures self-documenting names such as "convert upper case to lower case letters" instead of ugly "convUcLc".</p>
]]></description><pubDate>Sat, 12 Sep 2026 05:37:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=49669210</link><dc:creator>brian_harvey</dc:creator><comments>https://news.ycombinator.com/item?id=49669210</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49669210</guid></item><item><title><![CDATA[New comment by brian_harvey in "Λ Snap – An inviting programming language for kids and adults for CS study"]]></title><description><![CDATA[
<p>There's no need to type the word "lambda" into Snap!.  As befits a visual language, we have a visual representation of lambda; it's the gray ring that you sometimes see surrounding an expression or a script.  It's a discoverable notation; when you click on an expression you see its value, and when the expression is inside a ring the value you see is the expression itself.  We inherited from Scratch the idea of using different shapes of input slots to represent the data type that's expected, round for numbers and rectangular for text.  (They have since changed their minds about that, I'm not sure why.  They do still use hexagons for Boolean slots.)  We have an "expression" data type, and instead of a polygonal shape, we represent expression input slots by preloading them with an empty gray ring.  (If you drag something with a gray ring around it into the slot, your ring is absorbed into the one that's already there.)  This lets us write higher order functions that are usable by kids who haven't yet wrapped their minds around anonymous functions.  It took us three tries to get the notation exactly right, but I'm super proud of it.</p>
]]></description><pubDate>Sat, 12 Sep 2026 05:14:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=49669057</link><dc:creator>brian_harvey</dc:creator><comments>https://news.ycombinator.com/item?id=49669057</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49669057</guid></item><item><title><![CDATA[New comment by brian_harvey in "Λ Snap – An inviting programming language for kids and adults for CS study"]]></title><description><![CDATA[
<p>I have to clarify that the Snap! implementation is 99% the work of Jens Mönig.  It was 100% Jens for the first two major releases, back when it was called BYOB ("build your own blocks") and was an extension of the Scratch source code.  Then we wanted to use it in a CS course for non-majors at Berkeley so I got in touch with Jens and started complaining about missing features!  The result was an intense collaboration in which the coding was still 100% Jens but I contributed ideas about user interface and features.  I think my biggest contribution was teaching Jens about lambda!<p>Our team has officially grown to six people, adding Bernat Romagosa, Jadga Hügle, Michael Ball, and Joan i Pelegay.  And several Snap! users have made major contributions, especially to libraries that extend the reach of the language.  But the interpreter itself is still all Jens.</p>
]]></description><pubDate>Sat, 12 Sep 2026 04:53:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=49668945</link><dc:creator>brian_harvey</dc:creator><comments>https://news.ycombinator.com/item?id=49668945</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49668945</guid></item><item><title><![CDATA[New comment by brian_harvey in "Λ Snap – An inviting programming language for kids and adults for CS study"]]></title><description><![CDATA[
<p>The documentation problem is entirely my fault.  I managed to stay up to date through version 8.0, but then so many things happened so quickly that I got swamped.  Then I got depressed and gave up.<p>Also I made the mistake of writing the manual in MS Word.  At the time, I couldn't find a standard way to insert pictures into a TeX document, or I would have used that.  (Now, of course, there <i>is</i> a standard way.)  There is an effort underway to convert the manual into a web-based format in a git repo that anyone can contribute to, but that effort is 90% done and you know what that means!  :)</p>
]]></description><pubDate>Sat, 12 Sep 2026 04:32:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=49668848</link><dc:creator>brian_harvey</dc:creator><comments>https://news.ycombinator.com/item?id=49668848</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49668848</guid></item><item><title><![CDATA[New comment by brian_harvey in "Λ Snap – An inviting programming language for kids and adults for CS study"]]></title><description><![CDATA[
<p>Not to mention first class continuations!  :)<p>Thanks!</p>
]]></description><pubDate>Sat, 12 Sep 2026 04:10:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=49668721</link><dc:creator>brian_harvey</dc:creator><comments>https://news.ycombinator.com/item?id=49668721</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49668721</guid></item></channel></rss>