Unlocking AI-Powered Productivity: Windsurf in Progress OpenEdge Development

2025 04 15 · 5 min read

In the rapidly evolving world of software development, productivity and clarity are more crucial than ever. When working with niche or domain-specific languages like Progress OpenEdge ABL, developers often face unique challenges – from understanding errors to accessing relevant information or writing efficient code. To tackle these challenges, AI tools, such as the Windsurf (formerly Codeium) VSCode extension, are becoming increasingly popular.  

This document explores how Windsurf can support Progress OpenEdge developers in improving error comprehension, information retrieval and code generation. 

Objectives of the Evaluation 

The primary goal of this study is to assess how effectively Windsurf can support development in Progress OpenEdge. It specifically aims to evaluate:

  • Error comprehension – helping developers understand ABL-specific errors faster; 
  • Information access – allowing quicker reference to documentation or usage examples; 
  • Production speed – accelerating code-writing with real-time, context-aware suggestions. 

Overview Diagram: How Windsurf Supports Progress OpenEdge Development

The diagram above shows how Windsurf seeks to achieve the previously listed objectives.

Feature Demonstration 

Explicit Code Generation 

There are two ways to explicitly request code generation with Windsurf:

  1. Pressing Ctrl+I and entering a prompt.

2. Typing a natural-language prompt as a comment directly within the ABL code.

These options enable developers to accelerate code writing, especially when working with repetitive or boilerplate code in Progress OpenEdge. 

Error Comprehension 

When an error occurs during ABL code writing, Windsurf can analyse the issue and provide an explanation. This allows developers to understand and resolve errors without leaving the editor.

In this simple example, Windsurf correctly identifies that a typo was made and suggests a solution.

Information Access 

Windsurf can explain unfamiliar ABL methods or syntax. This helps developers avoid spending time searching through documentation and instead learn directly in context.

In this example, Windsurf provides an adequate description for the use of no-undo.

Implicit Code Generation 

While working with Progress OpenEdge, Windsurf can suggest complete ABL code blocks based on partial input. Developers may accept these suggestions by pressing the tab.

In this example, Windsurf correctly interprets the purpose of a method named Add and makes suggestions based on that. This also shows how Windsurf used the existing codebase as context and was able to make a suggestion, which uses proper syntax and naming conventions.

Challenges and Limitations 

Windsurf currently officially supports over 70 programming languages – however, Progress OpenEdge ABL is not one of them. This does not mean that Windsurf is entirely unaware of ABL, as some examples above demonstrate. However, its knowledge is notably limited, particularly when using the free version of Windsurf, which is powered by the Base Model LLM. This base model likely had very restricted exposure to ABL-specific data during its training phase. 

More reliable results can be achieved through a subscription to Windsurf, which grants access to the Windsurf Premier LLM – a more advanced model with a broader understanding of ABL syntax and context. All previous and following examples are based on this Premier model. Nevertheless, even with this enhanced version, using Windsurf for Progress OpenEdge still presents a number of challenges: 

Error comprehension failure 

The base model of Windsurf may produce inaccurate or irrelevant suggestions for ABL, since it was not extensively trained on Progress OpenEdge data.

In this example, Windsurf not only fails to interpret the real cause of the error but also falsely determines that the language being used is actually Apex.

Inconsistent Error Analysis 

Windsurf may misidentify languages (e.g., mistaking ABL for Apex) or provide incorrect explanations.

In this example, when provided with the same prompt used previously but this time to the free to use model, Windsurf gives a completely wrong answer.

Improper Syntax Generation 

Generated code might not follow ABL syntax or naming conventions, leading to additional debugging time. 

In this example, Windsurf generates code that does not follow ABL syntax.

Lack of Features Available to Other Languages 

Languages that are officially supported by Windsurf benefit from additional features which are not available for ABL. For example:

  • The ability to request explanations, refactoring suggestions, and documentation for blocks of code directly within the editor. 

This is an example of how that looks like in a .tsx file. 

  • Support for explicit references to other files within the codebase. 

In this example, I asked for an explanation of the contents of another file which resulted buffering and then eventually an error. In my experience, this always happens when an explicit reference like this is made. 

Results Summary 

  • Error comprehension – Windsurf explanations of Progress OpenEdge ABL errors are only accurate in simple scenarios, typically when the cause of the error is already fairly evident. In more complex cases, explanations can be misleading or entirely incorrect.
  • Information access – Windsurf can improve access to relevant information, but meaningful results are typically only achieved when using the premium model, which has better exposure to ABL.
  • Production speed – while general code suggestions can sometimes be helpful and save time, explicit ABL code generation requests frequently produce low-quality or invalid outputs. Still, in certain contexts, the tool can accelerate coding by offering useful, syntax-aware suggestions.

In conclusion, while Windsurf offers potential benefits in Progress OpenEdge development, its limitations – particularly with the free model – can impact effectiveness. The premium version shows promise in improving the overall development experience, especially for tasks like error comprehension and information retrieval. 

Get Support from Progress OpenEdge Experts 

Would you like to improve your development experience with Progress OpenEdge? Speak with our Progress team for expert advice on the best tools, integrations, and practices tailored to your needs. 
 
Book a consultation with us today. 

Let’s work together

Want to discuss potential opportunities? Pick the most suitable way to contact us.

Book a call

+370 5 2 780 400
info@ba.lt

     privacy policy