Free Downloads
Eloquent JavaScript: A Modern Introduction To Programming

JavaScript lies at the heart of almost every modern web application, from social apps to the newest browser-based games. Though simple for beginners to pick up and play with, JavaScript is a flexible, complex language that you can use to build full-scale applications.Eloquent JavaScript, 2nd Edition dives deep into the JavaScript language to show you how to write beautiful, effective code. Author Marijn Haverbeke immerses you in example code from the start, while exercises and full-chapter projects give you hands-on experience with writing your own programs. As you build projects such as an artificial life simulation, a simple programming language, and a paint program, you'll learn:The essential elements of programming, including syntax, control, and dataHow to organize and clarify your code with object-oriented and functional programming techniquesHow to script the browser and make basic web applicationsHow to use the DOM effectively to interact with browsersHow to harness Node.js to build servers and utilitiesThis edition is thoroughly revised and modernized to reflect the current state of JavaScript and web browsers, with brand-new material, such as a chapter on code performance in Java­Script, and expanded coverage of recursion and closures. All source code is available online in an interactive sandbox, where you can edit the code, run it, and see its output instantly.Isn't it time you became fluent in the language of the Web?

Paperback: 472 pages

Publisher: No Starch Press; 2 edition (December 14, 2014)

Language: English

ISBN-10: 1593275846

ISBN-13: 978-1593275846

Product Dimensions: 1 x 7 x 9.2 inches

Shipping Weight: 2 pounds (View shipping rates and policies)

Average Customer Review: 4.1 out of 5 stars  See all reviews (54 customer reviews)

Best Sellers Rank: #11,500 in Books (See Top 100 in Books) #7 in Books > Computers & Technology > Programming > Web Programming > JavaScript #22 in Books > Computers & Technology > Programming > Introductory & Beginning #45 in Books > Textbooks > Computer Science > Programming Languages

This is book is phenomenal - the best book on programming I've ever read. But it's important to note: it's about programming. The programming just happens to be in in Javascript. If you are looking to learn a few JS commands for your website, this is probably not the right book.Contrary to the other reviews, Eloquent Javascript is for beginners. This can been seen in Chapter 1... it starts with the number "13". Then goes to arithmetic with "100 + 4 * 11", then boolean "3 > 2". Definitely for beginners.No, the code examples are not superficial. It's similar to Zed Shaw's exercises in Learn Python the Hard Way - they are specially crafted to teach you something. You should type out the examples on your computer, write comments on what each line does, download the data files from the website, and get the examples to run.The author put this quote in the introduction:"I do not enlighten those who are not eager to learn, nor arouse those who are not anxious to give an explanation themselves. If I have presented one corner of the square and they cannot come back to me with the other three, I should not go over the points again." -ConfuciusThe reason I like Eloquent Javascript so much is that, unlike textbooks, it is written in an easy-going manner, like he's talking to you. Each example builds on previous examples, each chapter builds on the previous chapters. Slowly building up your knowledge. Sometimes without me realizing how much I'm learning.An example is functional programming. I never understood it or the hype. I read many articles and discussion forums, but I never really got it.

After going through this book, I think this book is rather suitable for people with some familiarity with programming than for someone who is new to programming.As a programming student myself, the book covers important foundations of JavaScript in detail but I have to agree with another review that the examples are difficult to follow. The examples demonstrate how powerful the concept can be, but as a textbook intended to introduce people to programming, the examples can become difficult to comprehend. It's like telling a child to build a Death Star out of legos after teaching them how lego blocks can be attached together (I'm exaggerating but you get the gist). Otherwise, the book offers a strong foundation in every concept you need to learn (No wonder one of the top JavaScript-oriented bootcamps recommends this book). The book's exercise problems are very helpful getting familiar with JavaScript once you master them, and your JavaScript discipline will be great. It will take you a while if this book is the only source , so I recommend combine this book with another source (e.g. JavascriptIsSexy, Mozilla MDN, The Definitive Guide, etc). The author is definitely coming from a programmer's perspective when he's explaining JS concepts. But in order for the book to be an effective textbook, the book should be written from the reader's perspective & that's where the book falls short. It's understandable in a way, because the author is an expert in programming and lives, eats, and sleeps with programming, which may be why the book can't translate concepts to the intended audience who know virtually nothing about programming.The book's flow is similar to a narrative. Sometimes, it can get weird and confusing (i.e. one of the many reasons the author confuses you).

It was really hard to pick the right amount of stars for this book. If you were to ask many Javascript programmers for a list of the essential books to read in order to become proficient at Javascript, then you'll find this one coming up quite often. When it comes to introducing you to all (or at least most) of the essential key concepts of Javascript programming, this is one of the best. As a beginner book, it unfortunately fails. Some here will say that it never specifies that it is trying to be a beginner book, but if you read the first 2 or 3 chapters, it is very clear that it is. It starts off with VERY basic programming concepts and exercises that any beginner can follow.However, things soon start to ramp up VERY quickly. The book will briefly introduce you to an important concept, and then quickly move on, using that concept throughout the rest of the book, failing to ensure that the concept was sufficiently solidified in the mind of the reader. You simply can't use this book as a stand-alone resource for learning Javascript programming in general.With all of the above negativity, why would I still give this book 4 stars? Well, as mentioned above, it is still a great book for covering all of the essentials of js programming. If you are an experienced programmer, and are now ready to learn the Javascript language, this is a great book for learning the key concepts. There are some challenging exercises that a veteran will be able to handle quite well. Heck, even if you have learned most of the basic Javascript syntax (language rules), then you might be ready to slog through this book.

Javascript: A Pocket Key to JavaScript for beginners (JavaScript Programming, JavaScript Beginners, JavaScript for web developers, JavaScript Beginners Guide, Java Programming for Beginners) Javascript: Beginner to Expert with Javascript Programming (Javascript, Javascript Programming, Javascript for Beginners, Java, Java Programming, Java for Beginners,) JavaScript: QuickStart Guide - The Simplified Beginner's Guide To JavaScript (JavaScript, JavaScript Programming, JavaScript and Jquery) Javascript: Learn Javascript In A DAY! - The Ultimate Crash Course to Learning the Basics of the Javascript Programming Language In No Time (Javascript, ... JSON, Javascript Development Book 1) JAVASCRIPT: Easy JavaScript Programming For Beginners. Your Step-By-Step Guide to Learning JavaScript Programming (JavaScript Series) Eloquent JavaScript: A Modern Introduction to Programming JAVASCRIPT: JavaScript in 8 Hours, For Beginners, Learn JavaScript Fast! A Smart Way to Learn JS, Plain & Simple, Learn JS Programming Language in Easy Steps, A Beginner's Guide, Start Coding Today! Programming: Computer Programming for Beginners: Learn the Basics of Java, SQL & C++ - 3. Edition (Coding, C Programming, Java Programming, SQL Programming, JavaScript, Python, PHP) Programming #8:C Programming Success in a Day & Android Programming In a Day! (C Programming, C++programming, C++ programming language, Android , Android Programming, Android Games) Programming #57: C++ Programming Professional Made Easy & Android Programming in a Day (C++ Programming, C++ Language, C++for beginners, C++, Programming ... Programming, Android, C, C Programming) Exam Ref 70-480 Programming in HTML5 with JavaScript and CSS3 (MCSD): Programming in HTML5 with JavaScript and CSS3 MYSQL Programming Professional Made Easy 2nd Edition: Expert MYSQL Programming Language Success in a Day for any Computer User! (MYSQL, Android programming, ... JavaScript, Programming, Computer Software) XML Programming Success in a Day: Beginner's Guide to Fast, Easy, and Efficient Learning of XML Programming (XML, XML Programming, Programming, XML Guide, ... XSL, DTD's, Schemas, HTML5, JavaScript) Programming #45: Python Programming Professional Made Easy & Android Programming In a Day! (Python Programming, Python Language, Python for beginners, ... Programming Languages, Android Programming) JavaScript: The Ultimate Crash Course Learning JavaScript within a Day with New Approach for Faster Programming (Save Time and Effort) Functional Programming in JavaScript: How to improve your JavaScript programs using functional techniques JavaScript: Crash Course - The Ultimate Beginner's Course to Learning JavaScript Programming in Under 12 Hours Programming: C ++ Programming : Programming Language For Beginners: LEARN IN A DAY! (C++, Javascript, PHP, Python, Sql, HTML, Swift) JAVA: The Ultimate Guide to Learn Java Programming Fast (Programming, Java, Database, Java for dummies, coding books, java programming) (HTML, Javascript, ... Developers, Coding, CSS, PHP Book 1) Raspberry Pi 2: Raspberry Pi 2 Programming Made Easy (Raspberry Pi, Android Programming, Programming, Linux, Unix, C Programming, C+ Programming)