Jan 1, 2024
Introducing Voqal
Textual Software Development
Indeed some have suggested that we are close to the end of code. That soon all code will be generated instead of written. That programmers simply won't be needed because business people will generate programs from specifications. — Robert C. Martin
Today's popular programming languages are all textual, requiring a very specific written syntax. In JavaScript, you define functions with the keyword function, in Go you say func, in Kotlin it's fun, Rust uses fn, and in Java the keyword for defining a function is public static void.
This variety in syntax across popular programming languages not only reflects the diversity in programming thought but also underscores a fundamental challenge in software development: syntax preference
Syntax variations between languages for an equivalent Hello, World! program
Considered alone, the diversity of syntax in programming languages might not seem particularly significant, as developers could simply choose to specialize in one language, mastering its specific syntax and nuances. However, this preference encourages reinventions of the wheel across programming languages. Programmers proficient in one language might find basic structures in another foreign, leading them to independently develop solutions that already exist in other programming languages.
Adding to this complexity is that each programming language develops its niche or specialty, heavily shaped by its existing body of work and community. This specialization can pigeonhole developers, limiting them to the familiar terrain of their chosen programming language or confronting them with the daunting task of learning new syntax and structures for concepts they already understand.
Paradoxically, even experienced programmers, adept at conceptualizing and building complex systems, might struggle with writing a simple "Hello, World!" program in an unfamiliar language. Their broad understanding of programming concepts and computation is ironically restricted by a barrier of symbols and keywords.
So, what's the solution? How do we transcend the barriers of textual syntax to harness the full potential of programming talent regardless of keyword preference?
Vocal Software Development
Today's programmers use a different set of tools and languages as will tomorrow's. So tomorrow's programmers will be doing natural language programming but they will be every bit as dedicated, skilled, intense, and applying effort as in the past. — Naval Ravikant
As humans, we already possess robust language systems that are fully capable of expressing the complex concepts found in programming. We use them every day to communicate intricate ideas, solve problems, and collaborate effectively. I'm, of course, talking about the spoken word, a tool we developed long before the written word.
Embracing this innate ability, the future of software development seems destined to pivot towards natural language programming. By simply switching from our written to our spoken languages, we can bypass the complexities of traditional coding syntax. Welcoming a world where programming becomes more about the ideas and logic behind the code rather than the syntax itself.
Vocal developers are not bound by syntax or keywords
In vocal software development, the focus is on the logic and outcome of the code rather than the minutiae of its syntactical construction. It's akin to directing the flow of a narrative rather than penning every word. The intricate details of implementation, such as the handling of asynchronous operations – be it through event loops, tasks, callbacks, promises, futures, coroutines, awaits, or actors – become secondary. What remains at the forefront is the fundamental understanding of the concept, like grasping that asynchronous processes imply non-blocking operations. This approach emphasizes the essence of programming: the logical structure and problem-solving strategies, not the language-specific syntax used to express them.
As vocal software development takes center stage, the pertinent question emerges: Is it truly feasible to program complex systems efficiently using only the spoken word? Advancements in AI not only indicate a resounding yes, tools like ChatGPT loudly signal a fundamental shift in how we communicate with, and consequently program, machines in the future.
Directive Programming
We will never be rid of code, because code represents the details of the requirements. At some level those details cannot be ignored or abstracted; they have to be specified. And specifying requirements in such detail that a machine can execute them is programming. Such a specification is code. — Robert C. Martin
Directive programming, enabled by advancements in Large Language Models (LLMs), simplifies the programming process by allowing developers to issue commands in natural language. This method contrasts sharply with traditional coding, where precise syntax is vital. With directive programming, a programmer can describe instructions and intents, and the model translates this description into functional code. An approach that focuses on the intent behind the code, reducing the need for detailed knowledge of specific programming languages and their syntax.
Directive programming with ChatGPT using natural language
Directive programming, realized through the capabilities of LLMs, is the latest stage in the evolution of programming languages. And represents a significant leap where programming aligns more with explaining a concept or a task rather than meticulously constructing its syntax.
The evolution of programming languages becoming increasingly natural
The overarching goal of programming has always been to express logical processes and problem-solving strategies efficiently. From the early days of binary and assembly languages, the focus gradually shifted from the granular 'how' of machine instructions to the broader 'what' of higher-level logic. With each evolutionary step towards imperative and declarative languages, programming has moved closer to a more natural expression of human directives.
But this then begs the question: to whom do we dictate directives?
Voqal Assistant
The democratization of apps will continue. But remember, the web made it a lot easier to build web pages, too. So the bar went up. So then you need interactive web pages. So a lot more people learn how to build interactive web pages. So the bar went up. So people built apps. And a lot of people learn how to build basic apps. So the bar went up. — Naval Ravikant
Capable of understanding and speaking numerous natural languages, the Voqal Assistant, also known as Voqal, is our flagship product set to revolutionize developer interaction within coding environments. Currently in beta for JetBrains-based IDEs, this advanced vocal programming assistant utilizes cutting-edge AI technology for seamless interpretation and execution of spoken commands.
The vocal developers of tomorrow will raise the bar to new heights
By simply verbalizing instructions, developers can now construct and manipulate code at speeds surpassing traditional typing methods. More than a mere tool, Voqal is a transformative assistant that enhances the coding experience, heralding a new era of intuitive, voice-driven software development.
Voice Coding
Traditional voice coding solutions often required users to verbalize specific keystrokes or commands, like saying "backspace" multiple times or dictating each character and symbol. The Voqal Assistant, leveraging cutting-edge LLM technology, understands natural language, enabling programmers to speak naturally, as if they were explaining their code to a colleague.
Programming Assistant
Old habits die hard, and while keyboards are still in use, the Voqal Assistant enhances this traditional workflow as we await more tactile technologies like VR/AR. Voqal serves as an additional conduit for creativity and efficiency, capable of tasks like answering questions, searching the internet, explaining code, analyzing errors, and more, offering a versatile range of functions to enrich the programming experience.
Fully Configurable
Your Voqal Assistant is ultimately yours. You have full prompt and AI provider access. What your Voqal Assistant can do, which language it speaks, its personality, and even its knowledge are entirely configurable. Did a new language model drop that you want to experiment with? You don't have to wait for us, go for it. Want to code with Llama 4, ask questions to GPT-6, and execute tools with Massive Mixtral? You don't need our permission; have at it.
Download Now
Unlock new programming possibilities with the Voqal Assistant, which is available as a JetBrains plugin here. Tailor it to your workflow and share your discoveries on our Discord. Your creativity fuels Voqal's growth. Connect with fellow developers, exchange ideas, and let's shape the vocal future of programming together!