Best selling Reference books from No Starch Press

Here you’ll find the best Reference books from No Starch Press. The ranking is based on the best-selling products from this brand within the category. In addition to sales volume, factors such as availability, pricing, and overall customer relevance also influence the order. For each product, we include a short description and the most important highlights from customer reviews, giving you a quick overview of the most popular No Starch Press options. This page always stays fresh and updates automatically.

1. No Starch Press Automate the Boring Stuff with Python

"Automate the Boring Stuff with Python" is a technical book aimed at anyone who wants to learn how to create useful automation programs with Python. The second edition of this popular book provides a comprehensive introduction to programming with Python 3 and covers a wide range of topics that enable readers to automate everyday, time-consuming tasks. The book is designed to be accessible even to those without prior programming experience. It includes detailed step-by-step instructions that allow readers to develop practical tools while enhancing their programming skills. New content includes a chapter on input validation as well as guides for automating Gmail and Google Sheets, significantly improving work efficiency. The updated practice projects at the end of each chapter challenge readers to apply and deepen their newly acquired skills. 

Automate the Boring Stuff with Python (English, Al Sweigart, 2019)
Reference books
−10%
CHF25.90 was CHF28.70

Automate the Boring Stuff with Python

English, Al Sweigart, 2019

2. No Starch Press Engineering in Plain Sight

Engineering in Plain Sight is a beautifully illustrated field guide with clear explanations of nearly every part of the man-made world around us. The author, Grady Hillhouse, creator of the popular YouTube channel Practical Engineering, presents this book as 50 new episodes packed between two covers. It expands the genre of field guides from natural phenomena to human-made structures, making them accessible and understandable for non-engineers.

This book transforms readers' perspectives on the built environment, turning the act of observing infrastructure from an everyday commonplace into a daily distraction and joy. Each section includes colorful illustrations that reveal the fascinating details of how the man-made world functions. As an ideal companion for road trips, this book offers a fresh perspective on the parts of the environment that often fade into the background.

Readers will learn to identify features of the power grid, roads, railways, bridges, tunnels, waterways, and more. Engineering in Plain Sight sparks curiosity, interest, and engagement in how the infrastructure around us is designed and built.
 

Engineering in Plain Sight (English, Grady Hillhouse, 2022)
Reference books
CHF30.–

Engineering in Plain Sight

English, Grady Hillhouse, 2022

3. No Starch Press Intermediate Rust

Master professional-level coding in Rust. For developers who have mastered the basics, this book is the next step on your way to professional-level programming in Rust. It covers everything you need to build and maintain larger code bases, write powerful and flexible applications and libraries, and confidently expand the scope and complexity of your projects. Author Jon Gjengset takes you deep into the Rust programming language, dissecting core topics like ownership, traits, concurrency, and unsafe code. You'll explore key concepts like type layout and trait coherence, delve into the inner workings of concurrent programming and asynchrony with async/await, and take a tour of the world of no_std programming. Gjengset also provides expert guidance on API design, testing strategies, and error handling, and will help develop your understanding of foreign function interfaces, object safety, procedural macros, and much more.

You'll learn:
- How to design reliable, idiomatic, and ergonomic Rust programs based on best principles
- Effective use of declarative and procedural macros, and the difference between them
- How asynchrony works in Rust, all the way from the Pin and Waker types used in manual implementations of Futures, to how async/await saves you from thinking about most of those words
- What it means for code to be unsafe, and best practices for writing and interacting with unsafe functions and traits
- How to organize and configure more complex Rust projects so that they integrate nicely with the rest of the ecosystem
- How to write Rust code that can interoperate with non-Rust libraries and systems, or run in constrained and embedded environments

Brimming with practical, pragmatic insights that you can immediately apply, "Rust for Rustaceans" helps you do more with Rust, while also teaching you its underlying mechanisms.
 

4. No Starch Press Al Sweigart

"Beyond the Basic Stuff with Python" by Al Sweigart is a technical book aimed at programmers who want to deepen their knowledge of Python. It is intended for readers who have already acquired basic programming skills and are looking to take the next step in their development as software developers. The book provides a comprehensive introduction to advanced programming techniques and tools that are essential for professional software development. Sweigart covers topics such as using the command line, code formatting, type checking, linting, and version control. Additionally, it presents best practices for improving code readability and organization, as well as performance evaluation and object-oriented programming. The concepts discussed in the book are not only applicable to Python but also enhance understanding of programming in general. 

5. No Starch Press Designing Secure Software: A Guide for Developers

What every software professional should know about security. Designing Secure Software encapsulates Loren Kohnfelder's more than twenty years of experience in a concise, elegant guide to improving the security of technology products. Written for a wide range of software professionals, it emphasizes the importance of integrating security early into software design and involving the entire team in the process. The book begins with a discussion of fundamental concepts such as trust, threats, mitigation, secure design patterns, and cryptography. The second part, perhaps the most unique and significant contribution of this book to the topic, addresses the process of designing and reviewing a software design with security considerations in mind. The final section describes the most common programming mistakes that create security vulnerabilities, using numerous code examples in C and Python to illustrate implementation weaknesses. You will learn how to:
- Identify key assets, the attack surface, and trust boundaries in a system
- Evaluate the effectiveness of various threat mitigation measures
- Work with established secure programming patterns and libraries
- Understand and prevent security vulnerabilities such as XSS and CSRF, memory errors, and more
- Utilize security testing to proactively identify security vulnerabilities in code
- Effectively and impartially review a software design for security flaws. Kohnfelder's career, spanning decades at Microsoft and Google, has led to numerous software security initiatives, including the co-development of the STRIDE threat modeling framework, which is widely used today. This book is a modern, pragmatic summary of his best practices, insights, and ideas about the future of software.
 

Designing Secure Software: A Guide for Developers (English, Loren Kohnfelder, 2021)
Reference books
CHF54.90

Designing Secure Software: A Guide for Developers

English, Loren Kohnfelder, 2021

6. No Starch Press Eloquent JavaScript

Eloquent JavaScript is a comprehensive introduction to programming with JavaScript, aimed at both beginners and advanced users. This fully revised and updated third edition offers an in-depth exploration of the language and demonstrates how to write engaging and effective code. JavaScript is a central element of nearly every modern web application, and this book provides the necessary skills to develop complete applications. The author, Marijn Haverbeke, uses numerous examples and practical exercises to introduce readers to programming from the very beginning. The new content covers current features such as class notation, arrow functions, iterators, and asynchronous functions, and offers a variety of exercises to reinforce what has been learned. Readers are guided step-by-step through the fundamentals of the language, control structures, functions, and data structures, before tackling more complex topics such as error handling and modular programming. 

7. No Starch Press Bare Metal C

Bare Metal C teaches you to program embedded systems with the C programming language. You'll learn how embedded programs interact with bare hardware directly, go behind the scenes with the compiler and linker, and learn C features that are important for programming regular computers. This book will teach you how to program embedded devices with the C programming language. For embedded system programmers who want precise and complete control over the system they are using, this book pulls back the curtain on what the compiler is doing for you so that you can see all the details of what's happening with your program.

The first part of the book teaches C basics with the aid of a low-cost, widely available bare metal system (the Nucleo Arm evaluation system), which gives you all the tools needed to perform basic embedded programming. As you progress through the book, you'll learn how to integrate serial input/output (I/O) and interrupts into your programs. You'll also learn what the C compiler and linker do behind the scenes, so that you'll be better able to write more efficient programs that maximize limited memory. Finally, you'll learn how to use more complex, memory-hungry C features like dynamic memory, file I/O, and floating-point numbers.

Topic coverage includes: the basic program creation process, simple GPIO programming (blink an LED), writing serial device drivers, the C linker and preprocessor, decision and control statements, numbers, arrays, pointers, strings, and complex data types, local variables and procedures, dynamic memory, file and raw I/O, floating-point numbers, and modular programming.
 

Bare Metal C (English, Stephen Oualline, 2022)
Reference books
−14%
CHF50.– was CHF57.90

Bare Metal C

English, Stephen Oualline, 2022

8. No Starch Press Doing Science with Python

An introduction to the Python programming language and its most popular tools for scientists, engineers, students, and anyone who wants to use Python for research, simulations, and collaboration. Python Tools for Scientists will introduce you to Python tools you can use in your scientific research, including Anaconda, Spyder, Jupyter Notebooks, JupyterLab, and numerous Python libraries. You’ll learn to use Python for tasks such as creating visualizations, representing geospatial information, simulating natural events, and manipulating numerical data. Once you’ve built an optimal programming environment with Anaconda, you’ll learn how to organize your projects and use interpreters, text editors, notebooks, and development environments to work with your code. Following the book’s fast-paced Python primer, you’ll tour a range of scientific tools and libraries like scikit-learn and seaborn that you can use to manipulate and visualize your data, or analyze it with machine learning algorithms. You’ll also learn how to create isolated projects in virtual environments, build interactive notebooks, test code in the Qt console, and use Spyder’s interactive development features. Use Python’s built-in data types, write custom functions and classes, and document your code. Represent data with the essential NumPy, Matplotlib, and pandas libraries. Use Python plotting libraries like Plotly, HoloViews, and Datashader to handle large datasets and create 3D visualizations. Regardless of your scientific field, Python Tools for Scientists will show you how to choose the best tools to meet your research and computational analysis needs. 

Doing Science with Python (English, Lee Vaughan, 2023)
Reference books
CHF54.90

Doing Science with Python

English, Lee Vaughan, 2023

9. No Starch Press Network Programming with Go

Network Programming with Go teaches you how to write clean, secure network software with the programming language designed to make it seem easy. Build simple, reliable network software. Combining the best parts of many other programming languages, Go is fast, scalable, and designed for high-performance networking and multiprocessing. In other words, it’s perfect for network programming. Network Programming with Go will help you leverage Go to write secure, readable, production-ready network code. In the early chapters, you’ll learn the basics of networking and traffic routing. Then you’ll put that knowledge to use as the book guides you through writing programs that communicate using TCP, UDP, and Unix sockets to ensure reliable data transmission. As you progress, you’ll explore higher-level network protocols like HTTP and HTTP/2 and build applications that securely interact with servers, clients, and APIs over a network using TLS.

You'll also learn:
- Internet Protocol basics, such as the structure of IPv4 and IPv6, multicasting, DNS, and network address translation
- Methods of ensuring reliability in socket-level communications
- Ways to use handlers, middleware, and multiplexers to build capable HTTP applications with minimal code
- Tools for incorporating authentication and encryption into your applications using TLS
- Methods to serialize data for storage or transmission in Go-friendly formats like JSON, Gob, XML, and protocol buffers
- Ways of instrumenting your code to provide metrics about requests, errors, and more
- Approaches for setting up your application to run in the cloud (and reasons why you might want to)

Network Programming with Go is all you’ll need to take advantage of Go’s built-in concurrency, rapid compiling, and rich standard library. Covers Go 1.15 (backward compatible with Go 1.12 and higher).
 

Network Programming with Go (English, Adam Woodbeck, 2021)
Reference books
CHF54.90

Network Programming with Go

English, Adam Woodbeck, 2021

10. No Starch Press Art of 64-Bit Assembly

A new book on programming in assembly language by a popular master. "The Art of 64-Bit Assembly Language" builds on the enduring success of Hyde's groundbreaking work "The Art of Assembly Language." Randall Hyde's "The Art of Assembly Language" has been the standard reference for learning assembly language for decades. Hyde's latest work, "The Art of 64-Bit Assembly Language," is the 64-bit version of this popular text. This book guides you through the maze of programming in assembly language by demonstrating how to write assembly code that mimics operations in high-level languages. It leverages your knowledge of high-level languages to quickly grasp x86-64 assembly language. This new work uses the Microsoft Macro Assembler (MASM), the most popular x86-64 assembler today. Hyde covers the standard integer set as well as the x87 FPU, SIMD parallel instructions, SIMD scalar instructions (including high-performance floating-point instructions), and the very powerful macro functions of MASM. You will learn in detail how to implement data and control structures from high-level languages in assembly language, how to write parallel algorithms using SIMD (Single Instruction, Multiple Data) instructions on x86-64, and how to create standalone assembly games and assembly languages that link with high-level code. You will also learn how to optimize specific algorithms in assembly language to produce faster code. 

Product order
See all products