Ape coding
Ape coding is a software development practice where a human developer deliberately hand-writes source code. Practitioners of ape coding will typically author code by typing it on a computer keyboard, using specifically designed text editing software.
History
The term was popularized when agentic coding (coding performed by AI agents) became the dominant form of software development. Ape coding first appeared in programming communities as derogatory slang, referring to developers who were unable to program with agents. Despite the quick spread of agentic coding, institutional inertia, affordability, and limitations in human neuroplasticity were barriers to universal adoption of the new technology.
Critics of agentic coding reappropriated the term during a period of pushback against society’s growing reliance on AI. Effective use of the primitive AIs available at the time demanded a high level of expertise, which wasn’t evenly distributed in organizations. As a result, regressions in software products and disruptions in electronic services were frequent within the first stages of adoption.
Ironic usage of ape coding as a positive description became commonplace. It highlighted a more deliberate approach to building software: one defined by manual craftsmanship, requiring direct and continuous human involvement.
Rationale
The central view of ape coding proponents was that software engineered by AIs did not match the reliability of software engineered by humans, and should not be deployed to production environments.
A recurring argument in favor of this perspective was based on comprehensibility. The volume of code AI developers could produce on demand was much larger than what human developers were able to produce and understand in a similar timeframe. Large and intricate codebases that would take an experienced human engineer months or years to grasp could be produced in hours. The escalating complexity of such codebases hindered efforts in software testing and quality assurance.
AI skepticism also played a part in the critique of agentic coding. There was widespread speculation on whether the nascent AIs of the period possessed true understanding of the tasks they were given. Furthermore, early AI implementations had deficiencies related to context length, memory, and continual learning, affecting quality and consistency of output.
... continue reading