Jul 8, 2024

International Voice Coding

The field of software development is monopolized by the English language. So much so, that twenty of the top twenty programming languages are all entirely English based. That's not surprising to anyone who works in the field of software development, but what may be surprising is that several of those English-only programming languages were conceived of and built by non-native English speakers. Python was created in the Netherlands by Guido van Rossum (native Dutch speaker), Ruby was created in Japan by Yukihiro Matsumoto (native Japanese speaker), and Lua was created in Brazil by Roberto Ierusalimschy, Luiz Henrique de Figueiredo, and Waldemar Celes (native Portuguese speakers).

As a native English speaker, my ability to find and comprehend the syntax and documentation of the programming languages I use has always been something I've taken for granted. If it turned out that the top programming languages were designed in and only supported languages such as Dutch, Japanese, and Portuguese, I would imagine the enthusiasm and speed at which I fell in love with programming would have been greatly diminished. To first have to learn a new spoken language to begin to understand how to build with a new programming language would have seemed daunting.

The Standard Advice: Learn English

Yet that is the advice that is typical for non-native English speakers to hear when they ask what they should do to get into software development: learn English. How strange must that seem. Is there something special about English that other languages just don't have? Can other languages not handle primitives, conditionals, statements, and loops? Of course they can.

And still, as of today, learning English is still the recommended approach for getting into software development, but this is becoming increasingly archaic. Every programming language uses variations of the same concepts and none of those concepts are inexplicable in any of the other most popular spoken world languages. So today, we are going to take a look at how Voqal can be used to allow those with zero experience with English can get started with software development using their native tongue. Vamos, amigos!

A New Approach: LLM-powered Realtime Translations

There is a large amount of hype and uncertainty about what exactly LLMs are best suited for when it comes to software development. Some think they are just better auto-completers and some think they will automate the field of software development entirely. Both appear to be exaggerations to the extreme. LLMs have already proved themselves to be more than auto-completers and I have yet to see any evidence they will replace the role of the software developer. Instead, I believe a healthy middle ground when it comes to LLMs is to think of them as universal translators. LLMs absolutely excel when it comes to taking "input A" and turning it into "output B", given there is a high degree of commonality between them. Thankfully, as mentioned above, there is a high degree of commonality between the spoken and programming languages of the world.

That is why LLMs do not find it difficult to translate English to Spanish or Java to Python. Again, we are talking about variations of the same concepts. Somewhat difficult for humans to keep track of, but this is no longer the case for computers, thanks to the rise of LLMs.

Practical Example: Checking for Primes in Portuguese

In the video below, I use Google Translate to help me voice code in Portuguese—a language I do not speak—to illustrate the potential of Voqal for native Portuguese speakers.

This setup demonstrates that while I rely on translation tools to speak, native speakers can directly utilize Voqal's capabilities with their own voice, seamlessly integrating their linguistic skills with programming tasks. Your voice, in any language, is the key to the next wave of innovation in tech. Give Voqal a try today and begin coding to your true potential.