System software development has always been my passion. It’s so much fun! But with languages like C/C++, it’s not always the easiest to work on Windows — especially when the OS you’re developing for isn’t Windows.
So, what do I do? Simple. I use VS Code and Virtual Machines! Aaand that’s the end of this article…
Just kidding. Let me elaborate.
Honestly, it’s been quite a long time since I last used Windows. However, I recently got myself a new PC (yay!), so I got back to using Windows. As much as I enjoy working on Linux, gaming isn’t its biggest strength. …
Extending the Feral programming language using C++
In my last article, I introduced the Feral programming language. This time around, we’ll create C++ extensions for it! These extensions are building blocks for adding functionality and library support for the language. Usually, a generic task can be implemented in Feral itself, but writing it in C++ is especially useful when the task requires native performance.
For the purpose of this article, we’ll be implementing a C++ module, containing a Feral variable and function, to demonstrate how to properly utilize the available features to our advantage.
Any doubts, questions, etc. can be asked either on GitHub or on Feral’s discord server (links at bottom). …
Recently — a couple months ago in fact — I started working on the Feral programming language. Now, if you have read my previous articles, right now you’re probably like: “Dude! Another language?! What’s wrong with you!” And come to think of it, you’re probably right. I seem to be obsessed with programming languages, but that’s perhaps for another article. Right now, I can’t wait to share about the Feral Programing Language!
I started working on Feral about 2-3 months ago. I really enjoy creating languages, so I thought why not! This time around though, I focused a lot more on the syntax of the language than the last time (Ethereal). I wanted to make a language that’s not just pleasant to use, but also minimalistic, could be picked up in like, a day, and didn’t sacrifice usability or readability while not being overly verbose (cough Java cough). …
No, I am not joking. It can be quite an interesting experience. Let me tell you why.
Personally, I really enjoy developing programming languages — that’s my hobby. Currently, I am developing my interpreted programming language: Ethereal. Do I think it will be the next big thing? Nope. A breakthrough? Nada. A juggernaut that causes the end of world? Well, I certainly hope not!
Then why? Why must I, or for that matter, anyone, spend so much time developing something that shall, most likely, not be used by anyone?
The same reason as to why we attempt implementation of data structures when we learn to code. …
In previous articles, I talked about my language (Ethereal) , my journey with it, and how I architected it. In this article, I want to share how I developed the first component of the language —the lexical analyzer.
If you have any interest in developing a programming language, you’ve probably looked at lexers and how to develop them. But even if you haven’t, there are more than enough examples and tutorials out there. So, I am going to focus on my experience writing a lexer. …
Recently, I wrote an article with an overview of creating a programming language from my perspective. My language is Ethereal — an experimental work-in-progress that you can check out on GitHub.
What is it for? Well, my idea is to use it for building scripts. But since Ethereal is a general purpose language, it can be used for whatever you want. And even if I don’t write anything more than a test script, I’ve learned far more on this project about the internal details of how languages work than I would playing around with someone else’s mature platform.
How did I make the key design decisions about how Ethereal should work?Let’s dive deeper. …
It still feels weird (and awesome) to say that I actually created a programming language. Here’s a bit of my journey, and an overview of the language design for Ethereal.
About