Developer Creates New Programming Language Using AI Assistant in Four Weeks
A frontend engineer successfully developed a fully functional programming language called Cutlet within just four weeks, using Claude AI as the primary development tool. The project demonstrates the potential of AI-assisted programming when properly structured and managed.
The developer allowed Claude to generate every line of code without manually reviewing it, instead focusing on creating comprehensive guardrails and testing frameworks to ensure correctness. The resulting language compiles and runs on both macOS and Linux systems, capable of executing real programs despite being only a month old.
Language Features and Capabilities
Cutlet incorporates several interesting features borrowed from various programming languages. Variables are declared using the my keyword, and variable names can include dashes, similar to Raku syntax. The language uses doubles as its primary numeric type.
One notable feature is the @ meta-operator, which transforms binary operators into vectorized operations over arrays. For example, multiplying every element in an array by 1.8 and adding 32 can be accomplished with (temps-c @* 1.8) @+ 32.
The language includes array filtering using boolean arrays, where elements corresponding to true values are selected while false values are discarded. String concatenation uses the ++ operator, and the @ operator in prefix position performs reduce operations.
Functions are declared with fn and everything in Cutlet is an expression, including functions and conditionals. The language features loops, objects, prototypal inheritance, mixins, a mark-and-sweep garbage collector, and an interactive REPL environment.
Project Motivation and Constraints
The developer chose to build a programming language after experiencing limitations with AI tools in frontend development. While AI excels at complex business logic, it struggles with visual design tasks, responsive layouts, and novel interface requirements.
Several criteria guided the project selection: avoiding novel problems while maintaining steering capability, eliminating manual code verification, establishing strong feedback loops, avoiding browser-based tools, and using minimal external dependencies. A small dynamic programming language met all these requirements.
Language implementations exist abundantly in AI training data, allowing for effective remixing of features from existing languages. The project could be tested through deterministic programs with expected outputs, all verifiable from the command line without complex integrations.
Four Essential Skills for AI-Assisted Development
The experiment revealed four critical skills for effective AI-assisted programming:
Problem Selection
Developers must understand which problems suit AI solutions versus those requiring human intervention. Two key questions help determine AI suitability: whether success criteria can be defined and verified automatically, and whether similar problems exist in AI training data.
Clear Communication
Working with AI requires precise written specifications capturing the complete problem space. The developer spent most time writing, generating, and refining specification documents rather than coding directly.
The workflow involved discussing features with the AI, creating detailed implementation plans, reviewing and refining these plans, and only then allowing the AI to implement them. This front-loaded approach differs significantly from traditional iterative development but proves necessary for AI collaboration.
Environment Creation
Successful AI programming requires providing comprehensive tools and information access. The project included extensive test suites, sample programs with expected outputs, linters and formatters, memory safety tools, symbol indexes, runtime introspection capabilities, and full system permissions.
These tools gave the AI agency and information beyond just code access, enabling autonomous problem identification and resolution. The infrastructure benefited both AI and human developers working on the project.
Loop Optimization
AI agents can be inefficient with available tools, requiring observation and optimization. The developer created scripts to automate repeated command sequences and removed permission barriers to eliminate human intervention from the development loop.
Professional Implications and Considerations
Despite AI’s capabilities, traditional software engineering skills remain essential. The developer’s compiler course knowledge and experience with language implementation books proved crucial for making technical decisions and guiding the AI effectively.
The project raises questions about code ownership and attribution. While the developer managed the AI agent, Claude generated most code, building upon countless open-source contributions and educational materials in its training data.
The developer notes potential mental health concerns with AI-assisted programming, describing addictive qualities similar to gambling due to unpredictable outcomes and rapid achievement feelings. Setting usage limits becomes important for maintaining healthy work patterns.
Future Applications and Limitations
AI-assisted programming excels at rapid experimentation, allowing developers to test multiple approaches with minimal cost. Failed experiments require little investment beyond specification writing, enabling quick idea validation and early rejection of poor concepts.
The technology also reduces dependency on third-party libraries by generating custom utility functions previously requiring external packages. However, broader societal implications remain unclear, though programming practices will likely transform significantly by 2030.
While this experiment succeeded, the developer acknowledges it worked primarily because language implementation patterns exist extensively in AI training data. Success in other domains may vary considerably, particularly in areas requiring novel solutions or visual design expertise.