Choosing an implementation language for Arabic BASIC

Last time I promised that I would reveal my interpreter’s implementation language. And, here it is: Java. I chose Java for several reasons.

The first reason is because Java is what ANTLR4 itself is written in. Secondly, the Java runtime library used by the generated tokenizer and parser gets new features first. I get the idea that I should be decently safe choosing Java: support by the community and support by my workplace if I have questions about gotchas.

So, how well prepared am I to implement Arabic BASIC in Java. I do have plenty of resources for it and some experience coding in Java. I once pursued Oracle’s certification for Java. I also own several copies of books about Java, including more advanced titles which teach how to effectively use Java and its idioms and ecosystem.

But, what do I expect to gain from using Java? Well, we use it at work, so this could push me farther towards my goal of being a “big boy” in the backend arena. I’ve long thought of myself as a Full Stack developer. I certainly do have much experience (20 years) in web development as a whole and a solid 14 years in full stack. But, lately I’ve reevaluated that. Frankly, it’s exhausting to be a Jack-of-all and Master-of-None, let alone the mythical Master-of-All, that great rockstar unicorn beloved by tech executive in suits. I’m starting to like being a Front End engineer, especially going deep into browser mechanics in C++ and how JS interpreters work. And then there’s WebAssembly!

Writing parsing tools and just language tools in general for WebAssembly is a secret desire for me. It gives me the feeling of being total tech nerd while not abandoning the design and UI/UX aspects of front end and mobile development which also attract me.

Java. My once and future companion on the road to interpreter and compiler enlightenment. Isn’t it grand?


Leave a comment