TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Hedy is a gradual programming language that helps kids to learn Python

144 点作者 edtechdev大约 4 年前

11 条评论

zestyping大约 4 年前
Despite the criticism in the older HN thread, I actually found this talk pretty compelling. In particular, the idea that you start with a language level that is missing capabilities so that you <i>directly experience</i> the problem and then understand the motivation for the additional complexity of the next level.<p>When I taught Python, beginning students would spend a <i>huge</i> amount of time just struggling with how to quote strings. Why do strings show up with \n in them sometimes and actual line breaks sometimes? Why are there sometimes backslashes that appear and disappear in front of other backslashes or quotation marks? Why does the output of typing &quot;print x&quot; give you something different from &quot;x&quot; (which actually shows you repr(x))? There are very good reasons for all of this, but it&#x27;s a lot to try to explain and absorb at once.<p>Quoting strings is second nature to me. But to understand why it&#x27;s necessary, you have to imagine what happens when you don&#x27;t quote strings and then you run into trouble like &quot;how do I write a quotation mark?&quot; It&#x27;s just harder to <i>imagine</i> encountering that problem and then <i>imagine</i> how you would solve it and what might work or not work, than it is to actually <i>experience</i> the problem and work with a concrete instance of it.<p>The switch from print as a statement (no parentheses) to print as a function in Python 3 (parentheses required) feels like a problem with some similarities. To the beginner, Python 3 syntax has just added some superflous extra punctuation to print(). To experienced programmers, it makes sense to treat print as a function because then you can pass it to other functions, re-assign it, and so on — so we underestimated its impact on beginners. To see &quot;print(3)&quot; and answer &quot;why did you have to write (3) instead of 3?&quot; you have to explain higher-order functions or monkey-patching or something that a beginner doesn&#x27;t know about, and they have to imagine the hypothetical situation in which that would be necessary. That takes a lot more work and abstract reasoning than having the situation right in front of you and discussing what to do about it. It&#x27;s not much of a leap from there to postponing the extra syntax until we have the concepts to talk about why we need it.
评论 #26946568 未加载
评论 #26946920 未加载
评论 #26948704 未加载
评论 #26948222 未加载
评论 #26946741 未加载
lacker大约 4 年前
Just based on my experience teaching elementary-school kids things, I think kids would be most helped by making an iPad-native environment for programming. Things like using a cursor in a multi-line text input are not natural for kids in early grades even when I think mentally they have the problem-solving ability to start programming. It ends up being a &quot;tax&quot; on teaching things and they spend more of their time struggling with the interface than they do struggling with the actual programming concepts.<p>Plus it is just really boring to struggle with syntax and typing. It is much more interesting to think about how to get a program to work, and kids are only really going to learn things well if they find it interesting. At least my kids.
评论 #26946941 未加载
评论 #26951138 未加载
评论 #26948765 未加载
smartbit大约 4 年前
4 month ago covered <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=25249471" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=25249471</a>
smoldesu大约 4 年前
This is great. I think the biggest misunderstanding with computers is how abstraction works, and why we use it. Hedy seems to be a pretty good example of why people don&#x27;t need to see the big picture all at once. One of the biggest thing that stopped me from really digging in and writing code was the fear that I didn&#x27;t fully understand what was going on, so abstracting away the complicated backend seems like a great way to foster a sense of confidence in a young programmer. My only concern is how fast this can be learned: while it seems like a great track to follow for a few years, one of the things that actually made me get into programming was sitting down and reading some documentation, point blank. It takes a few days, but the deep dive is one of my favorite ways to learn a language.
Wowfunhappy大约 4 年前
I ran through the demo for a bit. It&#x27;s an interesting idea, but I&#x27;m very much not into changing the rules out from under the user. That creates an unnecessary layer of complexity, and prohibits exploration.<p>This might seem a little far afield, but I&#x27;ve been playing a lot of Baba Is You lately. For a game that&#x27;s all about rewriting rules, a lot of logic is completely arbitrary. Why does &quot;Stop&quot; take precedence over &quot;Defeat&quot;, and why does &quot;Rock is Rock&quot; take precedence over &quot;Rock is Water&quot;? In the end, it doesn&#x27;t matter, because the game is <i>consistent</i>, so you learn the rules once and can rely on that behavior.
ta9999大约 4 年前
I&#x27;m still not convinced Python&#x27;s syntax is great for beginners.
评论 #26947449 未加载
评论 #26956264 未加载
评论 #26946545 未加载
usrusr大约 4 年前
About time something got named after Lamarr! The usual &quot;inventor of Bluetooth, in a way&quot; always seems like a bit of a stretch, but her story deserves getting told and naming a fun learning language might be just the right amount of spotlight.<p>(I&#x27;m blindly assuming that it was named after her, haven&#x27;t checked)
antattack大约 4 年前
In my opinion Hedy badly needs syntax highlighting, along with visible indentation marks (space and tabs).
评论 #26945978 未加载
smnplk大约 4 年前
I don&#x27;t think the goal should ever be &quot;to learn Python&quot;. It&#x27;s never about syntax or programming language. It&#x27;s not about learning &quot;how to code&quot; either. It&#x27;s about learning what can be done and how things work. What needs to come before how.
mastrsushi大约 4 年前
So it&#x27;s like the programming language equivalents of Weenie Hut Jr and Super Weenie Hut Jr.
ciconia大约 4 年前
&quot;That&#x27;s Hedley!&quot;<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=gBmkyDTX08Y" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=gBmkyDTX08Y</a>