Recent

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

440bx

  • Hero Member
  • *****
  • Posts: 3946
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.
The thing that standards show is industry-wide support for the language and that is very important.  It also gives a starting point for any company to develop a compiler for that language.  It shows involvement and interest from many parties instead of just one.

Few companies will take the risk of developing mission critical software with a language that is supported by one and only one company.  It just isn't good business. 

Another example of standards making a difference is DWARF.  The DWARF "standard" is very C/C++ centric.  The latest version of DWARF is basically a result of the need to define debugging symbols to cater to C++ features.  As I'm sure is obvious to the FPC developers, DWARF leaves quite a bit to be desired when it comes to supporting the debugging requirements of the Pascal language.

Borland supported their product (Delphi), they didn't support the language.  That had a lot to do with Pascal losing the popularity it once had.

You're right, in addition to not supporting the language, Borland made quite a few other bad business decisions that contributed to make the situation worse. 

It's a combination of many reasons.  The Pascal language ended up paying the price for Borland's many mistakes.







(FPC v3.0.4 and Lazarus 1.8.2) or (FPC v3.2.2 and Lazarus v3.2) on Windows 7 SP1 64bit.

tatamata

  • Hero Member
  • *****
  • Posts: 787
    • ZMSQL - SQL enhanced in-memory database
Why not dreaming lead in technology advancement instead of mourning for past?
I might be subjective and definitely not competent to judge, but isn't there a huge opportunity for Lazarus/FreePascal to become a bleeding edge tool for web database-driven applications, if Lazarus/FreePascal core development team focuses attention onto developing pas2js widgetsets?
TMS Web Core, Elevate Web Builder, Smart Mobile Studio and similar commercial projects clearly demonstrated technical feasibility of such venture.
If such effort would take place in reasonable time, this might sky rocket Pascal into mainstream again.
EDIT: Proposal: Maybe we should found a donation/pledge site for this endeavor. Personally, I am willing to donate small amounts of money periodically, for this to become reality.
« Last Edit: March 22, 2019, 05:40:18 pm by tatamata »

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Hear, hear!. Witness what are, probably, the two most (only?) sucessful evolving language standards of all times: COBOL and Ada. :)

So how many standards compliant ADA compilers are there? 

There are probably a handful Delphi clones alone. (Delphi itself of course, not counting derivatives like Delphi.NET and Kylix, Free Pascal, Virtual Pascal,  Pocketstudio, pascalscript etc etc)

Pascal has two free and open source compilers, GNu Pascal and Free Pascal. So how many does ADA got. And Cobol?

lucamar

  • Hero Member
  • *****
  • Posts: 4219
Pascal has two free and open source compilers, GNu Pascal and Free Pascal. So how many does ADA got. And Cobol?

Very few, but there are some: GNU Ada (gnat) & COBOL, GWADA, some DOS and Win32 COBOL compiler called, imaginatively "COBOL for DOS/Windows", and a couple or three more whose names elude me ATM. I know of at least two or three for each of the main platforms: Windows, Linux/BSD, MacOS.

Then there are the almost COBOLs and "quasi-Ada"s out there, but those don't count ;)

Make an experiment, if you're on Linux: open your package manager and search for COBOL/Ada. For example, one of the finds mine yields (not exactly a "compiler" but...):
Quote
OpenCOBOL implements substantial part of the COBOL 85 and COBOL 2002 standards, as well as many extensions of the existent compilers.
OpenCOBOL translates COBOL into C and compiles the translated code using GCC.

But the question, really, is not how many free compilers exists but whether the existing compilers, free or otherwise, are generally "standard". And the answer, with COBOL and Ada, is that most, if not all, are. They simply have to be or they wouldn't be used: that's why I said that their standards are the most succesful. Not the language themselves: the standards.
Turbo Pascal 3 CP/M - Amstrad PCW 8256 (512 KB !!!) :P
Lazarus/FPC 2.0.8/3.0.4 & 2.0.12/3.2.0 - 32/64 bits on:
(K|L|X)Ubuntu 12..18, Windows XP, 7, 10 and various DOSes.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
But the question, really, is not how many free compilers exists but whether the existing compilers, free or otherwise, are generally "standard".

Question for whom? A few computational old-timers that recycle seventies and eighties banking codebases, or upgrade US carriers?

Most of the cobol standard revival came from the y2k revival, more than from normal use, which is another example of how standards only seem to thrive in non-standard conditions. And the ADA special case was already sideways mentioned in the original message. It is not a consensus standard, but one originally dictated by the US military. No paperwork, no contract.

Standards are often vague and ambiguous on purpose, and the standard libraries tiny to irrelevant.

If the bulk of the codebases doesn't work with compilers dialects (either because of implicit assumptions, or simply because they predate standards or their common usage)  or libraries, than what is the point?

Take a Delphi and take a Lazarus, and see how many components can be recompiled, library dependencies (on VCL/LCL) and everything. See cross compiler packages like VST, Indy.

Not standard, but just works to a very high level.

lucamar

  • Hero Member
  • *****
  • Posts: 4219
Marco, don't you see that we are in agreement there? My comment above was intended to exemplify the validity of your own
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.
which is clearly demonstrated by seeing that the most "successful" standards are COBOL and Ada.

Am I advocating COBOL? Ada? Standards? Of course not! I just showed examples of what you said.

Enough about this. See you all tomorrow! :)
Turbo Pascal 3 CP/M - Amstrad PCW 8256 (512 KB !!!) :P
Lazarus/FPC 2.0.8/3.0.4 & 2.0.12/3.2.0 - 32/64 bits on:
(K|L|X)Ubuntu 12..18, Windows XP, 7, 10 and various DOSes.

440bx

  • Hero Member
  • *****
  • Posts: 3946
Standards are often vague and ambiguous on purpose, and the standard libraries tiny to irrelevant.
I find it interesting that you basically berate standards yet, you openly support the presence of some bugs in FPC by claiming that the behavior is undocumented.   That's what standards are for, to prevent using "undocumented behavior" as a way to justify the presence of bugs in a compiler.

FPC has a handful of those and, it doesn't even matter that Delphi, C/C++ and just about any other correctly implemented language does it right, those FPC bugs get swept under the "undocumented"/"undefined territory" rug.

Standards provide needed guidance to the implementors.  That said, it is often true that a standard leaves some things undefined, that's the reason they evolve (that is, for a language that is alive) to plug those oversights/omissions.



(FPC v3.0.4 and Lazarus 1.8.2) or (FPC v3.2.2 and Lazarus v3.2) on Windows 7 SP1 64bit.

 

TinyPortal © 2005-2018