Welcome to my blog!

Making a Programming Language


Cover Image

Note: Even though this blog post is written with code examples and technical concepts, it should still be interesting to everyone.

Making a programming language is not a simple task. It requires a lot of time and dedication to just get started. It also requires a lot of research to develop it. I am going to try to make a programming language that is easy to use and unique.

What is a programming language?

A programming language is an interpreter for a specific set of instructions. These instructions are called syntax and are written in a specific language. The syntax is used to define the instructions that the interpreter can execute. There are thousands of programming languages available today, and many of them are designed similarly. Some popular ones are as follows:

  • C
  • C++
  • Java
  • Python
  • JavaScript
  • TypeScript
  • Ruby
  • PHP
  • C#
  • Go

There are also many other "non-functional" programming languages, such as HTML, CSS, XML, and JSON. They are not really programming languages, but they are commonly used to either define the layout of web pages or store and transfer data. Many programming languages are similar in terms of syntax and functionality, but they might have slightly different use cases or support. Also, most programming languages are typically used in combination with others. An important part of the design of a programming language is to make it easy to use for humans and computers.

Goals of My Language

Since there are tons of programming languages and interpreters for many different tasks, I need to make mine focused to a very specific use case. The reason for this is that if it is not unique, there will probably be a better option already available. If it tries to fit its way into any type of application, it will have to compete with ones like JavaScript, which is one of the most popular programming languages to this day. This means that one criteria is that my programming language needs to be different from the rest.

It is easy to copy the idea of an existing language and make a worse alternative of it. For example, if I were to copy the idea of Python, I would not want to use it. From a user's perspective, there is no reason to choose my new, less functional one over the well-established Python language. This forms another criteria, the language needs to have a different goal than others.

Choosing What Exactly to Make

This is the part where I have to choose the goals of my language, where I want it to be used, and how to implement it. The hardest part of this is that I have to choose something that satisfies the criteria the best, and make sure it is not too hard to implement. It's important to find the right balance between the two.

This post is not finished yet. Please wait for me to finish writing it.