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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

How to Design Programs 2nd Edition

253 点作者 noob_eng大约 2 年前

7 条评论

adamors大约 2 年前
Posted just 3 weeks ago by the same user no less <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=35478871" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=35478871</a>
评论 #35787967 未加载
评论 #35787130 未加载
评论 #35784863 未加载
todd8大约 2 年前
There&#x27;s a lot of speculation about the approach used by this book to teach programming. It&#x27;s the book that my own daughter used as a freshman in college. It was her first programming class, and she ended up deciding to major in CS.<p>The programming language taught in this book is Scheme. Students are introduced to programming concepts and language features gradually and the assignments are intended to be implemented using a growing subset of Scheme features as the students learn the language. By the end of the semester my daughter was familiar with much of Scheme and was comfortable with subjects like recursion, lambda functions, list handling, map functions, and closures. I&#x27;m not sure but I don&#x27;t believe that she learned about continuations or macros.<p>Some comments mention the &quot;toy&quot; languages used in the book, but these aren&#x27;t really toys, just subsets of Scheme that provide guard rails to keep the students from wandering into parts of Scheme that they haven&#x27;t yet learned.<p>Another notable feature of the <i>How to Design Programs 2nd Edition</i> is its introduction of a defined sequence of steps for breaking a problem down into parts that are implemented as collection of functions that make up the solution.
photochemsyn大约 2 年前
I think this approach to the issue of &#x27;what language to start with&#x27; has a serious flaw for basic programming instruction:<p>&gt; &quot;Our solution is to start with our own tailor-made teaching language, dubbed “Beginning Student Language” or BSL.&quot;<p>The only time the use of a toy language makes sense is if you&#x27;re learning how to create a programming language in the context of understanding compilers, e.g.<p><a href="https:&#x2F;&#x2F;llvm.org&#x2F;docs&#x2F;tutorial&#x2F;MyFirstLanguageFrontend&#x2F;index.html" rel="nofollow">https:&#x2F;&#x2F;llvm.org&#x2F;docs&#x2F;tutorial&#x2F;MyFirstLanguageFrontend&#x2F;index...</a><p>Otherwise it&#x27;s doing the students a disservice as they&#x27;ll never use the language again and will have to relearn a whole new syntax later on. It&#x27;s also far better to learn in a widely used language because there will be a wide variety of resources that can help you solve simple problems (and this is even more true in the era of ChatGPT).<p>The argument that a simplified language makes it easier for students to grasp high-level concepts doesn&#x27;t work either: instead just use a restricted well-defined subset of a language like C, C++, Java, Python, Javascript - and explain to the students the rationale for doing so.
评论 #35788834 未加载
评论 #35789010 未加载
评论 #35788939 未加载
评论 #35788308 未加载
评论 #35789352 未加载
评论 #35789163 未加载
avinassh大约 2 年前
Why one should read this book? If you have read this book, what were your big takeaways from this?
评论 #35788652 未加载
评论 #35784905 未加载
wodenokoto大约 2 年前
The copyright says 2014, the foreword says they spent 15 years on the 2nd edition since 1995-2000.<p>It also says it was released the 6th of March 2023<p>So is it new or not?
评论 #35788464 未加载
JustSomeNobody大约 2 年前
I love the look of scribble docs. I don&#x27;t really use Racket though. Are there alternatives that anyone knows about that have this look?
ChicagoDave大约 2 年前
I would not follow any of this book anymore.<p>Abstractions lead to coupling and complexity.<p>So many outdated principles I can’t enumerate them all.
评论 #35786525 未加载
评论 #35784773 未加载
评论 #35784636 未加载
评论 #35789036 未加载
评论 #35788127 未加载
评论 #35785993 未加载
评论 #35785112 未加载
评论 #35784634 未加载
评论 #35786511 未加载
评论 #35784622 未加载