You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
116 lines
5.5 KiB
116 lines
5.5 KiB
<!DOCTYPE html> |
|
<html lang="en"> |
|
<head> |
|
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
|
<meta http-equiv="content-type" content="text/html; charset=utf-8"> |
|
|
|
<!-- Enable responsiveness on mobile devices--> |
|
<!-- viewport-fit=cover is to support iPhone X rounded corners and notch in landscape--> |
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, viewport-fit=cover"> |
|
|
|
<title>Julio Biason .Me 4.3</title> |
|
|
|
<!-- CSS --> |
|
<link rel="stylesheet" href="https://blog.juliobiason.me/print.css" media="print"> |
|
<link rel="stylesheet" href="https://blog.juliobiason.me/poole.css"> |
|
<link rel="stylesheet" href="https://blog.juliobiason.me/hyde.css"> |
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=PT+Sans:400,400italic,700|Abril+Fatface"> |
|
|
|
|
|
|
|
|
|
|
|
</head> |
|
|
|
<body class=" "> |
|
|
|
<div class="sidebar"> |
|
<div class="container sidebar-sticky"> |
|
<div class="sidebar-about"> |
|
|
|
<a href="https://blog.juliobiason.me"><h1>Julio Biason .Me 4.3</h1></a> |
|
|
|
<p class="lead">Old school dev living in a 2.0 dev world</p> |
|
|
|
|
|
</div> |
|
|
|
<ul class="sidebar-nav"> |
|
|
|
|
|
<li class="sidebar-nav-item"><a href="/">English</a></li> |
|
|
|
<li class="sidebar-nav-item"><a href="/pt">Português</a></li> |
|
|
|
<li class="sidebar-nav-item"><a href="/tags">Tags (EN)</a></li> |
|
|
|
<li class="sidebar-nav-item"><a href="/pt/tags">Tags (PT)</a></li> |
|
|
|
|
|
</ul> |
|
</div> |
|
</div> |
|
|
|
|
|
<div class="content container"> |
|
|
|
<div class="post"> |
|
<h1 class="post-title">Land of Lisp: Learn to Program in Lisp, One Game at a Time! - Conrad Barski</h1> |
|
<span class="post-date"> |
|
2017-03-16 |
|
|
|
<a href="https://blog.juliobiason.me/tags/books/">#books</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/conrad-barski/">#conrad barski</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/lisp/">#lisp</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/reviews/">#reviews</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/it/">#it</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/stars-3/">#stars:3</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/published-2010/">#published:2010</a> |
|
|
|
</span> |
|
<p><a href="https://www.goodreads.com/book/show/6905041-land-of-lisp">GoodReads Summary</a>: |
|
Lisp is a uniquely powerful programming language that, despite its academic reputation, is actually very practical. Land of Lisp brings the language into the real world, teaching Lisp by showing readers how to write several complete Lisp-based games, including a text adventure, an evolution simulation, and a robot battle. While building these games, readers learn the core concepts of Lisp programming, such as data types, recursion, input/output, object-oriented programming, and macros. And thanks to the power of Lisp, the code is short. Rather than bogging things down with reference information that is easily found online, Land of Lisp focuses on using Lisp for real programming. The book is filled with the author Conrad Barski's famous Lisp cartoons, featuring the Lisp alien and other zany characters.</p> |
|
<span id="continue-reading"></span><div> |
|
★★★☆☆ |
|
</div> |
|
<p>(Once again, ignoring the language itself to focus on the book).</p> |
|
<p>Lisp is one hell of a language. Lots of things that are getting traction today |
|
already exist in Lisp for a long time. And, still, Lisp is not a common |
|
language. And this book shows why.</p> |
|
<p>Just before reaching 1/4 of the book, there was a little piece of code that |
|
had nothing less than six "close parenthesis" in it. Just to have an idea of |
|
how bad it is, one of my friends that know Lisp inside and out rewrote the |
|
same piece of code using two new functions and hell, it was a lot easier to |
|
read -- simple because Lisp must be read from right to left, which most |
|
written languages use the other way around and reducing the closing |
|
parenthesis by moving pieces of code to other functions really does help.</p> |
|
<p>The book also fails in a lot of places: There is the constant abuse of global |
|
variables, which breaks the idea of functional programming, one of the pillars |
|
of the language; the whole code focus on the REPL and nowhere it talks about |
|
using an external editor and running the code, although in the very end a |
|
magical "load" appears, out of the blue; there is some serious lack of |
|
contextualization about concepts: things are simply thrown out and <em>then</em> |
|
explained (there is a piece about minimax which the author simply explains the |
|
code after showing it and, in the next chapter, he finally explains the |
|
minimax concept, only to tell that the code could be "fixed" to follow it in |
|
only 23 lines -- no shit, Sherlock, you wrote half of it without ever |
|
explaining <em>why</em> you were writing it).</p> |
|
<p>In the end, it's not a "oh so terrible" book, but it could really use some |
|
editing help.</p> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
</body> |
|
|
|
</html>
|
|
|