Recent

Author Topic: Age old question: Why doesn't ObjectPascal/Delphi get proper recognition?  (Read 2090 times)

kveroneau

  • Jr. Member
  • **
  • Posts: 53
It almost seems like it's popular for developers and engineers to hate on the Pascal language and it's derivatives.  Why is that?  I see a heck of a lot of negative press online, when in many regards what I am seeing in Delphi as revolutionary!  Take this video from the official embarcadero YouTube channel showcasing the powerful feature set of Delphi XE7:  https://www.youtube.com/watch?v=tbk0QT48w8w

Watching this video, I was awe struck in just how powerful Delphi actually is.  I have always used FPC/Lazarus, and never really bothered to check what extra features Delphi gave.  This is absolutely extraordinary!  I can't say that I have seen any development environment able to pull off such a feat like creating a single "responsive form" and having it perfectly scale on iOS, Android, tablets, and various desktop OSes.  Using the exact same codebase no less.  What other compiled language can tout this as a feature?  None that I can currently think of...  Yet, ObjectPascal/Delphi is the black sheep of the developer community, where it is constantly hated upon at every corner of the Internet.  Are people just this sour because they regret taking years to learn perhaps an inferior language which takes much more work to achieve the same results?  Or is this just a lack of proper marketing from Embarcadero?  I am really confused, as this seems like a really powerful piece of development software that should be looked at as a viable competitor to languages like Java and C#.  I am also located in North America, so perhaps it is marketed and much more popular in Europe, and is more widely used there.

Oh, and after watching that Delphi XE7 showcase video, I am honestly tempted on purchasing a copy for myself.  I am a Linux developer, but I still want to support the innovation and evolution of such a great software product.  And if I can make developing truly cross-platform native applications that will also run on iOS and Android, I'd have no issues moving my development over to Mac OS X just for those features alone.  I feel like the Delphi community should be more vocal about how powerful Delphi actually is, and state the facts when comparing Delphi to other similar products.  I think Delphi could have a huge impact on our Millennial population, as young people these days love "instant gratification", and ObjectPascal compile times are near instant, unlike some competing languages.  It also provides support for all the platforms millennials care about, iOS and Android.  If Embarcadero can create a marketing campaign solely targeted at the young developer demographic, they have the potential to be the next big thing.

Small update:  So, price could be a reason on why it hasn't become popular.  I checked the price hoping for something in $200-$300 range for a "Professional edition", the price is well above $1,000.  I don't see many small mobile or start-up shops paying that much for a development tool when they can use a different language for each app(iOS/Android/Desktop).  I see that there is also a community edition, can anyone enlighten me on how crippled this might be when compared to the Professional edition?  Are there distribution limitations, can it only be used for creating open source software, and most of all, can it still generate apps for all the same devices?
« Last Edit: March 21, 2019, 12:22:31 am by kveroneau »

440bx

  • Hero Member
  • *****
  • Posts: 795
Small update:  So, price could be a reason on why it hasn't become popular.  I checked the price hoping for something in $200-$300 range for a "Professional edition", the price is well above $1,000.
Keep in mind that, at one time, Pascal/Delphi were very popular.  Now, as you've mentioned, the price, very likely, has something to do with the loss of popularity.

One problem Delphi has and, it is a big one, it's development is driven by the financial interests of a single company.  It is not driven by a desire to make the compiler ever better (that is, among other things, generate tighter/smaller and faster code, yes, that is very important.)

using FPC v3.0.4 and Lazarus 1.8.2 on Windows 7 64bit.

Ñuño_Martínez

  • Hero Member
  • *****
  • Posts: 903
    • Burdjia
You know, Delphi lost the multi-platform train time ago.  While in Borland, they released Kylix but instead of work on it they abandoned.  I think that was the first big mistake Borland committed.  After that, all wrong:  raise prices, sold the products badly, new owners committed even more mistakes...  Embarcadero is trying to fix it now but they have lost the point and it's hard to get it again.

Also, there were a lot of people that used the "Pascal is a toy language to learn only" and the way the compiler is configured by default (to build debug versions, not release versions) to increase the "black legend".
Are you interested in game programming? Join the Pascal Game Development community!
Also visit the Game Development Portal

asdf121

  • New member
  • *
  • Posts: 35
I see that there is also a community edition, can anyone enlighten me on how crippled this might be when compared to the Professional edition?  Are there distribution limitations, can it only be used for creating open source software, and most of all, can it still generate apps for all the same devices?
Look at the overview: https://www.embarcadero.com/products/delphi/product-editions
Would say every platform except Linux works with Community Edition. (afaik Linux support is brand-new)
The limitation is that you're not allowed to earn more than 5000USD with your programs iirc.
Even the limitation like 'Build database apps with client/server connectivity' can be bypassed with open source frameworks :)

Also, there were a lot of people that used the "Pascal is a toy language to learn only" and the way the compiler is configured by default (to build debug versions, not release versions) to increase the "black legend".
This might be true for the 'old' guys but young people/students won't know this as Java/Python is teached nowadays...

There should be some better (modern) documentation/modern website styles and people should stop writing code which also works with ancient versions of Delphi/FPC. Write code with generics, design a modern look of the GUI, get familiar with newer APIs, use GitHub instead of old sourceforge (also for the FPC devs... :P) etc

CCRDude

  • Sr. Member
  • ****
  • Posts: 490
The limitation of the community edition is not really restricted to 5k USD "with programs", but for the whole company.

The multi platform thing sounds great, but it does not include native UIs - it's all FireMonkey and OpenGL afaik.

kveroneau

  • Jr. Member
  • **
  • Posts: 53
That is some great insight, thank you for all your input.

The multi platform thing sounds great, but it does not include native UIs - it's all FireMonkey and OpenGL afaik.
I thought the video did mention that the compiled program will have a native look-and-feel on all platforms, perhaps I misheard.  It is still convenient to take a full desktop program as they displayed in the video and click a single button to see it running on either Android or iOS, that was really impressive.

Would say every platform except Linux works with Community Edition. (afaik Linux support is brand-new)
The limitation is that you're not allowed to earn more than 5000USD with your programs iirc.
Even the limitation like 'Build database apps with client/server connectivity' can be bypassed with open source frameworks :)
Linux support, at least for console apps for them shouldn't be too far off, as they are building Android shared library files and using the Linux API to an extent with their current Android support.  Not sure how they will implement the Linux support, but Lazarus is perfectly fine with it's Linux support, so I'm not really complaining here.  I'd mainly want to use Delphi for it's iOS and Android app development, as I really dislike programming in Java, and Android Studio kinda requires you to use Java.

This might be true for the 'old' guys but young people/students won't know this as Java/Python is teached nowadays...

There should be some better (modern) documentation/modern website styles and people should stop writing code which also works with ancient versions of Delphi/FPC. Write code with generics, design a modern look of the GUI, get familiar with newer APIs, use GitHub instead of old sourceforge (also for the FPC devs... :P) etc
I currently use Python as my primary language on Linux when I don't need any cross-platform support.  I also don't use Python to create GUI apps, just web, console, and socket apps.  I have been using Lazarus for any cross-platform programming and of course for GUI apps, as it works wonderfully at that.

I use BitBucket for source code, and have a program or two in ObjectPascal there.  Another issue why I can see languages like Delphi/ObjectPascal are in a bit of a decline.  I am not sure really how popular the creation of Desktop apps is these days when say compared to the 90s when desktop application development was at it's peak.  While I personally prefer a nice response desktop application over a clunky and bandwidth heavy Web 2.0 app, the world doesn't share my view and a lot of new development is more on the web rather than the Desktop, and in other cases going into the cloud.  Look at Google's recent announcement, even high-end gaming is going into the cloud at one point, and AAA games will be played through a Chrome Browser...  In the eyes of a lot of development shops who create public consumer software, the age of Desktop applications are dead and not as profitable as Web 2.0 apps.  I am rather saddened by this realization.  The only local programs I tend to use these days are ones I either make myself, computer games, and software development kits.  Everything else is in my web browser.  We're back to the days of "thin clients" haha

lucamar

  • Hero Member
  • *****
  • Posts: 1483
[...] a lot of new development is more on the web rather than the Desktop [..] even high-end gaming is going into the cloud at one point, and AAA games will be played through a Chrome Browser [...] The only local programs I tend to use these days are ones I either make myself, computer games, and software development kits.  Everything else is in my web browser.  We're back to the days of "thin clients" haha

Dont you believe it. Quite a lot of so called "web" applications consist simply of bucketfulls of JS downloaded (and cached) to your browser and only call the web to retrieve some ads to show you. They can in fact be classed as desktop programs which just happen to use as interpreter (and the platform facilities of) a program called "browser". As for "thin" clients ... let's see how "thin" a client must be to run a full-scale Gecko/WebKit client.

People keeps talking of "web" apps and "web 2.0" and "this-is-the-next-generation-thing" but I've not seen any diminution on the demand of more or less classical "desltop" apps. Even Android users go and install an APK from the GoogleStore rather than use their browser. It's all point-of-view, I guess.
Turbo Pascal 3 CP/M - Amstrad PCW 8256 (512 KB !!!) :P
Lazarus 1.8.4 & 2.0.2 w/FPC 3.0.4 on:
(K|L)Ubuntu 12..16, Windows XP SP3, various DOSes.

ASBzone

  • Full Member
  • ***
  • Posts: 225
  • Automation leads to relaxation...
    • BrainWaveCC Utilities
Dont you believe it. Quite a lot of so called "web" applications consist simply of bucketfulls of JS downloaded (and cached) to your browser and only call the web to retrieve some ads to show you. They can in fact be classed as desktop programs which just happen to use as interpreter (and the platform facilities of) a program called "browser". As for "thin" clients ... let's see how "thin" a client must be to run a full-scale Gecko/WebKit client.

 ;D
-ASB: https://www.BrainWaveCC.com

Lazarus v2.0.3 r61159 / FPC v3.2.0-beta-r42011 (via FpcUpDeluxe) -- Windows 64-bit install w/32-bit cross-compile
Primary System: Windows 10 Pro x64, Version 1809 (Build 17763.379)
Other Systems: Windows 10 Pro x64, Version 1803 or greater

Ñuño_Martínez

  • Hero Member
  • *****
  • Posts: 903
    • Burdjia
Also, there were a lot of people that used the "Pascal is a toy language to learn only" and the way the compiler is configured by default (to build debug versions, not release versions) to increase the "black legend".
This might be true for the 'old' guys but young people/students won't know this as Java/Python is teached nowadays...
I know, but young people ask old guys and old guys tell to young people that Pascal is a toy language to learn only, so young people learn that too.
Are you interested in game programming? Join the Pascal Game Development community!
Also visit the Game Development Portal

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 7007
Small update:  So, price could be a reason on why it hasn't become popular.  I checked the price hoping for something in $200-$300 range for a "Professional edition", the price is well above $1,000.
Keep in mind that, at one time, Pascal/Delphi were very popular.  Now, as you've mentioned, the price, very likely, has something to do with the loss of popularity.

Less than you think. Most of the popularity was based on educational licenses. Trouble is that Pascal got pushed out of education (mostly by Java). Quite often with a "make the education more market focused" argumentation.

Also more and more free tools came on the market.  Borland, as standalone small company (compared to say "MS") couldn't compete with the Microsofts and Suns etc giving development tools for free and pouring vast sums into them. (In the early 2000s during the dotcom boom, MS gave free desktop versions of Studio (price +/- $250-500) to everybody registering for a .NET course which cost $30 at worst, and often you got free invitations for them).

In that period the Visual Studio was not coincidentally fixated on exactly 3/4th of the Delphi price. 

Such things totally killed the market for paid bulk development products, and Borland simply didn't (and doesn't) have other business that can fund the development branch at a loss because it is needed "for the platform"

Worse, Delphi had its main customer base in Europe, and the slowly globalizing IT trend was more and more dictated by the US IT giants.

Borland certainly made mistakes:

  • a bit complacent. Often jumping on hypes that wouldn't last
  • money earned with Delphi was used to fund failed new products (java, BOLD/ECO, .NET, various enterprise concepts) with low investment directly back into the product itself for nearly a decade (d5-D2006/7)
  • Pricing could have been better. I think they gave up cheap licensing to early, which might have cut losses, it also raised an enormous barrier to entry
  • Recently, not allowing continuous updates, requiring subscription and full price from versions older than a few years

But all in all, I think the end result wouldn't have mattered. The forces working against them (globalization of IT trends, and commoditization of development tools) would have reduced their spot to virtually the same. And while the above points could have slowed things a bit, they could also have accelerated the delay (e.g. because certain bets wouldn't pay off and lead to acute financial problems and much worse cuts)

The only real different outcome would have been if some other very major company snapped them up in the 97-03 period, but that might also have profoundly changed the product. (changed to whatever the focus of that company was at that point). This probably didn't happen because Borland was involved with patent litigation with Microsoft (over structured exception handling), and it was relatively expensive because back then still prosperous.

A short hope was that Embarcadero (originally a DB company) would increase the overall product, but after one major development sport (that yielded D2009-XE3), that subsided and it became a business to

Once the influx starts shifting, it is a matter of time.
« Last Edit: March 22, 2019, 12:46:03 pm by marcov »

tudi_x

  • Hero Member
  • *****
  • Posts: 528
Why doesn't ObjectPascal/Delphi get proper recognition? 

Because no enterprise today would use Object Pascal / Delphi software:
- Object Pascal - anemic RAD web solution / footprint, no reliable web server solution in standard library, no use of GIT as yet
- Delphi - awful IDE, pricey

Check also the new kid on the block: https://proton-native.js.org/#/

« Last Edit: March 22, 2019, 12:59:06 pm by tudi_x »
Lazarus 2.0.0 64b on Debian LXDE 9.8

440bx

  • Hero Member
  • *****
  • Posts: 795
Less than you think. Most of the popularity was based on educational licenses. Trouble is that Pascal got pushed out of education (mostly by Java). Quite often with a "make the education more market focused" argumentation.

Also more and more free tools came on the market.  Borland, as standalone small company (compared to say "MS") couldn't compete with the Microsofts and Suns etc giving development tools for free and pouring vast sums into them. (In the early 2000s during the dotcom boom, MS gave free desktop versions of Studio (price +/- $250-500) to everybody registering for a .NET course which cost $30 at worst, and often you got free invitations for them).
There are obviously quite a few reasons, some of which you pointed out, why Pascal/Delphi lost its popularity. 

Of course, one can only speculate but, I'm not convinced that MS' giveaways of studio had much of an impact, though it probably had some.  At one time, MS even had to create a Pascal compiler to compete with Borland.

I believe the problem is a combination of the following (and likely a few others):

1. Borland was not really interested in making the language genuinely better.  They were interested in tacking on features they thought would be profitable even if those features introduced problems/ambiguities in the language.

2. Borland didn't promote the standardization of the language.  On the contrary, they bastardized it for financial gain.  They turned Pascal into a competitor to VB (that's why BOOL sets true to -1, to be compatible with VB - such a "useful" feature.)  Back in the days of Turbo Pascal, Pascal was a worthy competitor to C (at least on MS-DOS), that is definitely not true today (on any platform.)  FPC is a much better choice as a replacement for C/C++ than Delphi.

3. They took way too long to introduce "basic" features such as support for 64bit integers, unsigned 32bit types, initialized local variables, 64bit code generation and many others.  Not to mention that they found nothing better to do than force some of their choices down their customer's throats e.g, you will eat our Unicode chars whether you like it or not, if you don't you have to go through all of your code and change the pchars to pansichars - no doubt everyone looked forward to that.

4. While MS was lowering the price of VS (to the point that it is now basically free for those who don't need support), Borland steadily increased the price of Delphi, nowadays I find it surprising that there are people who pay over $1000.00 for that language.

Unfortunately, all of those problems and, there are more, reflected on Pascal as a language.  That's very unfortunate.

Even more unfortunate is that Pascal, as a language, simply doesn't know where it's going.  Contrast that with C++, there is an active standards committee investing a significant amount of talent and brainpower to make the language better with every release.  Unless I am mistaken, the last Pascal standard is the ISO standard from 1990, that's almost 30 years. I know new standards take some time to develop but, 30 years is suspiciously long.

FPC suffers from that.  There is no clear direction - other than being Delphi compatible - for the language. 

At this point, FPC is likely to do more to keep Pascal alive than Delphi can and will.






using FPC v3.0.4 and Lazarus 1.8.2 on Windows 7 64bit.

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 7007
Why doesn't ObjectPascal/Delphi get proper recognition? 

Because no enterprise today would use Object Pascal / Delphi software:
- Object Pascal - anemic RAD web solution / footprint, no reliable web server solution in standard library, no use of GIT as yet
- Delphi - awful IDE, pricey

Check also the new kid on the block: https://proton-native.js.org/#/

Your reasoning doesn't explain history. Even if I would agree with it.

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 7007
I believe the problem is a combination of the following (and likely a few others):

1. Borland was not really interested in making the language genuinely better.  They were interested in tacking on features they thought would be profitable even if those features introduced problems/ambiguities in the language.

Well this is the investments bit that I already named. But  I don't think it would have mattered much. Language is only small part of the package, and I think even that most of the  reasons were not technical.   

Borland was already in decline while MSVC was vastly inferior. Before say VS2005, the Delphi offering was still way more productive than the .NET 1.1 or MFC solutions that VS packed.

Something that gradually changed with VS 2005 and .NET 2 for the .NETties, but MS push for .NET meant another handful of years before MS would focus on native again (not a picknick for C++ MFC app programmers either)

Quote
2. Borland didn't promote the standardization of the language.  On the contrary, they bastardized it for financial gain.  They turned Pascal into a competitor to VB (that's why BOOL sets true to -1, to be compatible with VB - such a "useful" feature.) 

It was the dominant convention when the winapi was invented. VB only copied that.  C99 only made inroads way after 2003, and even later on non open source unix, when the systems we are talking in this discussion were already established for a decade or longer.

Quote
Back in the days of Turbo Pascal, Pascal was a worthy competitor to C (at least on MS-DOS), that is definitely not true today (on any platform.)  FPC is a much better choice as a replacement for C/C++ than Delphi.

Same problem IMHO, no big backer. Even smaller even. But nobody said FPC should go after the corporate market.

Standardizations are IMHO vastly, vastly overrated.  Successful standards only happen in exception circumstances,  when there is an oligopoly of large vendors, and/or some large customers (like US government/military) force languages on vendors. And basically that means C and C++, and the rest failed or is window dressing at best.
Also qualitywise most of the those are not worth the paper they were written on.

The only thing is that maybe Borland would have developed with a longer futureproof outlook if there was a standard. But you don't need a standard for that, just some management sanity.

Quote
3. They took way too long to introduce "basic" features such as support for 64bit integers, unsigned 32bit types, initialized local variables, 64bit code generation and many others.  Not to mention that they found nothing better to do than force some of their choices down their customer's throats e.g, you will eat our Unicode chars whether you like it or not, if you don't you have to go through all of your code and change the pchars to pansichars - no doubt everyone looked forward to that.

x86_64 only started emergency at the end of the decisive period 2000-2005, the unicode stuff much more. But by then the influx of new customers had already dried up, and they kept everything compatible in the hope to seduce people to upgrade. However that backfired (not enough innovation) so with D2009 they had to do something drastic

Quote
4. While MS was lowering the price of VS (to the point that it is now basically free for those who don't need support), Borland steadily increased the price of Delphi, nowadays I find it surprising that there are people who pay over $1000.00 for that language.

True, but that is a result of MS not needing the money like Borland did.   Getting cheaper would only have motivated MS to make it wholly free, and what are you then going to do as paid-for company?

Quote
Unfortunately, all of those problems and, there are more, reflected on Pascal as a language.  That's very unfortunate.

The problem is that the whole reflection is an amalgam of sentiments. From old Unix hurts to teenagers were forced to do 16-bit pascal when 32-bit C++ was more l33t.

I already answered the standards bit. I don't buy it for one bit, and I think language reasons are the least important ones anyway, let alone trivialities like standards (otherwise VB6 would never have been the most popular language in the world).

The absence of standards is just a stick C/C++ use in their argumentation, because that is one thing that is ok beyond discussion in that world. If the situation would be the other way around, we'd make fun of all the funny little characters in C and C++ syntax, and then conclude that any language without a module system is stone age and was declared dead in 1995 too.


 

lucamar

  • Hero Member
  • *****
  • Posts: 1483
Standardizations are IMHO vastly, vastly overrated.  Successful standards only happen in exception circumstances,  when there is an oligopoly of large vendors, and/or some large customers (like US government/military) force languages on vendors. And basically that means C and C++, and the rest failed or is window dressing at best.

Hear, hear!. Witness what are, probably, the two most (only?) sucessful evolving language standards of all times: COBOL and Ada. :)
Turbo Pascal 3 CP/M - Amstrad PCW 8256 (512 KB !!!) :P
Lazarus 1.8.4 & 2.0.2 w/FPC 3.0.4 on:
(K|L)Ubuntu 12..16, Windows XP SP3, various DOSes.