Delphi through the years
Blog|by Leanne Bevan|18 August 2022
This year, Delphi is celebrating its 27th anniversary. So we spoke to Embarcadero's Presales Director, Stephen Ball, to find out more about the history of the tool, where it is now and what the future holds.
You can watch the 3-part video series here:
- Part 1: How Delphi started and its key features
- Part 2: Cloud, Python and what the future holds for Delphi
- Part 3: How to get started with Delphi
However, if you're more of a fan of reading blogs than watching videos, we have pulled together some of the highlights from the conversations and shared them below.
How Delphi started
Delphi is an object, Pascal-based language. And this was the evolution of a turbo Pascal language started by the team in Borland over in Scotts Valley in California. They worked on the next generation of developer productivity and rapid application development which is where Delphi began. The name came from Greek stories and was used to name the project, and the name stuck as people loved it.
Delphi is used to connect up to enterprise data. For instance, if you want to get to the Oracle, you go to Delphi.
One of the original demos that was created was a pretty simple one, just putting a list box down, edit control and a button and then using a single line of code to add additional items to the list. This was quite revolutionary at the time - using components in the component architecture based on strong object-orientated programming. It did away with a lot of the old challenges that people had in terms of managing states and lists and everything themselves which was also a lot more code to write.
Delphi was and still is used for very rapid application development. It uses the property method events still today, and the great backward compatibility means that even the demos originally done 27 years ago can still be done today. On the VCR for Windows and almost identically on FireMonkey, which is a cross-platform framework for apps on multiple platforms.
How is Delphi being used across different industries?
People who have software that's running, high-frequency exchanges within the South African Stock Exchange, apps that are being used to automate machinery and loads of POS systems CRM systems, theatre booking systems, you name it. There are loads and loads of things out there being used and powered by Delphi.
What makes Delphi unique?
One of the key things with Delphi is it brings a blend of rapid application development, and low-code approaches to development, but also still gives you full access down to the API on any level, any platform that you're working on. And it does this using really strong objects on principles and things like interfaces. So, an interface for a driver in a car would be a steering wheel. When you get to a boat, the steering wheel is still the same interface but what it does underneath is very different. And this same thing works across multiple platforms.
If you look at needing to use the accelerometer or the camera or the compass on a mobile device, depending on if your iOS or Android, you still need to do the same thing. How they're implemented underneath is very different. So by using interfaces, you can code once and reach across multiple platforms. And those core values within the libraries. And the framework means that we're able to target natively across Windows, Mac, iOS, Android and Linux from a single code base. And with, let's say, 27 years and over 10 years now with the FireMonkey framework, the frameworks are really mature and provide great usability and functionality across all platforms. I mean, obviously, 27 years is a long time.
How would you say Delphi has adapted to the business trends over the years?
Yeah, it's a great question. The one thing for developers is that the style of coding within Delphi means you can respond rapidly to the changes of your developer, and your customer base, but in terms of what all developers need to keep moving forward.
We've always looked to innovate around new technologies that have been coming through from SOAP support originally, up to the most recent stuff with a Windows 10 store and even WinUI 3 controls and showing support for those and it's been really important to make sure we've got that in and available.
But also that backward compatibility for the code is very easy to bring the products in your old code investment forward and that's being done using the components and the frameworks that we have by being out to make sure that we can abstract away from the developer and the challenges of the platforms.
A really good example, recently Windows 10 introduced high DPI support with multiple monitors working at different resolutions, and so on, which has been a major challenge for a lot of app developers. But we've been able to boil that down to look at the key areas, such as the images and icons and those kinds of things. Quite often challenging and provide back an innovative solution that enables developers just to support a single component set and then have that virtually, picking out what's going on and providing the right images back to the Windows controls automatically This has meant great backward compatibility for code that has been written for many years to be able to be brought forward very quickly.
A lot of people are moving their applications to the cloud, how is Delphi coping with this?
Yes, I think the cloud is a very important part of any modern architecture. There are reasons to have stuff in the cloud and reasons to have stuff locally on networks. It's about finding the right mix. But the great thing is that the choice is there for you as a RAD Studio and a Delphi developer.
You know, one of the great things about RAD Studio is it provides you with fully compiled native code, which is great in terms of speeding performance. It's also very flexible and provides some very fast deployment options with things like RAD server. We've got full stateless architecture that you can deploy and have load balance, with the right configurations and setups and take advantage of some of the great services and capabilities of things like Vizio and the Cloud the other things within RAD Studio.
Wherever your application is being based, you're often wanting to connect to data and you can do that rapidly with FireDAC. And there are lots of different cloud solutions and also wider enterprise solutions because I think that when we talk about the cloud, it's also important to look at the other systems and architectures that are out there today where we're using platform-as-a-service and software-as-a-service. And you want to integrate and bring those different parts together.
There's a huge sway of connectors from third-party companies like C Data, who integrate seamlessly into FireDAC to connect to over 200 different enterprise solutions and so on, which you can all bring back through your Delphi code. And I think the other parts of the cloud, I've mentioned platform-as-a-service and providing developers capabilities like the Azure Cognitive Services where you can call endpoints to kind of translate text to speech and text to voice. And from one language to another and so on, calling these AI capabilities or whatever done through, you know, predominately through rest calls and standard interfaces.
And RAD Studio's got a full set of components in there to allow you to connect to pretty much any service out there. So wherever you need to connect to your data and bring things together, you can do that quite easily with RAD Studio.
There's been a lot of talk around Delphi and Python, can you expand on this?
Yes, so Python is a general-purpose programming language that is really popular with data scientists and developers and is used a lot for working with big data, cloud computing, and artificial intelligence. And one of the most popular IDEs for Python developers is called PyScripter, and that's actually written using Delphi. So as part of that, there's a set of components, Python for Delphi components that have been open sourced and they allow Delphi developers to be able to call Python code directly from their Delphi applications and to get events and methods back in, which is really quite unique.
It brings the ability to have the full property method event type of interface that we have into kind of the Python world as well by using a bit of Delphi. So to help support this, we've also recently launched Delphi for Python, which has two sets of libraries. One Delphi, VCL for Python, and the other ones the Delphi FMX the FireMonkey framework for Python, which allows cross-platform users to be developed directly from Python scripts. So even if you're just a pure Python developer, you can use a cross-platform or native UI directly from the Python code.
Now, the great thing with RAD Studio is that we've got the ability to design those UI as rapidly in terms of how they're going to look and be set together and then with a single click of a button, you can extract that out and dump that into Python scripts if you want to use it purely outside.
But what we're seeing is a lot of Python developers bringing their code in and finding the benefits of their cross-platform parallel programming libraries and getting that speed and performance of native and that you don't get from the runtime scripts and where they need to expand that they're Python to have the speed and performance ready for deployment and that Delphi is a really natural fit there to make that happen.
Find out more
As an Embarcadero Master Reseller, we're here to help you with all your Delphi and RAD Studio licensing needs. We offer exclusive offers and licensing advice.
Plus, Stephen also mentioned the use of Azure alongside Delphi. And Grey Matter is also a Microsoft Gold Reseller and Cloud Service Provider (CSP) for direct and indirect sales.
So, if you're looking to implement one of these solutions, get a demo or a quote, please fill out the form below.
Contact Grey Matter
If you have any questions or want some extra information, complete the form below and one of the team will be in touch ASAP. If you have a specific use case, please let us know and we'll help you find the right solution faster.
October is Cyber Security Awareness Month. We’re here to help you become more aware of cyber threats and help you and your employees become more cyber smart. The National Cybersecurity Alliance has announced that the theme for 2022 is “See...
The fourth and final Cyber Security Awareness Month blog in the series looks at protecting your business from phishing and educating staff.
In our third blog in the Cyber Security Awareness Month series, we take a look at the importance of updating software and patch management.
In the second blog of our Cyber Security Awareness Month series, we look at the importance of using strong passwords and a management tool.