Many developers have come across Pascal early on in their careers, usually introduced as an old language to learn on. It's not surprising then that many consider Delphi, which can be considered a descendent of an object-oriented version of Pascal, to be similarly as old and possibly outdated.
However, Embarcadero Technologies, the company that purchased Delphi from Borland in 2008, argues that the language still has more than enough kick in it to rival more "modern" languages of today.
An example of this can be found in the medical profession, in which years of software development has meant that healthcare professionals rely of software written in Delphi. Normally, it might be easy to dismiss software away as "legacy systems" and aim towards re-writing everything, but Embarcadero argues Delphi still has enough flexibility to turn years of code into an advantage, rather than a ball and chain.
Medical-Objects is one such company that has developed software in Delphi, which is currently being used by over 20,000 healthcare providers in Australia alone.
"It's not your dad'sPpascal," Embarcadero senior sirector for Asia Pacific and Japan, Malcolm Groves told ZDNet.
"[Delphi] has kept more up to date than a lot of other languages. It's got generics, it's got closures, it's been kept up to date with language development. Has Java even got closures yet?"
Support for closures is currently slated for inclusion in Java 8.
With the advent of the consumerisation of IT and employees bringing their own devices to work, Medical-Objects wanted to deploy its software on Apple and Android tablets. But with iOS apps typically written in Objective C and Android apps written in Java, many had incorrectly thought that an extensive Delphi-written code base would be a nightmare to port to each platform and require a re-write of years of code.
"They've got a large set of IP that's been implemented in Delphi code ... it would be crazy to re-write it. It would be a bad investment on a bunch of levels to re-write that simply for the sake of it."
Nevertheless, Groves said that he still hears stories of companies that choose to move away from Delphi, recalling a recent conversation he had with a company that attempted to re-write its Delphi code for .NET.
"Like most of these total re-writes that you hear about, it's been a disaster and they're now reviving that Delphi code base."
To solve the issue of getting applications written in Delphi on to iOS and Android mobile operating systems, many would choose to develop a HTML5 web app, but Groves argued that developing this way creates it own set of problems.
"There are issues around performance, and especially latency in the user experience," he said.
The company's latest development suite, RAD Studio XE4, hopes to solve these issues by eliminating any scripting or interpretive layers, and allowing developers to create native apps for multiple platforms at once, but it also means that businesses that have stuck by Delphi now have the advantage of easily porting their trusted code to Android or iOS without issue.
"That's code that's debugged; it's solid, it's working. They can take that to new platforms. They don't have to throw it away."
It also means that even companies that don't have a history with Delphi, or are able to develop first for iOS, they can simply recompile their code for Android.
"If someone had concerns about ... or wasn't so fussed on Pascal, then that's exactly why we have a C++ version."
While this may raise concerns that, for example, Android ports of iOS applications might fail to take advantage of Android's features, such as modular intents, Groves said that its suite did not prevent platform-specific customisations.
"In the one time out of 10 where you really do want to roll your sleeves up and craft something custom, you can because it's a native tool."
Groves said he almost expected developers to do so, given what happens currently when developing for Windows and OS X, and that giving developers flexibility was key.
"Even what we see today with people building Windows and Mac applications from the one source base, they end up making decisions through their apps. Some forms are just recompiled unchanged, some have got 'ifdefs' inside saying, 'If I'm on Mac, do this different thing'. And sometimes they may choose to build an entirely different section for one specific platform."
"That's a decision they get to make. It's not one forced upon them by the platform."