WaaS (Wish-as-a-Service) Will kill all programming languages sooner than expected.
Published: 2023-03-30 17:09:35



> Cover Image: Woman coding with her mind. Just two weeks ahead of time. Damn this evolves really quickly. Help, this is not a joke. AI anxiety is real.

In the ever-evolving world of technology, AI-generated code is set to revolutionize the way we develop software. As AI continues to improve and adapt, it’s becoming apparent that the era of Wish-as-a-Service (WaaS) is upon us, with developers increasingly relying on AI tools to meet their coding needs. In this article, we’ll explore the significant changes that lie ahead in software development and how WaaS will come to dominate the industry.

## The Shift from Manual to AI-Assisted Coding

As AI-generated code becomes more accurate, efficient, and reliable, developers will find themselves spending less time manually typing out code and more time collaborating with AI tools. This transition will not only save time and effort but also enable developers to focus on higher-level tasks, such as designing software architecture and solving complex problems.

### Example of a pseudo-code for AI-assisted coding  

```
wish = "Create a function to sum two numbers"  
AI_response = generate_code(wish)  
print(AI_response)
```

The underlying code from the AI could create something like this:

```
sum_two_numbers(a, b){  
   return a + b  
}
```

Maybe I’m the first person to coin the term “Wish-as-a-Service” (WaaS), I believe that it has the potential to revolutionize the way we develop software. With the integration of AI and serverless technologies, WaaS will make creating microservices, cron jobs, and temporary key-value storage more accessible than ever before.

The future of WaaS will change the way we approach coding. We will interact with AI services through a high-level API, allowing us to focus on our core ideas and goals rather than worrying about the low-level details. Let’s examine some examples of how this could work using CodeWish (WIP)

**Creating a microservice:**

```
MyCodeWish:  
  I want to create a serverless microservice that takes in a user's email and sends them a welcome message.  
Inputs:  
 - email: string  
Outputs:  
 - success: boolean  
 - error: string (optional)
```

The AI will then generate the appropriate code, configure the serverless infrastructure, and deploy the microservice, making it accessible through a unique endpoint.

**Scheduling a cron job:**
```
MyCodeWish:  
  I need a cron job that runs every day at midnight, fetching new data from a given API and updating my database.  
  
Schedule:  
 - daily at 00:00  
Actions:  
 - Fetch data from https://example.com/api/data  
 - Update the database with the new data

```
With this wish, the AI will set up a serverless function to run on the specified schedule, fetch data from the given API, and update the database accordingly.

**Creating a temporary key-value storage:**

```
MyCodeWish:  
  I want to create a temporary key-value storage system that expires entries after 24 hours.  
Storage:  
 - Key: string  
 - Value: string  
 - Expiration: 24 hours
```

The AI will generate the code and configure a serverless storage solution to accommodate the specified requirements, allowing for an easy-to-use, temporary storage system.

WaaS has the potential to transform the software development landscape, enabling developers to focus on their core ideas and goals rather than getting bogged down in low-level details. As AI and serverless technologies continue to advance, we can expect to see a significant shift in the way we approach coding and software creation.

## The Diminishing Role of High-Level Programming Languages

As artificial intelligence continues to revolutionize the software development landscape, there is growing speculation about the fate of high-level programming languages. With AI like Wish-as-a-Service (WaaS) capable of understanding user requirements and generating code automatically, the way we write software could be on the verge of a paradigm shift.

High-level programming languages, such as Python, Java, and C++, have been the backbone of software development for decades. These languages provide a level of abstraction that makes it easier for humans to write code and understand complex programming concepts. However, as AI-driven code generation becomes more sophisticated and prevalent, the reliance on these languages may decrease.

## Streamlining Development Processes

One of the most significant advantages of AI-driven development is the ability to streamline various aspects of the development process. From code generation to testing and deployment, AI can help automate and optimize each step, resulting in faster development cycles and more efficient workflows.

For example, AI-generated code can be directly deployed into production through Deployless systems, making the development process seamless and eliminating the need for manual intervention.

## Redefining the Developer’s Role

As AI takes on more of the coding responsibilities, the role of developers will evolve. Rather than focusing solely on writing code, developers will become more like software architects and problem solvers, guiding AI tools to generate the desired output and making critical decisions about the overall design and functionality of the software.

This shift in focus will require developers to expand their skillsets, incorporating a broader understanding of the software development process and a strong ability to collaborate with AI tools.

## The Rise of AI-Native Development Platforms

The growing influence of AI in software development will give birth to new, AI-native development platforms that are designed specifically to support AI-generated code. These platforms will offer a range of features tailored to AI-driven workflows, such as specialized UX designs for code generation, AI-assisted debugging, and seamless integration with other AI tools and services.

## Binary Compilation: A Universal Approach

As AI-generated code becomes the norm, it is possible that the code will be compiled directly into binary format. Binary code is the most fundamental representation of software instructions, which is executed directly by a computer’s processor. This approach could streamline the software development process, allowing for a more efficient and consistent deployment of applications across platforms.

With AI responsible for generating and compiling code, the need for developers to work with high-level languages could be significantly reduced. This would have a profound impact on the software development industry, reshaping the way we learn, teach, and practice programming.

## The Importance of Plain English

In this AI-driven future, the ability to communicate requirements effectively in plain English will become paramount. Developers and other stakeholders will need to be proficient in expressing their intentions and ideas clearly and concisely so that AI can interpret and implement them accurately. This shift will place greater emphasis on soft skills, such as communication and collaboration, which are often considered secondary in traditional software development environments.

## Conclusion

As AI continues to improve and become more ingrained in the software development process, we can expect to see a massive shift in the way developers approach their work. The era of WaaS is upon us, and with it comes the promise of faster, more efficient, and more collaborative software development. By embracing this change and adapting to the evolving landscape, developers will be better equipped to create innovative solutions and shape the future of technology.

While it is difficult to predict the exact trajectory of software development in an AI-driven world, the diminishing role of high-level programming languages seems likely. As AI-powered tools like Wish-as-a-Service continue to evolve and improve, the future of coding may revolve around expressing ideas in plain English, with AI handling the complexities of code generation and compilation.

This shift could lead to a more inclusive and accessible software development landscape, where individuals from diverse backgrounds can contribute to the creation of innovative applications without needing to master specific programming languages. However, it also presents new challenges and opportunities, as developers must adapt to new ways of working and communicating.