TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

How to Design Programs 2nd Edition

253 pointsby noob_engabout 2 years ago

7 comments

adamorsabout 2 years ago
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 未加载
todd8about 2 years ago
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.
photochemsynabout 2 years ago
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 未加载
avinasshabout 2 years ago
Why one should read this book? If you have read this book, what were your big takeaways from this?
评论 #35788652 未加载
评论 #35784905 未加载
wodenokotoabout 2 years ago
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 未加载
JustSomeNobodyabout 2 years ago
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?
ChicagoDaveabout 2 years ago
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 未加载