In what programming language is BPC RiskManager written?

From RiskWiki

Jump to: navigation, search


In What Language Is BPC RiskManager Programmed

BPC RiskManager consists of more than 100,000 lines of code written in Delphi 7 (Object Pascal) from CodeGear (formerly Borland, now Embarcadero) compiled into W32 binary executables and TSQL/SQLPlus. Some smaller components are written or supported by libraries in JavaScript, PaxScript, and ReportBuilder script.

The Delphi environment was originally developed by Borland, starting with Turbo Pascal in the 1980's. It has been one of the leading development environments and languages for almost 20 years and has one of the largest and most skilled development communities in the world. Delphi 7 was released in 2001 and has proven to be perhaps the most resilient, and bullet proof development environment of the last decade.

Why Object Pascal?

From our perspective the most apparent reason is that by default Pascal imposes rigid data typing, and size checking. In Pascal you have to turn these off if you want to misbehave, while in C the reverse is the case. Buffer overflow errors such as those that have plagued Microsoft operating systems (written in C and Basic) and been the cause of many security holes are not possible in Pascal - because while it still operates at the hardware level of the computer it dynamically checks pointer references and array boundaries (raising exceptions when indexes flow past them) and maintains reference counts of objects allocated so that they can be released when no other objects point at them.

This safety net means that it is slightly slower in array and memory release operations than C, but identical in procedure calls, pointer, floating point and stack operation speeds. So it delivers a higher level of reliability than C, while compromising only slightly on speed but remains much faster than .Net languages or Java - which are "interpreted" (although both claim to be compiled - the reality is that they are compiled as a set of runtime library calls) and operate inside a virtual machine that provides a managed pseudo machine in which the applications work.

A further advantage is that, because no run time engine is needed, any Pascal library will work on all the target machines, with any other machine library regardless of the compiler version. You do not have to worry about framework or psuedo machine engine versions - the idea is simply irrelevant.

Does It Matter?

Not really.

You won't notice the language in which we develop, any more than it is apparent what language Microsoft Word is written in. Think of RiskManager as just another MS Office application and you will be about right - it looks, feels and behaves the same way.

I am used to applications in the .Net and Java Languages. How is this different?

Its an awful lot simpler. No run time environment, no library version problems, no interactions with other applications sharing the run time environment. Just take our application out of the box and put it on your computer. The Windows client does not even need to be installed! You can literally copy it onto a desktop computer and just run it.

Actually, you are more used to applications written in Win32 languages, like Delphi, C, Visual Basic and C++. Think MS Office, Outlook, any Windows operating system (XP, Vista, Windows 2000, Windows 2003, etc.! All of these are Win32 applications, written in native compiled languages - not run-time languages.

Although many people refer to .Net as a language, strictly speaking, .Net is not a language as much as a runtime environment. The .Net languages include C#, VisualBasic for .Net, Eifel (for .Net) and Delphi. I.e. Delphi is also available in a .Net form, that is not essentially different from its Win32 cousin, except that some things we can do in Delphi 7 (for Win32), we can not yet do in any .Net language.

Your .Net and Java runtime environments, in turn run on Win32 platforms using Win32 libraries to talk to the hardware. Delphi cuts out the unnecessary and resource hogging middle man.


CopyRight Bishop Phillips Consulting Pty Ltd 1997-2012 ( In what programming language is BPC RiskManager written? )
Personal tools