• Please review our updated Terms and Rules here

Status of Pascal

@CP/M User: why are you formatting the text of your messages to have a different font / style than the default? Here (on my side) it comes out as "extra small" which makes your messages hard to read.
 
@CP/M User: why are you formatting the text of your messages to have a different font / style than the default? Here (on my side) it comes out as "extra small" which makes your messages hard to read.

I don't know what you mean, I haven't touched any of the formatting, though I think what might of happened was because this forum tends to timeout before I can post a post, I need to copy the text, log back in and copy it. For some reason that might have something to do with it, though I don't know why. Because I'm using a Mac maybe?

EDIT: I didn't know what the default size is, so I altered it to the largest size.
 
Last edited:
Well I don't know, that post above this one looks completely normal to me, but the post you edited (previous page) now uses a gigantic font..

-Tor
 
Well I don't know, that post above this one looks completely normal to me, but the post you edited (previous page) now uses a gigantic font..

-Tor

I know because I managed to reply and then post it before the board could boot me out. I'm pretty sure it's when I type a lengthy message and I Copy and then have to Sign in again and Paste it in, the text looks a bit weird, though it still looks the same size on my computer.

It's done it to me again, so if this post looks weird, that would be the explanation, though I've tried to select the right size text (size 2).
 
Last edited:
Go into your preferences and turn off the stupid editor for a 'plain edit box'... or disable javascript.

I really HATE the stupid WYSIWYG crap on forums, BECAUSE most of the time it will mangle posts just as you describe. This is doubly true on the steaming pile known as vBulletin.
 
There were multiple C compilers that fit on early microcomputers. BDS could fit in 32K and I think some implementations of Small-C were similarly sized. I don't know of any early Pascal systems that worked with less than 64k. Certainly UCSD Pascal which I used the most was a tight squeeze on a 64k CP/M machine, was slightly better self-booting on a 64k system but was happiest when 128kB could be devoted to the P-system code.

Turbo Pascal would actually run on a CP/M-80 system with as little as 48Kb of memory and only took up 34Kb of disk space for the IDE. This included the standard library, editor and compiler. Its small size was great because it often meant that you could edit, compile and run your programs all from the same disk. Another advantage that Turbo Pascal had, from v3.0 onwards, was support for overlays, so with careful planning your application size was only limited by the capacity of the disk you were running it from. I have written more about this in an article: Turbo Pascal: A Great Choice For Programming Under CP/M.
 
Last edited:
Turbo Pascal would actually run on a CP/M-80 system with as little as 48Kb of memory and only took up 34Kb of disk space for the IDE. This included the standard library, editor and compiler. Its small size was great because it often meant that you could edit, compile and run your programs all from the same disk. Another advantage that Turbo Pascal had, from v3.0 onwards, was support for overlays, so with careful planning your application size was only limited by the capacity of the disk you were running it from. I have written more about this in an article: Turbo Pascal: A Great Choice For Programming Under CP/M.

It's just a pity it's only possible to generate CP/M programs with it. :(
 
It's just a pity it's only possible to generate CP/M programs with it. :(

If you keep away from operating specific commands and machine language then the programs will also compile on TP for CP/M-86 and PC/MS-DOS. If you do need machine language then you can just create an include file for each architecture. Finally if you need more operating systems such as Windows, Linux, Mac OS, the BSDs, etc, then FreePascal will compile the code with few alterations needed.
 
If you keep away from operating specific commands and machine language then the programs will also compile on TP for CP/M-86 and PC/MS-DOS. If you do need machine language then you can just create an include file for each architecture. Finally if you need more operating systems such as Windows, Linux, Mac OS, the BSDs, etc, then FreePascal will compile the code with few alterations needed.

Sorry, I was explaining my issue in more detail in the Podcast area. I've since gone back to programming for the 8bit system I have and was using Turbo Pascal to write programs on that, which is what my Website is, though I haven't been able to comprehend the library well enough to port it to the operating system. So I'm using another Pascal compiler for that System and so on....
 
I was reading an article somewhere, which had someone express why they didn't like Pascal. I'm pretty sure it wasn't "Real Programmers Don't Use Pascal", because the article was direct, I don't recall any reference to Fortran or Assembly and I think it was comparing Pascal with C.

What I found in the Pascal I use (Hisoft Pascal), which was something that came up in that article, is the nature of Fixed String Length, which was something this person was unhappy with. Unlike Turbo Pascal, Hisoft Pascal doesn't support strings, the next best thing is an Array defined as CHAR.
What I discovered recently with the Array, is a CHAR array must equal the length given, even if the text falls short within the size of the array. I don't remember Turbo Pascal being like this, though I don't recall doing much string handling in TP3. Hence what that dude was complaining about in the Article about Fixed Length.

Though I was wondering how C handles this, because it seems it would be more limited from a Compiler perspective. From Interpreted BASIC though I can simply define a string to a variable of any length and it's not fazed.
 
One of the limitations of Pascal as originally defined by Wirth was those fixed-length arrays.. you couldn't write a function to take a variable-sized array (including strings) as a parameter and do something, like e.g. printme (anystring);
Thus various implementations of Pascal extended the original language to support this and make it more useful. So Borland's Turbo Pascal is not just the name of the compiler, it's also the name of the language. The Pascals I used on some minicomputers used their own variant extensions to achieve the same.

C handles strings in a different way by letting all string handling functions look for a binary zero which indicates where the string ends. Technically all functions handling strings are passed an address to the first element, instead of the whole string. This goes for all array types, not only char arrays (strings).
 
I work at a company where Delphi is still used for the majority of projects.
I and several others are of the opinion that Delphi is a sinking ship, and we should abandon it in favour of better supported solutions.
The biggest problem with Delphi is that it is an island. That is, we often have to interface with systems from third-party suppliers, and they generally supply only headers and libraries for C/C++. Which means that we have to invest a lot of effort into making our own interoperability shims with Delphi everytime.
It gets even worse when customers ask us to support their hardware, eg Android or Linux devices.

With C/C++ or C#, you simply don't have most of these problems. Then there's the issue of Embarcadero being somewhat of a Don Quixote. They are a small company fighting against all these CPU architectures, trying to develop compilers. There's no way they can beat the performance and reliability of giants like Microsoft or Intel.
By rewriting key components in C/C++ we can use better compilers, and get significant performance boosts.
 
Since Turbo Pascal, Pascal can literally do everything C can do. Most of the time it does things simpler, but sometimes more complicated.

A lot of C users I've known over the years liked to cite how easy it is to type /* compared to BEGIN. Having typed BEGIN possibly a million times over the years, I can honestly say I can type it faster than /* or {.

High Speed Pascal for Amiga is a TP-alike that even outshines TP! Free Pascal isn't bad, but it's a far cry from the speed and efficiency of those two.

I will say, about the worst programming experience I can remember was Instant Pascal on the Apple //. It was anything "instant".

If I'm not writing 6502 assembly, I'm writing Pascal. In fact one of my long term goals is to write a TP-alike compiler that is more streamlined than TP from a syntax point of view. My original intent was to have an AmigaOS 4-native Pascal language with some improvements I've just always wanted to make. But since I can't run OS4 anymore I still intend to write it, someday.
 
I think the biggest factor that killed Pascal was when Sof-tech took over UCSD Pascal and increased the prices while letting the product stagnate. That removed Pascal as a major teaching language from schools. Then there was long lag before Turbo Pascal 4 came out in late 1987. The other Pascal compilers were dreadful and slow while early Turbo Pascal could only handle very small projects. After TP 4, Borland kept shooting themselves in the foot with multiple clunky object oriented redesigns causing much of the market to move to competitors.
 
I trace that fall from grace of Pascal to its early days in the 1970s. Wirth was distributing a Pascal compiler for the CDC 6000/Cyber 70 systems (copies of the source are on the web--I even have one). The thing that sticks out is that there's almost no I/O defined. Just simple readln/writeln to console. Right away, this gives you the impression that it's not a finished product and you lose people right there. In the 8-bit platforms, I toyed with Frank Borland's Pascal as well as that of JRT and I wasn't impressed with the code generation. Even Microsoft F77 seemed to do a better job. DRI's PL/I compiler was surprising in that much of the full language was implemented. But eventually, it pretty much came down to C or assembly (or PL/M if you had an Intel system). Various flavors of BASIC were also popular, particularly for business applications.

But it never seemed like Pascal (or Modula-2) ever gained a wide following.
 
Not that I was around at the time, but the impression I've always gotten was that by the time Pascal had been extended enough to be useful for anything, it had already gotten an inescapable reputation for not being useful for anything. Certainly TP was good enough to be a popular development platform in the days before high-quality C compilers for personal computers were available at anything less than institutional prices, but original-flavor Wirth has so many missing features and outright misfeatures (only an academic could come up with something as demented as making the size of an array part of its type) that it had already lost the battle for the hearts and minds of programmers by that point.
 
Not that I was around at the time, but the impression I've always gotten was that by the time Pascal had been extended enough to be useful for anything, it had already gotten an inescapable reputation for not being useful for anything. Certainly TP was good enough to be a popular development platform in the days before high-quality C compilers for personal computers were available at anything less than institutional prices, but original-flavor Wirth has so many missing features and outright misfeatures (only an academic could come up with something as demented as making the size of an array part of its type) that it had already lost the battle for the hearts and minds of programmers by that point.

Apple hired many programmers from UCSD where they learned on Pascal and adopted it as the base language for the Lisa and Mac. The IBM PC had its own range of early PC business applications written in UCSD Pascal. However, with the dropping of Pascal in academia in favor of cheap Unix with C, commercial development shifted over using C since it is cheaper to change compilers than to retrain college graduates.
 
One of the limitations of Pascal as originally defined by Wirth was those fixed-length arrays.. you couldn't write a function to take a variable-sized array (including strings) as a parameter and do something, like e.g. printme (anystring);
Thus various implementations of Pascal extended the original language to support this and make it more useful. So Borland's Turbo Pascal is not just the name of the compiler, it's also the name of the language. The Pascals I used on some minicomputers used their own variant extensions to achieve the same.

In my situation I've got a small program which calls a Procedure to display the text. I've defined a Character Array as a type, so when the Procedure is Declared, the Variable declared points to that Type. So when I call that procedure from my main program, my String Length has to match the size defined in my type, so for example:

Code:
type string : array[1..11] of char;

my string must occupy 1 to 11, if it's 1 byte short of that (i.e. 1 to 10), an error will occur.

C handles strings in a different way by letting all string handling functions look for a binary zero which indicates where the string ends. Technically all functions handling strings are passed an address to the first element, instead of the whole string. This goes for all array types, not only char arrays (strings).

I've seen this being done in Assembly routines for Printing Text and earlier with my Pascal program I wasn't adding a CHR(0); to the end of my character array, so it might be the reason why my program was crashing the compiler, though I was poking the string to the array, which wasn't fussed about how bit the String was. In that case though I was also flushing the array with 0s to remove any rubbish, poking the string to it (which didn't need to know the size of the array) and it all seemed to work until the compiler crashed, I even kept my string within the size of the array, but obviously it still didn't like it.
So I'm thinking of just reserving some area of memory which I can do when I load my Compiler, and pointing my Strings to it. Unfortunately unlike Turbo Pascal which can point Variables to specific memory locations, my compiler cannot do that, though I'm able to obtain the address of where variables are as well as the Size of them.

I work at a company where Delphi is still used for the majority of projects.
I and several others are of the opinion that Delphi is a sinking ship, and we should abandon it in favour of better supported solutions.
The biggest problem with Delphi is that it is an island. That is, we often have to interface with systems from third-party suppliers, and they generally supply only headers and libraries for C/C++. Which means that we have to invest a lot of effort into making our own interoperability shims with Delphi everytime.

Originally I was using Delphi for Windows 95 as part of my last year of School. At the time I thought this was going to be the future of programming and made the mistake of signing up for a Technology course. I've seen things like Emulators being written in Delphi, but don't know how it was done. I was fortunate to get some Windows software from magazines in the early 2000s and obtained an early version of Delphi. Back at School I wrote a Calculator which had a Bitmap image as a Backdrop and had some Drop Down Menus & a Little About screen. Originally I lost that program, but still had much of the source for it and wrote it again for Windows 3.1. I was able to extend of the program a little and made it possible to load Bitmap images and display those, but it was around that time when I discovered limiting things about Delphi, which had to do with the Libraries available for it. I was looking at Programmers Heaven a bit at that time, and found people had been writing new libraries to support new things for Delphi, though it was as if newer versions of Delphi had been written and earlier versions were left to collect dust. It was around that time I was getting back into Turbo Pascal, though I was getting into using CP/M-86 and converting later Turbo Pascal programs to run in Turbo Pascal 3. I knew by that time I wasn't really cracked up to being a programmer and have had more fun writing stuff for fun.


It gets even worse when customers ask us to support their hardware, eg Android or Linux devices.

Yes well Delphi has been designed exclusively for Windows. I think in Schools now kids are growing up using languages like Python initially & C later which are available for Android devices.

With C/C++ or C#, you simply don't have most of these problems. Then there's the issue of Embarcadero being somewhat of a Don Quixote. They are a small company fighting against all these CPU architectures, trying to develop compilers. There's no way they can beat the performance and reliability of giants like Microsoft or Intel.
By rewriting key components in C/C++ we can use better compilers, and get significant performance boosts.

C has become fortunate enough to become a standard language which has allowed it to progress, though it's funny when I start talking about K&R C, not too many people recommend it. :D


Since Turbo Pascal, Pascal can literally do everything C can do. Most of the time it does things simpler, but sometimes more complicated.

A lot of C users I've known over the years liked to cite how easy it is to type /* compared to BEGIN. Having typed BEGIN possibly a million times over the years, I can honestly say I can type it faster than /* or {.

High Speed Pascal for Amiga is a TP-alike that even outshines TP! Free Pascal isn't bad, but it's a far cry from the speed and efficiency of those two.

I will say, about the worst programming experience I can remember was Instant Pascal on the Apple //. It was anything "instant".

If I'm not writing 6502 assembly, I'm writing Pascal. In fact one of my long term goals is to write a TP-alike compiler that is more streamlined than TP from a syntax point of view. My original intent was to have an AmigaOS 4-native Pascal language with some improvements I've just always wanted to make. But since I can't run OS4 anymore I still intend to write it, someday.

I've seen a couple of Pascal compilers being made with the aim of creating a compiler (under PC environment), to compile programs for your 8bit system, unfortunately the two I know of are in early phases, even though work on them goes back a while. The most advanced Pascal I've seen on a Z80 system is documented in Russian.

Someone has written a similar compiler for compiling Oberon code for your older computers as well, though I need to know more about it. I think Wirth created it to address issues found in Pascal & Modula-2, though it's not a language I've seen being used for my system.

I think the biggest factor that killed Pascal was when Sof-tech took over UCSD Pascal and increased the prices while letting the product stagnate. That removed Pascal as a major teaching language from schools. Then there was long lag before Turbo Pascal 4 came out in late 1987. The other Pascal compilers were dreadful and slow while early Turbo Pascal could only handle very small projects. After TP 4, Borland kept shooting themselves in the foot with multiple clunky object oriented redesigns causing much of the market to move to competitors.

Yes I don't think we had UCSD Pascal here in Australia. I first got into Computer Programming at School in 1992 using Logo on an Apple //e & in 1993/94 I was using Pascal on a Mac Plus or Classic & in 1996 I was using Delphi, because I took it up as an extra course half-way through the year, I missed programming Turbo Pascal 7 from earlier in the year, though was able to quickly pickup the language and produce simple Delphi programs. After that though as I mentioned earlier I took up a Technology course as part of a Higher Educational Course and had to start writing C programs, followed by C++ stuff in the 2nd year. However while I was doing that course I picked up some books with Pascal code in them and while I got other books with had the same name (with C Code in them), it looks like I started that course just as when they transitioned from Pascal to C.
 
Back
Top