<P><STRONG>Programming Language Explorations</STRONG> 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 fa
Programming Language Explorations
โ Scribed by Ray Toal, Rachel Rivera, Alexander Schneider, Eileen Choe
- Publisher
- CRC Press;Chapman and Hall/CRC
- Year
- 2017
- Tongue
- English
- Leaves
- 330
- Series
- AChapman & Hall book
- Edition
- 1
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Synopsis
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.
โฆ Table of Contents
Content: Introduction WHY STUDY PROGRAMMING LANGUAGES PROGRAMMING LANGUAGE ELEMENTS EVALUATING PROGRAMMING LANGUAGES JavaScript HELLO JAVASCRIPT THE BASICS CLOSURES METHODS PROTOTYPES SCOPE CALLBACKS AND PROMISES JAVASCRIPT WRAP UP CoffeeScript HELLO COFFEESCRIPT THE BASICS NO SHADOWING?! COMPREHENSIONS DESTRUCTURING EXISTENTIAL OPERATORS COFFEESCRIPT WRAP UP Lua HELLO LUA THE BASICS SCOPE TABLES METATABLES COROUTINES LUA WRAP UP Python HELLO PYTHON THE BASICS SCOPE PARAMETER ASSOCIATION SPECIAL METHODS ITERATORS AND GENERATORS DECORATORS PYTHON WRAP UP Ruby HELLO RUBY THE BASICS OBJECT ORIENTATION Messaging Encapsulation Inheritance Polymorphism Singleton Classes BLOCKS MIXINS ACCESS CONTROL METAPROGRAMMING RUBY WRAP UP Julia HELLO JULIA THE BASICS TYPES Abstract Types Parametric Types Sum and Product Types Type Annotations Covariance, Contravariance, and Invariance MULTIPLE DISPATCH METAPROGRAMMING PARALLEL COMPUTING JULIA WRAP UP Java HELLO JAVA THE BASICS INTERFACES STATIC TYPING GENERICS THREADS METAPROGRAMMING JAVA WRAP UP Clojure HELLO CLOJURE THE BASICS NAMESPACES PERSISTENT DATA STRUCTURES TRANSIENTS SOFTWARE TRANSACTIONAL MEMORY AGENTS THE EXPRESSION PROBLEM MACROS CLOJURE WRAP UP Elm HELLO ELM THE BASICS TYPE INFERENCE TAGGED UNIONS RECORDS EFFECTS ELM WRAP UP Erlang HELLO ERLANG THE BASICS MATCHING MESSAGING ERLANG WRAP UP Go HELLO GO THE BASICS POINTERS SLICES INTERFACES PANICS GOROUTINES REFLECTION GO WRAP UP Swift HELLO SWIFT THE BASICS OPTIONALS OPERATORS PROTOCOLS EXTENSIONS SAFETY FEATURES AUTOMATIC REFERENCE COUNTING SWIFT WRAP UP Additional Languages THE CLASSICS SYSTEMS LANGUAGES THE ENTERPRISE SCRIPTING THE ML FAMILY CONCURRENCY MATTERS THE WEB CRYSTALLIZATIONS OF STYLE ESOTERIC LANGUAGES ASSEMBLY LANGUAGES Afterword WHERE WE'VE BEEN Functions Types Expressions Control Flow Concurrency Modularity Metaprogramming WHERE TO GO NEXT Appendix A Numbers INTEGERS FLOATING POINT NUMBERS RATIOS AND DECIMALS Appendix B Text CHARACTERS, GLYPHS, AND GRAPHEME CLUSTERS CHARACTER PROPERTIES CHARACTER ENCODING
โฆ Subjects
Programming languages (Electronic computers)
๐ SIMILAR VOLUMES
<p><span>Programming Language Explorations</span><span> helps its readers gain proficiency in programming language practice and theory by presenting both example-focused, chapter-length explorations of fourteen important programming languages and detailed discussions of the major concepts transcendi
<p><span>Programming Language Explorations</span><span> helps its readers gain proficiency in programming language practice and theory by presenting both example-focused, chapter-length explorations of fourteen important programming languages and detailed discussions of the major concepts transcendi
<P><STRONG>Programming Language Explorations</STRONG> 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 fa
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, compari