# 工作日志后记集

### 写在开头....

本文档在技术层面是不重要的。
本文档包含大量发牢骚的内容。
本文档记录了作者在项目开发时遇到的事情及其心路历程，你可以将本文档视作“番外篇”。
本文档补充了我在一些时刻做出一些决定的理由。

### 2026/12/27

好久不见，本后记撰写于2026年2月5日。
准确来说，这一次更新只间隔了两个月，即10月~12月，剩下的两个月我一直在休息，并且偶尔补充一下文档。

到现在终于补充完了，写完后记我就可以发行新版本了。

令我难以想象的是，近几次的提交，已经让stamon的性能产生了质的飞跃，然而，我心里清楚，我以往写的代码还有很多内存泄漏以及无用且消耗性能的复制构造。

因此，我做出了重构的决定。这个决定也回答了2025年10月4日关于项目走向的问题。

将``AstRunner``为运行端主体的stamon项目版本归档为**stamon2**。接下来，我会在少量变动功能的前提下，重构stamon，并引入更多现代化的设计和激进的优化。如果有重构，那么该版本会被命名为**stamon3**。

换句话说，从2023年中到2026年初，时隔三年左右，stamon将推出第三代版本。

当然，这意味着我需要耗费更多的时间和精力用来打磨第三代。我希望第三代能够做出更多有意义的事情，这也少不了社区成员们的支持，在此感谢那些曾经为该项目做出建议和贡献的开发者们！

### 2025/10/04 

间隔了一个多月，本项目再一次进行大规模更新。

在八月，九月中，我重新梳理了项目接下来的走向。并对底层库进行了简化和优化，事实证明，这个做法是无比正确的。

我将会逐步整理以往留下的技术遗留问题，让代码更加“高内聚低耦合”。因此，重新整理移植接口是首要之举。正确的顶层设计必须建立在优良的底层设计之上。

本次更新距离上一次，时间跨度过大，因此可能会有些修改细节并未提及。

我在考虑几种选择：

* 将以``AstRunner``为运行端主体的Stamon项目版本作为一个单独的分支独立出去，并且此后该分支仅作维护，不再有进一步功能更新。
* 保留``AstRunner``到主分支，用户可以利用分步行动机制调用``AstRunner``，但同样，``AstRunner``仅作维护，不再有进一步功能更新。

总之，我需要深思熟虑后做决定。

### 2025/08/19 后记

本次更新中，工作日志创建时间和提交时间跨度很大。这是因为我在编写工作日志到一半的时候出去旅游了。数天后回来，肯定会有一些细节没有讲清楚。

其实现在这个项目还有很多细节有待优化，我会慢慢的把他补全回去。

在本次的旅行中，我借着空闲时间学到了很多知识，我会尽量把他应用到项目中来。

### 2025/07/13 后记

事实证明，使用AI是会被一定程度的反噬的，我感觉我的文风越来越偏向AI了。

这是暑假后的第一个提交，我升级了异常信息系统——这是我一直想做却没时间做的。

接下来我会尝试更加努力地推进这个项目。

### 2025/06/20 后记

转眼间，又一个夏天到来。
对我而言，距离高考还有两年。我需要平衡爱好和学业。
我做好了暂停Stamon开发的准备，尽管我不喜欢这样。

### 2025/06/06 后记

又是两个月，我想起来后记这回事了。
这两个月发生了很多，经过我的辛勤耕耘，这个项目已经出现“现代化”的苗头了。这是好事。
接下来，我想干很多事情：将Stamon转为JS，先用v8来暂时解决“性能”这一棘手问题；利用分布动作机制将Stamon模块化；将移植的设计进一步细化，模块化，争取开发出nostd的stamon。

当然，这些东西都需要——时间。

时间...时间...

我现在最缺的就是时间。

### 2025/04/23 后记

这是离开赛场后的第一次更新。算是一次常规更新。
比赛方面，并没有打出我期待的成绩，但这个成绩说到底也是我能预料到的。我接触了很多比我优秀的人，他们也给了我一些意见，谢谢！
本次的提交算是一个常规提交，其实这些漏洞我花了四天时间修复，这可能是今年以来我遇到最复杂的漏洞了，这些漏洞互相遮掩对方，使得我以前从来没有发现，并且这些致命性漏洞在机缘巧合之下，可以让程序正常运行！
有关ArrayList的漏洞是最让人啼笑皆非的——我只要开启O2优化，就会崩溃，开启O0则什么事情都没有。最后花了两天时间，终于调查出是ArrayList的析构函数被优化出了一些不可控的行为。
我也要开始着手准备明年的比赛了，虽然还有好几个月，但是留给我的时间不多了。我可能会开创新项目，但是怎么对新项目和旧项目进行平衡，这是个问题。

### 2025/04/12 后记

本更新提交于赛场上。

### 2025/04/04后记

自从将后记整理到一个单独的文档中，我就慢慢失去了写后记的习惯......
我认为这是不合适的，开发经验和情绪应当有一个抒发的地方。
我又成功进入了一个含金量更高的科创省赛，因此我需要确保别人在使用我的项目时，不会出现任何问题。

### 2025/03/18后记

最近一直忙着学业和比赛的事情，只能腾出较少的时间去给Stamon做更新。

### 2025/03/08后记

为了准备省级的比赛，我必须在短时间内实现更多有趣的，创新的小功能。
整合这些代码，这样可以为接下来的开发做准备。

### 2025/03/03后记

更新可能会变得更加频繁。
我重构虚拟机的意向从未如此强烈。
我认为是时候付诸行动了，让一些带有错误认知的人重新认识这个项目。

### 2025/03/02后记

因为一个本地环境变量的问题，我排查了一个周末，因此没有做出一些实质性的东西。

### 2025/02/28后记

Github Action编译出来的程序貌似有点问题，我已经修复了它。

### 2025/02/22后记

这个月的工作量不小，但是表面上的成效不多。
很多人开始对我的项目进行无端的质疑和抨击，这是正常的，我也应该摆好心态，不受干扰的安排未来的项目规划。
如果什么事情都听别人的意见，最后是什么都做不成的，而且提出意见的人也不会承担责任，我已经看到太多这样的例子了。
内存安全一直是我心里难以越过的一道坎，我想我要开始着手解决它。

### 2025/01/27后记

最近我在大量整合代码，为未来的重构做准备。

春节快乐！

### 2024/12/02后记

目前stamon有三个周边项目：
* stamon2-highlight（VSCode高亮插件，已完工）
* 斯塔蒙（中文处理器已完工，等待对接中）
* STPM（Stamon Package Manager，Stamon包管理器，正在建设中）

我将会逐步推进它们，以此达成一个周边生态。

### 2024/10/29后记

最近忙着参加奥赛，很少维护Stamon。

但是我已经在筹备Stamon的重构工作了，我提交了两份平面字节码的设计规范，这算是重构的开端。

近日我也开发了Stamon的中文版（斯塔蒙，又名sitameng），其基本原理就是用Python将中文关键字、标识符和全角符号词法分析，输出成和Stamon同一标准的Token，最后交给Stamon编译。

需要声明：斯塔蒙和Stamon隶属于两个不同的项目仓库，斯塔蒙具有一定的实验性，我会把更多精力放在Stamon的维护上。

### 2024/10/04后记

``工作日志/20240908.md``当中提到了关于学术道德的问题。为此，我决定加入MOSPP（开源项目保护宣言）。
这是我编写的一个规范，只具有道德约束力，不能当作法律依据。
我没有能力去妥善的用法律约束力解决学术道德与开源软件的矛盾，因此只能使用道德约束力去平衡。

我和其他人透露“我决定加入开源项目保护宣言”的想法之后，很多人抗议“这不符合自由软件运动的宗旨”。显然他们没有理解“道德约束力”的含义，我并没有绝对反对自由软件运动的精神（因此所谓“FreeStamon”这样企图扣帽子来哗众取宠的项目可以中止了）。

**MOSPP只具有道德约束力！**

### 2024/09/08后记

随着项目的发展，Stamon的流言蜚语越来越多，甚至还有人企图控制Stamon。
我认为这是正常的，我只想做我想要做的。

我将会发布各种规范，以此限制住一些素质低下的人的行径。

### 2024/08/21后记

Stamon Playground已经正式实现，点击[这里](https://stamon-playground.github.io/)即可在网页上使用Stamon！

### 2024/08/01后记
不出意料的话，Stamon for Web（stamon-playground）马上就要与大家见面了！

### 2024/07/30后记

随着越来越多人为Stamon做贡献，我认为我应该做一份代码编写规范。

### 2024/07/07后记

本项目成功进入了某科创比赛的国赛！

### 2024/06/16后记

总算是正式支持Linux了，这也极大的证明了Stamon的可移植性......

### 2024/05/10后记

这一次的文档编写花费了我将近两天的时间，现在回过头来，回想项目成立之初的7月份，我压根没敢想象现在的盛况，无数次的实践都让我有了一丝向前看的底气。

这个项目此时并不是一次练习、一个发明了，而是一种态度。

### 2024/02/07后记

本文档采用语音转文字编写，出现个别错别字请谅解。

但是不得不说语音转文字写文档就是快。

### 2024/01/31后记

这次的更新比以往所有的更新都更加全面，并且该项目的开发方针也进行了大幅度的改善。

之所以变动会这么大，是因为我要在二月份参加一个重要的创新比赛，这也就意味着我必须在二月份开发出一个能运行的语言。

再加上我的学业（临近中考），所以我会变得很忙。

最后...祝大家中国新年快乐！

### 2023/12/02后记

写了三个月，可以说是完成了一件大事，真累，但是感觉好爽。
<br><br>
我一直致力于把文档写简单、干练、透彻。但是接下来项目难度骤增，文档也会更加复杂。（其实这篇文档就已经开始变复杂了）
<br><br>
写完文档之后，对着它审而又审，最后准备郑重地提交。

### 2023/08/25 后记
本次提交的内容其实不算复杂，但是因为数据类型定义的设计会影响到后面的很多架构，所以我需要谨慎思考。
<br><br>
本次提交还着重更改了依赖库，事实上，依赖库的设计也是让我比较头疼的。
<br><br>
本次提交的数据类型定义可能注释并不全面，我将会在后续继续提交注释。
<br><br>
值得注意的是，从项目第一次提交到现在，我没有对代码进行过一次调试，接下来我会对我写过的代码进行简单的调试。


### 2023/08/12 后记

今天早上代码终于写完了，代码格式化、工作日志等等折腾完之后已经下午了，在准备git commit的时候突然发现数字字面量的节点类好像有瑕疵，还好抢救过来了。<br><br>
希望不要提交之后发现代码有瑕疵。