First-class object
A first-class object is a language value that can be stored, passed, returned, and manipulated in the same general ways as other values.
Learn Concurrent Programming with Go
A first-class object is a value that a programming language allows to be stored, passed as an argument, returned from a function, or otherwise handled like other ordinary values.
- How it is used
- Uses channels as composable connections for message-passing pipelines and select-based concurrent behavior.
- How deep it goes
- Defines first-class channels and works through returned streams and a dynamically growing prime-filter pipeline.
- Examples
- Demonstrates periodic Tick/Tock channels selected together and a prime-number sieve that adds filter goroutines.
- What you can do after
- Apply it via Go channels to compose reusable stages and change a concurrent program’s channel topology at runtime.
Read how Learn Concurrent Programming with Go explains first-class object →
Secrets of the JavaScript Ninja, Second Edition
A value that can be assigned, passed as an argument, returned, and otherwise handled like an ordinary value.
- How it is used
- Uses first-class functions to explain why JavaScript functions can be placed where values are needed, including callback arguments.
- How deep it goes
- Explains assignable, passable, returnable, and invokable functions with code; defers detailed closure and scope mechanics.
- Examples
- Compares number and function literals in assignments and arguments, then contrasts function declarations with expressions.
- What you can do after
- Practice/perform it by placing function expressions in assignments, arguments, and return positions.
Read how Secrets of the JavaScript Ninja, Second Edition explains first-class object →
Kotlin in Action, 2E
A first-class function is a function that can be stored in variables, passed as an argument, or returned from another function.
- How it is used
- Uses functions as values to parameterize behavior, remove duplication, and structure functional-style Kotlin code.
- How deep it goes
- Defines storing, passing, and returning functions, then works through lambda callbacks and returned calculators and predicates.
- Examples
- Uses a button click listener, a message-processing pipeline, shipping-cost calculators, and contact-list predicates.
- What you can do after
- Apply it via Kotlin lambdas and function types to pass or return behavior for callbacks, calculators, and filters.
Functional Programming in JavaScript
A function value that can be assigned, passed as an argument, and returned like other values in a language.
- How it is used
- Uses functions as reusable values for composing functional JavaScript and passing parameterized behavior.
- How deep it goes
- Defines function objects, variables, properties, constructors, and arguments, then stops short of detailed execution internals.
- Examples
- Demonstrates variable assignment, object methods, Function constructors, sorting callbacks, operation arguments, and returned functions.
- What you can do after
- Apply it by passing operations, selectors, printers, and callbacks into reusable JavaScript functions.
Read how Functional Programming in JavaScript explains first-class object →
Functional Programming in Scala, Second Edition
A first-class value is a value that can be represented, returned, stored, passed to functions, and otherwise manipulated like other values.
- How it is used
- Separates business logic from payment effects so purchases and charges can be reused and tested independently.
- How deep it goes
- Demonstrates representation, reuse, aggregation, and function passing, but does not develop the general theory of first-class values.
- Examples
- Uses Coffee, Charge, buyCoffee, buyCoffees, and coalesce to demonstrate explicit and combinable values.
- What you can do after
- Apply first-class values to separate effects, compose collection operations, and write reusable testable business logic.
Read how Functional Programming in Scala, Second Edition explains first-class object →
Learn Haskell by Example
A first-class function is a function that can be treated as a value, including being passed, returned, named, stored, or composed.
- How it is used
- Uses functions as reusable values for composing declarative programs and passing transformations between operations.
- How deep it goes
- Explains passing, returning, naming, storing, and composing functions, then demonstrates composition in GHCi and CSV output.
- Examples
- Uses a cake recipe analogy, GHCi composition expressions, composed function lists, and a CSV file-writing pipeline.
- What you can do after
- Apply function composition and partial application to build concise transformation pipelines, including CSV output actions.
Read how Learn Haskell by Example explains first-class object →
Data-Oriented Programming: Reduce software complexity
A first-class citizen is a value or language entity that can be represented, stored, passed, and manipulated in the same general ways as other values.
- How it is used
- Uses first-class data and fields to support generic manipulation, debugging, and reproducible database-backed behavior.
- How deep it goes
- Defines the idea through data collections, fields, late binding, and a worked REPL reproduction, without formal language-runtime internals.
- Examples
- Demonstrates captured catalog data, reproduced book-search calls, and a failing then improved 'Habit' query.
- What you can do after
- Diagnose/debug with it by capturing data arguments, reproducing calls in a REPL, and iterating against concrete database data.
Read how Data-Oriented Programming: Reduce software complexity explains first-class object →
Related concepts
- functionincludes · A function is a defined operation that maps inputs to outputs and, when implemented as a callable program unit, may also produce effects.
- functional, stateless philosophyused by · Functional programming is a programming paradigm that expresses computation through the evaluation and composition of functions, typically favoring immutable data and minimizing mutable state and side effects.
- arithmetic operatorcontrasts with · An arithmetic operator is a programming-language operator that performs a numerical calculation on one or more operands.
- JavaScriptused by · JavaScript is a high-level, dynamically typed, multi-paradigm programming language standardized as ECMAScript and used for web and general-purpose programming.
- channelincludes · A channel is a typed Go communication and synchronization mechanism through which goroutines send and receive values.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.






