7 ms·
Programming Languages: Application and Interpretation, 3rd Ed
- spdegabrielle 4y ago[Programming Languages: Application and Interpretation](https://www.plai.org/ https://www.plai.org/) From the preface; > I have also written this book with working programmers in mind. Many of them may have not had a formal computer science education, or at least one that included a proper introduction to programming languages. At some point, like that 90% of students, some of them become curious about the media they use. I want this book to speak to them, gently drawing them away from the hustle and bustle of daily programming into a space of reflection and thought. - Shriram Krishnamurthi, Brown University
- emmelaich 4y agoMaintainer of the interesting language pyret.
- JonChesterfield 4y agoInteresting in what sense? Language outline at https://www.pyret.org/docs/latest/A_Tour_of_Pyret.html https://www.pyret.org/docs/latest/A_Tour_of_Pyret.html
- zem 4y agoone of the best thought-out syntaxes i have seen in a programming language, for one.
- jrvarela56 4y agoOk maybe I'm a weird type, but I got really excited when the first thing they teach you is how to write a test/assertion.
- canadianfella 4y agoI thought you were talking about this one. https://en.m.wikipedia.org/wiki/Esoteric_programming_language#Piet https://en.m.wikipedia.org/wiki/Esoteric_programming_languag...
- skrishnamurthi 4y agoTo be accurate, Pyret is a collaboration (primarily) with Joe Politz and Ben Lerner and they deserve most of the credit for it.
- lukeschwartz 4y agoNever heard of Pyret[0] before. Looks good. This data-centric introduction to computing is also rather interesting [1]. [0](https://www.pyret.org/ https://www.pyret.org/) [1](https://www.dcic-world.org/ https://www.dcic-world.org/)
- jalino23 4y agothis looks invaluable for self taught prog like me. anyone who read this before can share their experience?
- ngcc_hk 4y agoGreat work. Sorry side track totally. as part of my degree is under a Chicago School professor, who I respect but still his work find puzzling. Can this be a counter-example … just like many others open source project. The problem of public good i.e. those unlike fish cannot be eaten. He went on to do work on trademark, copyright and patent. Well copyright is what open source rely upon he would say. But what is the incentive of doing it. Would the total output less because of this … he would ask. The question as normal here: why not say sell it and give the money to something you like, like charity.
- michaelsbradley 4y agowhy not say sell it and give the money to something you like, like charity. Per the author's website ( https://cs.brown.edu/~sk/ https://cs.brown.edu/~sk/ ), he is a dedicated educator. Maybe he explicitly or implicitly intended the publication of this work under a Creative Commons license to be an exercise of charity (in the "love your neighbor" sense), kindness, goodness, and/or generosity.
- OkayPhysicist 4y agoAt the end of the day, somebody needs to do the work in order to create good. Adding layers of transactions can only reduce, not increase efficiency. If you, a person who knows something, want to achieve a public good in educating others on that thing, then the most efficient way of achieving that is just spreading the knowledge yourself. If you sold your knowledge in a book, and then used the money to pay someone else to write a book teaching the same thing, and then distributed that for free, you can only have lost efficiency. It's like asking "Why should I pay for college instead of working to make money to pay someone else to go to college and then teach that information to me": It's absurd, because it introduces entirely unnecessary transactions.
- skrishnamurthi 4y agoI'm afraid I don't really understand this question. I am interpreting it as, "Why is the author giving it away for free instead of charging money for it". If that is not what you meant to ask, sorry! Anyway, if that is what you meant to ask: Well, I'm the author, so my answer may have some substance (-:. I have a good job and it pays me to have impact. I can have much more impact by giving away the book to people interested in learning. [º] [º] This is not 100% true. Over the years, people have told me they value a book more if it costs something. I am not looking to please them. In particular, I grew up in India and we could not afford fancy (but great) Western textbooks. If there's a student like me right now (whether in India or Indiana) who wants to learn from my book but for whom its cost is an obstacle, that would make me very sad. That's why all the books I have (co-)authored have been available for free. On the first edition's site [https://cs.brown.edu/~sk/Publications/Books/ProgLangs/2007-04-26/ https://cs.brown.edu/~sk/Publications/Books/ProgLangs/2007-0...] you can see the different models by which I have made the book available. They have netted me some modest revenue. But there's always a free option.
- wallscratch 4y agoDoes anyone have suggestions with where to find more exercises? I notice the book pdf has like ~38 total, but was curious where one would find more.
- skrishnamurthi 4y agoSee https://cs.brown.edu/courses/csci1730/2022/assignments.html https://cs.brown.edu/courses/csci1730/2022/assignments.html
- iwsk 4y ago>How SMoL Becomes Large 30 seconds into opening the textbook and I already like it.
- psuedobrain 4y agoam i the only one for which programming language textbooks, papers, blog posts, etc. in racket are really hard to follow? the fact that the languages that is being operated on often looks exactly like racket makes it really hard to separate the two if i wanted to follow the tutorials in any other language.
- skrishnamurthi 4y agoIf you look at the book, you'll see that is not what it does, and for this reason.
- oxff 4y agoI went through the previous version with Rust. It is almost entirely language agnostic. It could be in sign language.
- al-king 4y agolexi lambda of "Parse, Don't validate" fame has compared this favourably with SICP (https://cseducators.stackexchange.com/a/7481 https://cseducators.stackexchange.com/a/7481).
- ArcMex 4y agoAn incredible project. Your motivations resonate with me. Thanks for sharing.
- deleted 4y ago[deleted]
- JackMorgan 4y agoGreat course, I took it a few years ago while working full time and loved it. I recommend this right alongside SICP for the engineer who wants to dig deeper.
- trenchgun 4y agoWhat does SICP offer that this book does not?
- skrishnamurthi 4y agoSICP is mainly a book about how to structure systems. It also tells you how languages work, but in far less detail. PLAI (this book) teaches you how languages work. It also tells you a bit about how to structure systems, but that is not its goal. In part that is not a goal because of the existence of books like SICP and, increasingly, DCIC [https://dcic-world.org/ https://dcic-world.org/].
- trenchgun 4y agoYou are right. I have now binged 2/3 of PLAI. It is really nice in how it draws the landscape of programming languges and how they work. It of course also has an advantage being a newer book, programming languages and their theory have progressed quite a lot since writing of SICP. Also it is some how pedagogically really nice, very approachable and readable.
- gavinray 4y agoOh wow. If I was an educator, this book "A Data-Centric Introduction to Computing" is what I would put in front of people first. Everything you do in software is in service of moving and munging of data, programming paradigms are tools secondary to that.
- gavinray 4y agoIn case anyone has missed it, the author is in this thread and has replied to a great number of comments/questions. https://news.ycombinator.com/user?id=skrishnamurthi https://news.ycombinator.com/user?id=skrishnamurthi