Skip to content
kamaba edited this page Apr 26, 2023 · 2 revisions
  1. 大概2016年,其实就想写一个自己玩的语言,但工作时间较长,一拖再拖。 后来有一定时间工作不太尽快,就写了一个大概框架。 其实大部分语法还是参考csharp的,但中间又读了,一些Rust的语法,很喜欢Rust的,if后边不带括号的写法,还有Enum的动态赋值功能,也写到了这个语言里。 当然其实Rust的exception的思路真的不错的,未来可能会借鉴。 还有就是他的内存管理,或许这个语言也会借鉴一些,但不是纯手动管理,还有自动管理的部分,要不太累了。
  2. 里边的Struct变成了Data类型,其实原理有点像,但Data更驱向于【数据】的概念
  3. 这个项目周期大概是10年+的项目,可能中间会断断续续的更新。
  4. 未来支持数学计算 float2,float3,float4, matrix等专业关键字的写入,并且语言使用模块化,调用GPU compute功能,当然需要自己写驱动,可能会引入一些比较成熟的机制。 但并行计算,会概大的简化传入过程。。
  5. 前期版本更像一个动态语言,但其实本质还是静太的,后期慢慢的使用llvm等方式,做后端,也可能语言更驱向于GPU计算语言。现在还没有具体的规划
  6. 如果使用native的模式,可能会内部兼容c语言,但使用分离+中间层方式,只是在工程层内兼容,而非语法层面。
  7. 该语言未来,编译成c51要自己写,后端的过程,但要在稳定后,才写这部分。
  8. 本人介绍,本人其实是一直人事游戏行业的,写这个只是为了娱乐,但爱好才是最大的驱动力,如果有相同爱好的人,可能加入,一起做一些好玩的事情,可以发送邮箱[email protected]

Around 2016, I actually wanted to create a language just for fun, but due to long working hours, it was constantly postponed. Later, when I had some free time, I created a rough framework. Actually, most of the syntax is based on C#, but I also studied some Rust syntax in between and really liked Rust's way of not including parentheses after if statements and its dynamic assignment feature for Enums, which I also included in this language. Of course, Rust's approach to exceptions is also quite good, and may be used as a reference in the future. Additionally, its memory management may also be borrowed to some extent for this language, but not purely manual management - there will be some automatic management components, otherwise it would be too cumbersome.

The Struct inside has been changed to the Data type, which is similar in principle, but Data is more oriented towards the concept of "data".

The project cycle is probably a 10+ year project, and updates may occur intermittently during that time.

In the future, support for professional keywords such as float2, float3, float4, matrix for mathematical calculations will be added, and the language will use modularization and call GPU compute functions. Of course, it will require writing your own driver and possibly introducing more mature mechanisms. However, parallel computing will simplify the input process.

Earlier versions were more like dynamic languages, but essentially they are still static. Later on, I slowly used LLVM and other methods to build the backend. It is possible that the language will become more oriented towards GPU computing. There is no specific plan yet.

If the native mode is used, it may be internally compatible with C, but using a separation plus middleware method, compatibility will only be at the engineering level rather than at the syntax level.

In the future, if this language is compiled into c51, it will have to be done after stabilizing the backend process, but it is not yet at that stage.

As for my introduction, I have actually been in the gaming industry all along, and I created this language just for entertainment. Hobbies are the biggest driving force, so if there are people with similar interests, they can join in and do some fun things together. You can send an email to [email protected].

Clone this wiki locally