Inspiration

When I started developing Jaithon, my motivation was simple. It all started with my younger brother (thamma in my native language Kannada) who had outgrown Scratch, a block-based programming language developed by MIT. He wanted to learn a Text-Based language, and I decided to teach him Java. My brother's lack of syntax knowledge quickly became evident, prompting me to seek a more beginner-friendly language. We quickly transitioned to Python, which is widely known for its English-like syntax, but even this posed challenges for my brother who had questions. He would often ask me questions like: “Why are there so many parentheses?”, and I couldn't introduce him to the concepts of objects and functions so early. I immediately saw a problem that needed a solution and embarked on the journey to design a programming language that would allow young learners to code. Thus, Jaithon was born, with its core principle being simplicity. By introducing an intuitive syntax and minimizing complex concepts, Jaithon strives to provide a smoother pathway for beginners to explore the world of programming. Jaithon emerged as a response to a young learner's queries, paving the way for a more approachable and enjoyable programming experience.

What it does

Jaithon is a Very simple General-purpose programming language. It has many functionalities such as the following.

  • Variable Assignment
  • Variable Modification
  • Array Assignment
  • Array Modification
  • If statements
  • While loops
  • Boolean Algebra
  • High School-level Operations (such as trig, quadratic function, Pythagorean theorem, etc.)
  • Print statement
  • User Input
  • File modification/Creation (Within the local directory)
  • File Reading (Within the local directory)

How we built it

I wrote this using the C language, and I started with mathematical operations and then expanded to the additional functionalities I have as of right now. I am originally a Python developer, and I have specifically learned C for this project.

Challenges we ran into

I had challenges while adding boolean functions in my language. To work around this challenge, I substituted True and False statements with 1s and 0s. I also had challenges in adding if clauses, so I implemented comparisons such as greater than and less than, which led to the if clauses becoming very easy.

Accomplishments that we're proud of

  • If else clause
  • Boolian language
  • Arrays
  • My brother learning how to code

What we learned

I learned about the nitty-gritty of writing an interpreter. Now I am eager to learn and write my own 2-pass compiler in the future.

What's next for Jaithon - The JAI language.

  • Implementation of for loop
  • Simple functions
  • Custom functions
  • classes

Advantages for using Jaithon/conclusion

Jaithon is a vastly simpler language than a language such as Java will ever be. It also has some apparent benefits in contrast to a similar language, python, such as faster speeds, more intuitive syntax, and simpler concepts. Jaithon serves as the 'helper' in transitioning into a text-based language. With its key benefit laid out to you, This is my submission, Jaithon the Jai language.

Built With

  • c
  • interpreter
  • parser
Share this project:

Updates

posted an update

I have added some updates to the Syntex. You now need to add a then keyword to use the if statement, and you need to use math.trig function to access the trig functions. You can now use the quadratic formula and the Pythagorean theorem as inbuilt functions.

Log in or sign up for Devpost to join the conversation.