Programming in CoffeeScript

Programming in CoffeeScript
Author: Mark Bates
Publisher: Addison-Wesley Professional
Total Pages: 311
Release: 2012
Genre: Computers
ISBN: 032182010X

Use CoffeeScript to Write Better JavaScript Code Than Ever Before! If you can do it in JavaScript, you can do it better in CoffeeScript. And, since CoffeeScript "compiles down" to JavaScript, your code will fit neatly into virtually any web environment. In Programming in CoffeeScript, Mark Bates shows web developers why CoffeeScript is so useful and how it avoids the problems that often make JavaScript code buggy and unmanageable. He guides you through every feature and technique you need to write quality CoffeeScript code and shows how to take advantage of CoffeeScript's increasingly robust toolset. Bates begins with the absolute basics of running and compiling CoffeeScript and then introduces syntax, control structures, functions, collections, and classes. Through same page code comparisons, you'll discover exactly how CoffeeScript improves on JavaScript. Next, you'll put it to work in building applications that are powerful, flexible, maintainable, concise, reliable, and secure. Bates shares valuable tips for better development, illuminating CoffeeScript's hidden gems and warning you about its remaining "rough edges." The book concludes with a start-to-finish application case study showing how to code back-ends and front-ends and integrate powerful frameworks and libraries. Coverage includes Understanding the right ways to compile and execute CoffeeScript Using CoffeeScript's clean syntax to focus on your code, not JavaScript's distractions Working with CoffeeScript's control structures, functions, and arguments Taking full advantage of CoffeeScript's implementation of collections and iterators Leveraging CoffeeScript's full class support to create complex data models Automating common application development tasks with Cake and Cakefiles Configuring Jasmine with CoffeeScript support, and using it to systematically test your code Writing Node.js server-side applications in CoffeeScript Using CoffeeScript to write jQuery and Backbone.js applications Integrating framework code to avoid "reinventing the wheel" Want a better way to create the JavaScript code your web applications need? CoffeeScript is the solution-and this book will help you master it!

CoffeeScript Application Development

CoffeeScript Application Development
Author: Ian Young
Publisher: Packt Publishing Ltd
Total Pages: 390
Release: 2013-01-01
Genre: Computers
ISBN: 1782162674

CoffeeScript Application Development is a practical, hands-on guide with step-by-step instructions. Follow the smooth and easy tutorial approach, covering examples that build in complexity. By the final chapter you'll be wondering why you didn't try CoffeeScript sooner.If you are a JavaScript developer who wants to save time and add power to your code, then this is the book that will help you do it. With minimal fuss you will learn a whole new language which will reduce your application development time from weeks to days.

Pencil Code

Pencil Code
Author: David Bau III
Publisher: David Bau
Total Pages: 57
Release: 2013-12-15
Genre: Computers
ISBN: 149434744X

This elegant programming primer teaches K-12 students to code through more than 100 graded examples, each one illustrated in color. The second edition includes an appendix with a tutorial in CoffeeScript. Written by a computer scientist to teach his own children to program, the book is designed for inductive learning. The illustrated programs come with no expository text. Instead, the sequence of projects introduce increasingly sophisticated concepts by example. Each one invites customization and exploration. The book begins by suggesting a simple program to draw a line. Subsequent pages introduce core concepts in computer science: loops, functions, recursion, input and output, numbers and text, and data structures. The more advanced material introduces concepts in randomness, animation, HTML5, jQuery, networking, and artificial intelligence.

JavaScript Allongé

JavaScript Allongé
Author: Reginald Braithwaite
Publisher: Justin Kelly
Total Pages: 246
Release: 2013-10-04
Genre: Computers
ISBN:

JavaScript Allongé solves two important problems for the ambitious JavaScript programmer. First, JavaScript Allongé gives you the tools to deal with JavaScript bugs, hitches, edge cases, and other potential pitfalls. There are plenty of good directions for how to write JavaScript programs. If you follow them without alteration or deviation, you will be satisfied. Unfortunately, software is a complex thing, full of interactions and side-effects. Two perfectly reasonable pieces of advice when taken separately may conflict with each other when taken together. An approach may seem sound at the outset of a project, but need to be revised when new requirements are discovered. When you “leave the path” of the directions, you discover their limitations. In order to solve the problems that occur at the edges, in order to adapt and deal with changes, in order to refactor and rewrite as needed, you need to understand the underlying principles of the JavaScript programming language in detail. You need to understand why the directions work so that you can understand how to modify them to work properly at or beyond their original limitations. That’s where JavaScript Allongé comes in. JavaScript Allongé is a book about programming with functions, because JavaScript is a programming language built on flexible and powerful functions. JavaScript Allongé begins at the beginning, with values and expressions, and builds from there to discuss types, identity, functions, closures, scopes, and many more subjects up to working with classes and instances. In each case, JavaScript Allongé takes care to explain exactly how things work so that when you encounter a problem, you’ll know exactly what is happening and how to fix it. Second, JavaScript Allongé provides recipes for using functions to write software that is simpler, cleaner, and less complicated than alternative approaches that are object-centric or code-centric. JavaScript idioms like function combinators and decorators leverage JavaScript’s power to make code easier to read, modify, debug and refactor, thus avoiding problems before they happen. JavaScript Allongé teaches you how to handle complex code, and it also teaches you how to simplify code without dumbing it down. As a result, JavaScript Allongé is a rich read releasing many of JavaScript’s subtleties, much like the Café Allongé beloved by coffee enthusiasts everywhere. License: CC BY-SA 3.0 Source is available from Github * https://github.com/justinkelly/javascript-allonge

Async JavaScript

Async JavaScript
Author: Trevor Burnham
Publisher: Pragmatic Bookshelf
Total Pages: 144
Release: 2012-11-28
Genre: Computers
ISBN: 168050312X

With the advent of HTML5, front-end MVC, and Node.js, JavaScript is ubiquitous--and still messy. This book will give you a solid foundation for managing async tasks without losing your sanity in a tangle of callbacks. It's a fast-paced guide to the most essential techniques for dealing with async behavior, including PubSub, evented models, and Promises. With these tricks up your sleeve, you'll be better prepared to manage the complexity of large web apps and deliver responsive code. With Async JavaScript, you'll develop a deeper understanding of the JavaScript language. You'll start with a ground-up primer on the JavaScript event model--key to avoiding many of the most common mistakes JavaScripters make. From there you'll see tools and design patterns for turning that conceptual understanding into practical code. The concepts in the book are illustrated with runnable examples drawn from both the browser and the Node.js server framework, incorporating complementary libraries including jQuery, Backbone.js, and Async.js. You'll learn how to create dynamic web pages and highly concurrent servers by mastering the art of distributing events to where they need to be handled, rather than nesting callbacks within callbacks within callbacks. Async JavaScript will get you up and running with real web development quickly. By the time you've finished the Promises chapter, you'll be parallelizing Ajax requests or running animations in sequence. By the end of the book, you'll even know how to leverage Web Workers and AMD for JavaScript applications with cutting-edge performance. Most importantly, you'll have the knowledge you need to write async code with confidence. What You Need: Basic knowledge of JavaScript is recommended. If you feel that you're not up to speed, see the "Resources for Learning JavaScript" section in the preface.

Programming Language Explorations

Programming Language Explorations
Author: Ray Toal
Publisher: CRC Press
Total Pages: 379
Release: 2017-08-09
Genre: Computers
ISBN: 1315314312

Programming Language Explorations is a tour of several modern programming languages in use today. The book teaches fundamental language concepts using a language-by-language approach. As each language is presented, the authors introduce new concepts as they appear, and revisit familiar ones, comparing their implementation with those from languages seen in prior chapters. The goal is to present and explain common theoretical concepts of language design and usage, illustrated in the context of practical language overviews. Twelve languages have been carefully chosen to illustrate a wide range of programming styles and paradigms. The book introduces each language with a common trio of example programs, and continues with a brief tour of its basic elements, type system, functional forms, scoping rules, concurrency patterns, and sometimes, metaprogramming facilities. Each language chapter ends with a summary, pointers to open source projects, references to materials for further study, and a collection of exercises, designed as further explorations. Following the twelve featured language chapters, the authors provide a brief tour of over two dozen additional languages, and a summary chapter bringing together many of the questions explored throughout the text. Targeted to both professionals and advanced college undergraduates looking to expand the range of languages and programming patterns they can apply in their work and studies, the book pays attention to modern programming practice, covers cutting-edge languages and patterns, and provides many runnable examples, all of which can be found in an online GitHub repository. The exploration style places this book between a tutorial and a reference, with a focus on the concepts and practices underlying programming language design and usage. Instructors looking for material to supplement a programming languages or software engineering course may find the approach unconventional, but hopefully, a lot more fun.

Programming in Go

Programming in Go
Author: Mark Summerfield
Publisher: Addison-Wesley
Total Pages: 496
Release: 2012-05-01
Genre: Computers
ISBN: 0132764091

Your Hands-On Guide to Go, the Revolutionary New Language Designed for Concurrency, Multicore Hardware, and Programmer Convenience Today’s most exciting new programming language, Go, is designed from the ground up to help you easily leverage all the power of today’s multicore hardware. With this guide, pioneering Go programmer Mark Summerfield shows how to write code that takes full advantage of Go’s breakthrough features and idioms. Both a tutorial and a language reference, Programming in Go brings together all the knowledge you need to evaluate Go, think in Go, and write high-performance software with Go. Summerfield presents multiple idiom comparisons showing exactly how Go improves upon older languages, calling special attention to Go’s key innovations. Along the way, he explains everything from the absolute basics through Go’s lock-free channel-based concurrency and its flexible and unusual duck-typing type-safe approach to object-orientation. Throughout, Summerfield’s approach is thoroughly practical. Each chapter offers multiple live code examples designed to encourage experimentation and help you quickly develop mastery. Wherever possible, complete programs and packages are presented to provide realistic use cases, as well as exercises. Coverage includes Quickly getting and installing Go, and building and running Go programs Exploring Go’s syntax, features, and extensive standard library Programming Boolean values, expressions, and numeric types Creating, comparing, indexing, slicing, and formatting strings Understanding Go’s highly efficient built-in collection types: slices and maps Using Go as a procedural programming language Discovering Go’s unusual and flexible approach to object orientation Mastering Go’s unique, simple, and natural approach to fine-grained concurrency Reading and writing binary, text, JSON, and XML files Importing and using standard library packages, custom packages, and third-party packages Creating, documenting, unit testing, and benchmarking custom packages

ClojureScript

ClojureScript
Author: Stuart Sierra
Publisher: "O'Reilly Media, Inc."
Total Pages: 117
Release: 2012
Genre: Computers
ISBN: 1449327435

Learn how to build complete client-side applications with ClojureScript, the Clojure language variant that compiles to optimized JavaScript. This hands-on introduction shows you how ClojureScript not only has similarities to JavaScript--without the flaws--but also supports the full semantics of its parent language. You'll delve into ClojureScript's immutable data structures, lazy sequences, first-class functions, macros, and support for JavaScript libraries. No previous experience with Clojure or ClojureScript is necessary. If you're familiar with JavaScript, HTML, CSS, and the DOM, you'll quickly discover that ClojureScript has the same reach as JavaScript, but with more power. Start writing ClojureScript code with the Leiningen build system Learn how the ClojureScript compiler works to produce optimized JavaScript Use JavaScript functions and libraries directly from ClojureScript code Explore functions in Clojure's sequence library such as map, reduce, and filter Use macros to define new control structures or embed domain-specific languages Compile manually or script your own workflow with ClojureScript's compiler tools Integrate ClojureScript with Clojure on the JVM to build powerful client-server applications

Refactoring

Refactoring
Author: Jay Fields
Publisher: Pearson Education
Total Pages: 555
Release: 2009-10-15
Genre: Computers
ISBN: 0321604172

The Definitive Refactoring Guide, Fully Revamped for Ruby With refactoring, programmers can transform even the most chaotic software into well-designed systems that are far easier to evolve and maintain. What’s more, they can do it one step at a time, through a series of simple, proven steps. Now, there’s an authoritative and extensively updated version of Martin Fowler’s classic refactoring book that utilizes Ruby examples and idioms throughout–not code adapted from Java or any other environment. The authors introduce a detailed catalog of more than 70 proven Ruby refactorings, with specific guidance on when to apply each of them, step-by-step instructions for using them, and example code illustrating how they work. Many of the authors’ refactorings use powerful Ruby-specific features, and all code samples are available for download. Leveraging Fowler’s original concepts, the authors show how to perform refactoring in a controlled, efficient, incremental manner, so you methodically improve your code’s structure without introducing new bugs. Whatever your role in writing or maintaining Ruby code, this book will be an indispensable resource. This book will help you Understand the core principles of refactoring and the reasons for doing it Recognize “bad smells” in your Ruby code Rework bad designs into well-designed code, one step at a time Build tests to make sure your refactorings work properly Understand the challenges of refactoring and how they can be overcome Compose methods to package code properly Move features between objects to place responsibilities where they fit best Organize data to make it easier to work with Simplify conditional expressions and make more effective use of polymorphism Create interfaces that are easier to understand and use Generalize more effectively Perform larger refactorings that transform entire software systems and may take months or years Successfully refactor Ruby on Rails code