Tagged articles
54 articles
Page 1 of 1
21CTO
21CTO
Feb 15, 2026 · Fundamentals

Is AI Ushering Software Engineering’s Third Golden Age? A Historical Perspective

The article examines how recurring predictions of software engineering’s demise have been reshaped by AI, tracing three golden ages—from algorithmic to object‑oriented to platform abstraction—and argues that AI is a catalyst for a new era rather than an industry terminator.

AISoftware EngineeringTechnology Evolution
0 likes · 12 min read
Is AI Ushering Software Engineering’s Third Golden Age? A Historical Perspective
Model Perspective
Model Perspective
Oct 10, 2025 · Fundamentals

Why Modeling Is the Ultimate Tool for Clear Thinking

This article explains how modeling—by abstracting key variables, defining boundaries, ensuring logical consistency, and testing against reality—helps us simplify complexity, make better decisions, and gain certainty in an uncertain, information‑overloaded world.

Modelingabstractioncritical thinking
0 likes · 9 min read
Why Modeling Is the Ultimate Tool for Clear Thinking
Model Perspective
Model Perspective
Sep 13, 2025 · Fundamentals

A Four‑Layer Path from Observation to Abstract Mathematical Models

Effective problem solving relies on a four‑stage modeling process—phenomenon, logical analysis, concrete model, and abstract model—guiding the transition from real‑world observation to generalized mathematical structures, enabling systematic abstraction and broader applicability across diverse domains.

abstractionlogical analysismathematical modeling
0 likes · 10 min read
A Four‑Layer Path from Observation to Abstract Mathematical Models
Model Perspective
Model Perspective
Aug 15, 2025 · Fundamentals

What Is Modeling Really About? Uncover Its Core Essence and Key Steps

This article explores the true nature of modeling as a way of abstracting, structuring, computing, and validating complex systems, outlines its four essential stages, discusses philosophical foundations, domain variations, and common pitfalls, and emphasizes its role as both a tool for understanding and shaping the world.

ModelingSystemsabstraction
0 likes · 9 min read
What Is Modeling Really About? Uncover Its Core Essence and Key Steps
Model Perspective
Model Perspective
Jun 23, 2025 · Fundamentals

Why Every Story Is a Model: Unlocking the Power of Narrative in Thinking

The article explores how stories function as simplified, abstract models of reality, comparing narrative structures to formal modeling, showing how extracting assumptions from tales enhances critical thinking, and arguing that giving models a story-like context makes them more relatable and persuasive.

Modelingabstractioncognitive
0 likes · 8 min read
Why Every Story Is a Model: Unlocking the Power of Narrative in Thinking
Architecture Breakthrough
Architecture Breakthrough
Mar 31, 2025 · Fundamentals

Why Mastering Abstraction Is the Real Skill Behind Great Software Design

The article explains that while encapsulation, inheritance, and polymorphism are often highlighted, true software craftsmanship hinges on the ability to abstract—identifying essential features, discarding irrelevant details, and modeling problem domains through steps like analysis, concept extraction, and system design, supported by principles such as low coupling, high cohesion, sufficiency, and completeness.

CohesionCouplingDomain-Driven Design
0 likes · 10 min read
Why Mastering Abstraction Is the Real Skill Behind Great Software Design
DevOps
DevOps
Oct 31, 2024 · Backend Development

Improving Backend Engineer Skills: Abstract Problem Solving and Code Abstractions

This article explores the core competencies of backend engineers, emphasizing accurate problem abstraction, discusses Go's ServerCodec and I/O interfaces, demonstrates algorithmic solutions to the Word Search II problem, and offers practical advice on improving coding skills through studying language features, system design, and effective learning habits.

BackendGolangSoftware Engineering
0 likes · 19 min read
Improving Backend Engineer Skills: Abstract Problem Solving and Code Abstractions
Model Perspective
Model Perspective
Oct 13, 2024 · Fundamentals

What Cartoon Drawing Can Teach You About Mathematical Modeling

The author reflects on learning to draw a cheerful cartoon sheep and draws insightful parallels to mathematical modeling, showing how abstraction, overall layout, detailed refinement, and iterative optimization in art mirror the steps of building and improving models for real‑world problems.

Analogyabstractioncartoon drawing
0 likes · 6 min read
What Cartoon Drawing Can Teach You About Mathematical Modeling
Zhuanzhuan Tech
Zhuanzhuan Tech
Sep 5, 2024 · Backend Development

Challenges of Abstraction and Reuse in Business Middle‑Platform Development

The article reflects on the difficulties of turning abstract design concepts such as GOF patterns and DDD into practical, reusable middle‑platform services for an e‑commerce business, discussing when to abstract, the trade‑offs between thin and thick services, and how to balance efficiency with evolving business needs.

Backend DevelopmentSoftware Architectureabstraction
0 likes · 16 min read
Challenges of Abstraction and Reuse in Business Middle‑Platform Development
DevOps
DevOps
Jul 18, 2024 · Fundamentals

Architectural Thinking: Five Core Principles for Managing Complexity

The article explains architectural thinking as a systematic approach to decompose problems, highlighting five core principles—abstraction, global perspective, layered design, evolutionary mindset, and standardization—that help engineers manage complexity, improve design quality, and adapt software systems over time.

Software Architectureabstractioncomplexity management
0 likes · 10 min read
Architectural Thinking: Five Core Principles for Managing Complexity
Architecture and Beyond
Architecture and Beyond
Jun 8, 2024 · R&D Management

Key Takeaways from “Product Thinking Behind WeChat”: Simplify Complex Solutions, Embrace Abstraction, and Foster a Willingness to Change the Old World

The article reflects on the insights from Zhang Xiaolong's WeChat product philosophy, emphasizing that overly complex solutions indicate flawed problems, that engineers should help shape product requirements, that abstraction simplifies systems, and that a strong desire to change the status quo drives innovation and effective technical management.

InnovationR&D managementSoftware Engineering
0 likes · 11 min read
Key Takeaways from “Product Thinking Behind WeChat”: Simplify Complex Solutions, Embrace Abstraction, and Foster a Willingness to Change the Old World
21CTO
21CTO
May 19, 2024 · Fundamentals

Mastering Software Abstraction: How to Design Clear, Maintainable Systems

This article explores the power of abstraction in software design, explaining its hierarchical levels, the role of interfaces, and practical questions to ask when modeling real‑world problems, guiding developers to create more maintainable, scalable, and communicative systems.

InterfacesSOLIDabstraction
0 likes · 7 min read
Mastering Software Abstraction: How to Design Clear, Maintainable Systems
php Courses
php Courses
Apr 15, 2024 · Fundamentals

Understanding Abstraction in Object-Oriented PHP Programming

This article explains the core concept of abstraction in software engineering, illustrating how using interfaces and abstract methods in PHP can simplify code, improve maintainability, and reduce developer focus on low‑level details, demonstrated through concrete Shape examples for rectangles, circles, and triangles.

InheritanceInterfacesPHP
0 likes · 5 min read
Understanding Abstraction in Object-Oriented PHP Programming
21CTO
21CTO
Feb 7, 2024 · Fundamentals

Mastering Architectural Abstraction: Simplify Complex Systems

This article explains how architects manage complexity through abstraction, offering practical induction and deduction techniques to identify commonalities, relationships, and characteristics, and illustrating these methods with real‑world examples like installment financing and Java technology.

Software Architectureabstractioncomplexity management
0 likes · 9 min read
Mastering Architectural Abstraction: Simplify Complex Systems
php Courses
php Courses
Dec 13, 2023 · Fundamentals

Understanding Classes, Objects, and OOP Principles in PHP

This article introduces the core concepts of object‑oriented programming—classes, objects, abstraction, encapsulation, inheritance, and polymorphism—using clear explanations and practical PHP code examples that demonstrate class definitions, object instantiation, method calls, and inheritance hierarchies.

EncapsulationInheritanceOOP
0 likes · 9 min read
Understanding Classes, Objects, and OOP Principles in PHP
Model Perspective
Model Perspective
Nov 17, 2022 · Fundamentals

What Makes a Mathematical Model Powerful? Traits, Functions, and Classifications

This article explains the essential characteristics, primary functions, and various classification schemes of mathematical models, highlighting their abstraction, accuracy, predictive power, and how they simplify, simulate, and apply to real‑world phenomena across deterministic, stochastic, fuzzy, and abrupt domains.

Predictive Modelingabstractionmathematical modeling
0 likes · 8 min read
What Makes a Mathematical Model Powerful? Traits, Functions, and Classifications
Programmer DD
Programmer DD
Oct 8, 2022 · Fundamentals

Eight Timeless Computer Architecture Principles Every Designer Should Know

This article outlines eight enduring ideas—from designing for Moore's Law and using abstraction to speeding up common cases, leveraging parallelism, pipelining, prediction, memory hierarchy, and redundancy—that have shaped computer architecture over the past six decades.

Moore's LawParallelismPipeline
0 likes · 11 min read
Eight Timeless Computer Architecture Principles Every Designer Should Know
FunTester
FunTester
May 24, 2022 · Fundamentals

Why Abstract Thinking Is the Key to Scalable Software Design

The article explains how abstract thinking—extracting common traits, ignoring irrelevant details, and managing hierarchical levels—empowers programmers to write more reusable, maintainable code, illustrated with philosophical analogies, OOP examples, and concrete refactoring of type‑casting logic.

abstractioncode qualityobject‑oriented programming
0 likes · 10 min read
Why Abstract Thinking Is the Key to Scalable Software Design
phodal
phodal
Apr 18, 2022 · Fundamentals

Can Abstract Location Modeling Make You a Real Technical Expert?

The article explores the true meaning of a technical expert by examining how abstract modeling of real‑world locations, hierarchical administrative divisions, and domain‑specific type systems—illustrated with OpenHAB examples—can transform a programmer’s understanding into expert‑level conceptual and communicative abilities.

ModelingOpenHABabstraction
0 likes · 12 min read
Can Abstract Location Modeling Make You a Real Technical Expert?
Alibaba Terminal Technology
Alibaba Terminal Technology
Feb 25, 2022 · Mobile Development

How to Simplify Complex Message Client Data Processing in Mobile Apps

This article examines the intricate data processing challenges of a mobile message client, outlines seven key complexities, proposes a unified abstraction layer to reduce code by 60%, and details a modular solution—including MergeDispatcher, Calculator, and DataStructure—that separates computation from data fetching for improved consistency and scalability.

Mobile Developmentabstractionarchitecture
0 likes · 12 min read
How to Simplify Complex Message Client Data Processing in Mobile Apps
NiuNiu MaTe
NiuNiu MaTe
Dec 22, 2021 · Fundamentals

Why Understanding Binary and Encoding Unlocks Computer Fundamentals

This article explores the essence of computing by tracing how basic circuits, binary encoding, and layered abstractions from hardware to software enable modern digital devices, illustrating concepts with bicycle analogies, circuit diagrams, and historical insights into binary's development.

Hardwareabstractionbinary encoding
0 likes · 15 min read
Why Understanding Binary and Encoding Unlocks Computer Fundamentals
Alibaba Cloud Developer
Alibaba Cloud Developer
Nov 23, 2021 · Fundamentals

Why Object‑Oriented Design Still Matters: From Machine Code to Domain‑Driven Architecture

This article traces the evolution of programming paradigms—from low‑level machine code through procedural and object‑oriented approaches—explains the pitfalls of poor abstraction, introduces domain‑driven design, and reviews key software design principles such as SOLID, OCP, DIP, PLOA and KISS.

Programming ParadigmsSOLIDSoftware Architecture
0 likes · 21 min read
Why Object‑Oriented Design Still Matters: From Machine Code to Domain‑Driven Architecture
ITPUB
ITPUB
Sep 7, 2021 · Fundamentals

How to Write Clean, Maintainable Code: Principles and Practical Tips

This article compiles practical guidelines and personal experiences on writing clean, maintainable code, covering principles such as eliminating duplication, separating concerns, unifying abstraction levels, function design, naming, unit testing, and broader software‑engineering concepts to reduce mental load and improve code quality.

abstractionclean codecoding best practices
0 likes · 24 min read
How to Write Clean, Maintainable Code: Principles and Practical Tips
ELab Team
ELab Team
Jun 30, 2021 · Frontend Development

Why Abstraction Leaks Undermine Your Front‑End Projects—and How to Fix Them

This article explores the concept of abstraction leaks in software design, especially within front‑end development and low‑code platforms, explains why they occur, illustrates common symptoms, and offers practical strategies for developers to manage, redesign, or mitigate such leaks.

abstractionarchitectureleaky abstractions
0 likes · 25 min read
Why Abstraction Leaks Undermine Your Front‑End Projects—and How to Fix Them
Architecture Digest
Architecture Digest
Jun 23, 2021 · Fundamentals

Business Architecture: Concepts and Practical Challenges

The article introduces the concept of business architecture, explaining how abstract architectural design must be grounded in concrete business needs, and discusses the difficulty of bridging design patterns with real‑world value creation, illustrated through a series of explanatory diagrams.

abstractionbusiness architectureimplementation
0 likes · 2 min read
Business Architecture: Concepts and Practical Challenges
21CTO
21CTO
Apr 14, 2021 · Fundamentals

Why Mastering Abstraction Is the Secret to Cleaner, More Maintainable Code

This article explains how abstract thinking underpins software design, illustrates abstraction with visual and code examples, shows the pitfalls of duplicated code and forced casts, and offers practical habits—reading, summarizing, naming, and domain modeling—to strengthen a developer's abstraction skills.

Code RefactoringDomain Modelingabstraction
0 likes · 24 min read
Why Mastering Abstraction Is the Secret to Cleaner, More Maintainable Code
Java Interview Crash Guide
Java Interview Crash Guide
Mar 10, 2021 · Fundamentals

Why Abstract Thinking Is the Secret Weapon for Better Code Design

This article explains how abstract thinking underpins software engineering, covering definitions, the relationship between language and abstraction, levels of abstraction, layered design, the pitfalls of duplicate code and forced casts, and practical ways to strengthen one’s abstract reasoning skills.

ModelingObject-Orientedabstraction
0 likes · 22 min read
Why Abstract Thinking Is the Secret Weapon for Better Code Design
政采云技术
政采云技术
Dec 1, 2020 · Frontend Development

Writing High-Quality Maintainable Code: Component Abstraction and Granularity

This article explains how to write high-quality, maintainable frontend code by exploring component abstraction, granularity, design principles, and classification—from atomic to page-level components—illustrated with React and Vue examples, code snippets, and practical guidelines for balancing reuse and complexity.

Component DesignVueabstraction
0 likes · 15 min read
Writing High-Quality Maintainable Code: Component Abstraction and Granularity
IT Architects Alliance
IT Architects Alliance
Oct 29, 2020 · Product Management

Thoughts on Abstraction, Complexity, and Designing Product Architecture Diagrams

The article explores how abstract thinking and complexity influence a product manager's abilities, explains the purpose and timing of creating product architecture diagrams, and provides detailed guidance on different diagram types, their design methods, and practical steps for visualizing product, service, and ecosystem structures.

Design ThinkingProduct Architectureabstraction
0 likes · 11 min read
Thoughts on Abstraction, Complexity, and Designing Product Architecture Diagrams
Liangxu Linux
Liangxu Linux
Oct 13, 2020 · Fundamentals

Why Understanding OS Fundamentals Boosts Your Programming Efficiency

This article explains the basic concepts of operating systems, covering their role as a hardware abstraction layer, the distinction between kernel and user modes, and how OS resource management (time‑sharing and space‑sharing) enables multiple programs to run safely and efficiently.

Resource Managementabstractionfundamentals
0 likes · 10 min read
Why Understanding OS Fundamentals Boosts Your Programming Efficiency
JavaEdge
JavaEdge
Oct 10, 2020 · Fundamentals

Why High‑Level Modules Should Depend on Abstractions: Mastering Dependency Inversion

This article explains the Dependency Inversion Principle, shows why traditional layered architectures suffer from maintenance and reuse problems, provides concrete Java and web examples, and demonstrates how refactoring to abstract interfaces resolves these issues for more flexible, decoupled software design.

Dependency InversionJavaSoftware Architecture
0 likes · 9 min read
Why High‑Level Modules Should Depend on Abstractions: Mastering Dependency Inversion
Alibaba Cloud Native
Alibaba Cloud Native
Jun 15, 2020 · Fundamentals

Mastering Architecture Diagrams: Why, What, and How to Create Effective Designs

This article explains what an architecture diagram is, why it matters, and provides a step‑by‑step methodology—including business and system modeling, abstraction techniques, diagram classification, drawing guidelines, and quality evaluation—to help engineers produce clear, purposeful diagrams that improve communication and collaboration.

ModelingSoftware ArchitectureSystem Design
0 likes · 28 min read
Mastering Architecture Diagrams: Why, What, and How to Create Effective Designs
AntTech
AntTech
Jun 8, 2020 · Fundamentals

What Is Programming? A Simple Introduction Using a Cooking Analogy

The article explains programming fundamentals by likening code to cooking, defining programming as algorithms plus data structures, illustrating basic concepts such as conditionals, loops, and abstraction through simple code examples, and emphasizing the difference between novice and expert approaches.

AlgorithmsData StructuresSoftware Engineering
0 likes · 8 min read
What Is Programming? A Simple Introduction Using a Cooking Analogy
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Sep 19, 2019 · R&D Management

How to Design Effective Business Architecture: Principles, Methods, and a Coupon Case Study

The article explains what business architecture is, outlines its key characteristics, describes a four‑step method (systematic thinking, decomposition, abstraction, pattern), and demonstrates the approach with a detailed coupon‑service case study, illustrating how to model goals, processes, and elements into a clear architecture diagram.

Coupon Systemabstractionbusiness architecture
0 likes · 11 min read
How to Design Effective Business Architecture: Principles, Methods, and a Coupon Case Study
21CTO
21CTO
May 20, 2019 · Fundamentals

Why Abstract Thinking Is the Secret Weapon of Great Software Architects

This article explains how abstract, layered, divide‑and‑conquer, and evolutionary thinking form the four essential mental tools that enable software architects to manage complexity, design scalable systems, and continuously evolve architectures in response to changing requirements.

Layered DesignSoftware Architectureabstraction
0 likes · 17 min read
Why Abstract Thinking Is the Secret Weapon of Great Software Architects
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Oct 14, 2018 · R&D Management

Why Abstract Thinking Is the Core Skill Every Software Architect Needs

The article explains how abstraction, layered design, divide‑and‑conquer, and evolutionary thinking form the four essential mental tools for architects to manage complexity, illustrating each concept with real‑world examples, diagrams, and practical advice for cultivating these skills.

Layered DesignSoftware Architectureabstraction
0 likes · 14 min read
Why Abstract Thinking Is the Core Skill Every Software Architect Needs
21CTO
21CTO
Jul 16, 2018 · Fundamentals

Unlock Powerful Architecture with Abstraction, Layering, and Divide‑and‑Conquer

The article explains how mastering abstraction, layering, divide‑and‑conquer, and evolutionary thinking equips software architects to manage complexity, design modular systems, and continuously evolve architectures—from simple modules to large‑scale platforms—highlighting practical examples, interview questions, and learning pathways.

Layered Designabstractiondivide and conquer
0 likes · 14 min read
Unlock Powerful Architecture with Abstraction, Layering, and Divide‑and‑Conquer
Architecture Digest
Architecture Digest
Jul 14, 2018 · Fundamentals

The Four Core Thinking Patterns for Software Architecture: Abstraction, Layering, Divide‑and‑Conquer, and Evolution

This article explains how abstraction, layered thinking, divide‑and‑conquer, and evolutionary design serve as the four fundamental mental tools that architects use to manage complexity in software systems, illustrated with everyday analogies, diagrams, and practical interview examples.

Layered DesignSoftware Architectureabstraction
0 likes · 15 min read
The Four Core Thinking Patterns for Software Architecture: Abstraction, Layering, Divide‑and‑Conquer, and Evolution
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Feb 2, 2018 · Backend Development

What Makes a Great Software Architect? 7 Essential Skills Revealed

This article explores the seven core competencies—technical expertise, abstraction, design foresight, systematic thinking, problem‑solving depth, cross‑domain knowledge, and communication—that distinguish a successful software architect and guide how to develop them.

Software ArchitectureSystem Designabstraction
0 likes · 13 min read
What Makes a Great Software Architect? 7 Essential Skills Revealed
Meituan Technology Team
Meituan Technology Team
Oct 12, 2017 · Frontend Development

Managing Software Complexity with Abstraction, Composition, and Functional Programming in Redux/React

By using abstraction to model common concepts and composition to build complex behavior from simple, pure‑function building blocks like map, filter, and reduce, the article shows how functional programming techniques underpin Redux and React, providing a systematic way to tame front‑end software complexity.

Higher-Order FunctionsReactRedux
0 likes · 22 min read
Managing Software Complexity with Abstraction, Composition, and Functional Programming in Redux/React
Qunar Tech Salon
Qunar Tech Salon
Feb 25, 2015 · Fundamentals

Understanding the Core Challenges of Programming: Abstraction, Indirection, and Architectural Practices

Programming is inherently complex, requiring deep business understanding, systematic abstraction, indirection, early architectural planning, layered design, and cultivated intuition to produce clean, maintainable code that adapts to evolving requirements and reduces technical debt.

Design PatternsObject-OrientedSoftware Architecture
0 likes · 6 min read
Understanding the Core Challenges of Programming: Abstraction, Indirection, and Architectural Practices