<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: VP_xudon</title>
    <description>The latest articles on DEV Community by VP_xudon (@vp_xudon).</description>
    <link>https://dev.to/vp_xudon</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4099077%2F528aafd7-b66f-4cc5-9077-195d6a9e48eb.png</url>
      <title>DEV Community: VP_xudon</title>
      <link>https://dev.to/vp_xudon</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vp_xudon"/>
    <language>en</language>
    <item>
      <title>I used WorkBuddy to complete almost the entire coding process for a completely new programming language.</title>
      <dc:creator>VP_xudon</dc:creator>
      <pubDate>Sat, 29 Aug 2026 12:26:07 +0000</pubDate>
      <link>https://dev.to/vp_xudon/i-used-workbuddy-to-complete-almost-the-entire-coding-process-for-a-completely-new-programming-3gdp</link>
      <guid>https://dev.to/vp_xudon/i-used-workbuddy-to-complete-almost-the-entire-coding-process-for-a-completely-new-programming-3gdp</guid>
      <description>&lt;p&gt;I’m a 14-year-old developer from China, and today I want to share a crazy journey: I just finished designing and building a completely new programming language from scratch.&lt;br&gt;
But I didn't do it alone. I used Tencent WorkBuddy(It also has an international version you can use), an AI coding assistant, to help me push through the heavy coding tasks. Today, I want to talk about the language's unique philosophy, the brutal bugs I faced, and how AI helped me build this.&lt;br&gt;
🧠** The Core Philosophy: Immutability &amp;amp; Behavioral Contracts**&lt;br&gt;
Instead of traditional weak typing, I wanted to see what would happen if a language strictly enforced immutable class templates and behavioral contracts. In this language, once an object is instantiated, its state cannot be arbitrarily modified. The goal was to achieve state safety without relying on a heavy Garbage Collector.&lt;br&gt;
🐛** The Biggest Headache: Infinite Recursion**&lt;br&gt;
The most painful bug I encountered was during method dispatch. I initially modeled closures as part of the class behavior (std::Behavior). However, when invoking a method, the dispatch mechanism tried to evaluate the closure object, which triggered another dispatch... leading to infinite recursion! 😅&lt;br&gt;
After days of debugging, I finally solved it by separating closures and classes into two distinct object types. Closures now have their own execution path that bypasses the standard class method dispatch. It was a massive "Aha!" moment.&lt;br&gt;
🤖** Enter WorkBuddy: My AI Co-Pilot**&lt;br&gt;
Building a custom "philosophical interpreter" from scratch is incredibly complex. While the core architecture, type system, and the closure separation logic were entirely my own design, I used WorkBuddy to handle the heavy lifting.&lt;br&gt;
WorkBuddy helped me:&lt;br&gt;
Rapidly generate boilerplate code for the AST nodes.&lt;br&gt;
Debug complex memory management issues in the interpreter.&lt;br&gt;
Write test cases to ensure the behavioral contracts were actually enforced.&lt;br&gt;
AI didn't design the language for me, but it acted as a senior pair-programmer, helping a 14-year-old turn a theoretical concept into a working reality.&lt;br&gt;
It can even communicate with you while it is working to do things better. And its new built-in HY4-preview model is completely free to use these two weeks. It requires no credits and operates at a 0.00x consumption rate, so student friendly YIPPY!!!&lt;br&gt;
🚀** What's Next?**&lt;br&gt;
I have a working MVP, but I know there are edge cases and performance bottlenecks I might have missed. I would absolutely love to get feedback from experienced language designers and compiler engineers here!&lt;br&gt;
🔗 Check out the GitHub Repo: &lt;a href="https://github.com/VP-xudon/Syclun" rel="noopener noreferrer"&gt;Here is the LINK&lt;/a&gt;&lt;br&gt;
If you've ever tried building a language, or if you have thoughts on separating closures from classes, please drop a comment below. Let's discuss!&lt;br&gt;
(P.S. Feel free to roast my code in the comments. I'm here to learn!)&lt;/p&gt;

&lt;h1&gt;
  
  
  programming #compiler #ai #workbuddy #opensource #language
&lt;/h1&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>cpp</category>
      <category>workbuddy</category>
    </item>
    <item>
      <title>I'm 14 and I built my own programming language with a "Philosophical Interpreter".</title>
      <dc:creator>VP_xudon</dc:creator>
      <pubDate>Fri, 28 Aug 2026 14:02:42 +0000</pubDate>
      <link>https://dev.to/vp_xudon/im-14-and-i-built-my-own-programming-language-with-a-philosophical-interpreter-lf1</link>
      <guid>https://dev.to/vp_xudon/im-14-and-i-built-my-own-programming-language-with-a-philosophical-interpreter-lf1</guid>
      <description>&lt;p&gt;Hi all,&lt;br&gt;
I'm working on a custom language interpreter and ran into a design issue regarding method dispatch.&lt;br&gt;
The Problem:&lt;br&gt;
I initially modeled closures as part of the class behavior (std::Behavior). However, when invoking a method, the dispatch mechanism would try to evaluate the closure object, which in turn triggered another dispatch, leading to infinite recursion.&lt;br&gt;
My Solution:&lt;br&gt;
I separated closures and classes into two distinct object types. Closures now have their own execution path that bypasses the standard class method dispatch.&lt;br&gt;
The Question:&lt;br&gt;
Is this a common pattern in language design, or is there a more elegant way to handle closures as first-class citizens within a class structure without hitting this recursion trap?&lt;br&gt;
Repo: &lt;a href="https://github.com/VP-xudon/Syclun/" rel="noopener noreferrer"&gt;https://github.com/VP-xudon/Syclun/&lt;/a&gt;&lt;br&gt;
Thanks for any insights!&lt;br&gt;
Oh right, I used Tencent Codebuddy for DEBUGGING but not DESIGNING...&lt;/p&gt;

</description>
      <category>coding</category>
      <category>computerscience</category>
      <category>opensource</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
