Download Programming Language Explorations by Ray Toal, Rachel Rivera, Alexander Schneider, Eileen Choe PDF

By Ray Toal, Rachel Rivera, Alexander Schneider, Eileen Choe

Programming Language Explorations is a journey of a number of sleek programming languages in use at the present time. The publication teaches primary language innovations utilizing a language-by-language technique. As every one language is gifted, the authors introduce new strategies as they seem, and revisit primary ones, evaluating their implementation with these from languages obvious in earlier chapters. The objective is to offer and clarify universal theoretical ideas of language layout and utilization, illustrated within the context of sensible language overviews.

Twelve languages were rigorously selected to demonstrate a variety of programming types and paradigms. The publication introduces each one language with a standard trio of instance courses, and keeps with a quick journey of its uncomplicated components, kind procedure, useful kinds, scoping ideas, concurrency styles, and occasionally, metaprogramming facilities.

Each language bankruptcy ends with a precis, tips that could open resource tasks, references to fabrics for extra research, and a set of routines, designed as additional explorations. Following the twelve featured language chapters, the authors offer a short travel of over dozen extra languages, and a precis bankruptcy bringing jointly the various questions explored through the text.

Targeted to either execs and complex collage undergraduates seeking to extend the diversity of languages and programming styles they could observe of their paintings and stories, the publication will pay awareness to trendy programming perform, covers state-of-the-art languages and styles, and offers many runnable examples, all of that are present in an internet GitHub repository. The exploration type locations this publication among an educational and a reference, with a spotlight at the strategies and practices underlying programming language layout and utilization. teachers trying to find fabric to complement a programming languages or software program engineering path might locate the procedure unconventional, yet with a bit of luck, much more fun.

Show description

Read or Download Programming Language Explorations PDF

Best software development books

Design Patterns: Elements of Reusable Object-Oriented Software

4 top-notch authors current the 1st booklet containing a catalog of object-oriented layout styles. Readers will how one can use layout styles within the object-oriented improvement method, tips to resolve particular layout difficulties utilizing styles, and achieve a standard vocabulary for object-oriented layout.

Extreme Programming Perspectives

Provides forty seven articles that characterize the insights and functional knowledge of the leaders of the XP group. provide experience-based suggestions for enforcing XP successfully and offers profitable transitioning options. Softcover.

Decision Making with Dominance Constraints in Two-Stage Stochastic Integer Programming

Two-stage stochastic programming types are regarded as beautiful instruments for making optimum judgements lower than uncertainty. commonly, optimality is formalized via employing statistical parameters akin to the expectancy or the conditional worth in danger to the distributions of target values. Uwe Gotzes analyzes an method of account for hazard aversion in two-stage versions dependent upon partial orders at the set of actual random variables.

Extra resources for Programming Language Explorations

Sample text

5 result is 16 isNaN average() Within the function body, the splat a is just an array. min x, y, z assert = require 'assert' numbers = [80, 20, 55] middle = medianOfThree numbers... assert middle is 55 CoffeeScript has a this keyword, which operates exactly like JavaScript’s this. PI This script works because functions defined with the thin arrow (->) set the value of this to the receiver when used as methods. But CoffeeScript also has JavaScript’s fat arrow (=>), which does not set the value of this.

5 PROTOTYPES Let’s turn now from functions to objects. How do you efficiently create a number of similar objects? How do you define dozens, thousands, or millions of points, or of circles, or people, or votes, or airports, or web page index entries? In JavaScript, we start with an initial (prototypical) object, then derive additional objects from it. These new objects have the original object as their prototype. What is a prototype? x, we look for an x property in q. ” If no object on the chain has the property, the lookup produces undefined.

Prototype. 1. 3 NO SHADOWING?! In programming language theory, the scope of a binding is the region of the code where the binding (of a name to an entity) is in force. JavaScript and CoffeeScript both use lexical scoping: scopes are determined by looking only at the source code and not relying on any runtime behavior. JavaScript, as we saw in the last chapter, uses the let, var, or const keyword to explicitly create a new variable in an inner scope: // JavaScript illustration var a = 0, b = 1, c = 2; (() => { var a = 100; // Local, b = 200; // Forgot var d = 300; // Local, })(); of local variables shadows the outer a var, overwrites outer b!

Download PDF sample

Rated 4.24 of 5 – based on 34 votes