Delphi is an Object Pascal based programming language for desktop, mobile, web, and console software development. Delphi was the code name for a yet unnamed product during its initial development prior to its debut in 1995.

Delphi was originally developed by Borland, lead by Anders Heilsberg as a RAD tool for Windows as the successor of Turbo Pascal. Delphi added full object-orientation to the existing language, and since then the language has grown and supports many other modern language features, including:

  • Generics
  • Anonymous Methods (Closures)
  • Dynamic Constructs (Attributes)
  • Abstract Methods
  • Inbuilt string types
  • Native COM support
  • RTTI

Like its predecessor Turbo Pascal, at the core of Delphi is a native code compiler. Turbo Pascal provided an ideal balance between the speed of programming and the speed of the resulting programs, clarity of syntax and power of expression, these tenets remain true today in Delphi. More recent versions of Delphi are able to compile native code for many different platforms:

  • Windows (x86 and x64)
  • OS X (32 bit only)
  • iOS (32 and 64 bit)
  • Android
  • Linux (64 bit only)

In 2006, Borland’s developer tools section were transferred from Borland to a wholly owned subsidiary known as CodeGear, which was sold to Embarcadero Technologies in 2008. In 2015, Embarcadero was purchased by Idera, but the Embarcadero mark was retained for the developer tools division.

Help us explain this better! File a GitHub issue at if you have suggestions, or submit a patch with improvements to the file.

Try It!

If you've downloaded the command-line client and have Delphi Pascal installed on your machine, then go ahead and fetch the first problem.

exercism fetch delphi

In order to be able to submit your solution, you'll need to configure the client with your Exercism API key.

exercism configure --key=YOUR_EXERCISM_KEY

When you've written a solution, submit it to the site. You'll have to configure the command-line client with your exercism API key before you can submit.

exercism submit PATH_TO_FILE