[Lazarus] Who is using Object Pascal in production?

Giuliano Colla giuliano.colla at fastwebnet.it
Fri Oct 27 18:18:10 CEST 2017


Il 27/10/2017 14:26, Marcos Douglas B. Santos via Lazarus ha scritto:
> I would like to propose a discussion about "What is the relevance of
> Object Pascal nowadays".
> I don't want waste your time. I just want to know if we are growing
> and being more relevant or not.
>
> I use Object Pascal (mostly FPC, some old Delphi) in production to
> make real applications. But we are seeing more and more "new
> frameworks", "new technologies" and new languages that are become more
> relevant.
>
> What do you think?
>
> Thanks.
>
> Regards,
> Marcos Douglas


We're working in the field of automatic machines. From textile machines 
to printer post-processing equipments (mainly in the security printers 
field), from coffee roasting machines to chain wear monitoring 
equipment. We do not usually deploy software, but rather we sell control 
equipments which are then integrated by the final manufacturer in the 
machine.

Our equipments usually include custom embedded controllers and a 
supervisor which may range from an industrial grade PC to a Raspberry 
PI. It provides both the human interface and the real-time high-level 
process control.

We're also frequently asked to integrate our supervisor into the factory 
data network both to provide production data (for statistical purposes, 
quality assurance, and security) and to fetch process information when 
appropriate. This leads to supplying also small servers which do handle 
network protocols, Data Base handling, creating Reports etc.

We found today's Object Pascal and Lazarus to be the most cost effective 
solution, for a number of reasons. Mainly:

  * Object pascal syntax makes it easier to detect programmer errors at
    compile time, thus strongly reducing the debug time.
  * Being most projects quite similar and with very short development
    time allowed, we need readable and self documenting sources, making
    it easy for anyone to modify project A into project B.
  * For the same reason, re-usability of code for us is a must. Again
    Object Pascal is a winner by this POV.
  * Always for the same reason we need a RAD tool, and Lazarus IDE is
    again a winner.
  * We need to interface with our real-time framework with predictable
    timing, and this rules out most of the "modern" languages.
  * Given the relative stability of the Object Pascal language, we may
    take advantage of a huge amount of code we have developed in the
    past. I've just ported to Lazarus a program which was originally
    developed in the 90's with Delphi 3!

Many of those reasons apply also to Delphi, but we dropped Delphi long 
ago because:

 1. Primarily, we need Linux support, because of the real-time
    requirements, which aren't achievable in Windows environment. OS-X
    isn't an option because we need industrial grade PC's.
 2. Secondarily, Lazarus IDE is light years better than Delphi IDE.

For sake of completeness, I must add that our real-time framework and 
the real-time tasks are written in C. This was a must when it had to be 
part of a patched Linux kernel, running in kernel space. Now that 
RT_PREEMP has reached maturity and has made its way into the mainline 
kernel we've been able to move the stuff to user space. Therefore we're 
rewriting most of it in Object Pascal, to take advantage of a much lower 
development and maintenance cost.

Giuliano

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20171027/98157eab/attachment.html>


More information about the Lazarus mailing list