Recent

Author Topic: Contemporary Pascal Discussion  (Read 12644 times)

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11352
  • FPC developer.
Re: Contemporary Pascal Discussion
« Reply #30 on: April 12, 2021, 10:37:05 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?

Same as the language popularity contests bit, I replied to Warfley.  Big ticket features on the box that are talked about and used as upgrade reason, and what people actually use it for differ vastly in reality.

And usually the real reasons are boring. Legacy, done investments, not enough business of an uniform kind to justify costly and complex migrations. (*)

They have been harping on about portability for ages now, but I rarely see people use it, and if they do it is pretty peripheral (e.g. a subset app for a few OS X users), and the shared source principle is strenuous to say the least, specially longer term.

Ninety percent of the people that I know use VCL, and while they sometimes played with other targets and there is an occasional OS X project, most of it is just Windows.

With the mandatory subscription there is even less of a connect between features and reason for upgrading.

(*) I actually convinced my boss last Friday to allow to prepare a C++ (and then specifically MSVC MFC) migration over several years. But then we landed a big order today, so the time got cut for practical reasons before I even started. Again. Ah well, no sales is worse :-)
« Last Edit: April 12, 2021, 10:57:32 pm by marcov »

MarkMLl

  • Hero Member
  • *****
  • Posts: 6647
Re: Contemporary Pascal Discussion
« Reply #31 on: April 12, 2021, 10:42:11 pm »
There appears to be a significant effort to bash Pascal in C/C++/C# circles.

And there's an unacceptable amount of C denigration (can I use that word these days?) in the Pascal community.

"We're not having that in the compiler, it's too C-like".

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

skalogryz

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2770
    • havefunsoft.com
Re: Contemporary Pascal Discussion
« Reply #32 on: April 12, 2021, 10:50:05 pm »
And usually the real reasons are boring. Legacy, done investments, not enough business of an uniform kind to justify costly and complex migrations. (*)
Legacy

The biggest reason on unsuccess of Embarcadero's Oxygen. (it's not compatible with Delphi and there's no "easy migration")

The biggest problem for C++ language. The language cannot become slim as it has to support all the old features together with new features as well.
There's no "automated" tool to port the old code into new standards.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11352
  • FPC developer.
Re: Contemporary Pascal Discussion
« Reply #33 on: April 12, 2021, 11:16:07 pm »
And usually the real reasons are boring. Legacy, done investments, not enough business of an uniform kind to justify costly and complex migrations. (*)
Legacy

The biggest reason on unsuccess of Embarcadero's Oxygen. (it's not compatible with Delphi and there's no "easy migration")

Oxygen is Remobjects. I personally never understood the base premise to begin with. The best thing I could come up with is people with a twisted love-hate relation with .NET that on one hand wanted to conform, and on the other hand not.

Quote
The biggest problem for C++ language. The language cannot become slim as it has to support all the old features together with new features as well.

Well, one could argue that it is simply the fate of real general purpose languages. They stay for long and amass large bodies of code. Languages that are connected to one framework or application necessarily evolve with it, and old code is pointless.

Also see the link I replied to MarkMLI about string types and conversions. That is not top-down designed with a sober mind :-)

Quote
There's no "automated" tool to port the old code into new standards.

There rarely is. Conversion tools usually are only a help, and the best ones are not open. If your codebase is large enough and relatively uniform, having a specialized conversion company can be worth it though.

Rarely worth it for vision apps :-)

Warfley

  • Hero Member
  • *****
  • Posts: 1499
Re: Contemporary Pascal Discussion
« Reply #34 on: April 13, 2021, 12:51:16 am »
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.
The rankings I posted searched through every public project on github, these where no surveys of developers, this does literally measure what is used by people and not what people want to talk about.

As github is the largest open source platform by far I think it is fair to say that at least with repect to open source projects Pascal is not really popular


Quote
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.
Well, I actually remember a time where this actualy lead to a lot of confusion, this was back when JavaScript wasn't as prevalent as it is now and Java Applets where still used heaviely on the web. I was active in a general programming forum back then (2012ish) and there was at least once a week a question confusing the two

Blade

  • Full Member
  • ***
  • Posts: 177
Re: Contemporary Pascal Discussion
« Reply #35 on: April 13, 2021, 01:27:47 am »
...As github is the largest open source platform by far..

I remember reading an article that GitHub only is not a good judge of language popularity by itself.  Much more of Pascal content is pre GitHub era, and many projects are at SourceForge or on websites.  Where users of a programming language mainly get their content or solutions are relative, to include how they use it can be significantly different.  Comparisons need to be more comprehensive, and include many sources.

« Last Edit: April 13, 2021, 01:35:37 am by Blade »

PierceNg

  • Sr. Member
  • ****
  • Posts: 369
    • SamadhiWeb
Re: Contemporary Pascal Discussion
« Reply #36 on: April 13, 2021, 02:07:26 am »
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. :)

Pascal is not particularly better or worse in this aspect. Consider Smalltalk, another perenially dying language: Two dominant commercial vendors, some other niche commercial products, and several open source implementations, all unmistakeably Smalltalk, all different enough that code is not write once compile  anywhere. Experienced practitioners can and do move among the implementations. Nobody seems bothered that each implementation goes beyond the language standard in different ways.

Or Common Lisp, similarly two big vendors, some smaller niche vendors, and quite a few open source implementations.

Warfley

  • Hero Member
  • *****
  • Posts: 1499
Re: Contemporary Pascal Discussion
« Reply #37 on: April 13, 2021, 02:54:37 am »
I remember reading an article that GitHub only is not a good judge of language popularity by itself.  Much more of Pascal content is pre GitHub era, and many projects are at SourceForge or on websites.  Where users of a programming language mainly get their content or solutions are relative, to include how they use it can be significantly different.  Comparisons need to be more comprehensive, and include many sources.
Well, sourceforge is pretty dead, it hosts around half a million open source projects, github surpassed the 100 million mark in 2018. The latest number I could find was that around 1.3% of all sourceforge projects where Pascal projects (in 2013), meaning 65 thousand projects, this would make up 0.00065% of all github projects. Haskell, which is on place 25 makes up 0.39%.
So I think it is fair to say that SF does not make a dent in the numbers.

That said, SF is also stagnating with regards to the project numbers, meaning even if SF was really big and Pascal would be a major share of these projects, this would still only mean that pascal was very prominent in the past. And this isn't even surprising, around D7 times, Delphi was really big.
But today there are simply more programmers than ever, just look at these numbers, in 2009 around SF was with 200k projects considered really big, now this is less than a percantage of GitHub. I don't even think that Pascal is actually declining in usage in absolute numbers, but it is not growing as much as other languages.

What should be kept in mind is that these numbers are of course only Open Source projects, and what I think plays a major role is that OpenSource is simply not so big in the Pascal Community as it is in other development communities. It feels like the concept of non FOSS "freeware" is much more prevalent than in other languages, but this is just a feeling and is really hard to check.

Not so long ago at my university, whenever I told someone I was programming in pascal like 70% of students simply did not know what Pascal is, and we are talking about computer science students, so the kind of people you would expect the most to know about this sort of stuff. From my own experience the only people I knew that used pascal where people who once worked with Delphi usually in a professional setting (i.e. by working in a company that used Delphi since D7 or even earlier and sticked to it), or people that used to learn programming in the 2000s or earlier (like me, I first came into contact with Delphi in like 2005ish). As I said, it's not that Pascal has a bad wrap, at least with the new generation of software developers, it is more that these people simply do not know about pascal, except maybe having heard the name once as one of these "ancient" languages (like Cobol or Algol).

Personally I don't believe Pascal is dead, far from it, but it is a niche language, which has it's solid userbase, maybe is even growing in absolute terms, but I don't think that it will ever compete with the big languages like back in the TP early Delphi days.
« Last Edit: April 13, 2021, 03:00:45 am by Warfley »

Blade

  • Full Member
  • ***
  • Posts: 177
Re: Contemporary Pascal Discussion
« Reply #38 on: April 13, 2021, 08:46:03 am »
Not so long ago at my university, whenever I told someone I was programming in pascal like 70% of students simply did not know what Pascal is, and we are talking about computer science students, so the kind of people you would expect the most to know about this sort of stuff. From my own experience the only people I knew that used pascal where people who once worked with Delphi usually in a professional setting (i.e. by working in a company that used Delphi since D7 or even earlier and sticked to it), or people that used to learn programming in the 2000s or earlier (like me, I first came into contact with Delphi in like 2005ish). As I said, it's not that Pascal has a bad wrap, at least with the new generation of software developers, it is more that these people simply do not know about pascal, except maybe having heard the name once as one of these "ancient" languages (like Cobol or Algol).

In looking at what is taught at schools, you have to be careful not to take the situation of one country (say the USA), and think it is the same for others.  Let's remember that the USA is the birth place of Unix (in terms of being built with C), and languages like; C, C++, C#, and Java.  These were pushed by huge world reach American companies like AT&T (back then), Microsoft, Sun (before Oracle), etc...  So it's no surprise how strong their influence is within the USA. 

However, South Africa, for example uses the Delphi dialect in their high schools and colleges.  They and many other countries have a more neutral perspective on programming languages, and can favor variants of Pascal because of its teaching value and design.  South Africa evaluated Java and other languages head to head, then choose Delphi for their high schools. 

https://www.techteachers.co.za/page/2/?s=delphi+exam
(South African use of the Delphi dialect in their schools)

https://youtu.be/cRLxaBnANQ4
(Teaching programming with Delphi dialect)

Not just South Africa either.  Some flavor of Pascal, Turbo Pascal (as free now), Object Pascal (Delphi, Lazarus, PascalABC, etc...) specifically is taught in various school systems throughout the world.  An example list: Russia, Ukraine, Turkey, Romania, Serbia, Czech, Belgium, Croatia, Bulgaria, Hungary, Italy, Jamaica, Libya, Moldova, Tunisia, Argentina, Costa Rica, Brazil...

Then in support of what is taught in the schools, you have many Pascal/Object Pascal/Delphi websites related to teaching the language.  It is definitely a base and situation from which Object Pascal can grow stronger, from school use to more generalized use.  This is why I also think an Object Pascal certification program can catch on and increase awareness.

http://pp4s.co.uk/
(Pascal Programming For Schools)

More recently, Turkey (2020) did the same thing as South Africa.  Evaluated several programming languages for their schools, then chose Delphi over the others.  Bought 1 million academic licenses from Embarcadero.

https://www.schoolinfosystem.org/2020/01/25/turkey-buys-delphi-licenses-for-an-estimated-one-million-students/
« Last Edit: April 13, 2021, 10:17:35 am by Blade »

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11352
  • FPC developer.
Re: Contemporary Pascal Discussion
« Reply #39 on: April 13, 2021, 09:36:19 am »
There appears to be a significant effort to bash Pascal in C/C++/C# circles.

And there's an unacceptable amount of C denigration (can I use that word these days?) in the Pascal community.

"We're not having that in the compiler, it's too C-like".

And how is that denigrating?

PascalDragon

  • Hero Member
  • *****
  • Posts: 5444
  • Compiler Developer
Re: Contemporary Pascal Discussion
« Reply #40 on: April 13, 2021, 09:50:34 am »
There appears to be a significant effort to bash Pascal in C/C++/C# circles.

And there's an unacceptable amount of C denigration (can I use that word these days?) in the Pascal community.

"We're not having that in the compiler, it's too C-like".

And we'll say similar about features that are too Java-like or too Python-like or too Whatever-like. The point is new features need to fit nicely into the Pascal feeling (and really extend the language) and more often then not the syntaxes of other languages (especially the "curly bracket" ones) simply do not.

Blade

  • Full Member
  • ***
  • Posts: 177
Re: Contemporary Pascal Discussion
« Reply #41 on: April 13, 2021, 10:10:49 am »
And we'll say similar about features that are too Java-like or too Python-like or too Whatever-like. The point is new features need to fit nicely into the Pascal feeling (and really extend the language) and more often then not the syntaxes of other languages (especially the "curly bracket" ones) simply do not.

Agreed.  Also, Niklaus Wirth clearly had a particular design for programming languages in mind.  Well-structured programs, with high readability and maintainability, that could be more easily understood, used, and taught.

Putting anything into the language because it's a fad/gimmick somewhere else or covers some deficiency of another language, may not fit Free Pascal or be an overall negative in the long term.  Maintaining the design principles and integrity of the language, by being careful and thoughtful about what gets integrated, is a good thing.

Warfley

  • Hero Member
  • *****
  • Posts: 1499
Re: Contemporary Pascal Discussion
« Reply #42 on: April 13, 2021, 10:54:40 am »
In looking at what is taught at schools, you have to be careful not to take the situation of one country (say the USA), and think it is the same for others.  Let's remember that the USA is the birth place of Unix (in terms of being built with C), and languages like; C, C++, C#, and Java.  These were pushed by huge world reach American companies like AT&T (back then), Microsoft, Sun (before Oracle), etc...  So it's no surprise how strong their influence is within the USA. 
It's not only what is tought, many languages are well known even though they aren't tought. In my country (Germany) most universities tech Java in the general programming class, C and Assembly as part of the operating system class and Matlab in math classes. But still most students know about C++, C#, JavaScript, Python or PHP.
Of course being shoved down students throats helps to make students aware of them, but some languages manage be well known without this

Blade

  • Full Member
  • ***
  • Posts: 177
Re: Contemporary Pascal Discussion
« Reply #43 on: April 13, 2021, 11:01:54 am »
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.

I do think there is something to this.  The list of old Pascal books is very extensive for teaching basics.  Not to mention that some of the contemporary Pascal/Delphi ebooks and electronic manuals are quite thorough in terms of covering basics.  There are also a significant number of well established Pascal/Delphi teaching websites too (for example- http://www.delphibasics.co.uk/). 

Pascal is just simply an easier language to learn, when we are talking basics, so I think its users have less need for Stack Overflow.  Quality answers can also be found in books and Pascal/Delphi specific websites (https://wiki.freepascal.org/ is very much included).  If people get deeply stuck, they are more likely doing some very advanced stuff.  If they are near or at professional level, those people tend to read.  They are likely to buy books, actually dig deep into the reference manuals, or do extensive research.

If you dig deep enough and use the correct search terms, even YouTube can be a valuable resource as well.  The issue is how Pascal, Object Pascal, and Delphi are often treated as different search terms with varying results. 

The way that people use and get their information about a programming language can be very different.  So, Stack Overflow can be way more of a resource for a particular language, and not so much for another.  That's why I think one has to be careful in how usage is evaluated.
« Last Edit: April 13, 2021, 11:12:30 am by Blade »

ASBzone

  • Hero Member
  • *****
  • Posts: 678
  • Automation leads to relaxation...
    • Free Console Utilities for Windows (and a few for Linux) from BrainWaveCC
Re: Contemporary Pascal Discussion
« Reply #44 on: April 14, 2021, 06:53:44 pm »
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.

I saw this play out in real-time when Delphi 1 came on the scene, and my good friend, who was a stellar VisualBasic developer, took an immediate liking to Delphi.  He essentially became an evangelist of it.   Our mutual boss, however, was a big Microsoft/VB proponent, and he made it hard for us to move forward with Delphi.  My friend basically had to do significant work on his own time to make better apps or migrate our existing apps to Delphi to show how much better, and faster they were, without all that run-time foolishness.

Bossman finally relented.  Grudgingly.  But he never bought into the support and training that was needed for our team, and always assumed that Delphi would go the way of the Dodo at some point.   My friend eventually went on to another org where he introduced them to Delphi and led a team managing software development.

There has definitely been an active disinformation campaign against Pascal for years.  Even many people who don't know the language, know about (and, sadly, in some cases support) the hatred from the C/C++ community in particular.

If finding corporate support for Lazarus/FPC were easier, there could *potentially* be a great deal of good that could result from this.  Potentially.
-ASB: https://www.BrainWaveCC.com/

Lazarus v2.2.7-ada7a90186 / FPC v3.2.3-706-gaadb53e72c
(Windows 64-bit install w/Win32 and Linux/Arm cross-compiles via FpcUpDeluxe on both instances)

My Systems: Windows 10/11 Pro x64 (Current)

 

TinyPortal © 2005-2018