One Application, Many Different Development Environments - Part I

Delphi, C#, Oxygene, and JavaScript

Since programming languages were invented, people have tried to use one code base to get an application to run on multiple platforms. Whether it meant building custom compilers or interpreters for each platform (BASIC, C, JavaScript, Python), or writing an API layer for each device that talks to a generic module (Java, .NET), the goal has been to reduce the time it takes to develop a product while having it work for as wide a market as possible.

So why then, would someone want to write one application in as many different programming languages and environments as possible? For exploration and learning, of course!

It's easy to find tutorials with examples of "Hello World!" in every language. The program we'll be looking at tonight is a little more involved, enough to actually be useful and learn something. It's a one-form application with some buttons, a ListBox, and some string manipulations, just enough to make it interesting, but not too much so we can't get through it in an evening. (A more involved application is slated for early next year.)

The first environment we'll explore will be Delphi, of course. This will introduce the project's concepts and give a base of expectation for the succeeding examples. The application was originally conceived in Delphi 1, but has been upgraded and a few language enhancements made so it now uses Delphi 2010.

Then we'll move into Visual Studio using C#. There we will explore two varieties, one using WinForms (the first GUI available in .NET, but now deprecated), and one using WPF (Windows Presentation Frameworks, the current recommended way to build .NET apps). Both of these variants were created in Express 2012 for Desktop version of Visual Studio.

Next we'll use Oxygene, a Pascal compiler inside Visual Studio, using WPF and compare with both the C# version and the original Delphi versions.

Finally, we'll explore a web version of this program written in HTML5/JavaScript.

Look for mobile devices (Windows, Android, and iOS) to be supporting this same application in November!


David Cornelius has been developing software since the mid-80's. He is the coordinator of the Oregon Delphi User Group and is a software development manager at Retail Dimensions. You can read more about him at Cornelius Concepts. David will present the Delphi, C#, and Oxygene versions of the application.

Chris Newcombe, finances his lifestyle of gaming and outdoor pursuits by leveraging his knowledge of Delphi, C#, HTML, and PHP. A longtime ODUG member and Borland/Embarcadero enthusiast, he actually bought HTML5 Builder when it came out. He is currently studying to be the next local JavaScript guru and will be explaining how we don't need expensive resource-intensive compilers anymore--just a text editor and a browser with JavaScript enabled!


Fanno Creek Brew Pub
12562 Main Street
Tigard, OR 97223
(503) 624 9400
(Link to map)

NOTE: Happy Hour prices DO NOT apply to ODUG attendees because we get their meeting room for free.
Please support the restaurant's normal prices to allow our group to continue the use of this location.