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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Learn C and build your own Lisp (2014)

231 点作者 katzeilla将近 4 年前

16 条评论

desine将近 4 年前
I&#x27;ve had this in my bookmarks for awhile, intending to work through it. I think I can probably even do it solo without the guide, at this point. After years of programming, and learning (or at least playing with) many languages, I&#x27;ve come to a philosophical conclusion of sorts: C and Lisp should be the two languages all students start with, in my opinion. Probably SICP style Scheme education, and classic simple C89. C is the barest of the high level, the least abstracted, the most work. Students should build their own data structures, memory management, improved string handling, etc. I think this gives a really solid foundation of what other languages&#x27; features actually do, their benefits and trade offs. Then Lisp, to show what metaprogramming can do, and demonstrate the power that a language can have.<p>From there, sure, learn C++, Java, Rust, Go, Node.js, whatever toolset matches your industry. Start with the fundamentals, though.
评论 #27604145 未加载
评论 #27603018 未加载
评论 #27603374 未加载
评论 #27603759 未加载
评论 #27602167 未加载
评论 #27605437 未加载
评论 #27604004 未加载
评论 #27600963 未加载
dspearson将近 4 年前
I can also recommend the following books by Nils M Holm:<p>LISP From Nothing (<a href="https:&#x2F;&#x2F;t3x.org&#x2F;lfn&#x2F;" rel="nofollow">https:&#x2F;&#x2F;t3x.org&#x2F;lfn&#x2F;</a>)<p>LISP System Implementation (<a href="https:&#x2F;&#x2F;www.t3x.org&#x2F;lsi&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.t3x.org&#x2F;lsi&#x2F;</a>)<p>Scheme 9 from Empty Space (<a href="https:&#x2F;&#x2F;t3x.org&#x2F;s9book&#x2F;" rel="nofollow">https:&#x2F;&#x2F;t3x.org&#x2F;s9book&#x2F;</a>)<p>They&#x27;re more leaning towards the LISP implementation side, and far less on the learning C side, for which there are far better options.
theiasson将近 4 年前
This book is on &quot;Stuff that should be avoided&quot; list[0].<p>[0] <a href="http:&#x2F;&#x2F;iso-9899.info&#x2F;wiki&#x2F;Main_Page#Stuff_that_should_be_avoided" rel="nofollow">http:&#x2F;&#x2F;iso-9899.info&#x2F;wiki&#x2F;Main_Page#Stuff_that_should_be_avo...</a>
评论 #27601467 未加载
评论 #27603682 未加载
评论 #27602916 未加载
评论 #27603859 未加载
评论 #27605859 未加载
Koshkin将近 4 年前
Building a simple Lisp interpreter which can be then embedded in your project is the single best thing that you can do. Configuration? Solved. Serialization? Solved. Separating the application logic from the gory details of its implementation? Done.
评论 #27602479 未加载
评论 #27608546 未加载
评论 #27603602 未加载
scioxo将近 4 年前
Be warned; Buildyourownlisp is a great book for novice C programmers looking to build more complicated projects but it&#x27;s a very bad introduction to Lisp.<p>Most of what makes Lisp great you won&#x27;t find here.
评论 #27604526 未加载
fungiblecog将近 4 年前
mal is much, much better IMO: <a href="https:&#x2F;&#x2F;github.com&#x2F;kanaka&#x2F;mal" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;kanaka&#x2F;mal</a>
评论 #27603503 未加载
teataster将近 4 年前
I worked through this book and I think is a fine way to get your feet wet with C.<p>When I learn a new language, I like learning something else in the way, because language learning tends to be samey once you have gone through a couple. This book was right up my alley, cause you get a sense of language design and the very basics of C.<p>After reading the book I managed to write some cli programs in C, modifying someone else&#x27;s code.<p>The main caveat about the book: It Is an introduction in both it&#x27;s topics. I know the bare minimum of C and I could not design a language. Yes, the lisp you build... Well I would not use for anything.<p>But is well written and it has exercises, and I believe exercises is how you learn.
dang将近 4 年前
The main previous threads appear to be<p><i>Learn C and Build Your Own Lisp (2014)</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=17478489" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=17478489</a> - July 2018 (86 comments)<p><i>Learn C and build your own Lisp</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=10474717" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=10474717</a> - Oct 2015 (49 comments)<p><i>Learn C and build your own Lisp</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=7530427" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=7530427</a> - April 2014 (145 comments)
willcipriano将近 4 年前
I made a Sean Connery themed language with this book: <a href="https:&#x2F;&#x2F;github.com&#x2F;willcipriano&#x2F;Connery" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;willcipriano&#x2F;Connery</a><p>I recommend it, it was a lot of fun and I still tinker with the Connery from time to time.
EamonnMR将近 4 年前
I like this tutorial, but it&#x27;s worth noting that you&#x27;re building your own lisp with the author&#x27;s bespoke parser generator.
评论 #27600079 未加载
评论 #27599948 未加载
评论 #27602698 未加载
评论 #27600056 未加载
评论 #27604095 未加载
Decabytes将近 4 年前
I’m a python programmer and my dream would be to learn C and an extension language like Guile or Ecl. Then I could write the performant bits in C and extend it with Lisp. I’m actually pretty proficient in Racket so I’m doing pretty well on the lisp side, but I’ve found the books for learning C lacking. I absolutely had “C a modern approach” and “Modern C”
评论 #27604530 未加载
plinkplonk将近 4 年前
The book skips major components of a lisp implementation - garbage collection, macros - as &quot;bonus projects&quot; to be implemented by nhe reader.
vuonghv将近 4 年前
If you want to make your own langue, I recommend reading excellent book &quot;Crafting Interpreters&quot; by Bob Nystrom. <a href="http:&#x2F;&#x2F;craftinginterpreters.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;craftinginterpreters.com&#x2F;</a>
okareaman将近 4 年前
Previously with more than a few comments<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=17478489" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=17478489</a><p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=7530427" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=7530427</a>
moonchild将近 4 年前
Don&#x27;t Build Your Own Lisp provides some harsh—and IMO totally justified—criticism: <a href="https:&#x2F;&#x2F;gist.github.com&#x2F;no-defun-allowed&#x2F;7e3e238c959e27d4919bb4272487d7ad" rel="nofollow">https:&#x2F;&#x2F;gist.github.com&#x2F;no-defun-allowed&#x2F;7e3e238c959e27d4919...</a>
评论 #27600395 未加载
评论 #27601530 未加载
yewenjie将近 4 年前
Some of the comments here don&#x27;t like this book for various reasons. I&#x27;m curious - is there a (or two) recommended book which serves this purpose - learning C and building a lisp (= learning how programming languages work)?