Delphi Software Development at Cambria
Yes! Delphi is a direct descendant of Turbo Pascal and can be considered as simply the latest version of Turbo Pascal. In fact those old Turbo Pascal programs can still be compiled in Delphi even today with only minor changes. Our experience with this wonderful language began when Dick, the first of our Delphi programming specialists, wrote our first custom software application after hearing Philippe Kahn describe his new language to us at the Software Entrepreneurs forum in Palo Alto, CA in 1984. This probably makes Cambria the oldest Delphi programming company in the world.
Why Delphi Programming for Software Development?
The reason to choose Delphi software is PERFORMANCE! Choose Delphi software when you want the fastest possible execution speed on for the application you are going to create. This is because the Delphi Source code your Delphi programmers will write will be compiled in to a “native application” which is a program developed for a specific platform or device. Delphi software applications have few competitors in this and advantages over all of them.
Most Delphi programming is done for desktop computers running Windows, so this will be discussed first. It is the historical platform for which it was first written. But the Delphi programming advantages apply to the other platforms as well even though not so well known.
Why Cambria for your Delphi Programming project?
This is an easy decision. As of today, 2018, Cambria has specialized in Delphi programming for the last 34 years and we have gotten pretty good at it. We can supply hundreds of references and we offer great prices if our Delphi programmers in the Philippines are used.
In short, if you are looking for a Delphi programming company with the option of doing your Delphi programming in the Philippines, or in America, you have found the right company. Read on if not yet convinced.
But more on Cambria later. Let’s talk about Delphi history first since there is lots of misinformation on this subject.
Google something like “is Delphi Dead 2” and you will find people who think Delphi programming has seen its last days, others who think it the product (not the resulting programs) is too expensive for free-lance Delphi programmers to afford. Others who wonder where it disappeared to and finally those, like our Delphi Programmers, who wonder why the question was even asked since they are using it all the time and for good reason.
The confusion arises from Delphi’s history. Turbo Pascal, Delphi’s original name, was a sensation when it was introduced by Borland in 1983 because of the simple elegance of its language (Object Pascal), the speed of the compiler and the ease of creating complex native applications with readable source code. It was a giant step into the future of programming and miles ahead of its contemporaries.
But Borland was targeted by Microsoft who was justifiably threatened by this development and among other things they gave Anders Hejlsberg, the genius behind Delphi programming an offer he could not refuse. He joined Microsoft and went on to create .Net for Microsoft. After this Borland spun off Delphi to CodeGear which was later purchased by Embarcadero Technologies Company. Some thought Delphi was finished. But Delphi was simply too good to go away and under Embarcadero Technologies it has come back.
The final reason Delphi is not in the headlines today is that was born in the desktop programming era and today the focus of programming excitement is on web programming and programming for mobile devices. As will be seen below Delphi programming techniques can be used in these specialties but its strength is where it always was – in desktop programming and especially Windows desktop programming. Here it is the obvious best in class.
Why Delphi for Desktop Programming3
First you will be in Good Company
Companies creating commercial products to run on Windows computers appreciate the qualities of blazing speed in their products and the low cost of development compared to the only other mainstream language that can touch its performance. We are talking here of Delphi products like Skype, Dreamweaver, Spybot Search And Destroy, and the list goes on.
Here are 75 more: https://jonlennartaasenden.wordpress.com/2014/11/06/famous-software-made-with-delphi/ and if that is not enough to make you comfortable with your choice here are even more: http://delphi.wikia.com/wiki/Good_Quality_Applications_Built_With_Delphi. In other words Delphi is not necessarily for the contract programmer on the search for the next trendy, and free language. It is the choice of companies who want to write great, lasting software at the lowest cost.
Blazing Speed and Access to Device Services
Delphi compiles into a native application. “A native app is built for use on a particular device and its Operating System (OS). It can use device-specific hardware and software. Native apps can provide optimized performance and take advantage of the latest technology...with the ability to tap into specific resources, native apps can quickly access multiple services on a device, such as the microphone, accelerometer or push notifications”4 The only mainstream competitor Delphi has in performance is C or C++ which also compile into a native application.
The Cost of Development is Low
C/C++, the only competitor to Delphi programming for making high performance software, is a difficult and costly tool to use because of the care that needs to be taken to avoid bugs and the complexity of the language. Delphi was deliberately designed in 1983 as a Better C. The fact that it is still here is testament to its success. Delphi is a collection of tools, language (Object Pascal), editor, compiler etc. designed to work together for the rapid development of an application 5. Any programmer will be more productive working with Delphi than with C/++ because the one-pass compiler is much faster, and the language is designed to catch bugs.
No Installation Necessary
There is no installation necessary. The compiled exe delivered to our customers by our Delphi programmers can be copied directly onto their computer and used immediately. It cannot get more convenient to use than that.
Is Delphi Here to Stay?
Without a doubt. The fact that it has been around for 35 years and efficiently produces code that outperforms, or equals, any other should be a convincing answer to this question. Nobody has beaten it yet!
Is Delphi still Popular?
Tiobe6 tracks the popularity of languages and at #11 Delphi is well ahead of such competitors as Ruby, Swift, go and Visual Basic. And the trend is positive. It is getting more popular by the year. It was #6 in 2001, fell to #20 in 2015 during the confusion of ownership, was back to 12 in 2017 and today, September 2018, it is #11 and the trend continues positive.
The Tiobe Rankings are given below. As you scan the table keep in mind that these ratings sometimes fluctuate wildly. In September 2018 Tiobe put Delphi at #11. In July 2017 the rating was #9 and in July 2018 it was ranked at #16!
It is easy to look at this table and say why should we use the eleventh best? But there are all types of programs and most of the other 10 languages are not competitors for Delphi. Let’s look at the other 10 popular languages and what they are best for7.
- Windows Programming (Delphi, C/C++, Visual Basic .Net)
- Web Page Server-Side Programming (Java, PHP, Python)
- SQL (a “language to manipulate data in a database designed to use the “Structured Query Language” such as Microsoft SQL Server. This can be used by programs written in Delphi and all the other languages. It is not a competitor to Delphi Programming or any of the others – just a helper available to anyone who needs a SQL Database.
- Mac OS Programming (Object C)
The important thing to get from this table is that the main Delphi programming competitors are C/C++ and VB.Net. As discussed below Delphi software has major advantages over both languages and in the Windows Niche Delphi is certainly as popular as one could wish.
Despite the clear advantages of Delphi Programming and its documented growth in popularity you will frequently find developers on the web who denigrate it. Likely because it is expensive. It is not made for the free-lancer working out of his home. It is for serious organizations who can afford to purchase it and use it for challenging projects that take advantage of its significant virtues. Sometimes it is true that you get what you pay for.
Tiobe Ratings September 2018
|Sep 2018||Sep 2017||Change||Programming Language||Ratings||Change|
|5||8||Visual Basic .NET||5.308%||+3.33%|
Type of Software
To make the discussion easier let’s talk for a moment about software. It comes in many forms. First is “source code”. This is what the programmer creates when he types into a text document. Languages like Delphi run the source code through a compiler that produces “binary code” that can be read directly and executed by the type of computer that the compiler is targeting. For the same source code, the binary code would be different for different types of computers.
Then there is an intermediate case of “bytecode” which is produced. for example, by a Java compiler from Java source code. Bytecode cannot be run directly on the computer. In the case of Java it is run on the “Java Virtual Machine”, a piece of software that in turn runs on the computer in question. In this way Java proponents say that their programs have cross platform compatibility. The .Net Framework languages uses a similar approach.
Then there are the languages that run on a browser which in turn runs on the computer. This is similar to the bytecode approach and includes such languages as PHP and Perl.
Cross Platform Programs vs Delphi Cross-Platform Native Applications.
It is often taken for granted that a language or system must be “cross platform”8. That is a program that can run without change on different devices and operating systems. Java achieves this by use of the JVM discussed above. Web programs achieve it by running in the browser.
For Windows, Linux, macOS, iOS and Android, Delphi programmers offer a better answer. Cross platform source code. The same source code can be compiled on these operating systems to native applications and achieve the performance benefits that come with it. For the trivial step of a separate compilation we avoid the performance hit on cross platform programs of the Java type.
In the experience of Cambria’s Delphi developers our business customers rarely need cross-platform capability. But if it is needed in the future all it takes is a new compile to create a native application on the new platform. A program written for the desktop can also be recompiled as a Delphi mobile app to run on a mobile device.
Java – Advantages and Drawbacks
Java is number one on the Tiobe list and is currently the most popular language in use today. There is some advantage to this fact. There are lots of Java programmers and they are easy to find. But if you google “Perl Programmers” or “Visual Basic Programmers” for example, #16 and #19 on the Tiobe list, you will find many from which to choose so it is not a compelling advantage.
Computer languages like C, Delphi, and a few others create code that runs on directly on the computer hardware and hence approach maximum efficiency. This is enough for most customers since they usually have only one computer, or type of computer, that they are interested in. But if you have a company that uses Macs, Linux machines, and Windows machines, for example, what are you going to do?
Java has an answer the answer. Their cross compatible bytecode runs on a Java Virtual Machine (JVM) which can be mounted on each computer that you use. By contrast a separate Delphi executable would have to be created from the same source code for each type of computer. But this is not a difficult thing to do and the result is that you have a better performing program.
If you want performance, and are considering Java, always keep in mind that the program runs on the JVM, not Windows. It will be inherently slow. Delphi (and C) access the operating system directly.
VB.Net – Advantages and Drawbacks
.Net framework programs do not have a virtual machine so they do not run on non-Microsoft computers. However there is an open source project named Mono that is a cross platform .Net framework so with Mono you have the same advantage as Java. And, of course, .Net also suffers the same performance disadvantage.
C/C++ Advantages and Drawbacks
This famous language, the only one older than Delphi and yet still being used extensively compiles to a native application and as a result can match Delphi performance. The syntax of C is popular in other languages as well and as a result there are many programmers who are comfortable programming in C.
But not all that comfortable. It sometimes seems that C was created to give maximum opportunity for a programmer to create bugs that are later difficult to find. It is easy to make a typo that is interpreted by the compiler to mean something the programmer did not intend. As a result it is costly to develop in this complicated language9.
C/C++ is probably the only language for which a major journal, now gone, carried a periodic section challenging programmers to read a segment of code and figure out what it means! Such a thing would never be done in a language so easy to read as Pascal. If you want a program with performance and don’t care about the cost. C or C++ is for you. If you care about development cost, choose Delphi.
Delphi Programming at Cambria
Delphi Versions and Features
The following versions are ones in which Cambria's Delphi programmers have extensive experience.
Borland Delphi 7
- Standard version used by more Delphi developers because of its stability, speed and low hardware requirements.
- Support for Windows XP Themes.
- Support for building Web applications.
- Last version of Delphi that did not require mandatory software activation
CodeGear Delphi 2007 (Delphi 11)
- First version by CodeGear.
- Support for MSBuild and enhancements to VCL for Windows Vista.
- Release DBX4 as next version of DBExpress.
- Activated via license key.
- Released internationalized versions – English, French, German, and Japanese.
- Complete re-work VCL and RTL for full Unicode support.
- Added generics and anonymous methods for Win32 native development.
Embarcadero Delphi XE
- Bundled support for Amazon EC2, Microsoft Azure.
- Natively supports 64-bit Windows, with backwards compatibility.
- Supplied with both VCL and Firemonkey which supports Windows, MAC OS X, and Apple iPhone, iPod Touch and iPad portable devices.
- Added support for Android (ARM v7 devices running Gingerbread 2.3.3-2.3.7), Ice Cream Sandwich (4.0.3–4.0.4) and Jelly Bean (4.1.x, 4.2.x, 4.3.x)) and iOS 7.
- Cross-platform development with applications that connect desktop and mobile devices with gadgets, cloud services, and enterprise data APIs.
- Support Windows applications using Wi-Fi and Bluetooth App Tethering.
- Support shared user interface across multiple device form factors, etc.
Delphi on the Web
For Delphi on Web, we can use the following frameworks:
- Web Broker - http://docwiki.embarcadero.com/RADStudio/Tokyo/en/About_Web_Broker . I think we have project (MTEC) we converted from WebBroker ISAPI to PHP.
- uniGUI - http://www.unigui.com/
- TMS Web Core - https://www.tmssoftware.com/site/tmswebcore.asp
Here at Cambria we have no experience in using Delphi on the web so cannot comment upon the advantages of these approaches.
Delphi on Mobile Devices
Delphi Firemonkey can be used for mobile application development:
- Firemonkey is a rapidly evolving frame for development on Android, IOS, OSX, and Windows.
- With Firemonkey, one does not have to manage separate projects for each platform.
- Uses Rapid Application Development approach.
Here at Cambria we have no experience in using Delphi on mobile devices so cannot comment upon the advantages of these approaches. We are looking forward to a request by a client to develop such applications.
Cambria Delphi Programmers
Dick is president of Cambria and has been programming in Pascal/Delphi since Cambria first opened its doors. He wrote the systems we still run Cambria on back in the 1980's. For almost 20 years he has been aided in this by Yuliy, shown below with Dick. Rodel has been with us since 2008. With the more recent additions of Alyssa, Chad, and Anthoner ("Ner"), shown above, Cambria now has a strong 6 'man' team of senior Delphi programmers. Older clients will remember James C. and Jon Mora, Cambria Delphi programming super stars who have moved on to other pastures after being at Cambria for many years.
Delphi Programming Opportunities at Cambria
If you are an experienced Delphi Programmer looking for a new opportunity, please check the "careers" section of this website to see if we are currently hiring Delphi Programmers. We are a stable company that has provided Delphi Programming services (originally Turbo Pascal) since our inception in 1984. As a Delphi Programming company we can offer a wide variety of projects so that you will never get bored working on the same old thing. For example, in addition to writing Delphi software for desktop applications, these days our Delphi developers can work on Delphi mobile applications.
Delphi Desktop Programming Examples
Joist is a Delphi CAD application used to design steel joists. Users can chose to use the text based designer or the visual designer. The visual designer behaves like common designer tools wherein users can select members and modify properties. Multiple-selection is also supported.
Cambria converted the original program from Turbo Pascal 7 to Borland Delphi 7. The application is heavy on mathematical computations and numeric precision is a top priority. It doesn't rely on third party database for its data storage needs.
Instead, the program uses text files and variable-record-length binary files.Technologies Used: Turbo Pascal, Delphi 7, Binary files for data storage.
IntegrityDDS is an information management system for dental shops. It supports thousands of accounts with multiple members, scheduling, insurance claims management, and many others.
The original application was developed in Delphi 7 using a multi-tier database architecture on top of the DBISAM database engine. Cambria upgraded the application to use MS SQL Server for performance and support reasons. Optimizations in both code and SQL statements were also applied together with the GUI make-over. The end-result is a much faster, more responsive, and professional-looking application.
Technologies Used: Delphi 7, DBISAM database, MS SQL Server 2008, ReportBuilder, Indy Components.
Telescope deals with Employee Stock Ownership Plan (ESOP). It is used to project repurchase obligations. A user creates a study and a scenario in which assumptions and census information is entered. Each combination of information, assumptions and census data is a scenario. Scenarios are grouped together in studies; all scenarios in a study share the same census data. A user creates a separate study for each different census. Telescope allows users to create and retain multiple studies, and multiple scenarios within each study.
The application is developed in Delphi 2007 and is using FlashFiler for database and RAVE for reports.
Technologies Used: Delphi 7, Delphi 2007, RAVE Reports, FlashFiler database, Indy Components
Delphi Web Programming Examples
Because of its history most people think of Delphi as a tool for developing programs to run on desktop or laptop computers. But the same advantages that make Delphi a great choice on the desktop apply to Delphi Programming on the Web. Voltrak shown below is one of our Delphi Programming Projects for the Web.
Voltrak is a volunteer tracking software with support for touch screen monitors. The touch screen support is for time in/out logging.
Cambria created the web version of an existing Win32 desktop application. To minimize development time (and cost too!), the existing reports (90+ of them) were reused. They were wrapped in a DLL and each report has one exported function. The function returns a filename of the generated PDF file then the web app provides a link (URL) to that file.
Technologies Used: ASP.Net, Delphi 2007 (upgraded from Delphi 2006), ASP.Net 1.1/2.0, MySql database server, ADO, QuickReport, AJAX
Yard Duty Scheduler automates scheduling of yard duty for teachers. It is another web application developed in Delphi.Net is a Yard Duty Scheduler. It automates scheduling of yard duty for teachers. The school admin simply enters start and end of school year, teacher information, list of holidays, and list of tasks. Then the application will generate a schedule for the entire year making sure each teacher has equal number of days worked. The generated schedule can still be manually modified if necessary.
Technologies Used: ASP.Net, Delphi 2007, MS SQL Server, AJAX
1 Cambria Client Roger Williams. The program you use every day is an “executable”. It is created from “source code” written by the programmer. If you own it, anyone can modify the program. If not, you are at the mercy of the vendor. Make sure you own it.
2 https://www.quora.com/Is-Delphi-dead. Lots of negative comment in this reference but an undertone of admiration for this great language and an awareness on the part of some that it is now getting more popular again. (Keep in mind that all of us programmers tend to downgrade languages they are not expert in.)
3 By “desktop programs” we mean software that runs stand-alone under the operating system (e.g. Windows) of your desktop or laptop computer and not in a web browser or on a cell phone. The term is used to distinguish such programs from web programs or those that run in smartphones or tablets.
5 In the lingo of programming this an IDE or Integrated Development Environment
7 Don’t get us wrong here – this does not mean that Java cannot be used to create a Windows program or that Delphi cannot be used to create a web program. These are simply the main, or only, ways the languages are used and where they are the most competitive.
8This of course is not true. Most applications are used on only one platform
9See for example https://www.toptal.com/c-plus-plus/top-10-common-c-plus-plus-developer-mistakes
Custom Software Development
- ASP.NET Programming
- Classic ASP Programming
- Perl Programming
- PHP Programming
- Wordpress Programming
- Web Programming Examples
- Wordpress Examples
- iOS App
- iPhone App
- iPad App
- Android App
- RIM Blackberry App
- Windows Phone App
- Mobile Programming Examples
- Delphi Programming
- .NET Desktop Programming
- MS Access Programming
- C and C++ Programming
- Visual Basic Programming
- Visual FoxPro Programming
- Desktop Programming Examples
- Custom Programming Examples
- Web Programming Examples
- Mobile Programming Examples
- Desktop Programming Examples
- Web Design Examples
- Wordpress Examples
Just a short message to let you know I did a first Trade show this past week. The code was solid...and performed as expected. Rodel has done an excellent job with it and the users I demonstrated it to all had positive comments.
"Hi Ner [Anthoner],
I just got back to Glasgow today after a long journey. [To San Diego]
Well, the exhibition was a resounding success for us. Both individuals and organizations were amazed at what the demo could do and we're hoping that the software can be released as soon as possible. I have been telling everyone that my target is to release it between July and September 2015.
... Needless to say, the programmers who came to see the demo were astounded at what we could do and were always asking how it was done. I told them it was due to 'magic'. The main thing is now to deliver the product before the buzz dies down too much.
...I will need to speak to you and Dick about this once I have worked out what will be required to get to product launch. ...In the meantime, thanks again for your hard work. "
"[Dick, Jon].. Thank you for the great work done so far.!"
"Hi Dan [Santor],
This is great! I believe that completes this project. Thanks for everything... I appreciate how quickly you addressed all requests. It certainly made my job easier.
You've been a pleasure to work with. Thanks again,"
I thought you might find the attached feedback from our client's of interest.
Cambria, and in particular, James C., have played an integral part in helping us achieve our vision. You have also enabled us to respond quickly to our client's unique technology needs. Your team is always responsive and eager to tackle any challenge we send their way. We truly appreciate all your team does (and continues to do) for us.
"(To James C.) Now that the original "Customer Cross Reference Tool (CD)" has been launched to our entire Surgical Technologies Division sales force and management team I wanted to provide feedback to you for all of your hard work toward the completion of this project.
To date, since the official launch at our National Sales Meeting in February, we have received numerous comments from both our own employees (sales force members) and our customers indicating that this finished software product (CD Rom) is a complete SUCCESS -- and very much APPRECIATED!
I wanted to personally thank you for your efforts, your expertise, and above all, your patience with us as we continued to identify the optimal (and most user friendly) format to provide our customers with this essential cross reference information for our products."