Although I welcome the Community editions, I still think that by not including Linux support in the community and pro editions, EMBT is making a major mistake. Imagine the activity we could have had when it comes to adding Linux libs and tooling from an enthusiastic community!
![](https://lh3.googleusercontent.com/-caD4IP6h67s/W1WcIfYZO9I/AAAAAAADIK8/0cDLSjrqEL0qwPlOeGZpcrHbMijZp7aJACJoC/s0/NoLinuxForCommunity.png)
Although I welcome the Community editions, I still think that by not including Linux support in the community and pro editions, EMBT is making a major mistake. Imagine the activity we could have had when it comes to adding Linux libs and tooling from an enthusiastic community!
/sigh
I agree. It's a potentially significant market that is being ignored, or deliberately excluded. Everything that could possibly encourage more developers to adopt Delphi and not see it as an old-fashioned or outdated tool should be embraced. There is lots of potential feedback that could be obtained from the Linux community and this would benefit all.
ReplyDeletegive him an inch and he'll take a mile :)
ReplyDeleteLinux should be part of the PRO SKU. I have been saying that right from the start. Compilers should not be an Enterprise feature.
ReplyDeleteJust like with Android and iOS, maybe in few years time someone will eventually do the right thing :)
ReplyDeleteNobody will upgrade from PRO to Enterprise SKU just to use Delphi Linux compiler.
ReplyDeleteI did (to be able to use FMXLinux (which works great))
ReplyDeleteI agree that, at least since the appearance of FMXLinux and CrossVCL, users of Pro and Community Edition should be able to target Linux as well. While I can somehow follow the reasoning behind this limitation in regard to the original portfolio, adding these both products have changed the game significantly.
ReplyDeleteCall me a fatalist, but I kinda see it as a last ditch effort before throwing the towel for the mobile compilers. The mobile ecosystem is too diverse and moving too fast for a company the (new) size of EMBT to keep a native compiler + "mimic UI" up to date.
ReplyDeleteLinux on the other hand is moving slower, so they have a chance there, assuming they get Docker deployment and debugging in a stable state. Linux UI could have its use in PoS and industrial displays (last I heard , Linux for mainstream users was still lost somewhere between the jungle of drivers and the canyons of BIOS).
So no reason to throw the towel for Linux compiler yet, but restricting Linux support restricts use cases, library support and ecosystem (developers) drastically, in turn reducing the value of Delphi Linux.
There is also the elephant in the room: all those Mobile and Linux compilers are based on the ARC compilers, which come with a variety of frictions (did they revert the ZBS mess at least?)
As Dalija Prasnikar said, I think it's just a matter of time... the time it take for Delphi old-timers to retire... ;)
Eric Grange, where you've readed that from Dalija Prasnikar?
ReplyDeleteWhy would you use Delphi for Linux when you have FPC Lazarus?
ReplyDeletePeter Vonča Because in FPC, RTTI attributes and generics constraints are sorely lacking. My code doesn't compile in FPC at all.
ReplyDeleteChristen Blom-Dahl 2nd comment "just like..."
ReplyDeletePeter Vonča subtle issues with strings, variants and generics have been preventing my attempted uses of FPC for years, it's almost there, like 98%, but the 2% in a large codebase still means tens of thousandths of changes (ie. a lot of time, and a lot opportunities to introduce bugs if doing the changes "too fast").
Eric Grange Christen Blom-Dahl Hahaha, yes that comment does have ambiguous meaning... even though it was not on purpose...
ReplyDeleteTo be clear, I hope Linux will eventually be part of PRO SKU, and PRO license price will not sky rocket because of that :)
Sigh. How soon they forget.
ReplyDeleteWe're developers, and as such, have been deemed to be stupid about marketing. Se we should not trouble our pointy little heads, but have faith in the powers that be to do the right thing.
Uh huh. That's why everyone prefers Delphi to C#, right?
Lars Fosdal Eric Grange That makes sense, I can see why that would be a pain to migrate.
ReplyDeleteEric Grange ZBS mess is still here...
ReplyDeleteCE is the right direction to take and maybe if they really push it can get more developers interested in Delphi again.
ReplyDeleteYou can complain about a lot of things concerning the CE but EMB is not a Microsoft, they do not have the type of funds to give away the store.
Hopefully EMB will make the CE better over time and this is dependent on how many developers use it and how many will move to the subscription additions.
Dalija Prasnikar I will never understand why they savaged backward and cross-compatibility for it
ReplyDeleteEric Grange This is single most idiotic move in whole Delphi history (and beyond)
ReplyDeleteI can understand the desire to unify indexes between arrays and strings, but the mess they introduce is unbelievable.
Explaining 1 based string indexes is one simple sentence. I dare anyone to fully explain ZBS mess and all combinations without writing an essay.
Since ZBS is currently only on mobile, and mobile development must be done with newest versions, I think ZBS strings could still be removed from Delphi completely and we could all live happily ever after.
ReplyDeleteDalija Prasnikar, you can disable ZBS in Delphi mobile compilers using the directive {$ZEROBASEDSTRINGS OFF}.
ReplyDeleteChristen Blom-Dahl it's a local directive... and needs to be placed at the top of every single unit accessing strings in a project, otherwise bad Thing (tm) will happen stackoverflow.com - How to work with 0-based strings in a backwards compatible way since Delphi XE5? and
ReplyDeleteEric Grange In addition, it doesn't automagically make the string helper methods 1-based either.
ReplyDeleteEric Grange, Uwe Raabe, but it helps to migrate old code to the new compilers.
ReplyDeleteChristen Blom-Dahl migrating to zbs is not something that can be justified economically, especially as the new string helpers do not have performance or stability advantages. You just end up with a code that has multiple conventions, especially if you happen to have functions of your own that take or return string indexes...
ReplyDeleteAnytime am starting a new project, the first thing I do is to create an include file and disable zero based string there. I now call that include file at the top of all my units. Simple as ABC. I also avoid the inbuilt string helpers in my projects since they are Zero based.
ReplyDeleteChristen Blom-Dahl There are two kinds of Delphi cross-platform developers:
ReplyDelete1. ones that immediatelly turn ZBS off
2. ones that waste time chasing weird off by one errors and then turn ZBS off
Dalija Prasnikar There is a third kind of Delphi cross-platform developer: An SDK developer that wraps string usage to an SDK string type, and provides functions to get a "native string" to a "SDK string". This issue is not entirely unique to Delphi. Our PDF library must be ale work with byte sized character strings (a PDF requirement), yet developers want to use "native strings" (From not only Delphi, but at least four flavours of strings in Visual Studio).
ReplyDeletePeter Vonča - Instead of FPC/Lazarus? To immediately port most VCL applications to Linux® (and OS X®). In addition, reliant database code can often be ported, and FMX can easily be leveraged.
ReplyDeleteI agree Lars Fosdal - There have been very good Pascal compilers available on Linux® for ages. If you are running a Linux® based server and need or want Pascal, you are probably already using one. If you leverage "top shelf" database components, you are already purchasing an enterprise edition of Rad Studio®, so why hold back? Grab the market!
ReplyDeleteNot having Linux compiling in Pro and CE is silly in my opinion.
ReplyDeleteJoe C. Hecht Well I wouldn't know about it being immediate, the platform is different (LLVM, ARC ,ZBS) from Win32/64 so there's a lot of testing to be done either way, especially since it's brand new.
ReplyDeleteMartyn Spencer : I fully agree that Linux should be included, but first the Linux community would need a native IDE. I can't see the majority of Linux/FreeBSD people running a Windows VM (and require a Windows license) just to develop for Linux.
ReplyDeleteFPC/Lazarus is way ahead of EMBT in this regard. Native compiler and tools on every platform.
Graeme Geldenhuys What are the benefits of having a Linux IDE first when that doesn't support Linux right from the beginning? In addition, porting the IDE to Linux or MacOS is probably more complicated in magnitudes than changing the license scheme would be. Let alone the fact that most users of such a Linux IDE won't pay for it anyway. How should one justify such a heavy investment promising near to no revenue? IMHO, the Delphi IDE running on Linux is definitely the last thing we need.
ReplyDeleteGraeme Geldenhuys A native IDE, or one that runs satisfactorily under Wine would be great. Is the present IDE based around .NET still? If so, building it so that it is compatible with Mono would be a start. Emba probably is lacking resources to entertain this, sadly. I would still pay for such a solution (I used Kylix back in the day for a number of projects and was happy to support it). I imagine there are many developers who would not.
ReplyDeleteMy main desktop is Linux based and for Windows based development I am quite happy to use a number of Windows VMs. I do agree that many people would not be prepared to do this.
For Delphi to survive in the long-term, I can't help but feel that it should be far more "open source friendly". Software development definitely appears to be moving more in the direction of the separation of service from the source code itself.
Still, I do see the CE as a significant step in the right direction and Emba deserve praise for their decision, even if they have not gone quite as far as some of us would like, in our ideal worlds.
Graeme Geldenhuys You have a point on the Linux folks needing a Windows VM to dev with (although most probably do).
ReplyDeleteMartyn Spencer
ReplyDeleteI agree that a XPlatform IDE would definitely benefit the Delphi community. Debugging would be quicker and easier, and developers could choose the OS they want to use. Unfortunately, the decision to incorporate .NET into the mix, seems to have made porting the IDE more difficult. At one time it did run on WINE, but without EMBT having resources to work on WINE I would not trust it going forward. WINE also has issues on OS/X and just like EMBT has difficulty keeping up with platform changes.
I also agree that for Delphi to survive long term, open source must be leveraged. I think FMX would have evolved faster with better quality if the framework was open sourced. An open source IDE would likely lead to better stability. Look at the work Andreas Hausladen has provided without the source!
Anyway I blogged about this 8 years ago (2 posts), and it's still business as usual so I don't see it changing any time soon. If only FPC was source compatible with Delphi...
tpersistent.com - TPersistent.com » Blog Archive » The Power of Open Source
I gotta admit though, Eugene Kryukov and his FMXLinux and CrossVCL libraires really rock. If the Linux Deskop picks up more steam, porting VCL apps may become very profitable, and the Linux community is warming up to paying for code. Finally, corps have deep pockets (and will pay). I am surprised to find sales of our Linux products are now rivalling the Windows versions.
ReplyDeleteJoe C. Hecht
ReplyDeleteI think Linux is a developer opportunity long over due. I believe the opportunities in the IoT, embedded Linux and desktop market are finally going to explode in the next couple years. For average users open source now provides everything they need at no cost. At ~2% of the desktop market I think Linux could be a profitable target now. Knowing Linux certainly helps as they dominate the back end market.
To me the success of Linux on the desktop will be determined by how Linux interacts with mobile devices and their ecosystems. Also Linux distros still need to address common use cases and provide easy solutions without command line fixes. One example comes to mind; fixing over scanning when using a TV as a display on Ubuntu.
With Linux growing their market share on the back end it's only a matter of time before they capture more desktop users. M$ and the Windows 10 updates may help ;-)
I did download and try out Eugene's demos and generated a number of errors. I was looking at specifically SynEdit and the possibility of experimenting with writing a small IDE for the Mac/Linux. I am amazed that someone hasn't leveraged Trolledge and FmxLinux to create such an IDE.
Uwe Raabe : a native IDE on each platform makes development and debugging SO MUCH simpler. If only they had a cross-platform toolkit for that.... Oh wait, they do! I guess EMBT doesn't have enough trust in FMX to implement a cross-platform IDE with it. Write once - run everywhere (oh wait, that's Free Pascal's slogan). It seems FMX is only good enough for simple demos (yet another fish demo).
ReplyDeleteOn a side note: If EMBT actually implemented a real-world application with FMX, they might find and fix the bugs before all of us have to - but that would be too logical and convenient.
The Linux and OSX markets are huge (desktops and servers). I've been making a living off them using Free Pascal for years. It's only Delphi that's lagging behind by a decade or two.
Graeme Geldenhuys I didn't say it has no benefit at all. It is just that IMHO the effort to realize it is not really worth it. There are other issues with a better cost-value ratio that should be targeted first. Regarding the use of FMX: Everyone who ever tried to port a mid-sized VCL application to FMX will agree that this is not something done in a minute. Such an endeavor is located somewhere at the level of a complete rewrite.
ReplyDeleteLarry Hengen > If only FPC was source compatible with Delphi...
ReplyDeleteIf only Delphi doesn't purposely break implementations that FPC implemented first - and there has been loads of such examples over the years. Currently the FPC team has to continuously go back and implement variations of code syntax for the Delphi mode of the FPC compiler. You would think that after EMBT thought FPC was good enough to include with Delphi at one point (to support the mobile platforms), that they would actually play nice, but they NEVER do.
Also Delphi implements many things in such a bad way - very "not Pascal like" because they simply copy C# or .NET verbatim without thinking about the roots of what made the Pascal/Object Pascal language so great. The FPC team always consider a good Pascal-like syntax when extending the language.
Graeme Geldenhuys FPC was included only once to provide iOS as proof of concept, it was never meant to be included as permanent addition.
ReplyDeleteJoe C. Hecht : Linux users are definitely willing to pay for quality software. I've made a living the past 10 years (using FPC/Lazarus) and targetted Linux, Windows and OSX desktop and server space and sales were good on all target platforms.
ReplyDeleteI was a proud owner of Kylix 3 Enterprise Edition too - back in the day. But after that mess and slow/silent death I didn't trust Borland much. That's when I made the move to primarily using open source development tools (already mentioned above) and I could leverage almost all my existing Delphi and Kylix code bases. Only in the last year have I moved back to Delphi (XE3) for the current job I'm in. I sorely miss the open source tools - a lot more stable and I could contribute back, customise and fix IDE annoyances easily.
Graeme Geldenhuys FWIW, I had Kylix PRO (I got is as part of Delphi bundle), and I was interested to use it. But I never even installed it because IDE had to run on Linux.
ReplyDeleteWhile things have changed since then, and having cross-platform IDE would certainly be a plus, Delphi developers are still mostly Windows crowd. At the moment (and more than a moment) investing in cross-platform IDE would be a wasteful move.
I think someone should write an IDE add in to allow FPC to be used as the compiler toolchain. Being able to switch back and forth between FPC and Delphi would help component and library vendors maintain and enhance their source code targeting both compilers. Thoughts?
ReplyDeleteLarry Hengen The IDE is already there. You can call another compiler, but will it compile the code? I commonly compile the same pascal and c source at the same time from different compilers, just not UI code (for the most part anyway).
ReplyDeleteDalija Prasnikar > Delphi developers are still mostly Windows crowd.
ReplyDeleteAnd that crowd is so damn small in the global developer space. Does EMBT only want to play with that little drop in the bucket, or do they want to attract new developers and new platforms and new/larger revenue streams?
I guess they are happy to keep locking the current crowd in (aka milking the cow 'till its dry). The current crowd seem just to happy to keep paying monthly, and not get much in return - keeping EMBT afloat. :-/
Graeme Geldenhuys It is not about the need to bring new developers to Delphi. It is about taking the most viable path to get there.
ReplyDeleteLike I said, cross-platform IDE would be nice to have, but before that there are so many other more important things on their to-do list that also have potential for expanding user base.
In other words, there is still plenty of fish to catch in the Windows pond.
Lars Fosdal I personally miss anonymous methods the most in FPC.
ReplyDeleteFor the rest, since fpc is non-arc on Linux, it is probably more compatible with existing Delphi code than the original...
Dalija Prasnikar We had Kylix too and were quite excited about it. Until we discovered it couldn't communicate with MSSQL, which instantly made it uninteresting for us.
ReplyDeleteJoe C. Hecht I only wonder what will happen when Embarcadero implements FMX on Linux. Then there will be two competing implementations.
ReplyDeleteArthur Hoornweg Yeah, I also depend on anon methods a lot.
ReplyDelete