Recent

Author Topic: Contemporary Pascal Discussion  (Read 5205 times)

Blade

  • Full Member
  • ***
  • Posts: 105
Contemporary Pascal Discussion
« on: April 11, 2021, 07:31:10 am »
[TOPIC split from Beginning Pascal]

Contemporary with what? >:-)

Of course I can't be speak for the OP, but my impression from various forums and the Internet is there is a odd and big disconnect between Pascal, Object Pascal, and Delphi in the minds of casuals.  There is also a lot of negative propaganda from C/C++/C# circles against Pascal specifically.  To include referring to old papers from Brian Kernighan, which do not reflect modern dialects of Pascal/Object Pascal, but used to bash Pascal anyway.  There is also no mention of Pascal/Object Pascal's various advantages over C, C++, and C#. 

Many casuals would have no idea that Delphi is just a product name, and the programming language is Object Pascal.  Nor would many realize that Pascal became Object Pascal.  This fragmented or limited awareness, can lead many thinking that Pascal is some old dead language, whose last incarnation was Turbo Pascal, or something like that.

I'm quite shocked to see people, some self-proclaimed experienced programmers included, who act like they can't do proper Internet searches (at the very least), and don't know about the evolution of Pascal to Object Pascal and then the various IDEs and compilers out there (which there are many).  A quick look at the wikipedia for Pascal (programming language) and Object Pascal should give people a clue (as the language has been evolving), but it seems a lot of people glance over that.

Oddly, YouTube (Google), appears to be doing something strange when it comes to searching for Pascal (programming language).  They might be putting their foot on the scale (algorithm) for corporate reasons or something is going on that doesn't make sense and doesn't happen in searches for other programming languages.  You will get a lot of these slick ignorant videos of "dying languages" or "don't learn these languages" in the results, thus giving a negative impression of Pascal.  In addition, search for Pascal/Object Pascal/Delphi, and get lots of videos for C#, C++, or Java in your search or suggestions.  Which is a bit disturbing, considering the list of Pascal/Object Pascal/Delphi videos are quite considerable to not do that.  Also, according to the controversial TIOBE index, Object Pascal/Delphi is ranked #12 (as of April 2021).  That is, Object Pascal/Delphi is ranked above Go, Kotlin, or Dart (Swift, Ruby, Julia, MATLAB, and other notables).  But, if the person doesn't specifically direct their YouTube search for Object Pascal or know that Delphi's programming language is Object Pascal, then they can be confused or unaware as to what is going on with the language in modern times.

Hopefully, the list of books and links we gave, should be quite helpful and informative about where contemporary Pascal/Object Pascal is at.
« Last Edit: April 12, 2021, 12:24:32 am by trev »

MarkMLl

  • Hero Member
  • *****
  • Posts: 2693
Re: Contemporary Pascal Discussion
« Reply #1 on: April 11, 2021, 01:08:33 pm »
@Blade I think you've summed things up very nicely there, and I'd definitely echo your point about "the experienced" apparently being totally inept when it comes to using Google and Wp intelligently... to the extent that a lot of questions on the Internet (not just relating to Pascal) are indistinguishable from truculent trolling.

I think the bottom line is that Object Pascal as a *language* hasn't changed that much since the Glory Days of Delphi. OK, it's gained generics and various syntactic sugar but by and large those are things of limited relevance to somebody looking for introductory material.

The *targets* have changed a lot, with the rise of webapps and Android-based devices, and the *implementations* have obviously changed with the rise of cross-platform Lazarus challenging Delphi's limited portability.

But OP specifically asked about Pascal, i.e the *language*... although I have obviously invited him to clarify that. And if he's asking about the language without qualifying it then from our POV he might be a rank tyro with no understanding of variables and control structures, in which case if there were an outstanding book from the UCSD or early Turbo Pascal era he would be unwise to exclude it as obsolete.

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

silvestre

  • Jr. Member
  • **
  • Posts: 63
Re: Contemporary Pascal Discussion
« Reply #2 on: April 11, 2021, 01:19:47 pm »
An excellent and synthetic text on some key issues in the field of pascal object language knowledge.

Surely companies like Embarcadero with financial resources available, should dedicate a small team to shed light on these old ignorances by updating forums and old entries that are relevant to internet searches, and which so many sadly take as true.


Contemporary with what? >:-)

Of course I can't be speak for the OP, but my impression from various forums and the Internet is there is a odd and big disconnect between Pascal, Object Pascal, and Delphi in the minds of casuals.  There is also a lot of negative propaganda from C/C++/C# circles against Pascal specifically.  To include referring to old papers from Brian Kernighan, which do not reflect modern dialects of Pascal/Object Pascal, but used to bash Pascal anyway.  There is also no mention of Pascal/Object Pascal's various advantages over C, C++, and C#. 

Many casuals would have no idea that Delphi is just a product name, and the programming language is Object Pascal.  Nor would many realize that Pascal became Object Pascal.  This fragmented or limited awareness, can lead many thinking that Pascal is some old dead language, whose last incarnation was Turbo Pascal, or something like that.

I'm quite shocked to see people, some self-proclaimed experienced programmers included, who act like they can't do proper Internet searches (at the very least), and don't know about the evolution of Pascal to Object Pascal and then the various IDEs and compilers out there (which there are many).  A quick look at the wikipedia for Pascal (programming language) and Object Pascal should give people a clue (as the language has been evolving), but it seems a lot of people glance over that.

Oddly, YouTube (Google), appears to be doing something strange when it comes to searching for Pascal (programming language).  They might be putting their foot on the scale (algorithm) for corporate reasons or something is going on that doesn't make sense and doesn't happen in searches for other programming languages.  You will get a lot of these slick ignorant videos of "dying languages" or "don't learn these languages" in the results, thus giving a negative impression of Pascal.  In addition, search for Pascal/Object Pascal/Delphi, and get lots of videos for C#, C++, or Java in your search or suggestions.  Which is a bit disturbing, considering the list of Pascal/Object Pascal/Delphi videos are quite considerable to not do that.  Also, according to the controversial TIOBE index, Object Pascal/Delphi is ranked #12 (as of April 2021).  That is, Object Pascal/Delphi is ranked above Go, Kotlin, or Dart (Swift, Ruby, Julia, MATLAB, and other notables).  But, if the person doesn't specifically direct their YouTube search for Object Pascal or know that Delphi's programming language is Object Pascal, then they can be confused or unaware as to what is going on with the language in modern times.

Hopefully, the list of books and links we gave, should be quite helpful and informative about where contemporary Pascal/Object Pascal is at.

440bx

  • Hero Member
  • *****
  • Posts: 2362
Re: Contemporary Pascal Discussion
« Reply #3 on: April 11, 2021, 02:24:27 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.)

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.

When someone looks at that situation, they cannot be blamed for perceiving Pascal as a dead language and, for the most part, in the industry, it is dead. 

The question posed in this thread underlines the situation.  Object Pascal in Delphi is different than Object Pascal in FPC.  Object Pascal in GPC is long dead and,  Apple which at one time was a "Pascal shop" abandoned the language long ago.  Which "flavor" (to put it kindly) of Pascal is a beginner supposed to learn ?... if you ask in this forum, the answer will be FPC and, if you ask someplace else, the answer will be different.

Contrast that with C (which even today is a rather sorry programming language) and the majority of compilers available support a fairly recent standard which means, a beginner can learn GPC and "move" to MSC or Intel C will little effort.  That's not the case with current flavors of Pascal.

Sad to say all that because I love Pascal but, its future is very limited and likely going to get more limited as time goes by.


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

Blade

  • Full Member
  • ***
  • Posts: 105
Re: Contemporary Pascal Discussion
« Reply #4 on: April 11, 2021, 02:28:52 pm »
Surely companies like Embarcadero with financial resources available, should dedicate a small team to shed light on these old ignorances by updating forums and old entries that are relevant to internet searches, and which so many sadly take as true.

Actually, I think Borland/Embarcadero added to the confusion.  It appears they tried to pull a fast one, where they would differentiate their product from Pascal/Object Pascal.  Thus they pushed Delphi real hard and as if a different programming language.  However, this backfired.  This is because a single product is not going to compare to the totality of a programming language with many products.  Being part of Object Pascal has strength, you then are comparable to C#, C++, Java, etc...

For instance, PyCharm is a popular IDE for Python, but it can't compare to Python as a whole nor in the consumer awareness of casuals.  If PyCharm fails or losses in popularity, people don't think Python has disappeared too.  You now can come out with some other product for Python, because it's still popular.  If people think PyCharm is it's own language, it causes confusion and won't necessarily help the cause over the long run.  If casuals think the "PyCharm language is dead", then it likely losses any consideration when they are choosing which language to use.  Pushing the programming language of your product, helps sales.

As it stands now, Embarcadero/Idera should definitely fight harder to push the Object Pascal language into consumer awareness.  By doing so, you establish the benefits and advantages of using the language, and then spur user demand for your product.  Because if Object Pascal dies, so does demand for Delphi.  Where I give Embarcadero/Idera some credit is maintaining their academic and school outreach.  Putting Delphi into schools and into the next generation hands is the right path.  If anything, crank that up a notch.

However, it seems Embarcadero/Idera wants to straddle the fence as much as possible.  Put their foot on whichever side of the fence (programming language) that looks good at the moment.  So despite them being known mainly for Delphi, they will get behind C++, C# (.NET) again if they could, or whatever if it looks like they can make a quick buck.  This thinking and strategy has mostly failed Borland and Embarcadero.  C++ Builder (or whatever other language builder) will likely never replace Delphi in consumer mind share, because that is what they are known for.  If anything, the success of C++ Builder is linked to and because of Delphi, and how things are done there.  Also, if you don't cultivate grass root support for the product you are known for, then it's like shooting a hole in your own foot.  When demand dries up, it will be much harder to sell those very expensive licenses.

MarkMLl

  • Hero Member
  • *****
  • Posts: 2693
Re: Contemporary Pascal Discussion
« Reply #5 on: April 11, 2021, 02:44:45 pm »
Frankly I don't think that Embarcadero (or whatever their name de jour) gives a damn. I believe that they bought the technology since it was their chosen development tool, and some in the company might even consider having other developers use it to be a threat to their flagship product line.

There's precedent: JPI/TopSpeed imploded because "something of questionable legality" happened in the USA, and as a result it was absorbed by Clarion who were probably their biggest individual customer. I believe that Clarion is still using derivatives of the same software, but they have no interest at all in selling it to anybody else.

It might be that the fact that Lazarus/FPC is modestly successful, i.e. indicating that there is still a measure of interest in Object Pascal wider than just Delphi, is enough to convince Embarcadero that they can't just drop Delphi since doing so would lead their shareholders to ask why they've cut off a modest revenue stream.

MarkMLl
Turbo Pascal v1 on CCP/M-86, multitasking with LAN and 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: 105
Re: Contemporary Pascal Discussion
« Reply #6 on: April 11, 2021, 02:52:17 pm »
Contrast that with C (which even today is a rather sorry programming language) and the majority of compilers available support a fairly recent standard which means, a beginner can learn GPC and "move" to MSC or Intel C will little effort.  That's not the case with current flavors of Pascal.

Sad to say all that because I love Pascal but, its future is very limited and likely going to get more limited as time goes by.

I agree with you about the standards issue, but part of the rest I will have to disagree.  Other programming languages have issues moving between IDEs/compilers too.  Using C/C++ in Visual Studio and then GCC, can be problematic depending on what you are doing.  Though there isn't a recent official Object Pascal standard, the different flavors do somewhat synchronize with Delphi's flavor.  Enough so, that jumping to or between different IDEs/compilers is doable.  The flavors of the language are similar enough.  In fact, the differences can be an advantage, depending on what the person wants to do.  Many people on this forum have jumped between different IDEs, or have used say Delphi material or sites for mastering the fundamentals of Object Pascal before using Free Pascal/Lazarus (which makes this easier with compatibility modes). 

I also think that Object Pascal has a bright future.  That there are several IDEs/compilers out there is a reflection of it.  If a person knows Object Pascal, they can adjust to say PascalABC's or Oxygene's flavor of the language (or those users to Free Pascal's flavor), if there is something in particular that they want. 
« Last Edit: April 11, 2021, 03:00:39 pm by Blade »

Blade

  • Full Member
  • ***
  • Posts: 105
Re: Contemporary Pascal Discussion
« Reply #7 on: April 11, 2021, 02:57:12 pm »
It might be that the fact that Lazarus/FPC is modestly successful, i.e. indicating that there is still a measure of interest in Object Pascal wider than just Delphi, is enough to convince Embarcadero that they can't just drop Delphi since doing so would lead their shareholders to ask why they've cut off a modest revenue stream.

I definitely think that if Embarcadero makes a false step or drops Delphi, there will be a flood over to Free Pascal/Lazarus.  In addition, Free Pascal/Lazarus success has helped prop up Delphi, because of consumer awareness of the language in general and since there is compatibility.

pathfinder

  • New Member
  • *
  • Posts: 16
Re: Contemporary Pascal Discussion
« Reply #8 on: April 11, 2021, 03:15:13 pm »
Quote
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.

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

Quote
I also think that Object Pascal has a bright future.


Unfortunately, not in the commercial world it doesn't. 
« Last Edit: April 11, 2021, 03:24:16 pm by pathfinder »

Blade

  • Full Member
  • ***
  • Posts: 105
Re: Contemporary Pascal Discussion
« Reply #9 on: April 11, 2021, 03:59:24 pm »
Unfortunately, not in the commercial world it doesn't.

1st, if Embarcadero/Idera or RemObjects (and some others) were losing money, they would have dropped Delphi and Oxygene long ago.  And not talking existing/past customers, they have to sustain a level of growth.

2nd, the benchmark is not that Object Pascal has to match the top 10.  Go, Kotlin, Dart, Swift, Rust, etc... are not in the top 10 either, but nobody thinks their languages are "failures" because they aren't or try to press home a false narrative that they have no future. 

Nor have those languages ever been at or near the top, like Pascal, Object Pascal, and Delphi have.  In regards to Pascal and variants, we are talking about a language that has maintained significant momentum for over 50 years.  A considerable achievement that few languages can say have done better.  As we speak, TIOBE (controversy aside) has Object Pascal/Delphi ranked at #12.  There are a whole lot of languages below it.  Funny, don't hear people claiming all those lower ranked languages have "no commercial future".

Blade

  • Full Member
  • ***
  • Posts: 105
Re: Contemporary Pascal Discussion
« Reply #10 on: April 11, 2021, 04:26:21 pm »
But OP specifically asked about Pascal, i.e the *language*... although I have obviously invited him to clarify that. And if he's asking about the language without qualifying it then from our POV he might be a rank tyro with no understanding of variables and control structures, in which case if there were an outstanding book from the UCSD or early Turbo Pascal era he would be unwise to exclude it as obsolete.

I agree with you that many of the old Pascal books have significant value for learning the basics and fundamentals.  If a person is starting from say zero (don't know if that is the OP's situation), jumping straight to OOP and generics is not doable.  Not to mention, part of the point of Pascal, was that it's easier to learn.  It can be a much more enjoyable experience and less frustrating getting up to speed with it.

You can take many of those older quality Pascal books and learn everything up to say basic algorithms and record data types.  Then from around there, you now can jump into the modern Pascal dialects with OOP and the newer goodies.  And even with just the basics/fundamentals (lets put this line at say arrays and records), there is whole lot a person can do.
« Last Edit: April 11, 2021, 04:52:54 pm by Blade »

y.ivanov

  • Full Member
  • ***
  • Posts: 125
Re: Contemporary Pascal Discussion
« Reply #11 on: April 11, 2021, 04:45:47 pm »
I agree with you that many of the old Pascal books have significant value for learning the basics and fundamentals.  If a person is starting from say zero (don't know if that is the OP's situation), jumping straight to OOP and generics is not doable.  Not to mention, part of the point of Pascal, was that it's easier to learn.  It can be a much more enjoyable experience and less frustrating getting up to speed with it.

IMHO, the 'classic' Pascal is an irreplaceable tool for learning programming as a first PL. I'm personally feeling lucky that long ago I've started with Pascal and a copy of 'Algorithms + Data Structures = Programs'. Then, I moved to C/C++ and whatever. Never participated in so called 'flame wars', Pascal vs C, JavaVM vs CLR, SQL vs NoSQL, etc. Everything has it place when your mind is 'structured' at the very beginning  ;)

Regards,

440bx

  • Hero Member
  • *****
  • Posts: 2362
Re: Contemporary Pascal Discussion
« Reply #12 on: April 11, 2021, 09:47:11 pm »
Using C/C++ in Visual Studio and then GCC, can be problematic depending on what you are doing.
but that's true when the programmer chooses to use extensions that are specific to an implementation.  If the programmer sticks to one of the C standards, moving from one C compiler to another is usually fairly simple.  That cannot be said of Pascal because Delphi's object Pascal is not a standard and Delphi's object Pascal is riddled with contradictions and inconsistencies that would not survive in a bona fide standard.

Enough so, that jumping to or between different IDEs/compilers is doable.  The flavors of the language are similar enough.
Yes, it's doable but, when dealing with "real programs" it is not simple and making a single source to compile and execute successfully with the various flavors can only be done when limiting oneself to the lowest denominator.  IOW, a lot of useful features in one implementation or another have to be left unused. 


I also think that Object Pascal has a bright future.
I really hope you're right.  I'd love to see Pascal being as popular as it was in the days of Turbo Pascal 3 & 4 but, I honestly don't see that happening any time soon.

If a person knows Object Pascal, they can adjust to say PascalABC's or Oxygene's flavor of the language (or those users to Free Pascal's flavor), if there is something in particular that they want.
There is no doubt that adjusting to one flavor or another is possible but, not having a capable and portable definition across platforms is a very significant problem.  That's what C and C++ gives programmers and the industry and, it's quite likely that is a very significant portion of their success (same with Java.)

Pascal needs a "northstar".
FPC v3.0.4 and Lazarus 1.8.2 on Windows 7 64bit.

ASBzone

  • Hero Member
  • *****
  • Posts: 613
  • Automation leads to relaxation...
    • Free Console Utilities for Windows (and a few for Linux) from BrainWaveCC
Re: Contemporary Pascal Discussion
« Reply #13 on: April 11, 2021, 10:18:18 pm »
As we speak, TIOBE (controversy aside) has Object Pascal/Delphi ranked at #12.  There are a whole lot of languages below it.  Funny, don't hear people claiming all those lower ranked languages have "no commercial future".

Overall, you have articulated well in your posts, and I largely agree with your points.

I do believe that there is an anti-Pascal sentiment that exists, but there is one other thing to consider.    There may still be quite a few people quietly using Pascal who are not performing internet searches with the regularity of other languages, and thus depriving the planet of those kinds of flawed metrics.  :)
-ASB: https://www.BrainWaveCC.com/

Lazarus v2.0.13 r64843 / FPC v3.2.1-r49055 (via FpcUpDeluxe) -- Windows 64-bit install w/Win32 and Linux/Arm cross-compiles
Primary System: Windows 10 Pro x64, Version 2009 (Build 19042)
Other Systems: Windows 10 Pro x64, Version 2009 (Build 19042) or greater

lucamar

  • Hero Member
  • *****
  • Posts: 4009
Re: Contemporary Pascal Discussion
« Reply #14 on: April 11, 2021, 11:08:53 pm »
There may still be quite a few people quietly using Pascal who are not performing internet searches with the regularity of other languages, and thus depriving the planet of those kinds of flawed metrics.  :)

IMHO Pascal is in that category of languages for which most of its users are fairly advanced and need rather less "help", or more specialized than what the general web (including stackoverflow) offers, so we are not quite as visible as others.

Think, say, of COBOL programers (which are still legion), or RPG, or even Fortran. When I was programming in COBOL, the last place I went for help was Google or SO; a couple posts in Usenet and/or specialized forums (or even a couple phone calls) found way better answers to my questions and much more quickly :)

But those, of course, are not used when indexes like TIOBE are generated.

ETA a funny anecdote: I was once in an observatory for some software-related thing or other and in the middle of our talk a guy in a lab coat entered and asked something like: "how did you call that function for the trajectory of blackish oblong-shaped bodies crossing the heliosphere?". He was writing a Fortran program running on an RS6000. Those people, clearly, don't Google: they just walk to the next lab room and ask :D
« Last Edit: April 11, 2021, 11:21:02 pm by lucamar »
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.

 

TinyPortal © 2005-2018