Details are the following:
- Apache modules in WebBroker and support for DataSnap and EMS
- FireDAC Linux database access
- Linux platform support for console apps with IoT support
- We will formally support Ubuntu Server & RedHat Enterprise. We will extend the formally supported Linux distributions list over time as demand dictates
- Windows based IDE with cross-compiler, deploy and debug via PAServer
- Linux compilers will be for Intel 64-bit server, LLVM-based and ARC-enabled
Sounds fine to me to support only Intel 64 bit at first, and Ubuntu/RedHat
support - I guess most other distributions would work, even if not officially
supported.
I'm not sure LLVM would make the running code actually faster, since generated
code from mobile targets were not as efficient as it could have been.
But LLVM would make the compilation phase much slower (10 times slower I
guess), in respect to Win32/OSX compilation timing... we loose one of the great
points of Delphi, which is its almost instant compilation time.
The latest information, 'ARC-enabled' is a concern to me.
What I write here is not an absolute, your experiment and expectations may
differ, and you may rejoice for ARC being enabled.
I'm writing from my own needs.
I still do not understand the benefit of using ARC, in regard to the
compatibility break it would induce with existing code.
All our code base on servers, relies on explicit memory allocation. We mitigate
the code verbosity with simple ownership of objects. Not a big deal, with
modern IDEs.
On a server, disposing resources as soon as possible is a very sensitive
task. Processes do run 24/7, so any leak may be avoided at all cost.
ARC is a fine memory model - we spoke about it
some years ago - but,
as implemented in Delphi NextGen compiler, it is hard to have a single code
base for both ARC and non ARC platforms. A lot of IFDEF is needed, or you need
to use FreeAndNil
. IMHO calling DisposeOf
may break
most of the benefits of using ARC, since it leave standing pointers in an
unsafe state...
And remote debugging over PAServer for Linux won't be perfect, we can be
sure... If only we may compile with ARC on Windows, it may ease debugging big
applications...
I like very much the FPC approach: they support a lot of targets and
platforms (including Linux since the beginning), and really do their best not
to break existing code.
Having two memory models at once is a real PITA, from the developer point of
view, if they are excluding...
The more I use FPC, the more I like it. Using Lazarus under Linux is very nice.
You are able to debug your application in place...
I hope Delphi for Linux may have both models: ARC-enabled and
ARC-disabled.
Or at least that Delphi for Windows may be ARC-enabled, so that we may share
the same code base, and debug/test under Windows, and cross-compile with
confidence.
From the compiler point of view, it is not a big deal, as far as A. Bauer wrote
(IIRC): they internally have an ARC-enabled compiler for Windows.
From LLVM point of view, it is a feasible, since you
can set a per-file ARC enabling.
Please do not break compatibility with existing code base!
Please!