Recent

Author Topic: Contemporary Pascal Discussion  (Read 12707 times)

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: Contemporary Pascal Discussion
« Reply #15 on: April 11, 2021, 11:09:39 pm »
I believe the main problem with Pascal as a language is that there is no standard pascal.  The last standard dates back to 1982 (or 1990 if you include a standard that went nowhere.)

IMHO standards are there to unify vendors that want to standardize, usually for big US government contracts in the Unix sphere(where applications are traditionally delivered in source code). Pascal was not one of them after the eighties, and to be frank few others have been since Ada.

Some older ones, like the standards body of C and C++ have become self propelling entities, while some extremely languages like C# and Java remain one vendor only (with sometimes a few satellites), and it hasn't braked them one bit.

If the lack of standards signifies anything, then it is the lack of fat government contracts in the eighties :)

« Last Edit: April 11, 2021, 11:16:34 pm by marcov »

440bx

  • Hero Member
  • *****
  • Posts: 3946
Re: Contemporary Pascal Discussion
« Reply #16 on: April 12, 2021, 12:27:14 am »
IMHO standards are there to unify vendors that want to standardize, usually for big US government contracts in the Unix sphere(where applications are traditionally delivered in source code).
But, it's not just that.  When an employer is looking for a programmer, if the programmer is well-versed in the current language standard then that programmer will quickly become productive.

With Pascal it's a different story, a programmer well versed in the last Pascal standard has a long ways to go to become proficient in FPC or Delphi.  Not to mention all the cases that are "undefined territory" in the current implementations which are traps for a programmer.

A programming language needs a formal definition to make it in the industry and real interest from highly qualified language designers to improve the language over the years.

Today, the Pascal language has no direction.  Whatever Embarcadero/idera/whoever dreams of, is it, whether good or bad.

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

MarkMLl

  • Hero Member
  • *****
  • Posts: 6676
Re: Contemporary Pascal Discussion
« Reply #17 on: April 12, 2021, 10:00:32 am »
IMHO standards are there to unify vendors that want to standardize, usually for big US government contracts in the Unix sphere(where applications are traditionally delivered in source code). Pascal was not one of them after the eighties, and to be frank few others have been since Ada.

Pascal might have been hurt by the assumption that it would be replaced by Modula-2, standardisation of which was marginally more successful than that of Pascal.

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: Contemporary Pascal Discussion
« Reply #18 on: April 12, 2021, 02:06:20 pm »
IMHO standards are there to unify vendors that want to standardize, usually for big US government contracts in the Unix sphere(where applications are traditionally delivered in source code).
But, it's not just that.  When an employer is looking for a programmer, if the programmer is well-versed in the current language standard then that programmer will quickly become productive.

Recent standard knowledge can be used to test if the programmer hasn't been asleep at his desk for the last 15 years, but there are many  other things you can ask. You don't need a standard for that.

Quote
With Pascal it's a different story, a programmer well versed in the last Pascal standard has a long ways to go to become proficient in FPC or Delphi.  Not to mention all the cases that are "undefined territory" in the current implementations which are traps for a programmer.

Yeah, which is why you ask about recent Delphi or FPC versions and extensions. Same goal. But not a reason for a standard.

Quote
A programming language needs a formal definition to make it in the industry and real interest from highly qualified language designers to improve the language over the years.

A formal description of some sort can be an help to implementers. But there must be implementers to begin with, and usually there are not.  As said, the C/C++ case is a historic exception that became self propelling.

Quote
Today, the Pascal language has no direction.  Whatever Embarcadero/idera/whoever dreams of, is it, whether good or bad.

I agree somewhat, but a standard would change nothing there wrt popularity. What you need is a big wealthy patron or Cause célèbre.

You are confusing origin and effect of the standards. They are there because C was popular and inherently multi vendor from the start, because Unix was like that because AT&T couldn't capitalize on it due to the conditions of the Bell competition breakup process. And then suddenly your apps need to be portable only on source level, rather than a binary standard (though AT&T tried to change that with the IBCS standard).

Without multiple vendors chomping at the bits, such reasoning is futile.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: Contemporary Pascal Discussion
« Reply #19 on: April 12, 2021, 02:12:31 pm »
IMHO standards are there to unify vendors that want to standardize, usually for big US government contracts in the Unix sphere(where applications are traditionally delivered in source code). Pascal was not one of them after the eighties, and to be frank few others have been since Ada.

Pascal might have been hurt by the assumption that it would be replaced by Modula-2, standardisation of which was marginally more successful than that of Pascal.

I don't know. The situation is quite complex.  But I think the main problem is that the Pascal standardization didn't cater for dialects on micros (UCSD and later TP, which came out in the year of Pascal Ansi standardization), which in the end mostly won out. Probably it was simply too mainframe centric (keep in mind Pascal originated on CDC and was popular on Burroughs).

I think the M2 case is mostly sterile, an early attempt that got some following, but the problems usually start with later iterations. I always found most standards discussions in c.l.m2 to be counterproductive

MarkMLl

  • Hero Member
  • *****
  • Posts: 6676
Re: Contemporary Pascal Discussion
« Reply #20 on: April 12, 2021, 02:28:55 pm »
@Marcov as you say the situation is complex. But even in the 80s (the original standard was 1983) I got the impression that it wasn't taken particularly seriously... apart from anything else there were (IIRC) still holes in its I/O specification which could have been the result of trying to fit it to disparate architectures (record-based mainframes vs stream-based minis).

I recall very little interest in it on Burroughs kit. One of the American universities had a compiler and patched their MCP to raise additional exceptions (nil pointers being identified by the otherwise-unused tag 6 IIRC) but by and large derivatives of the Burroughs-supplied ALGOL were dominant. Wirth left Stanford before actively working on Pascal so their B5500 wasn't really relevant, Pascal was available on the B20 (single-user UNIX) and I think that there was something UCSD-like on the Modular Terminals that they introduced in the early 80s... and that was about it as far as I know. One or two research compilers but I don't think they had particularly wide use.

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

Blade

  • Full Member
  • ***
  • Posts: 177
Re: Contemporary Pascal Discussion
« Reply #21 on: April 12, 2021, 02:52:44 pm »
I believe the main problem with Pascal as a language is that there is no standard pascal.  The last standard dates back to 1982 (or 1990 if you include a standard that went nowhere.)

There was an intent to update the standard in 1993, but there was a perceived lack of interest, so it never went any farther.

True (there was a technical committee), but I don't know if it was necessarily a lack of interest that a standard didn't come out, but maybe lack of vendor buy-in as to what the committee was doing.  For instance at that time Borland already had released Turbo Pascal 6, which had its own take on OOP.  Think Pascal (popular back then) was in conflict over Apple's implementation of Object Pascal.  The committee was proposing things like multiple inheritance, which can be very problematic.  So what the committee was proposing might not have been something that various vendors wanted or they could have taken issue with it.  I suppose more research on that has to be done for clarification.

http://www.pascal-central.com/OOE-stds.html#sect-6.3.2
(Object-Oriented Extensions to Pascal, Technical Committee X3J9)

Some older ones, like the standards body of C and C++ have become self propelling entities, while some extremely languages like C# and Java remain one vendor only (with sometimes a few satellites), and it hasn't braked them one bit.

I also agree with Marcov, that people don't seem to get hot and bothered by C# and Java.  C# was last "standardized" by the ISO in 2003.  Appears Sun just said, "Screw it!", and went down their own path.

The bottom line is, there is no group of language experts dedicating time to improving and refining the language.  What there is, is a company (a Borland descendant) which will add any quick gimmick they can think of in order to get money from their customers.  That's no way of designing a programming language.

As for the direction that Borland/Embarcadero often goes down, I agree with you about "any quick gimmick they can think of in order to get money".  Which sadly appears to degrade the quality of Delphi.

In regards to standardizing Object Pascal in these times, looks like a difficult hill.  Each of the vendors are trying to differentiate their product in some way (for example Oxygene and PascalABC are dancing with .NET), so buy-in looks hard.  I think one of the few ways to push buy-in would be to get Niklaus Wirth back involved, but he has diverted a lot of his attention elsewhere to his other "children" languages.  Object Pascal was also conceived by Apple (look up Larry Tesler), with consolation from Wirth, but Apple passed the baton to Borland/Embarcadero.  Which brings us right back to how would you get different vendors to support the standard.

Possibly another way forward is through Free Pascal/Lazarus creating their own certification exams.  It would do at least 3 things.  1) Help fund Free Pascal/Lazarus like books sales do. 2) Spark the interests of casuals, enthusiasts, students, and those wanting to make career changes.  3) Promote more Object Pascal awareness in the job and commercial market.

It can initially be something along the lines of what w3schools or the Embarcadero Delphi Certified Developer exam is doing.  These are not exams done under a professional proctor (exception being Delphi Master Developer), but taken over the Internet from a web server.  In the case of w3schools, they have a kind of "verifier", who is a person the exam taker submits as a witness or endorser (and their name is on the certificate).  Embarcadero has 2 levels, regular developer and master developer.  Level 1 is no professional proctor.  Level 2 (master developer), must have a professional proctor, but appears to be a lot of hassle must be done to make arrangements.  Probably either of these testing patterns (w3schools or Embarcadero), could initially work for the Free Pascal/Lazarus foundation.  Maybe at some point, Embarcadero could join in with a vendor neutral Level 1 Object Pascal exam, then Level 2 could be more vendor specific.
« Last Edit: April 12, 2021, 03:01:44 pm by Blade »

MarkMLl

  • Hero Member
  • *****
  • Posts: 6676
Re: Contemporary Pascal Discussion
« Reply #22 on: April 12, 2021, 03:24:19 pm »
Possibly another way forward is through Free Pascal/Lazarus creating their own certification exams.

(With a nod to whoever posted earlier about the desirability of simplifying things in order to solve problems.)

OTOH, that would have the effect of locking down the language, confirming the presence of things in the core which might be usefully moved into optional libraries or packages.

Please don't ask for examples there, or for a description of what compiler facilities exist to support moving stuff out of the core. It's intended as a hypothetical situation, but I think it's still germane to the discussion.

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

alpine

  • Hero Member
  • *****
  • Posts: 1038
Re: Contemporary Pascal Discussion
« Reply #23 on: April 12, 2021, 03:46:28 pm »
Don't you think that a survey should be made about the motives of those who switched to the FPC/Lazarus before considering how to promote it?
After all, the ones mentioned so far are just speculations.

Regards,
"I'm sorry Dave, I'm afraid I can't do that."
—HAL 9000

Warfley

  • Hero Member
  • *****
  • Posts: 1499
Re: Contemporary Pascal Discussion
« Reply #24 on: April 12, 2021, 09:21:05 pm »
I think what is often ignored when considering pascal is, how niche this language is.

Most people using FPC and Lazarus came from Delphi, and Delphi is only relevant in the corporate world. There are some interesting projects like this or this where all public github repositories are searched through and track the popularity of languages. Pascal does not make it in the top 50 list, and are behind languages like Puppy, Logos or Elixir, which I have never even heard of.

This results in a lot of people simply having never heard of pascal, while knowing about C#, Python and the other languages.
The problem therefore isn't that much of people not using pascal because they got dissuaded from using it, but rather they don't use it, because they simply do not know of it's existence.

Also, the whole terminology is kinda weird. So the language family is Pascal, which contains multiple versions like the standardized ISO pascal or Object Pascal. Object Pascal is also not really a language but a kind of sub family, Delphi and the language the FPC uses (mode objfpc), where I don't even know the proper name for, are different dialects of ObjectPascal, which are vastly different in many regards. Then besides the language there is also the development tools, you can say about branding what you want, but it was a smart move by embarcadero/Borland, who ever was in charge back then, to call everything, from the language to the IDE and buildsystem simply Delphi. We on the other hand have Lazarus, which is not only an IDE but also the main buildsystem, and package manager, and internally uses the fpc, which is a general Pascal compiler.
So you have people talking about Lazarus, or about Object Pascal or about FreePascal, all basically talking about the same thing with different terminology. When I have to google something pascal related, I often google 3 times, once "lazarus ..." then "fpc ..." and then "pascal ...", sometimes even "delphi ...". Some questions in this forum about visual components are directly addressing the LCL, others are framed as general pascal questions (case in point, look at how many questions about components are in the general subforum rather the LCL subforum).

Sure technically these things have all different meanings, but are often used interchangebly. How should an outsider get a picture of this, if there we (the Pascal community) can't even decide on a coherent vocabulary?

MarkMLl

  • Hero Member
  • *****
  • Posts: 6676
Re: Contemporary Pascal Discussion
« Reply #25 on: April 12, 2021, 09:49:24 pm »
Discounting BASIC (including a vast array of BASIC-like embedded scripting languages) I think the only language quite so fractured is LISP.

I speculated a few days ago (although possibly not in this thread) that the majority of working programmers probably hadn't been born at the time of Pascal's heyday, so assuming they've heard of it is unreasonable.

However they've definitely come across its legacy, even if they don't realise it.

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: Contemporary Pascal Discussion
« Reply #26 on: April 12, 2021, 10:14:04 pm »
I think what is often ignored when considering pascal is, how niche this language is.

Nonsense. It has a stronghold as a workhorse for an older audience, so it simply doesn't show up in these popularity contests focussed on fads. And even less so if they are US centric, having a historic stronghold in Europe.

It is also not a language in which applications are distributed in source to be integrated by somebody else, which generates a lot of noise from integrating.

You won't hear me arguing Pascal is the most popular language in the world, or even dispute that it is on the wane, but the view from these sad language-listings-by-google demonstrates more the fundamental problem with this way of ranking rather than prove something with the absence of Delphi or pascal.

Such ranking measures what is sexy, and what people want to talk about, rather than what they use.

In the mid 2000s .NET 2 came out everybody wanted to jump ship, and I have seen the colleagues categorically entering C# in surveys and blog about it, while they were only testdriving it, while Delphi brought home the bacon. In the early 2010s, I've seen them enter LAMP as platform, but ignoring that they actually did IIS+PHP+delphi backend.  They enter what they tinker with.

Yes, Delphi is only getting smaller, and yes, sometimes they in the end converted to those technologies. But not always, and sometimes in the end they converted to something else (which e.g. was not an IT darling, but a development system that somehow had a foodhold in their vertical market).

It is like dating sites. What people say online, and reality significantly diverges. Specially if you are in a unpopular category.

Quote
Most people using FPC and Lazarus came from Delphi, and Delphi is only relevant in the corporate world.

Odd. For my feeling Delphi is mostly one person shops or one person IT departments. Teams more often conform to IT trends (rightly so or not)

Quote
Also, the whole terminology is kinda weird. So the language family is Pascal, which contains multiple versions like the standardized ISO pascal or Object Pascal. Object Pascal is also not really a language but a kind of sub family, Delphi and the language the FPC uses (mode objfpc), where I don't even know the proper name for, are different dialects of ObjectPascal, which are vastly different in many regards.

By that measure we should have all refused javascript because of the horrible confusion it causes with Java. Stop dragging things into the discussion by the hairs.
« Last Edit: April 12, 2021, 10:19:17 pm by marcov »

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: Contemporary Pascal Discussion
« Reply #27 on: April 12, 2021, 10:16:17 pm »
Discounting BASIC (including a vast array of BASIC-like embedded scripting languages) I think the only language quite so fractured is LISP.

One dialect, one (Embarcadero) and a half(Free Pascal) vendor . I think most languages are more fragmented. :)

Sure, if you count all historic variants and a few far removed experiments like the various attempts to pascalize C# and Java's syntax you can get there.

But in reality, Borland dialects and compilers have been dominant for twice as long as many other mainstream languages exist. Aside from a marginally but measurable bunch of Turbo and Delphi clones (FPC included), the rest is noise only brought up in language debate.
« Last Edit: April 12, 2021, 10:17:53 pm by marcov »

MarkMLl

  • Hero Member
  • *****
  • Posts: 6676
Re: Contemporary Pascal Discussion
« Reply #28 on: April 12, 2021, 10:18:59 pm »
Odd. For my feeling Delphi is mostly one person shops or one person IT departments. Teams more often conform to IT trends (rightly so or not)

But if that's really the case how has Borland and its successors managed to keep going after investing GOK how much to make Delphi into an enterprise-level development tool?

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

Blade

  • Full Member
  • ***
  • Posts: 177
Re: Contemporary Pascal Discussion
« Reply #29 on: April 12, 2021, 10:23:20 pm »
This results in a lot of people simply having never heard of pascal, while knowing about C#, Python and the other languages.
The problem therefore isn't that much of people not using pascal because they got dissuaded from using it, but rather they don't use it, because they simply do not know of it's existence.

....How should an outsider get a picture of this, if there we (the Pascal community) can't even decide on a coherent vocabulary?

Seems to me that the different dialects have to rally around the Object Pascal label, to push language recognition.  In the more well known programming languages, vendors don't go around pretending their IDE/compiler is some different language or try to hide what it uses.  The creators of PyCharm are proud to call it a Python IDE, nor do they try to pass it off as the "PyCharm language".  They understand that pushing the programming language into the mind share of casuals will benefit them overall.

As far as dissuading people from using Pascal, I will have to disagree.  There appears to be a significant effort to bash Pascal in C/C++/C# circles.  It is something embedded into their culture and has roots back into numerous Pascal VS C published papers in the early 1980s. Arguably, Pascal was perceived as a threat or unwanted competition, and some of those dots connect back to AT&T (to include Bell Labs), where they had specific commercial interests and agendas.  And the huge mess between Microsoft and Borland that lead up to the creation of C# was as plain ugly as can be.

Possibly a good way to counter some of the brand confusion and/or gain more mind share among casuals and businesses is certifications.  This puts control of the story and explaining the benefits of Object Pascal in the hands of its community.  Pascal/Delphi already has a good reputation among many schools in various countries as an educational tool, so an Object Pascal certification could add to this.  If nothing else, it will spread greater awareness.
« Last Edit: April 12, 2021, 10:29:24 pm by Blade »

 

TinyPortal © 2005-2018