Skip to content
Books
2026
Front cover of Advanced Technologies for Application Development
BookIn press

Advanced Technologies for Application Development

Problem Solving in Go and Rust

Go and Rust as complementary tools for the same class of engineering problems.

EnglishGoRust19 Chapters7 AppendicesBibTeX

Record

Author
Valer Bocan
Publisher
Editura Politehnica, Timișoara
Year
2026
Edition
First
Pages
457
ISBN
978-606-35-0714-4
Language
English
Status
In press

About

Go and Rust treated not as rivals but as complementary tools for the same class of engineering problems. The book follows each language from its toolchain to a production HTTP service: Go’s goroutines, channels, select, and context; Rust’s ownership, borrowing, and lifetimes; error handling without exceptions; concurrency the compiler can vouch for; and testing, benchmarking, profiling, and fuzzing.

The emphasis is on solving problems rather than touring syntax, with appendices on secure development, crossing the language boundary, and reading compiler errors.

Contents

19 chapters
  1. 1
    The Landscape of Modern Systems Programming
    Beyond Garbage-Collected Languages · Go: Simplicity as a Feature · Rust: Safety Without Compromise · Comparing Go and Rust · How This Book Is Organized

Part I · Go

  1. 2
    Getting Started with Go
    The Go Toolchain · Modules and Packages · Program Structure · Development Environments
  2. 3
    Types, Variables, and Control Flow in Go
    Basic Types · Variables and Constants · Operators · Control Flow · Pointers
  3. 4
    Functions, Methods, and Error Handling in Go
    Functions · Methods · Error Handling · Deferred Execution
  4. 5
    Composite Types and Data Modeling in Go
    Arrays · Slices · Maps · Structs · Working with JSON
  5. 6
    Interfaces and Generics in Go
    Interfaces · Generics · Design Patterns with Interfaces
  6. 7
    Concurrent Programming with Goroutines and Channels
    Concurrency vs. Parallelism · Goroutines · Channels · The select Statement · Synchronization Primitives · The context Package · Common Concurrency Patterns
  7. 8
    Testing, Benchmarking, and Profiling in Go
    The testing Package · Table-Driven Tests · Test Helpers and Utilities · Test Coverage · Benchmarking · Profiling · Fuzzing
  8. 9
    Building HTTP Services in Go
    The net/http Package · Building a REST API · Middleware · Working with Databases · The HTTP Client · Structured Logging with slog

Part II · Rust

  1. 10
    Getting Started with Rust
    The Rust Toolchain · Cargo: The Build System and Package Manager · Program Structure · Development Environments · The Compiler as Teacher
  2. 11
    Types, Variables, and Control Flow in Rust
    Variables and Mutability · Scalar Types · Compound Types · Strings · Type Conversions · Control Flow
  3. 12
    Ownership, Borrowing, and Lifetimes
    The Ownership Model · References and Borrowing · Slices · Lifetimes · How This Differs from Go
  4. 13
    Structs, Methods, and Data Modeling in Rust
    Defining Structs · Methods and Associated Functions · Deriving Common Functionality · Visibility and Encapsulation
  5. 14
    Enums, Pattern Matching, and Error Handling in Rust
    Enums · Pattern Matching with match · if let and while let · The Option<T> Type · The Result<T, E> Type · Custom Error Types · When to Panic vs. When to Return Result
  6. 15
    Generics, Traits, and Polymorphism in Rust
    Generic Types · Traits · Trait Bounds · Trait Objects and Dynamic Dispatch · Common Standard Library Traits · Supertraits
  7. 16
    Iterators, Closures, and Collections in Rust
    Closures · Iterators · Collections · Loops vs. Iterators: Performance Comparison
  8. 17
    Concurrency and Smart Pointers in Rust
    Smart Pointers · Fearless Concurrency · Message Passing with Channels · Shared State Concurrency · The Send and Sync Traits · Introduction to Async Programming
  9. 18
    Testing, Benchmarking, and Profiling in Rust
    Unit Tests · Integration Tests · Test Organization and Control · Mocking and Test Doubles · Benchmarking · Property-Based Testing · Code Coverage and Profiling
  10. 19
    Building HTTP Services in Rust
    The Rust Web Ecosystem · Building a REST API with axum · Serialization with serde · Middleware with Tower · Database Access with sqlx · The HTTP Client with reqwest · Structured Logging with tracing

Appendices

  1. A
    Development Environment Setup
  2. B
    Go Quick Reference
  3. C
    Rust Quick Reference
  4. D
    Secure Development in Go and Rust
  5. E
    Interoperability Across the Language Boundary
  6. F
    Building, Shipping, and Operating
  7. G
    Reading Compiler Errors

Reviews

“This book is a textbook and a detailed source of information, aimed primarily at students and IT professionals who want to become familiar with two modern programming languages and to use them to build reliable, concurrent, predictable applications with a high degree of safety.”

Prof. Mihai V. MiceaPolitehnica University of Timișoara

“This book offers a comparative, applied perspective, taking the reader on a practical journey through programming in both languages, so that choosing either one can be a fully informed decision.”

Assoc. Prof. Lucian ProdanPolitehnica University of Timișoara

“The sequence of chapters, the balance between fundamental concepts and advanced techniques, and the orientation towards practical applications all speak for the book's value in teaching and in professional practice.”

Assoc. Prof. Ciprian-Bogdan ChirilăPolitehnica University of Timișoara

Cite

@book{bocan2026gorust,
  author    = {Bocan, Valer},
  title     = {Advanced Technologies for Application Development: Problem Solving in Go and Rust},
  publisher = {Editura Politehnica},
  address   = {Timișoara},
  year      = {2026},
  pages     = {457},
  isbn      = {978-606-35-0714-4},
  language  = {english},
  note      = {In press}
}