Adam Tornhill - Lisp for the Web
Here you can read online Adam Tornhill - Lisp for the Web full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2014, publisher: leanpub.com, genre: Computer. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:
Romance novel
Science fiction
Adventure
Detective
Science
History
Home and family
Prose
Art
Politics
Computer
Non-fiction
Religion
Business
Children
Humor
Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.
- Book:Lisp for the Web
- Author:
- Publisher:leanpub.com
- Genre:
- Year:2014
- Rating:4 / 5
- Favourites:Add to favourites
- Your mark:
- 80
- 1
- 2
- 3
- 4
- 5
Lisp for the Web: summary, description and annotation
We offer to read an annotation, description, summary or preface (depends on what the author of the book "Lisp for the Web" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.
Lisp for the Web — read online for free the complete book (whole text) full work
Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Lisp for the Web" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.
Font size:
Interval:
Bookmark:
This book is for sale at http://leanpub.com/lispweb
This version was published on 2015-05-24
* * * * *
This is a Leanpub book. Leanpub empowers authors and publishers with the Lean Publishing process. Lean Publishing is the act of publishing an in-progress ebook using lightweight tools and many iterations to get reader feedback, pivot until you have the right book and build traction once you do.
* * * * *
Lisp has kept me fascinated since I hesitantly opened my first pair of parenthesis. To this day, the lessons I took away from Lisp keep informing my decisions in other languages and technologies. Learning Lisp radially changed how I view programming.
But starting with Lisp wasnt a smooth transition. Lisps power comes from a philosophy thats absent in all mainstream languages of today. In a way, learning Lisp was like facing programming as an absolute beginner again.
When it comes to learning, theres nothing more efficient than teaching someone else. Suddenly your cloudy thoughts need to be crystalized, put in context and communicated. In short, you need to truly understand your topic. Following that approach I set out to write an article on Lisp programming. I chose the web as my domain since my preliminary goal was to understand how a 50 year old language could provide just the right tools for an environment that wasnt even conceived back then. If Lisp indeed made it, there had to be something timeless over it. Some inherent quality that could give the programmers of today unequalled power and flexibility.
Writing the original Lisp for the Web article back in 2008 proved to be a rewarding experience. Not only did I succeed on this step in my learning journey; the feedback I got from fellow programmers around the world was overwhelming. I never thought Id reach such a wide audience. In a way Lisp for the Web seemed to provide a natural next step for people that read Paul Grahams essays and were now looking for practical material to take their first step into the exciting (and sometimes frightening) world of Lisp.
Since that time back in 2008 there has been several additions to the Common Lisp ecosystem. Quicklisp lowered the hurdle by providing a simple way to get started, making all powerful libraries easy to install. New books turned up. In particular Land of Lisp stands as an excellent example on a pedagogical introduction to the language. The web development community continued to evolve too. Just to mention a few examples, Edi Weitz made several improvements to his Hunchentoot web-server, NoSQL backends gained popularity, and Matthew Snyder expanded on my work with his excellent Lisp for the Web, part II article.
To this day I keep getting questions on Lisp for the Web. Part of the reason is that I left the original code to rot. I moved on to pursuit other adventures and never really looked back. The result is that the code is now in a sad state where it isnt compatible with newer versions of Hunchentoot. Thats not where I wanted it to end. I think the Common Lisp community deserves up-to-date material; I dont want anyone come to my tutorial with the intentions of learning Lisp and leave out of frustration as the examples dont compile.
This book is my attempt to restore Lisp for the Web to its former glory. Besides bringing the code up-to-date, Ive also taken this opportunity to switch to HTML5 and include some new material. This additional material includes:
- coverage of interacting with the popular NoSQL MongoDB,
- a treatment of the MapReduce algorithm in Lisp and how we can execute it on a remote node without ever leaving our Lisp environment, and
- expanded coverage on how to express JavaScript in Lisp and generate it dynamically, and
- finally, I dive deeper into the Common Lisp Object System (CLOS) and show how it allows us to model complex functionality with simple constructs. The example I include is a variant of the design pattern Observer, but in just one line of standard CLOS code rather than building elaborate class hierarchies.
In the end I hope you enjoy this book and find learning Lisp just as rewarding as I did.
All source code is available in a Github repository. The code comes in three versions: one with the prototypical backend were about to develop in the first part of the book, another version that extends the code to use a persistent storage, and finally a module that includes the MapReduce implementation.
If you clone my Github repository youll notice that Ive duplicated several definitions in the different modules. This isnt something I necessarily encourage in production code. Rather my intent is to present an easily digestible, stand-alone snapshot of each version of the application. In the tutorial I take an iterative approach where I grow a live system organically. Often, this includes replacing existing functions with new versions. As such, the duplications are traces of what once was.
Ive organized this book as a tutorial. If you want to follow along you need a Lisp. There are several high-quality alternatives available to you, both open-source as well as commercial implementations. A good starting point is the Getting Started page on the CLiki.
Common Lisp has tons of interesting open-source libraries. Well get to meet some of them in this book. Since the advent of Quicklisp, installing a library is a breeze. You can get a copy of Quicklisp here: http://www.quicklisp.org. Once youve downloaded your copy, just follow the instructions on the Cliki to install Quicklisp.
The original Lisp for the Web article was published by an Adam Petersen. Now it may look as though Ive stolen not only Mr Petersens idea but also the bulk of his writings. Trust me, its OK - I used to be him. I changed my family name in the summer of 2013 as I married my beautiful Jenny.
Adam is a programmer that combines degrees in engineering and psychology. Hes the author of Your Code as a Crime Scene, has written the popular Lisp for the Web tutorial and self-published a book on Patterns in C. Adam also writes open-source software in a variety of programming languages. His other interests include modern history, music and martial arts.
Thanks to Christopher Wellons, Stuart Malcolm and Matthew Malisz for reporting issues in earlier versions of this book.
My amazing wife Jenny Tornhill designed the cover of this book. Thanks Jenny - you rock!
With his essay Beating the Averages, Paul Graham told the story of how his web start-up Viaweb outperformed its competitors by using Lisp. Lisp? Did I parse that correctly? That ancient language with all those scary parentheses? Yes, indeed! And with the goal of identifying its strengths and what they can do for us, Ill put Lisp to work developing a web application. In the process well find out how a 50 years old language can be so well-suited for modern web development and yes, its related to all those parentheses.
Starting from scratch, well develop a three-tier web application. Ill show how to:
Font size:
Interval:
Bookmark:
Similar books «Lisp for the Web»
Look at similar books to Lisp for the Web. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.
Discussion, reviews of the book Lisp for the Web and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.