Programming

description:

Programming is the act of designing and implementing instructions a computer can execute. It blends problem decomposition, abstraction, and tooling to turn ideas into working software.

Information:

Below is an overview of content that matches the tag "programming".

Note that this list is not exhaustive, as it is automatically aggregated based on manually assigned categorizations.
If you notice a missing element, or think some of the items are wrongfully categorized, please create a bug/improvement ticket on our github issue tracker.

An overview of all tags used in this publication can be found in our tag list: go to overview

Patterns tagged with "Programming"

Synced Style

Synced Style

programmingcomplexityreadability

problem:Developers struggle to maintain code consistency, negatively affecting code maintainability and reliability.

description:Maintaining a consistent coding style within a team, using automation and documentation to enforce it.

Last updated 26 Aug 2023 · min read

Books tagged with "Programming"

cover image for 'Extreme Programming Explained'
bibliographical reference:
Beck, K.; Andres, C. (2004) Extreme Programming Explained. Addison-Wesley. isbn: 978-0321278654.
description:

Extreme Programming Explained centres on daily engineering practices—pairing, test-driven development, continuous integration—that keep teams adaptable. Kent Beck and Cynthia Andres advocate short feedback loops, shared ownership, and sustainable pace instead of rigid process prescription. It remains a key reference for developers who want to ground agile values in concrete software practices.

complexity categories: Intermediate level Reference / Comprehensive Guides

Automate the Boring Stuff with Python

Practical Programming for Total Beginners

cover image for 'Automate the Boring Stuff with Python'
bibliographical reference:
Sweigart, A. (2019) Automate the Boring Stuff with Python. No Starch Press. isbn: 1593279922.
description:

Al Sweigart introduces Python by solving everyday automation tasks such as sending emails, cleaning up files, and manipulating spreadsheets. Each chapter pairs a concise language lesson with hands-on projects so readers can see results quickly. It is written for self-taught professionals who want to remove repetitive chores without needing a computer science background.

content categories: programming automation
complexity categories: Novice-friendly

Design Patterns

Elements of Reusable Object-Oriented Software

cover image for 'Design Patterns'
bibliographical reference:
Gamma, E.; Helm, R.; Johnson, R.; Vlissides, J. (1994) Design Patterns. Addison-Wesley Professional. isbn: 978-0201633610.
description:

Often called the Gang of Four book, Design Patterns catalogues reusable solutions for object-oriented systems. Each pattern outlines intent, structure, and trade-offs so teams can spot when the guidance helps and when it adds unnecessary complexity. Despite its age, the catalogue remains a foundational reference for developers who need shared language around extensibility and maintainability.

complexity categories: Intermediate level Reference / Comprehensive Guides

Refactoring

Improving the Design of Existing Code

cover image for 'Refactoring'
bibliographical reference:
Fowler, M.; Beck, K.; Brant, J.; Opdyke, W.; Roberts, D. (2012) Refactoring. Addison-Wesley Professional. isbn: 978-0133065268.
description:

Refactoring teaches how to improve existing code safely by taking small, behaviour-preserving steps. Martin Fowler and collaborators catalogue common code smells, explain when to refactor, and demonstrate each transformation with tests. The examples use Java (and newer editions TypeScript), but the principles apply across languages whenever teams need cleaner design.

complexity categories: Novice-friendly Mixed Reference / Comprehensive Guides
cover image for 'Test-Driven Development with Java'
bibliographical reference:
Mellor, A. (2023) Test-Driven Development with Java. Packt Publishing. isbn: 978-1803236230.
description:

Test-Driven Development with Java introduces TDD by walking through practical Java projects. Allan Mellor explains how to write meaningful unit tests, refactor with confidence, and weave TDD into a modern toolchain. Clear walkthroughs and exercises help developers build habits that keep codebases reliable and easy to change.

content categories: programming test-driven testing
complexity categories: Novice-friendly

Clean Code

A Handbook of Agile Software Craftsmanship

cover image for 'Clean Code'
bibliographical reference:
Martin, R. C. (2008) Clean Code. Pearson. isbn: 978-0132350884.
description:

Clean Code advocates for readable, maintainable software through small, disciplined practices. Robert C. Martin demonstrates naming, function extraction, and test-first habits that keep code easy to change while cautioning against dogma. Treat it as a set of guiding principles to inspire teams, adapting the advice to modern tooling and context.

complexity categories: Novice-friendly Reference / Comprehensive Guides

Modern Software Engineering

Doing What Works to Build Better Software Faster

cover image for 'Modern Software Engineering'
bibliographical reference:
Farley, D. (2021) Modern Software Engineering. Addison-Wesley Professional. isbn: 978-0137314911.
description:

Modern Software Engineering reframes development as a disciplined, experiment-driven activity built on fast feedback. Dave Farley connects lean principles with practices such as trunk-based development, test automation, and continuous delivery pipelines. The book serves as a reference for teams that want to scale quality without sacrificing speed.

complexity categories: Intermediate level Reference / Comprehensive Guides
cover image for 'The Art of Unix Programming'
bibliographical reference:
Raymond, E.S. (2003) The Art of Unix Programming. Addison-Wesley. isbn: 978-0131429017.
description:

The Art of Unix Programming captures the Unix philosophy through essays on simplicity, modularity, and composability. Eric S. Raymond profiles successful tools and communities to show how small programs that do one thing well combine into powerful systems. The collection remains a valuable reference for developers who want to design software with clear boundaries and reusable interfaces.

complexity categories: Intermediate level Reference / Comprehensive Guides

Other Resources tagged with "Programming"

site

DevPedia

description:

This website has almost all the commonly used technical terms, concepts and even programming-language specific jargons explained and links provided for further reading. It contains a wealth of information on common technical terminology, making it a great resource for beginners and experts alike.

by: Jayasinghe, C.