The compiler for GammaLang was originally started in C, however after getting the initial parser completed, progress slowed way down. At first, I thought that I was losing interest in the project, but after realizing that I was still working on the project the same amount of time, and constantly thinking about it. I have come to the conclusion that it is actually C that is slowing down my development progress. The added complexity of memory management & data structure implementation in C was consuming lots of brain cycles and hours of development. Thus the need to move to Python.
Well here I am again, wanting to make another programming languange (Gamma). Why? You might ask. All I can say is, I really want to. I love creating little applications, testing out ideas, and prototyping different concepts. I could always use LibGDX, Unity, or some other engine or library that already exists; I don't want to. I want to be in control of how the language looks, compiles, and acts. If I want to add a special feature in the language that doesn't exist in C++, I want to be able to; not just create a library, but make the functionality actually part of the language.
Following my previous post concerning the new programming language I am working on, I think I should actually start talking about some of the specific language features and the implementation. This post will focus on the Module System, and how including code from other files works.
Starting a new project is always an exciting time for me. In fact, it is so exciting, I normally stop my projects before they are anywhere near completion, to start a new project; sometimes the new project is a replacement for the current unfinished project. This project is no exception, however I have been really good for the last 4 months, to not switch projects. I have been working on this website platform for about 4 months now, and a game engine project for about 2 months. Now it is about time to start a new project ;) or, at least normally. This time however I am not working on either, but both at the same time, via Gamma Programming Language.