February 17, 2017
Embarcadero is about to release a new Delphi compiler for the Linux platform. Here are some of the key technical elements of this compiler, and the few differences compared to Delphi compilers for other platforms.
Embarcadero is about to release a new Delphi compiler for the Linux platform. Here are some of the key technical elements of this compiler, and the few differences compared to Delphi compilers for other platforms.
Linux Intel 64-bit
Before we get to language specific features, let me clarify once more the target platform, as Delphi for Linux is a bit vague. The compiler produces Intel 64-bit executables for Linux. This is a key difference, for example, compared to the old Kylix project compiler, that was 32-bit. The new compiler does not include Linux ARM platforms, which we are considering for the future.
Another related element is that the compiler is based on the LLVM compilers architecture, like all the most recent new Delphi compilers (iOS 32 bit, Android 32 bit, and iOS 64-bit). The advantage is that it will provide some significant optimization on the generated code. The disadvantage is that compiling and linking an application takes considerable more time than when using the Windows compilers.
In the rare case you need platform specific code and when calling platform APIs, you can use the {IFDEF LINUX64}.
Object Pascal Language Compatibility
Getting to the language specifics, the level of language compatibility is going to be very high. Almost all of the classic Pascal-based languages features, OOP features, RAD support capabilities, modern Pascal features (generics, anonymous methods, reflection, attributes) are going to work the same. Some beta testers have been able to port significantly complex libraries in a fairly smooth way.
What you might find a little more trouble in is porting some "older" code, like code that is not Unicode enabled or relies heavily on Windows-ism. Below are some of the specific differences. The only area that is not meant to be fully compatible is memory management, given the new compiler is based on Automatic Reference Counting, as explained later.
Core Data Types and LongWord Blues
I'm not going to list all of the core data types that remain the same, as the list is very long, but let's look at what's specific to this compiler. Being a 64-bit compiler, all pointers are going to be 64-bit, while Integer stay 32-bit -- this is the behavior of all other Delphi 64-bit compilers (and most other programming languages, BTW).
The only caveat is for the LongWord type. This is a data type often used when making operating system calls, so the decision that was taken some time ago was to keep it matching the underlying OS. So, for example, on iOS the same API declaration with LongWord compiles to a 32-bit or 64-bit data type depending on the compiler you are using. On Windows, however, Microsoft made a non-standard decision to keep LongWord the same size of an Integer. This implies the Windows 64-bit platforms works differently from the Linux 64-bit platform in regard of this data type. For reference, among other sources, see the long type in C language on different platforms at https://en.wikipedia.org/wiki/Integer_(computer_science)#Long_integer and the first answer at http://stackoverflow.com/questions/384502/what-is-the-bit-size-of-long-on-64-bit-windows.
You might have to revisit you code using LongWord and decide to keep that data type or use a different one (Integer, UInt32, NativeUInt...) depending on your goal. We have done and are still doing a significant revision of the RTL to make sure we are not misusing this type. In same cases, however, we are going to keep code that behaves differently depending on the platform, particularly when changing core RTL classes would cause a lot of legitimate Windows code working for 20 years not to compile any more.
Strings and Encodings
Since Delphi 2009 the Object Pascal language string type has defaulted to UTF-16 Unicode and 2-byte Char data type. Needless to say the Linux compiler follows the same path. Since 10.1 Berlin, all compilers (including the mobile ones) received full support for the UTF8String type and also (for direct low-level processing) the RawByteString type. The Linux compiler includes these data types, and in fact the UTF8String was added to mobile mostly because we anticipated it as a key requirement for Linux. A significant part of the HTTP-based traffic uses UTF-8 and supporting this representation as a native type -- beside supporting encoding to it -- was considered a requirement for the Linux project.
It is true, however, that some other string types like AnsiString are not supported. This is mostly a "Windows-centric" data type. If you are still using strings and PChar for managing generic data structures, it is really time to move to TBytes and PByte instead -- or enable pointer math for all data structures. Also the support for the old Pascal ShortString type is limited. Declaring a string [20] variable on Linux will fail. The other string type that is not supported is WideString. This is the old pre-Unicode non-reference counted UTF-16 type used for Windows COM platform integration. In fact, any COM-specific type and feature is missing on Linux, like on all other non-Windows Delphi platforms.
Notice that the TEncoding support is available, so you can read and write text files in any format you want. What you are not directly able to do is process an AnsiString in memory with the standard language support. But you can have an array of bytes (TBytes) representing text in any format in memory, and read and write it on disk, or receive and send via a socket connection, and you can use the TEncoding support for conversions.
Linux Defaults to 1-Based String Access
What about string access via the [] operator? As you might know, there is a compiler default you can change per-project, per-unit, or even per-code fragment that determines if the compiler treats the string access operator with a 1-based Pascal-classic notation or the 0-based notation most programming languages use. While mobile compilers default to 0-based, for Linux we decided to stick with the traditional Windows model, on the ground developers are mostly likely to migrate existing Windows server side code to Linux. The recommendation is to try to use clean, agnostic code, but if you prefer forcing a given string access model for all of your Delphi code, just use the $ZEROBASEDSTRINGS directive in your projects. Just as a reminder all RTL string functions and the newer string helper methods stays the same regardless of the platform and this setting. The first group uses a 1-based logic, the second a 0-based logic. Your pick.
Here Comes ARC
The other notable change from the Windows compiler is that on the Linux platform (as in any new platform) we have decided to use the Automatic Reference Counting (ARC) model for memory management. This is the model Delphi uses for all mobile compilers plus the iOS simulator one. The long term plan is to shift the entire Delphi ecosystem in that direction -- probably keeping the VCL world on the traditional memory model. This is the reason not-picking ARC for Linux would have been very confusing, as given you need testing when adopting a new platform this is the least disruptive moment for such a transition.
Feedback from beta testers has been fairly positive on this, and migration of existing code and libraries has not bumped into big hiccups. Now I don't have room in this blog post to revisit the best practices for ARC migration, but I'll try to have some more extensive material on this in the future.
Shameless plug: My Object Pascal Handbook (and particularly the Berlin revised edition) has some good material on this.
More Information? Delphi Linux BootCamp is Coming!
For more information, sign up to the boot camp (which is actually a one hour webinar) scheduled for March 1st in 3 times zones. For more information and to sign up see https://community.embarcadero.com/blogs/entry/delphi-linux-boot-camp
posted by
marcocantu @ 10:54AM | 49 Comments
[0 Pending]
49 Comments
Key Traits of the Coming Delphi For Linux Compiler
This has many possibilities.
Most interesting of all - would be coding for
Raspberry Pi - is that something that's going to be
available out of the box?
(Since it's an ARM processor)
Comment by Thomas on February 17, 11:52
Key Traits of the Coming Delphi For Linux Compiler
I am a little skeptical about this. Two ideas:
1) Delphi (C++ Builder or RAD Studio) was always about
RAD (Rapid App Development). This does not work on Linux.
2) Delphi = VCL, go to 1)
Comment by Tomas on February 17, 13:36
Key Traits of the Coming Delphi For Linux Compiler
Tomas,
Delphi is RAD. But you can also build REST web services in a
RAD way, dropping data access components in a server side data
module, make them expose data in a way that is easy to consume
client side. Kind of "full-stack" RAD...
Comment by Marco Cantu
[http://twitter.com/marcocantu]
on February 17, 13:52
Key Traits of the Coming Delphi For Linux Compiler
I have read elsewhere that the Linux support is not
going to be available in the Professional edition of
Delphi. Is this correct? If so - why on Earth that?
Don't you think that hobbyists (like myself) would
like to be able to program command-line utilities for
Linux???
Comment by HwartWare
[http://www.heartware.dk]
on February 17, 15:22
Key Traits of the Coming Delphi For Linux Compiler
Unless it's specifically a Linux 64bit block of code {$IFDEF
LINUX} should be used instead of LINUX64. Since, as you state,
Linux ARM may be forthcoming, and it's likely to be 32bit, you'll
most likely want the code to be the same.
Comment by Allen Bauer
[http://blog.therealoracleatdelphi.com]
on February 17, 16:37
Key Traits of the Coming Delphi For Linux Compiler
Allen, good catch, you are right!
Comment by Marco Cantu
[http://twitter.com/marcocantu]
on February 17, 17:09
Delphi Professional + Linux ??
Are you going to reply to the Linux availability for
Professional editions?
Comment by HeartWare
[http://www.heartware.dk]
on February 17, 17:15
Key Traits of the Coming Delphi For Linux Compiler
> Linux support is not going to be available in the Professional
edition of Delphi. Is this correct? If so - why on Earth that?
Yes, this is correct. The goal is to let developers build server side
REST services and similar multi-tier solutions. And this is Enterprise-
level features also on Windows.
If we create a Linux solution for Pro level features (no Web support
and no database support), would you find it valuable? I really doubt.
Comment by Marco Cantu
[http://twitter.com/marcocantu]
on February 17, 17:21
Linux Support vs. packaging
I've never worked anywhere that licensed anything other than
Delphi Professional editions for its programmers. For that reason,
I've never found any value in paying the additional cost beyond a
Pro license since it makes no difference in my income
opportunities. IOW, there's no ROI.
The Emba promo materials I've been getting almost daily for a
month now suggest that there will be additional licensing fees, the
same as the earlier server-side offerings. This means the Linux
compiler is really just a gateway into additional revenue streams
for Emba. You said, "If we create a Linux solution for Pro level
features (no Web support and no database support), would you find
it valuable?" It seems the business model already addresses this --
without the additional licensing fees it leverages, it's of no value
anyway. Do you believe that Pro licensees with Linux support
wouldn't create a larger market for the additional server-side
licenses? Apparently not.
You still attempt to draw (arbitrary) distinctions between who
might use what in terms of what's included and excluded from the
"Professional" edition. It's as if there's a mindset that says,
"Professionals don't use databases, only IT people do" or some
such BS. IT people don't write software! They manage resources.
In larger organizations, programmers don't select what DB servers
are being used, IT people do. So why is there an "Enterprise"
edition with better programming tools that's focused on the needs
of bean counters and policy wonks who don't even use the tools?
You think IT people will find the Linux support more useful than
the people actually writing the code? I really doubt it.
In fact, they'll probably find it more of an annoyance -- Linux
servers are just another source of security leaks they'd have to
manage and deal with. If they're not already using Linux for server
work, it's a big cost to absorb. If they are, they might consider
switching from their existing languages (php, python, ruby) and
frameworks with no royalties, to Delphi + royalties ... after they've
figured out a business case for it that's profitable.
I seriously believe you'll find a bigger market for the Linux tools
among the much broader "Professional" user base than the IT
folks, if for no other reason than they're not going to feel as
constrained by the usual security threats that IT people are. Why
has it taken so long to offer Linux support anyway? Because IT
people prefer Microsoft's tools for server-side stuff. Not because
they're any better or more secure, but because it's all part of the MS
umbrella. Broad-scale adoption is going to be slow, and you're
counting on this to leverage upgrades to Enterprise licenses.
Ironically, this is happening at a time when IT Departments are
phasing over to cloud-based hosting and eliminating as much of
the day-to-day maintenance of servers as they can. The people with
the "Professional" licenses are slowing gaining more say, even
within the enterprise.
Lower-end devs aren't very concerned with this nonsense, and
there's a ton more interest in programming IoT stuff (eg.,
Raspberry Pi's) and other platforms than what IT people are
willing to let their programmers go near. (Which is why the two
distros you have chosen to support initially are those that IT people
tend to align with more often than what the broader market uses.)
How many upgrades to Enterprise Edition do you need to NOT
have before you decide there's a bigger market among the Pro
Edition users? I believe this is simply about leveraging upgrades to
Enterprise licenses, not supporting Linux as broadly as possible.
Right now it seems to be nothing more than a niche offering
targeted at IT people. As for those of us "Professionals" who
actually program for a living ... not so much.
One thing is for sure: NOT giving it to Pro licensees is guaranteed
to result in ZERO Pro licensees learning it, using it, advocating for
it, and helping drive you towards a larger market outside of
traditional IT needs. They're also not going to write articles or blog
about it. Clearly, that's not seen as a source of long-term value --
which is odd given this is a market that depends heavily on
leveraging the LTV of its customers.
Comment by David Schwartz
[]
on February 17, 19:05
Key Traits of the Coming Delphi For Linux Compiler
Will the FireMonkey Framework support the LINUX platform later?
Comment by Zoltan
[]
on February 17, 19:21
Linux for Delphi Professional
If you made a Linux version available with the same level of
support as the Windows Command Line programs that I can
make with my Delphi Professional, ie. including Indy, and client
DB access (for MySQL), then I would find that *very* valuable.
Let me put it this way: My update subscription is up for renewal
as we speak, and I was seriously considering renewing it to get
the Linux support. Without this, however, there simply isn't
enough value in it for me, so I'll have to decline.
Comment by HeartWare
[http://www.heartware.dk]
on February 17, 19:50
Key Traits of the Coming Delphi For Linux Compiler
" If we create a Linux solution for Pro level features (no Web support
and no database support), would you find it valuable? I really doubt."
I would!
Comment by Brian on February 17, 20:04
Key Traits of the Coming Delphi For Linux Compiler
Does it support ARM CPU on Linux?
Comment by Komail
[http://www.tazarv.com]
on February 18, 06:04
Key Traits of the Coming Delphi For Linux Compiler
A Thinkpoint running on a low cost, low power linux 32 bit single
board computer make a lot of sense to me. Things I can do with
android device, I would like to be able to do them on ARM single
board linux computer (without UI). I would have more flexibility
with hardware support and installation of open source library than
on Android platform. Also If I want to bring something to the
market, I would like that it is still running in 20 years. It is is
certainly possible with Delphi (since 22 years), but is it possible
with Delphi on Android? It would add a lot of value to the
professional version especially with REST access and support for
IBlite. Eventually Embarcadero should offer at least an add-on
module for ARM Linux 32 bit for the professional version.
Comment by Alexandre Jacquot on February 18, 14:31
Key Traits of the Coming Delphi For Linux Compiler
Count me as another person who wants Pro support.
Requiring Enterprise is going to price Dephi out of
the market. It's bad enough to have ARC, a new
expense will push more people to FPC.
Comment by Erick Engelke
[http://www.erickengelke.com]
on February 19, 02:19
Key Traits of the Coming Delphi For Linux Compiler
David,
regarding having Linux server side support available only in the
Enterprise edition, and not in the Professional one, this is absolutely
consistent with the way we have described (and licenced) Delphi and
RAD Studio since Delphi 1 came along. The Professional editions are
for client side development of local applications, including local
database access, while the Enterprise edition (originally called
Client/Server) is meant for those accessing a remote DBMS or
creating multi-tier applications. Now Linux focus is squarely on
server side, multi tier applications and web services.
You are correct in saying this is cutting out support for smaller
projects that would fit into the idea of the Pro edition, but if we add
Linux support in Pro we'll potentially see large corporations buying
only for for multi-million projects based on multi-tier web services --
as it is partially happening today on the Windows side.
A different question is that on price. Maintaining an Enterprise
edition -- after initial licence investment -- is roughly a thousand
dollars a year, so I don't consider this too expensive for someone who
is making even a relatively small business with software
development. Should we roll out special upgrade offers in light of
Linux being in Enterprise? That's a nice idea, it has been floating
around and from what I know it is going to happen.
Comment by Marco Cantu
[http://twitter.com/marcocantu]
on February 19, 08:36
Key Traits of the Coming Delphi For Linux Compiler
A couple of points:
First, for the kind of work that I do (database,
server, web), the Enterprise SKU is my minimum
starting point. I don't consider it to be reserved for
IT people. It's definitely not inexpensive, but with a
subscription, the cost is well worth it to me for the
productivity gains. And I'm a very (very) small
consulting shop.
Second, I understand Embarcadero's urge to put new
features into the higher end SKUs, but I would love to
see Linux support in the Professional SKU with the
same level of support that it has in Windows (local
database, WebBroker).
In fact, I'd even be in favour of limited Linux
support in the Starter edition. Continue to lower the
barrier to entry for students and hobbyists.
Just my $.02
Comment by Bruce McGee
[]
on February 19, 15:34
Key Traits of the Coming Delphi For Linux Compiler
I would consider switching my RAD Studio Pro
subscription to the Enterprise one only if the offer
was really compelling - something like on one time
option to switch to the Enterprise subscription by
simply paying whatever the cost of the Enterprise
subscription is now without any other upgrade fees.
I think that would be beneficial for both the users
and Embarcadero in the long term.
Otherwise the Enterprise edition is simply too
expensive for me.
Comment by Zenon on February 19, 17:36
Delphi For Linux Compiler
> The Professional editions are for client side
development
> of local applications, including local database access
And you don't believe that this is possible for a
Linux machine? Whatever is possible on a Windows
machine (for example client side development of local
applications, including local database access) is
certainly possible on a Linux machine - and is exactly
what I would be using Linux support for.
But alas - it seems like I will have to find another
pathway to fill this gap, since Embarcadero clearly is
uninterested in this market. Well - my effort (and
money) will then go elsewhere...
Comment by HeartWare
[http://www.heartware.dk]
on February 19, 20:28
Key Traits of the Coming Delphi For Linux Compiler
I was looking forward to ARM support, going to skip this release.
There is a huge market for ARM support with millions of Pi and IOT
devices out there. If EMB is serious about growing Delphi, this
should be a top priority. Of course, ARM support would have to be
available in lower editions, to make an impact.
Comment by Godfrey on February 20, 06:40
Key Traits of the Coming Delphi For Linux Compiler
If declaring a string [20] will no longer be supported,
how will we handle record-based files that contain
fixed-length strings?
Comment by G. Sanderson on February 20, 06:41
Key Traits of the Coming Delphi For Linux Compiler
Are you going to reply to the Firemonkey availability for
LINUX platform (for the future use)?
Comment by Zoltan on February 20, 07:54
Key Traits of the Coming Delphi For Linux Compiler
A few answers:
- Linux clients (aka FMX) are currently fairly low-priority, given the
Linux client market share is very limited.
- Linux ARM we are considering for the future, but still need a
stronger business case (I mean, it is nice to have, but is it something
developers will be willing to pay for?)
- Record-based files with fixed length one byte strings can be
managed as arrays of bytes, I guess -- but they might have to be
reconsidered....
Comment by Marco Cantù
[http://twitter.com/marcocantu]
on February 20, 10:44
Delphi For Linux Compiler
> Linux clients (aka FMX) are currently fairly
low-priority,
> given the Linux client market share is very limited.
I can wait for FMX/GUI applications for Linux, but
console programs for Linux should be included in the
Professional edition - with Client DB support for - at
least - SQLite/MySQL as this is the major database
format used on Linux systems. I can do many things on
the command line that don't need a full-blown GUI...
Comment by HeartWare
[http://www.heartware.dk]
on February 20, 14:44
Key Traits of the Coming Delphi For Linux Compiler
> - Linux ARM we are considering for the future, but still need a
> stronger business case (I mean, it is nice to have, but is it
> something developers will be willing to pay for?)
I really think Linux ARM would have positive (business) effect
on Delphi, both for Embarcadero and their customers.
Buzzwords like IoT and Industry 4.0 are actually happening now
and a Linux ARM support in Delphi would open new possibilities
for both existing customers, but also have great impact on the
product in general: Use Delphi Linux ARM to create solutions
that collect data, use Delphi Win/Linux to create the backend
solution and use Delphi Win/Mobile/Mac to create the front end
apps.
Native apps really shine om embedded platforms.
One "compromise" could be to only add support for LinuxARM
x64. The latest Raspberry Pi runs on this, and also the latest NXP
IMX.8 are a 64-bit architecture. That would cover a lot of the
market and solutions.
Comment by Alfred on February 21, 06:02
Key Traits of the Coming Delphi For Linux Compiler
Hi, I also hope that Professional will be able to
compile for linux. In past, I had to create a user
library for Firebird running on linux 64 bit. I had to
install and use Free Pascal. If it were possible in
Delphi, I would prefere it. I also would use it to
convert a Windows service doing VAT validation in VIES
database to linux. I will not upgrade to higher
edition of Delphi because it is too expensive to just
have linux support, so I will have to use Free Pascal
more and more, possibly replacing Delphi sometimes in
the future. Kind regards, Karel
Comment by Karel Rys on February 21, 13:20
Key Traits of the Coming Delphi For Linux Compiler
Just an idea, probably already presented by others
before: why not to include a basic linux support in
Professional, without enterprise features? The same
model as you have in Windows...
Comment by Karel Rys on February 21, 18:02
Key Traits of the Coming Delphi For Linux Compiler
I am quite sure that a large proportion the
customers that are using the professional version
of Delphi are rather hardware than database
centric. Embarcadero seems to consider that
connecting from Delphi with Bluetooth, Zigbee or
Wave is enough but all these communication
protocols are rather low speed. It is a better
situation when software and hardware are living
on same same small ARM Linux computer. There
are also situation where you need more
computational power than a micro controller can
offer especially when processing video. I think
also a large proportion of Embarcadero customer
that are using Delphi Professional or C++ Builder
are rather small companies. ARM Linux may be
very important for them, they certainly have C++
programmer (and also Delphi programmer) but
actually they cannot target ARM Linux. If you
find us a computer that cost 5 euros not more like
the Raspberry Pi zero and which Intel 64 Bit I
may consider your solution to build something on.
Comment by alexandre jacquot
[http://www.2d-datarecording.com]
on February 21, 19:40
Key Traits of the Coming Delphi For Linux Compiler
> - Linux ARM we are considering for the future, but still need a
> stronger business case (I mean, it is nice to have, but is it
> something developers will be willing to pay for?)
No. But IHMO a Starter Edition with a Liunx ARM compiler
would be the best investiment Embarcadero can do for its future.
It's not a secret that almost all today Delphi programmer writing
enterprise server applications started writing small hobbyst
programs with Turbo Pascal back at school days. Be honest, how
much did you payed for that copy of Turbo Pascal ?
Tomorrow enterprise server applications programmers, now are
probably developing for a small 10$ Linux ARM board. Give it a
taste of a real RAD IDE, and maybe ten years from now they will
buy a copy of "Delphi 20.2 Mars Enterprise Edition".
Comment by Alessandro on February 21, 22:28
Key Traits of the Coming Delphi For Linux Compiler
I've been getting requests to renew my SA (or
whatever the current name is) for a few weeks now.
With nothing groundbreaking for Windows VCL developers
in the last few releases ,I was waiting to see if
Linux support was available in the Pro edition. As I
create a few small REST servers using mORMot on
Windows, it would be nice to move them to Linux.
There's Free Pascal support, but I'd rather stick with
Delphi for all of my coding. However, if Linux support
isn't going to be available, there's no compelling
reason to upgrade, so I'll not be renewing my support
agreement this year - this will be the first year
since Delphi 1 that I haven't bought, or been upgraded
to, the latest version - and once I'm off that train,
I'm off for good.
Comment by Dave White on February 22, 23:51
Key Traits of the Coming Delphi For Linux Compiler
The only reason I finally upgraded from Delphi 7 Pro
+ Web broker/Lazarus-FPC to Delphi 10.1 Berlin Pro was
the "coming" Linux support :(
Looks like I will be moving more and more to
Lazarus/FPC and writing off the cost of Delphi as a
bad investment.
Comment by Trevor R on February 23, 04:15
Key Traits of the Coming Delphi For Linux Compiler
I agree with the previous Linux ARM comments.
Talking with consultants and reading business
reports/analyzes, IoT is cooking and companies now
want to make their products "IoT-compatible"
(earlier they just talked about it).
Making a Delphi Linux ARM compiler now, would
be a perfect timing.
I really think it is one of the best things
Embarcadero could do, especially if Alessandros
suggestion is followed.
Comment by Johan on February 23, 08:01
Key Traits of the Coming Delphi For Linux Compiler
Dave,
> With nothing groundbreaking for Windows VCL developers
in the last few releases
Are you really sure? We added a new round of VCL controls,
designer enhancements (QuickEdits), first ever support in an IDE for
Windows Store deployment via Desktop Bridge... and even some
language tuning for interfaces and dynamic arrays.
Comment by Marco Cantu
[http://twitter.com/marcocantu]
on February 23, 08:53
Delphi For Linux Compiler
Are you censoring messages? My message from earlier
today (which I saw was "pending", so I know it was
accepted) has disappeared?
In it, I answered that your feature list was mainly
items that I didn't use, needed or wanted (YMMV), and
that the extra features in the latest upgrade was of
even less value to me, and therefore I had decided not
to renew my Pro Upgrade Subscription - there simply
wasn't enough value for money in it without the Linux
compiler.
Comment by HeartWare
[http://www.heartware.dk]
on February 23, 19:29
Key Traits of the Coming Delphi For Linux Compiler
Hi Marco,
>Are you really sure? We added a new round of VCL
controls, designer enhancements (QuickEdits), first
ever support in an IDE for Windows Store deployment
via Desktop Bridge... and even some language tuning
for interfaces and dynamic arrays.
Sure, there have been additions for VCL. But none of
these have been groundbreaking enough to warrant the
hassle of upgrading my development system. Bear in
mind that I have every version of Delphi through
Berlin, but I haven't yet moved my systems across to
that version - the expense and configuration hassle
for upgrading and installing all of my third party
libraries is a nightmare for the minor updates that
are available for VCL.
Most, if not all of the controls were already
available in third party packages for lower version
compilers. The Windows Store deployment is only of use
to people releasing through Windows Store - I don't
think that has had anything like the penetration of
the Apple Store - and it's also worthless to us
developing in-house applications.
For years now, Embarcadero have focused on FireMonkey
and mobile in their updates. The big changes have been
here, with a few crumbs thrown in for VCL. It may be
that VCL is mature enough that updates aren't needed,
in which case why upgrade. I have no interest in
FireMonkey, and mobile is only available in the upper
level SKUs. So for my needs, Delphi upgrades have
become irrelevant.
I'll carry on developing in Delphi, because it's still
the most productive tool out there. But upgrades are
out now.
Comment by Dave White on February 23, 20:33
Key Traits of the Coming Delphi For Linux Compiler
> If we create a Linux solution for Pro level features (no Web
support
and no database support), would you find it valuable? I really
doubt.
This is the same kind of thinking that gave us midas server based
licencing. What did that result in, massive revenue stream or move
by developers to ignore midas?
You have an opportunity to make money on Delphi with Linux
compiler for all levels, let people decide if they need Enterprise
features and if not you still get some money. If there is a TDataSet
available and Zeos drivers work, why wouldn't my Delphi Pro on
Linux be good enough?
The approach you are taking is the same as recording industry with
their "but the CD or else" plans...look at who is making all the
money in that space now - Apple and Google - by giving people
what they want, affordable music, and not some niche super extra
quality music providers.
Don't try to limit your revenue stream and you will prosper.
Keep cutting yourselves at the knees and you will chase away
whatever little clients you have left.
Comment by Dean Mustakinov
[]
on February 24, 11:45
Is Linux Ready for Delphi?
Found this old article by Danny Thorpe
http://edn.embarcadero.com/article/21171
Comment by Hans on February 24, 14:20
Key Traits of the Coming Delphi For Linux Compiler
I think Linux for ARM would be a good thing. I know
that is what I look for when I see the Delphi IoT
headlines. Even as a cross-compiler it would be very
worthwhile and competitive with free dev environments
that are usually missing things.
The ARM boards are quite varied, Raspberry Pi is
popular but is not the only choice in ARM based
embedded boards. I see your problem in the ARM space;
how much time to spend on such a complex market.
Comment by James Aldridge
[http://a-concepts.com]
on February 24, 18:53
Key Traits of the Coming Delphi For Linux Compiler
I'd like to vote for some new language additions in future compiler
updates.. My list would include:
- LINQ
- Await/Async
- Lambda
- Extending native types such as strings (allowing multiple helpers)
Yes.. It's borrowing c# sugar..
Any plans for new compiler changes in the near future ?
Comment by Andrew Tierney
[http://www.castlesoft.com.au]
on February 27, 22:56
Key Traits of the Coming Delphi For Linux Compiler
Do we have a date for it? I am really looking forward to it.
Comment by When is the official date for the Release?
[https://weibomiaopai.com/download-video-parser.php]
on February 28, 14:20
Key Traits of the Coming Delphi For Linux Compiler
HeartWare, Yes I occasionally avoid publishing messages I find not
appropriate -- for different reasons.
Comment by Marco Cantù
[http://twitter.com/marcocantu]
on March 1, 16:18
Key Traits of the Coming Delphi For Linux Compiler
We have been using Delphi Pro since we started 15
years. I dont know where this impression the
multi-tier development has only been possible with
enterprise comes from? We have SOAP services build
using the built in Delphi SOAP tools. We have tons of
webservices built with RemObjects. We have Rest
servers we built with open source projects that are
out there for Delphi. Being able to run these on linux
servers would be very useful. There are tons of web
server frameworks available for delphi pro. This
impression that pro users are just "desktop client
developers" is just rubbish. Now maybe you want to try
and get a few extra hundred bucks per year per license
out of us. That is fine to try to get as much money as
you can. But don't pretend it is "consistent" with how
Delphi Developers use the product. Its just a money grab.
Comment by David Novo on March 1, 16:54
Key Traits of the Coming Delphi For Linux Compiler
Hello,
1. Linux and Windows use different ABI , so the calling
conventions are not the same, if you have some assembler code
(inline) you have to check and, if you need, supports both.
2. Most Linux are UTF8, not UTF16, so the choice of a UTF16-2
for string is not obvious at all. Free Pascal let you choice the string
format and Lazarus uses UTF8.
BTW, note that Ms SQL Server for Linux ODBC driver uses
Unicode string.
Comment by syfre on March 9, 15:50
Key Traits of the Coming Delphi For Linux Compiler
You currently have the best development system FOR
ANY APPLICATION. All your arguments for keeping Linux
out of Pro depend upon a mindset that assumes Delphi
is only for database work. I think that is a very
dangerous and damaging route to go down (regardless of
the Linux & Pro argument).
Comment by Keith M on March 10, 12:43
Key Traits of the Coming Delphi For Linux Compiler
When will the Godzilla available? (About summer of 2017?)
Comment by Zoltan on March 14, 16:02
Key Traits of the Coming Delphi For Linux Compiler
Delphi Professional has WebBroker support for Apache
HTTP server modules. Too bad Linux support in Delphi
10.2 Tokyo is only available in Enterprise edition.
http://blog.blaisepascalmagazine.eu/2017/03/01/linux/
Comment by Erwin Mouthaan
[http://www.emoconsult.nl]
on March 22, 21:58
Key Traits of the Coming Delphi For Linux Compiler
after look at goolge, and come to this link, "why my setup doesnt
available linux platform"
very dissapointed for pro user doesn't compiled to linux version.
we can use basic linux and native thirdparty, and other open source to
build some special tool in linux
Comment by Irwanto
[http://irwanto.net]
on May 21, 03:30
Key Traits of the Coming Delphi For Linux Compiler
I finally upgraded to Delphi Enterprise (took advantage of a special)
and I have been able to compile straight to linux (via virtualbox)
and have used fmxlinux succesfully
and I was able to use UTF8string in place of pansichar or pchar
and that works (for communicating with a comport via a C compiled
com libary that delphi links to OK (once I add that path to the sdk)
good stuff :)
Brian
Comment by Brian Hamilton on October 6, 21:39
Key Traits of the Coming Delphi For Linux Compiler
In china , many pc are based in arm cpu, such as phytium FT2000 ,
but not x86 cpu , in office, finance, school or government. So the
ARM compiler is well worth looking forward to.
Comment by haoren on March 20, 03:36
Post Your Comment
Click
here for posting
your feedback to this blog.
There are currently 0 pending (unapproved) messages.