𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

Programming Language Explorations

✍ Scribed by Ray Toal, Sage Strieker, Marco Berardini


Publisher
Chapman and Hall/CRC
Year
2024
Tongue
English
Leaves
408
Edition
2
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


Programming Language Explorations 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 transcending multiple languages. A language-by-language approach is sandwiched between an introductory chapter that motivates and lays out the major concepts of the field and a final chapter that brings together all that was learned in the middle chapters into a coherent and organized view of the field.

Each of the featured languages in the middle chapters is introduced with a common trio of example programs and followed by a tour of its basic language features and coverage of interesting aspects from its type system, functional forms, scoping rules, concurrency patterns, and metaprogramming facilities. These chapters are followed by a brief tour of over 40 additional languages designed to enhance the reader’s appreciation of the breadth of the programming language landscape and to motivate further study.

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 practices, keeps a focus on cutting-edge programming patterns, and provides many runnable examples, all of which are available in the book’s companion GitHub repository. The combination of conceptual overviews with exploratory example-focused coverage of individual programming languages provides its readers with the foundation for more effectively authoring programs, prompting AI programming assistants, and, perhaps most importantly, learning―and creating―new languages.

✦ Table of Contents


Cover
Half Title
Title Page
Copyright Page
Dedication
Contents
Preface
CHAPTER 1: Welcome
1.1. THE STUDY OF PROGRAMMING LANGUAGES
1.2. PROGRAMMING LANGUAGE CONCEPTS
1.3. PROGRAMMING LANGUAGE ELEMENTS
1.3.1. Literals
1.3.2. Variables
1.3.3. References
1.3.4. Types
1.3.5. Expressions
1.3.6. Statements
1.3.7. Routines
1.3.8. Errors
1.3.9. Modules
1.4. PROGRAMMING LANGUAGE EVALUATION
1.4.1. Classification
1.4.2. Criteria
1.4.3. Tradeoffs
CHAPTER 2: Lua
2.1. HELLO LUA
2.2. THE BASICS
2.3. FUNCTIONS
2.4. SCOPE
2.5. CLOSURES
2.6. TABLES
2.7. METATABLES
2.8. COROUTINES
CHAPTER 3: JavaScript
3.1. HELLO JAVASCRIPT
3.2. THE BASICS
3.3. DESTRUCTURING
3.4. GENERATORS
3.5. METHODS
3.6. PROTOTYPES
3.7. SCOPE
3.8. PROMISES
CHAPTER 4: TypeScript
4.1. HELLO TYPESCRIPT
4.2. THE BASICS
4.3. GENERICS
4.4. OPTIONALITY
4.5. NARROWING
4.6. TYPE OPERATORS
4.7. TYPE ASSERTIONS
CHAPTER 5: Python
5.1. HELLO PYTHON
5.2. THE BASICS
5.3. TYPE HINTS
5.4. SCOPE
5.5. PARAMETER ASSOCIATION
5.6. SPECIAL METHODS
5.7. ITERATORS AND GENERATORS
5.8. DECORATORS
CHAPTER 6: Ruby
6.1. HELLO RUBY
6.2. THE BASICS
6.3. OBJECT ORIENTATION
6.4. SINGLETON CLASSES
6.5. BLOCKS
6.6. MIXINS
6.7. ACCESS CONTROL
6.8. METAPROGRAMMING
CHAPTER 7: Java
7.1. HELLO JAVA
7.2. THE BASICS
7.3. CLASSES
7.4. INTERFACES
7.5. GENERICS
7.6. TYPE VARIANCE
7.7. STREAMS
7.8. THREADS
7.9. METAPROGRAMMING
CHAPTER 8: Kotlin
8.1. HELLO KOTLIN
8.2. THE BASICS
8.3. CLASSES
8.4. EXTENSIONS
8.5. COMPANION OBJECTS
8.6. NULL SAFETY
8.7. COROUTINES
CHAPTER 9: Julia
9.1. HELLO JULIA
9.2. THE BASICS
9.3. MULTIDIMENSIONAL ARRAYS
9.4. MULTIPLE DISPATCH
9.5. METAPROGRAMMING
9.6. PARALLEL COMPUTING
CHAPTER 10: Clojure
10.1. HELLO CLOJURE
10.2. THE BASICS
10.3. NAMESPACES
10.4. PERSISTENT DATA STRUCTURES
10.5. TRANSIENTS
10.6. SOFTWARE TRANSACTIONAL MEMORY
10.7. AGENTS
10.8. THE EXPRESSION PROBLEM
10.9. MACROS
CHAPTER 11: Haskell
11.1. HELLO HASKELL
11.2. THE BASICS
11.3. LAZY EVALUATION
11.4. TYPE INFERENCE
11.5. TYPECLASSES
11.6. ALGEBRAIC DATA TYPES
11.7. EFFECTS
11.8. MONADS
11.9. SPARKS
CHAPTER 12: Go
12.1. HELLO GO
12.2. THE BASICS
12.3. POINTERS
12.4. SLICES
12.5. INTERFACES
12.6. PANICS
12.7. GOROUTINES
CHAPTER 13: C
13.1. HELLO C
13.2. THE BASICS
13.3. POINTERS
13.4. STORAGE DURATIONS
13.5. STRINGS
13.6. BUFFER OVERRUNS
13.7. THE PREPROCESSOR
CHAPTER 14: Swift
14.1. HELLO SWIFT
14.2. THE BASICS
14.3. OPERATORS
14.4. PROTOCOLS
14.5. EXTENSIONS
14.6. SAFETY FEATURES
14.7. AUTOMATIC REFERENCE COUNTING
14.8. STRUCTURED CONCURRENCY
CHAPTER 15: Rust
15.1. HELLO RUST
15.2. THE BASICS
15.3. OWNERSHIP
15.4. LIFETIMES
15.5. STRUCTS AND ENUMS
15.6. TRAITS
15.7. FEARLESS CONCURRENCY
15.8. MACROS
CHAPTER 16: Additional Languages
16.1. THE CLASSICS
16.1.1. Fortran
16.1.2. COBOL
16.1.3. Lisp
16.1.4. Algol
16.1.5. Simula
16.1.6. Smalltalk
16.2. CRYSTALLIZATIONS OF STYLE
16.2.1. APL
16.2.2. Prolog
16.2.3. K
16.2.4. Io
16.2.5. Factor
16.3. SCRIPTING
16.3.1. Bash
16.3.2. Perl
16.3.3. R
16.4. THE ML FAMILY
16.4.1. Standard ML
16.4.2. OCaml
16.4.3. F#
16.4.4. PureScript
16.4.5. Idris
16.5. SYSTEMS LANGUAGES
16.5.1. C++
16.5.2. D
16.5.3. Nim
16.5.4. Zig
16.6. CONCURRENCY
16.6.1. Erlang
16.6.2. Elixir
16.6.3. ParaSail
16.6.4. Chapel
16.7. MULTIPARADIGM LANGUAGES
16.7.1. CLU
16.7.2. Ada
16.7.3. C#
16.7.4. Scala
16.7.5. Mojo
16.8. THE WEB
16.8.1. PHP
16.8.2. Dart
16.8.3. Elm
16.8.4. Grain
16.9. QUANTUM COMPUTING LANGUAGES
16.10. ESOTERIC LANGUAGES
16.10.1. Brainf**k
16.10.2. Befunge
16.10.3. LOLCODE
16.10.4. CJam
16.10.5. Pyth
16.11. ASSEMBLY LANGUAGES
CHAPTER 17: Concepts
17.1. CLASSIFICATION
17.2. STRUCTURE
17.3. EXECUTION
Glossary
Bibliography
Index


πŸ“œ SIMILAR VOLUMES


Programming Language Explorations
✍ Ray Toal, Rachel Rivera, Alexander Schneider, Eileen Choe πŸ“‚ Library πŸ“… 2017 πŸ› CRC Press;Chapman and Hall/CRC 🌐 English

<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
✍ Ray Toal, Rachel Rivera, Alexander Schneider, Eileen Choe πŸ“‚ Library πŸ“… 2016 πŸ› Chapman and Hall/CRC 🌐 English

<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
✍ Ray Toal, Sage Strieker, Marco Berardini πŸ“‚ Library πŸ“… 2024 πŸ› Chapman and Hall/CRC 🌐 English

<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

Programming Language Explorations
✍ Ray Toal, Rachel Rivera, Alexander Schneider, Eileen Choe πŸ“‚ Library πŸ“… 2016 πŸ› Chapman and Hall/CRC 🌐 English

<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
✍ Alexander Schneider, Eileen Choe, Rachel Rivera, Ray Toal πŸ“‚ Library πŸ“… 2016 πŸ› Chapman and HallCRC 🌐 English

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