Programming language explorations
- by Ray Toal, Rachel Rivera, Alexander Schneider and Eileen Choe.
- Boca Raton, FL : Chapman and Hall/CRC, an imprint of Taylor and Francis, 2017.
- Physical description
- 1 online resource (362 pages) : 50 illustrations
- Introduction WHY STUDY PROGRAMMING LANGUAGES PROGRAMMING LANGUAGE ELEMENTS EVALUATING PROGRAMMING LANGUAGES
- CoffeeScript HELLO COFFEESCRIPT THE BASICS NO SHADOWING?! COMPREHENSIONS DESTRUCTURING EXISTENTIAL OPERATORS COFFEESCRIPT WRAP UP
- Lua HELLO LUA THE BASICS SCOPE TABLES METATABLES COROUTINES 3LUA WRAP UP
- Python HELLO PYTHON THE BASICS SCOPE PARAMETER ASSOCIATIO 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 3
- 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
- Glossary Bibliography Index.
- (source: Nielsen Book Data)
- Publisher's summary
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 featuring the language, 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.
(source: Nielsen Book Data)
- Publication date
- 9781315314334 (e-book : PDF)
- 9781498738477 (e-book)
- 9781138412897 (hardback)
- 9781498738460 (paperback)