The right software development tools resource can shave months off your learning curve, but the category splits sharply between timeless fundamentals and fast-moving AI workflows. The Pragmatic Programmer, 20th Anniversary Edition earns my best overall pick for pairing durable engineering craft with advice that still holds up in 2026. For readers focused on AI-assisted delivery, Spec-Driven AI Engineering stands out as the most current treatment of building reliable software with agents, while Introduction to Software Development remains the gentlest on-ramp for newcomers. The main tradeoff across this category is depth versus currency: classic texts age gracefully but ignore AI toolchains, while AI-focused guides feel urgent but may not outlive the tools they describe. Read on for the full breakdown, including which books are worth their premium price and which to skip.
Get business pricing on monitors, keyboards and dev gear
- Business-only prices and quantity discounts
- Tax-exempt purchasing
- Multiple users, one account, clear invoices
Key Takeaways
- Timeless craft books dominated the top of the ranking because AI-specific guides risk obsolescence as toolchains change every few months.
- The Pragmatic Programmer won best overall for being the only pick that serves juniors and 20-year veterans equally well, even without covering AI tooling.
- Spec-Driven AI Engineering justified its premium price with production workflows and testing strategies, something cheaper AI titles like Generative AI for Software Development gloss over.
- Software Tools in Pascal remains intellectually valuable but is the weakest practical buy in 2026 unless you study computing history or read code at the source level.
- Beginners should not start with the AI titles: every AI-focused book in this lineup assumes you already understand requirements, versioning, and testing fundamentals.
| The Pragmatic Programmer: Your Journey To Mastery, 20th Anniversary Edition | ![]() | Best Overall | Format: Print / ebook | Edition: 20th Anniversary Edition | Topic: Software craftsmanship and professional development | VIEW LATEST PRICE | See Our Full Breakdown |
| Software Development Tools | ![]() | Best for Tooling Fundamentals | Format: Print | Topic: Coding, debugging, and project management tools | Language coverage: Multiple programming languages | VIEW LATEST PRICE | See Our Full Breakdown |
| Spec-Driven AI Engineering: Build Reliable Software from Requirements to Code with AI Agents, Tests, and Production Workflows | ![]() | Best for AI-Era Engineering | Format: Digital / print | Series: Spec-Driven AI Engineering | Topic: AI agents, testing, and production workflows | VIEW LATEST PRICE | See Our Full Breakdown |
| Software Tools in Pascal | ![]() | Best Classic for Programming Fundamentals | Format: Print | Language: Pascal | Topic: Building software tools from scratch | VIEW LATEST PRICE | See Our Full Breakdown |
| Complex Software Product Development with AI Tools | ![]() | Best for Managers and Strategists | Format: Digital / print | Topic: AI integration strategies for complex software products | Audience: Developers and project managers | VIEW LATEST PRICE | See Our Full Breakdown |
| Introduction to Software Development: Processes and Tools | ![]() | Best Foundations Pick | Format: Print book | Subject: Software development processes and tools | Audience: Students and early-career professionals | VIEW LATEST PRICE | See Our Full Breakdown |
| Modern Software Engineering: Doing What Works to Build Better Software Faster | ![]() | Best for Practicing Engineers | Format: Print and ebook | Publisher: Addison-Wesley | Subject: Software engineering principles and practices | VIEW LATEST PRICE | See Our Full Breakdown |
| Generative AI for Software Development: Building Software Faster and More Effectively | ![]() | Best for AI-Forward Workflows | Format: Print and ebook | Publisher: O’Reilly Media | Subject: Generative AI applied to software development | VIEW LATEST PRICE | See Our Full Breakdown |
| software development tool | Format | Topic | Audience level | Audience |
|---|---|---|---|---|
| The Pragmatic Programmer: Your | Print / ebook | Software craftsmanship and professional development | Intermediate to advanced | — |
| Software Development Tools | Coding, debugging, and project management tools | Beginner to intermediate | — | |
| Spec-Driven AI Engineering: Bu | Digital / print | AI agents, testing, and production workflows | Intermediate to advanced | — |
| Software Tools in Pascal | Building software tools from scratch | Students and serious learners | — | |
| Complex Software Product Devel | Digital / print | AI integration strategies for complex software products | — | Developers and project managers |
| Introduction to Software Devel | Print book | — | — | Students and early-career professionals |
| Modern Software Engineering: D | Print and ebook | — | — | Practicing software engineers and technical leaders |
| Generative AI for Software Dev | Print and ebook | — | — | Developers and engineering teams exploring AI tooling |
More Details on Our Top Picks
The Pragmatic Programmer: Your Journey To Mastery, 20th Anniversary Edition
This 20th anniversary edition stands out as the strongest pick in this roundup because it attacks the one problem every developer faces: career-long craft improvement rather than mastery of any single toolchain. Where Spec-Driven AI Engineering chases a fast-moving methodology, this book teaches principles that survive framework churn — orthogonality, tracer bullets, DRY — explained through stories a working programmer recognizes. Compared with Software Tools in Pascal, its advice is language-agnostic, so a Go engineer and a C# engineer get equal value. The tradeoff is real: it won’t hand you a step-by-step workflow, and readers expecting copy-paste recipes will be disappointed. It also assumes you already write code for a living. This pick makes the most sense for developers who want a mental upgrade, not a manual.
Pros:- Timeless principles that apply across every language and stack
- Updated 20th anniversary content reflecting modern practices
- Readable, anecdote-driven style that makes abstract concepts stick
- Serves as a long-term career reference, not a one-time read
Cons:- Conceptual rather than procedural — no step-by-step tutorials
- Too dense for readers without real coding experience
- Does not cover specific modern tooling like CI/CD or cloud platforms
Best for: Early-to-mid career developers who want durable engineering judgment that outlasts any framework or language
Not ideal for: Absolute beginners still learning syntax — the material assumes working programming context
- Format:Print / ebook
- Edition:20th Anniversary Edition
- Topic:Software craftsmanship and professional development
- Language applicability:Language-agnostic
- Audience level:Intermediate to advanced
- Style:Practical advice with anecdotes and tips
Our verdict“If you buy one book from this roundup, this is it — the skills it teaches compound over an entire career.”
Software Development Tools
This title takes a different angle from everything else here: instead of methodology or AI hype, it catalogs the tools themselves — editors, debuggers, and project management utilities. That focus makes it a useful companion to Modern Software Engineering-style process books, filling in the mechanical layer those skip. Compared with The Pragmatic Programmer, it is more concrete about day-to-day tooling but lacks the deeper philosophy that makes that book a classic. The honest drawback: with no user reviews and thin feature documentation, it is hard to gauge how current its coverage is, and software tools age fast. This option stands out for building a mental map of the development toolchain, but buyers wanting modern, community-validated guidance may find it dated.
Pros:- Covers the full toolchain: coding, debugging, and project management
- Applicable across multiple programming languages
- Useful productivity framing for organizing a development workflow
- Good orientation material for someone new to professional tooling
Cons:- Sparse detail on specific tools and versions
- No user reviews to validate relevance or quality
- Risk of dated coverage in a fast-moving tooling space
Best for: Students and self-taught developers who want a survey of the coding, debugging, and management tool landscape
Not ideal for: Experienced developers seeking up-to-date tool recommendations — the coverage cannot be verified against current ecosystems
- Format:Print
- Topic:Coding, debugging, and project management tools
- Language coverage:Multiple programming languages
- Audience level:Beginner to intermediate
- Focus:Tool-oriented reference
- Community feedback:No user reviews available
Our verdict“A reasonable survey pick for tooling beginners, but verify currency before relying on it as a reference.”
Spec-Driven AI Engineering: Build Reliable Software from Requirements to Code with AI Agents, Tests, and Production Workflows
Of the two AI-focused books in this roundup, this one is the more rigorous. Where Complex Software Product Development with AI Tools stays at the strategy level, this book commits to a full pipeline — requirements, AI agents, tests, and production workflows — which is exactly the gap most AI-assisted teams struggle with. The spec-driven angle is its real differentiator: instead of prompting ad hoc, it teaches discipline around AI-generated code, addressing reliability head-on. Compared with The Pragmatic Programmer, it trades timeless depth for current relevance, and that cuts both ways — AI tooling shifts fast enough that some specifics may age quickly. With no ratings or pricing transparency, buyers are taking a bet on an unproven title. This pick makes the most sense for engineers already shipping with AI who need structure.
Pros:- Covers the full lifecycle from requirements through production deployment
- Directly addresses reliability of AI-generated code
- Practical workflow guidance rather than abstract AI theory
- Timely methodology for teams adopting AI agents now
Cons:- Fast-moving subject matter risks rapid obsolescence
- No customer ratings or established track record
- Assumes substantial existing engineering background
Best for: Mid-level engineers and tech leads integrating AI agents into real production pipelines who need methodology, not hype
Not ideal for: AI-curious beginners — it assumes fluency with testing, deployment, and requirements engineering already
- Format:Digital / print
- Series:Spec-Driven AI Engineering
- Topic:AI agents, testing, and production workflows
- Coverage:Requirements to deployment
- Audience level:Intermediate to advanced
- Community feedback:No customer ratings available
Our verdict“The most actionable AI engineering book here — worth it if your team is already building with agents and needs guardrails.”
Software Tools in Pascal
This is the heritage pick of the lineup, and its value is not in Pascal itself but in how it teaches tool-building from first principles — parsing, text processing, and small utilities built by hand. Compared with Software Development Tools, which surveys existing tools, this book makes you construct them, which builds a deeper kind of understanding. Next to The Pragmatic Programmer, it is narrower and older, but its clarity of explanation remains a benchmark. The tradeoffs are obvious and meaningful: Pascal has limited modern professional relevance, there are no digital companions or updated editions, and readers hoping for contemporary context will not find it. This model is better suited to CS students, teachers, and developers who believe fundamentals taught well beat trends taught poorly.
Pros:- Teaches tool construction from first principles, not just usage
- Exceptionally clear explanations with working examples
- Classic text with enduring pedagogical reputation
- Builds transferable skills in parsing and text processing
Cons:- Pascal has little relevance in modern industry
- No updated edition, digital resources, or online companion material
- Better suited to learning than to on-the-job reference
Best for: CS students, educators, and fundamentals-focused developers who value building tools from scratch to understand how software really works
Not ideal for: Working developers needing current, marketable skills — Pascal’s professional footprint is minimal today
- Format:Print
- Language:Pascal
- Topic:Building software tools from scratch
- Audience level:Students and serious learners
- Pedagogical style:Hands-on construction with examples
- Modern resources:None — print only
Our verdict“A fundamentals classic — buy it to learn how tools work internally, skip it if you need immediately marketable skills.”
Complex Software Product Development with AI Tools
This is the big-picture pick — it reads like a strategy guide for decision-makers rather than a manual for keyboard-level engineers. Compared with Spec-Driven AI Engineering, it sits a level higher, covering how AI integration changes planning, team process, and product thinking rather than agent pipelines and test harnesses. That altitude is genuinely useful for project managers and leads evaluating where AI belongs in a roadmap, but it comes with a real cost: the lack of technical examples means hands-on developers will finish it without knowing what to actually build. Its positioning next to Modern Software Engineering is closer — both are about process — though this one bets explicitly on AI as the lever. It is also unclear who the intended experience level is, which makes fit harder to judge.
Pros:- Strategic framing of where AI fits in complex product development
- Useful for non-coding stakeholders evaluating AI investment
- Covers process and efficiency implications, not just tools
- Broader scope than single-pipeline AI engineering books
Cons:- Light on technical examples and implementation detail
- Target experience level is unclear, making fit uncertain
- Overlaps with general modern-software-engineering process books
Best for: Project managers, product leads, and engineering managers planning AI adoption across complex products
Not ideal for: Hands-on developers wanting code-level AI integration guidance — the concrete technical detail is thin
- Format:Digital / print
- Topic:AI integration strategies for complex software products
- Audience:Developers and project managers
- Orientation:Strategy and process over implementation
- Technical depth:High-level, limited code examples
- Experience level:Unspecified
Introduction to Software Development: Processes and Tools
Not everyone shopping in this category needs a manifesto — some need a grounding in how software actually gets built. This option stands out as the broadest on-ramp in the lineup, covering processes and tooling in one sweep. Where Modern Software Engineering assumes you already write code daily and argues about how to do it better, this book explains the terrain first: what methodologies exist, why teams use them, and how tools fit into the lifecycle. The tradeoff is depth. Compared with The Pragmatic Programmer, it reads more like a structured survey than a mentor’s playbook, so experienced developers will find little they don’t already know. The scarcity of published detail about edition and contents also makes it harder to verify coverage before buying. This pick makes the most sense for readers at the start of a CS program or moving into a first technical role.
Pros:- Covers both processes and tools in a single, coherent introduction
- Bridges coursework and real-world team practices
- Accessible to readers without prior industry background
- Works as a reference companion alongside deeper books like Modern Software Engineering
Cons:- Minimal published detail on edition, authorship, and contents makes pre-purchase research difficult
- Too shallow for mid-career developers seeking advanced techniques
Best for: Students and career-switchers who need a structured first overview of development processes and tooling
Not ideal for: Experienced engineers wanting depth — the survey format will feel repetitive of knowledge they already have
- Format:Print book
- Subject:Software development processes and tools
- Audience:Students and early-career professionals
- Coverage:Development methodologies, best practices, project management
- Depth:Introductory survey
- Prerequisites:None — general computing familiarity helpful
Our verdict“Buy this if you’re new to software development and want one book to map the whole discipline before diving into specialist titles.”
Modern Software Engineering: Doing What Works to Build Better Software Faster
Written by a seasoned engineering leader, this is the argument-driven centerpiece of a serious developer’s shelf. It doesn’t survey tools the way Introduction to Software Development does — it makes the case that engineering is about managing complexity under uncertainty, and that speed comes from disciplined practices like iterative work, experimental learning, and tight feedback loops. Compared with The Pragmatic Programmer, it is less anecdotal and more principled, borrowing ideas from complexity science and lean thinking rather than career tips. The real tradeoff: readers who want copy-paste solutions or framework-specific code will be disappointed. The strategies operate at the level of how teams decide, not which library to import, so it rewards reflection more than immediate application. This pick makes the most sense for mid-level engineers ready to think systematically about why their practices work.
Pros:- Grounded in real engineering disciplines rather than trendy frameworks
- Directly addresses the speed-versus-quality tension teams face daily
- Principles apply across languages, stacks, and team sizes
- Author brings decades of industry credibility to the argument
Cons:- Few detailed technical examples — concepts stay at the practice level
- Readers wanting tactical tool guidance should pair it with a hands-on title
Best for: Mid-to-senior developers and tech leads who want principles for improving team velocity and software quality
Not ideal for: Junior developers hunting for concrete coding examples or step-by-step tool tutorials
- Format:Print and ebook
- Publisher:Addison-Wesley
- Subject:Software engineering principles and practices
- Audience:Practicing software engineers and technical leaders
- Focus:Building better software faster through discipline and feedback
- Depth:Intermediate to advanced, principle-driven
- Prerequisites:Professional development experience recommended
Our verdict“If you already code professionally and want the best single book on how to build software better, this is the one to buy.”
Generative AI for Software Development: Building Software Faster and More Effectively
This is the most future-facing entry in the roundup, aimed squarely at developers weaving AI into their daily workflow. Where Modern Software Engineering refines timeless practices, this book bets that generative AI changes how those practices execute — from code generation to project management support. It sits closer to Spec-Driven AI Engineering and Complex Software Product Development with AI Tools than to the classics here, which is exactly the point: buyers choosing this title want current tooling insight, not another treatise on iteration. The tradeoffs are real, though. The field moves faster than any print schedule, so specific tool guidance ages quickly, and the content assumes comfort with development fundamentals — a beginner paired with Introduction to Software Development first would fare better. With limited review data available, buyers are trusting the publisher’s reputation more than community validation.
Pros:- Directly addresses AI-assisted coding efficiency
- Covers workflow and project management applications, not just code generation
- Timely coverage of a skill set increasingly expected by employers
- Practical orientation for developers already comfortable with fundamentals
Cons:- Fast-moving subject matter means tool-specific content can date quickly
- Sparse customer reviews make it harder to gauge real-world usefulness
- Too technical for readers without a development background
Best for: Working developers who want to integrate generative AI coding assistants and AI-driven workflows into their toolkit
Not ideal for: Beginners still learning to code — AI-assisted workflows build on fundamentals this book doesn’t teach
- Format:Print and ebook
- Publisher:O’Reilly Media
- Subject:Generative AI applied to software development
- Audience:Developers and engineering teams exploring AI tooling
- Coverage:AI-assisted coding, efficiency techniques, project management with AI
- Depth:Intermediate — assumes development fundamentals
- Prerequisites:Working knowledge of software development
Our verdict“Pick this if you’re a competent developer who wants a head start on AI-augmented workflows before the practices become table stakes.”

How We Picked
I judged each title against four buyer-relevant criteria. Longevity came first: a book about tools earns its price only if its lessons survive the next framework churn, which favored principle-driven writing over tool screenshots. Depth of coverage mattered next — whether a book walks from requirements through testing and deployment, or stops at toy examples. I also weighed audience fit, since a brilliant text aimed at staff engineers can actively confuse a junior, and value for money, comparing what each book teaches per dollar against free documentation and tutorials.
The ranking reflects a deliberate hierarchy: foundational books that will still be relevant in five years sit above AI-era guides, because the AI titles trade durability for immediacy. Within the AI cluster, I ranked books by how well they anchor tool use in engineering discipline — spec-driven and test-driven approaches outranked speed-focused ones. Beginners’ titles were ranked by clarity and ramp-up cost, and the classic reprint landed last on practical grounds despite its historical merit.
| software development tool | Format | Topic | Audience level | Audience |
|---|---|---|---|---|
| The Pragmatic Programmer: Your | Print / ebook | Software craftsmanship and professional development | Intermediate to advanced | — |
| Software Development Tools | Coding, debugging, and project management tools | Beginner to intermediate | — | |
| Spec-Driven AI Engineering: Bu | Digital / print | AI agents, testing, and production workflows | Intermediate to advanced | — |
| Software Tools in Pascal | Building software tools from scratch | Students and serious learners | — | |
| Complex Software Product Devel | Digital / print | AI integration strategies for complex software products | — | Developers and project managers |
| Introduction to Software Devel | Print book | — | — | Students and early-career professionals |
| Modern Software Engineering: D | Print and ebook | — | — | Practicing software engineers and technical leaders |
| Generative AI for Software Dev | Print and ebook | — | — | Developers and engineering teams exploring AI tooling |
Factors to Consider When Choosing Software Development Tools
Before choosing a software development tools book, step back and think about what kind of learner you are and what problem you are actually trying to solve. A common mistake is buying the most hyped title instead of the one matching your current skill gap.Principles Versus Tools
The single biggest decision is whether you need a principles book or a tools book. Tools change constantly — the CI platform you use in 2027 may not exist today — but concepts like version control discipline, incremental design, and test strategy never expire. Buyers routinely overpay for tool-specific books that feel outdated within a year, then under-use principle books because they seem abstract. My advice: if you can only buy one book, bias toward principles and learn specific tools from official docs. Reserve tool-heavy books for moments when you are migrating stacks or adopting an entirely new workflow, because that is when curated walkthroughs beat scattered documentation.
Where AI Books Fit in Your Library
AI-assisted development books are the fastest-growing and fastest-decaying segment of this category. The mistake I see most often is treating an AI book as a first programming book, when every credible title in this space assumes you already know how to structure code, write tests, and review diffs. If you cannot yet evaluate whether generated code is correct, an AI book will teach you to produce bad software faster. The right moment to buy one is after you have solid fundamentals and want to fold agents into a real production pipeline. Even then, favor books that teach spec-writing and verification over books that promise raw speed.
Matching the Book to Your Career Stage
A junior buying a senior-level book wastes money and confidence; a senior buying a beginner book wastes an evening. Career-stage fit beats star ratings every time. Beginners should look for books that explain process — how requirements become designs become shipped software — before any tooling discussion. Mid-career developers get the most from books on tradeoffs and judgment, where the value is in the reasoning rather than the commands. Staff and principal engineers should prioritize books they can hand to their teams, which makes clarity and reusability a buying criterion in itself. Check the table of contents for a chapter you genuinely cannot already write yourself.
Price Versus Shelf Life
Software books occupy a strange price band: some classics cost less than lunch while niche AI titles run two or three times higher. The rule I apply is price per useful year. A $60 book you consult for a decade is cheap; a $25 book you discard in eight months is not. Premium pricing is defensible when a book includes production case studies, worked examples, or workflows you would otherwise learn by making expensive mistakes on the job. It is not defensible when you are paying for recency alone. Paperback versus digital also matters here — digital editions of fast-moving topics let you get revised editions, which effectively extends shelf life.
Avoiding the Common Buying Mistakes
Three traps repeat across this category. First, buying multiple overlapping books instead of one non-overlapping progression — a fundamentals book, then a judgment book, then an AI-integration book covers a career; three AI books cover one quarter. Second, mistaking page count for value; several thick titles in this space are padded with reproduced documentation you can read free. Third, ignoring publication date on tool-heavy books, where a two-year-old edition can describe a workflow that no longer exists. Check the copyright page, skim a middle chapter before buying, and be honest about whether the book teaches judgment or just commands.
Frequently Asked Questions
Should I buy an AI-focused development book or a classic like The Pragmatic Programmer first?
Buy the classic first, in almost every case. AI-assisted development amplifies whatever skills you already have: a developer who understands testing, requirements, and code review gets dramatically faster with AI, while a developer who lacks those skills mainly produces broken software faster. The Pragmatic Programmer and similar craft books teach the judgment layer that AI tools depend on, and that layer will not go stale when the current generation of agents is replaced. Once you can evaluate generated code critically, an AI book like Spec-Driven AI Engineering becomes genuinely valuable rather than decorative. The exceptions are experienced engineers already fluent in fundamentals, who can go straight to the AI titles.
Are older books like Software Tools in Pascal still worth buying in 2026?
Only for a specific kind of reader. Software Tools in Pascal teaches you to think about how tools are built at the source level, and that mental model transfers to every language you will ever use — that part has not aged. What has aged is the language, the ecosystem, and the absence of anything modern like containers, CI, or collaborative version control. If your goal is practical productivity this year, the money is better spent elsewhere on this list. If you are a computer science student, a tools author, or someone who wants to understand programs from first principles, it remains one of the most instructive books ever written, and used copies are inexpensive.
Do I need a book at all, or is free documentation enough?
Documentation tells you what a tool does; a good book tells you when and why to use it, and that difference is the entire value proposition. Docs are organized by feature, not by problem, so you learn commands without learning judgment — which is why self-taught developers often know every flag in git but still write tangled branching strategies. Books also curate: they skip the 80% of a tool you will never need and sequence the 20% you will. Where free resources win is on raw recency, particularly for AI tooling that changes monthly. The strongest approach combines a principle-driven book with current docs, rather than relying on either alone.
Which book should a complete beginner actually start with?
Start with Introduction to Software Development: Processes and Tools, because it teaches the pipeline — requirements, design, coding, testing, deployment — before drilling into any specific tool. Most beginners fail not because they cannot write code but because they have no mental model for how professional software gets built, and a process-first book fixes that. Compared with jumping into The Pragmatic Programmer, which assumes some professional context, this gentler on-ramp means you will not stall in chapter two. Once the process clicks, move to a craft book, and only then to AI-assisted workflows. Skipping straight to advanced titles is the most common reason beginners abandon software books halfway through.
Why do the AI titles cost more, and is the premium justified?
AI development books carry a premium for three reasons: the field is moving so fast that authors burn months of research that depreciates quickly, the audiences are professional developers with budget, and publishers know demand is peaking. Whether that premium is justified depends entirely on the book’s anchor. Spec-Driven AI Engineering justifies its price because it teaches durable practices — specification writing, test harnesses, production guardrails — that survive tool swaps. Speed-focused titles justify it far less, because prompts and tool screenshots expire quickly and the workflow advice is shallow. If an AI book’s table of contents could be rewritten next quarter without changing its conclusions, wait for the discount.
Conclusion
The right pick depends less on which book is best and more on where you stand. For best overall, The Pragmatic Programmer, 20th Anniversary Edition is the safest and most durable buy in this lineup — it improves almost any developer who reads it. For best value, Software Development Tools delivers solid practical coverage at a price that makes it an easy add to any order. For best premium, Spec-Driven AI Engineering earns its cost by pairing AI agents with requirements discipline, testing, and production workflows rather than hype. For beginners, Introduction to Software Development builds the process-level foundation every other book assumes. For specific needs: Modern Software Engineering suits mid-career developers sharpening their judgment, Generative AI for Software Development suits speed-focused AI adopters on a budget, and Software Tools in Pascal suits students of computing history and anyone who wants to understand tools from the inside out. Buy one book for the gap you actually have, and you will get more from it than from any best-of list.
Halloween Picks
halloween
As an affiliate, we earn on qualifying purchases.








