x-xxx
Joined 9 months ago
Joined 9 months ago
At some point, I began thinking that I wanted to create one programming language that could do everything. It was something I had wanted to make for a long time. I wanted it to be safe, flexible, simple, and fast.
I did not want to keep changing languages whenever I moved to a different part of a system. I did not want to constantly switch my way of thinking between different languages, syntax, and models. I wanted to be able to build everything within one language.
For the benchmarks, I intentionally chose not to compare X with other languages. I want X to be X, and I want the results to represent only what X actually produced. I do not want the benchmarks to be used for boasting that X is better than another language, or for speaking negatively about other languages. I want X to exist as its own language without competing with anyone. Readers can decide for themselves whether they want to compare the results.
For the names and syntax, my main goal was to make them as easy as possible. Even if a beginner knows almost nothing about programming, I want them to feel that the language is understandable, and to be able to guess what something means quickly.
I think that creating too many different syntax forms for closely related ideas forces people to remember too much. Reducing a group of related operations into one consistent form can reduce how much the user has to memorize.
More generally, I try not to create a new syntax form for every small variation. I think humans remember patterns more naturally than they remember many separate words and rules about exactly when each one must be used. A familiar pattern can continue to feel natural and simple even when the behavior behind it is still detailed and powerful.
The simplest summary of my design process is that I kept asking what people actually need, and thinking about the problems I experienced when I first started learning programming.
I'm Thai, and I'm not fluent enough in English to explain a project this large naturally on my own, especially because I wanted to publish it for an English-speaking audience on Hacker News. I mainly used AI to help translate what I meant, improve the wording, and arrange the information into a structure that would feel normal and readable in English.
The language design, implementation, technical decisions, measurements, and the ideas behind the documentation are mine. I reviewed the text and tried to make sure it represented what X actually does, but I honestly don't always know what wording or document structure feels most natural to native English speakers.
I also tried hard to keep it from sounding strange or overly generated, so I'm glad that the documentation was useful to you.
I developed X locally in folders on my computer and wasn't using Git or GitHub during most of the development. I created the public repository only when I was preparing to release it, so the Git history doesn't represent how long I worked on X.