• Please review our updated Terms and Rules here

Status of Pascal

CP/M User

Veteran Member
Joined
May 2, 2003
Messages
2,986
Location
Back of Burke (Guday!), Australia
I was wondering what everyone's perception of Pascal is these days. I was thinking that it's Dead in that other languages are being used instead, though I was wondering how many people out there still use it?

Personally the Vintage Computer I use seems to have more emphasis on C based languages which are languages which are built on PCs which can compile programs to work on the old machines, not that there's anything wrong with that, though the influx seems to be more C driven without any Pascal equivalents being made. :(

Naturally I agree C is a more flexible language and you can do more in it, though Pascal has it's advantages too with regard to program readability and I'm just wondering that if similar tools were produced if some of those C programs could be done in Pascal?
 
Programming languages don't always die, sometimes they mutate. Modula-2 was supposed to supplant Pascal and I suppose Oberon is supposed to supplant Modula-2.

The usual problems ensue, however: (1) Where do I get a compiler and runtime (2) A second source for the compiler (3) What do do with the old code written in x (3) Who knows how to effectively program in this language? (4) Is it portable to architecture y?

But if you're curious as to where Pascal has gone, do take a look at Oberon.

What's funny is that in the 70s, a big project was undertaken at CDC to get systems programmers off of FORTRAN and assembly, so a very Pascal-like language, SYMPL, was created and forced down the throats of programming staff.

Who the heck knows or even uses SYMPL today? Another dead language...
 
Here's a link I posted earlier this year about popularity of programming languages. It's not to say that "nobody" codes in other languages, but it's interesting to see where they came in last year vs this year. Pascal came up a point and was apparently more popular amongst their survey than Visual Basic.NET which surprises me.

Pascal to me is still just an educational stepping stone language. Not that it can't do as much as C (I mean, you can use assembly in Pascal too which is where advanced graphic effects usually happen) but it never really seemed useful to me. I would have liked to learn C but our school didn't have proficient teachers at the time so I ended up with Pascal and then later a class where they just let me program whatever language I wanted and make my own assignments for completion/functionality based grading. Coulda been better but I kept myself entertained at least.
 
Turbo Pascal 7 & Turbo C 2.01 compilers will run on my HP 200LX.

I like C, but TP7 gets the nod, in executable size & speed.

TP7's ASM statement works just the way you'd want it to work.
In-line asm in TC2, not so much...

my $.02 HK,

Jack
 
Pascal to me is still just an educational stepping stone language. Not that it can't do as much as C (I mean, you can use assembly in Pascal too which is where advanced graphic effects usually happen) but it never really seemed useful to me. I would have liked to learn C but our school didn't have proficient teachers at the time so I ended up with Pascal and then later a class where they just let me program whatever language I wanted and make my own assignments for completion/functionality based grading. Coulda been better but I kept myself entertained at least.

Pascal was the language the AP Computer Science test was given in until 1999 (OT: I was among the first to take that test in C++ that year!) That alone made it a teaching language at most schools. Being strongly typed and not having to deal with pointer hell is another reason. Borland did have moderate success in turning Pascal into a modern rapid application development environment with Delphi.
 
Programming languages don't always die, sometimes they mutate. Modula-2 was supposed to supplant Pascal and I suppose Oberon is supposed to supplant Modula-2.


Yes that's understandable, I guess it's more to do with usability and because there is so many languages out there today a number of them can produce the same result, the languages which are favoured are the ones which produce the best results. I'm not speaking specifically about new computers, though the system I've been doing some programming for (which is 8 bit) as a variety of new 'C" based languages (written on PC) though can easily write code for that machine. Though in that case I'm looking at the actual product.


Other languages are available for our machine though such as Pascal and even Modula-2, Oberon looks interesting too, though I couldn't find any version of it on my system, guess it was because it first came out when things were starting to wind down for my computer, the bulk of languages I think probably came out between 1984 & 1986 with perhaps more of a restructuring of Languages later on by incorporating powerful Assembly routines into BASIC like programs to help allow the Amateur make something more powerful.


The usual problems ensue, however: (1) Where do I get a compiler and runtime (2) A second source for the compiler (3) What do do with the old code written in x (3) Who knows how to effectively program in this language? (4) Is it portable to architecture y?


In a way I can see where questions like those would perhaps be relevant in the context of is it portable? The problem with earlier 8bit computers is they all had their own designs, Commodore, Apple ][, Atari was 6502 based processor though all different and systems like Sinclair and Amstrad having Z80 based. It would seem these days to produce something which would allow code to be translated across a number of platforms would be more beneficial than having something which you could write for one system and in that way it would seem those languages dominate.


But if you're curious as to where Pascal has gone, do take a look at Oberon.


I had a little look at this language, unfortunately it's not available on the system I use, though it seems good in that it maybe addressing issues which Modula-2 had. As I mentioned earlier Modula-2 exists on our system, though I haven't used it and I'm unsure if I'd benefit from using it cause it sounds really extensive.


What's funny is that in the 70s, a big project was undertaken at CDC to get systems programmers off of FORTRAN and assembly, so a very Pascal-like language, SYMPL, was created and forced down the throats of programming staff.


I'm not even familiar with SYMPL, it's not even mention in the huge flowchart of Programming Languages, could it have been simply another form of Pascal? The only other language I can think of which isn't on the flowchart is Pilot which has only 5 commands or something and is used in the aid of learning something which is supposed to be easy. Guess in a way kind of like early BASIC.


Who the heck knows or even uses SYMPL today? Another dead language...


Was it popular amongst the Microcomputers or was it specifically written, I'm not familiar with it so I can only imagine it wasn't on a lot of computers. An interesting language I dug up on my Computer was BCPL which was another language sold through one of the software companies back in the mid-80s on ROM and on Disk. The language they produced is perhaps on par with Pascal, though since BCPL was the precursor to C, it's kind of like looking at a C program.
 
There were lots of computer languages. It seemed like every CS grad student in the 70s had a new language as part of the thesis, except for those at schools (like UCSD) who put grad students to work writing extensions for the local language or OS. Companies often fell to the siren song of creating a unique variation on an existing language as the lure of lock-in prevented examination of the costs of supporting outside developers.

Pascal ran into a few problems. SofTech changed the pricing on UCSD Pascal to that expected for defense contractors which led colleges to go for the cheaper C and Unix combination. The Pascal standard committee seemed strangely reluctant to permit easy handling of large amounts of memory efficiently. Borland which largely pushed Pascal and objects forward spent themselves into near ruin chasing the shrinkwrap application market and overpaying for DBASE. There is still a small pool of die-hard Pascal developers if you include Delphi and some of the other Pascal variants but it isn't the dominant language it looked to be becoming back in 1980.
 
Pascal is actually alive and well -- and has several thriving and popular versions. It remains my language of CHOICE, even though I do quite often end up forced into using other languages as it's not always the best job for the task. (like for heavy string processing I use PHP or PERL)

As Krebizfan pointed out, Delphi is at it's core Object Pascal... With embacardawhateverthe***they'recalled having just released a new cross-platform version of Delphi, it is an increasingly viable choice for developers. You add in Free Pascal, the Lazarus IDE for it, and you've got a very powerful free and open source option. You toss RemObjects various toolchains on there and you have even more options.

Especially since many of the above can now use the JVM as a compile target -- so anyplace you could write java, you can now write Pascal! That part is funniest of all since Java's virtual machine is in fact based on the concepts the old p-code interpreter/virtual machines that things like UCSD Pascal used.

About a year ago I had someone say
"pascal, ha ha ha ha ha – what a fossil! pascal is just about worthless in this day and age. Learning pascal will make you a fully qualified software archeologist."

My response was thus:
Wow, No offense, but that's a really ignorant viewpoint as there's PLENTY of modern software out there written entirely in Pascal. You may even have used one without realizing it!

Avant? (the IE wrapping browser?) Asus Power4Gear? ThinkSQL? Pixel? GBXEmu? FLStudio? PC Tools Spyware Doctor? Inno Setup? CambridgeCAD? MSI Afterburner? MediaMonkey? PE Explorer? MyCORSA? AVS? BitZapper? IMGBurn? Daring Apprentice? Space Rangers 2?

... and that's the little stuff... How about Partition Magic? MagicISO? CloneCD? IcoFX? Spybot Search & Destroy? ADAWARE?!? WINRAR?!?

How about this one: SKYPE?!?

All those software packages? Written in Delphi... or Lazarus+FPC when there's a cross-platform version. Modern Object Pascal being used to build modern applications... Quite often for multiple platforms at once!

It's alive and well.

Oh, and in terms of 'flexibility' there isn't a blasted thing you can do in C, C++ or even C# that a modern object pascal can't handle... though really that's been true ever since Borland introduced Turbo Pascal 5. The whole bullshit idea that Pascal is somehow less 'flexible' or 'capable' than C is 100% horse manure. Anyone tells you otherwise typically doesn't know enough about Pascal or programming languages in general to even be flapping their gums on the subject!
 
Last edited:
I'd agree that perhaps on PCs Pascal is doing alright, though I'm unsure how things are going for it for the Microcomputers.
A number of Microcomputers had Pascal available for it back in their day, though what I'm noticing today is languages like C are being generated through PC programming for the purpose of generating programs for these old computers. Pascal seems to be moving behind the 8th ball because nothing is happening much in those fields. :eek:


The dilemma I've always having issues with though is using Turbo Pascal 3 to make software which hits the hardware (I had no problems when I was compiling a whole bunch of DOS programs to CP/M-86 v1.1).
On a 64k system several of the programs which come with CP/M-80 (or CP/M v2.2 in our case) are system specific and let I'm told to use GSX when it's not even available to me and only exists in CP/M Plus (which is 128k based).
So I've had to move away from that because I've either made people mad because they either won't touch the programs because it's hardware specific or they won't use CP/M.
A number of languages for my system were done for CP/M and I've had to start using ones which don't target CP/M and in my case there is only one Pascal compiler which isn't CP/M Specific, is older than Turbo Pascal 3 (by a couple of years) and consequently less advanced (it doesn't even recognise CONSTant Arrays, for that I have to setup an Array, and load the Data in for it.


So this is why I was wondering if Pascal was progressing into a form where it could be more like Turbo Pascal with more system flexibility and support for different platforms. :D
 
I wrote a lot of Pascal back in the day (on minicomputers), in fact a large processing system was almost completely written in Pascal. It processed satellite data. One of the instruments processed was written in Fortran, the others in Pascal. The version we used was quite nice, and very easy to extend with assembly where needed, e.g. direct I/O, interrupt handling, even longjumps (a very specific customer requirment), and fast block data copy.

However, that's a long time ago now.. looking back, I believe one main reason for the success of C (my language for years now) is its strict focus on standards. Over the years we (here at our company) have moved between so many different computer architectures, and by using C (and following our own coding guidelines) we've been able to move our code from system to system over the years with little problem. While Pascal variants are always slightly different.. there are other reasons for C's popularity of course, but I think it wouldn't have been where it is if it had fallen into the trap of 'system specific' versions (e.g. look at Forth.. every version is different). I guess we might blame Wirth for that, as Pascal was designed as an incomplete language, missing I/O for example. But then again he designed it as a teaching language. I'm not sure I believe in the concept of teaching languages though (as in: Only to be used on the blackboard, and that's the only place 'standard' Pascal can be used, as there's no proper I/O).

So, in short, if you want a language to be used as-is and not immediately diverging, make it a full, complete language with all the parts necessary to do what's needed in the real world.

-Tor
 
Last edited:
Okay, so I'm lead to believe that by using standards it has made C code easily transferable, I can see where that would be useful in the generation of programs and having the best bits of code available which can be reused is better than trying to reinvent the wheel.
I'm not quite sure how it relates to generating a compiler, I guess as part of the compiler making process a series of Libraries can be brought in. If the target processor is PC based for the compiler, though the code generated varied depending on the platform used, I'd image at some level assembly would have to be used and depending on how many systems were involved a whole series of assembly would have to be written for each processor.
Would that be an easy thing to build the appropriate assembly at base level to the extent that when lots of C code is applied Assembly can simply be applied?


Unfortunately I'm unsure how many of these old Microcomputers have C available for it, not as in an actual compiler for their system, though simply something which can convert code for those systems. 64k seems to be a base minimum, I think that was for systems which had C available for it (e.g. Atari and Dragon), though if you had a system which had one of these PC based compilers which could generate code for it like a Sinclair for example then I guess it would depend on how compact the code is.
 
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.

http://www.bdsoft.com/resources/bdsc.html
http://mdfs.net/System/C/6502/
 
I remember just missing Pascal in as a course requirement in college (3rd time around - 1994). Pascal really shined in two ways:

1. Pascal doesn't have the steep learning curve as compared to C or Fortran77. With Pascal, structured programming is really easy to implement and understand. For a beginner, C can be very difficult especially with pointers as noted above.

2. Pascal shines under DOS. My dad wrote his entire business suite (still used today) under TP 7. Code compiles very tight. For pure DOS - 16 bit real mode, it really has no competitor IMHO.

I personally believe that Borland extended/enhanced Pascal way beyond its original intent (teaching structured programming) because it fit so well under the DOS strategy. Its amazing that DOS (MS, PC & to an extent DR) lived full time in business production mode for almost 15 years (1981 to 1996). That is many lifetimes for Micros. Given that same metric, Windows NT & successors (2K, XP, etc) have only recently passed that mark.

Today, I would still use C over Pascal because the compilers are mature enough and retain cross platform functionality. But, if I were to do a "DOS Only" program, there is still a very strong case that TP7 is an excellent choice.

My $ .02.

Geoff
 
Yes, there's no doubt that Turbo Pascal was a revolution in many ways. I also agree about the structured-programming qualities of Pascal. And I loved TP, I wrote a lot of code for TP, including a Fortran-to-TP translator - it converted relatively large Fortran programs (originally from a minicomputer) to TP applications that could run on my PC clone.

And the TP 'IDE' is the only IDE I have ever liked, I never use IDEs today (unless you count XEmacs as one), they are of no use. But when I fired up an old TP in an emulator its IDE felt as useful now as it did back then.. :)

-Tor
 
I was introduced to TP6 c.1993 and it's the only thing I've ever felt the need to use since - love it, not that I'm much of a programmer mind.
 
I never went far on the road of programming but I have fond memories of Pascal as this was the language I originally learned programming with (ignoring the C64 basic at this point)
That was on a Pr1me mini, University of Sheffield PASCAL version.
Oh these Televideo 920 keyboards :)

After that exploring Turbo Pascal 3 and 4's possibilities was a great experience too.
 
Years ago the 16-bit Version of Turbo Pascal 3 was disassembled and the Library file was disassembled and commented for those who wanted to understand what was going on, so that when it's compiled into a ".COM" file, people could see how the programs would interact with Library.

I tried doing something like on my 8-bit version, though I didn't get very far and felt I couldn't fully understand it properly. I was just wondering if someone has tried to do something similar on their 8-bit version of Turbo Pascal?
 
I can see where Pascal could easily discourage people from using it. As I mentioned earlier I'm using something which can target the platform that I'm suppose to be using for making something like a game. I found that while that compiler can make Random Numbers, it's approach meant I went back into coding some Assembly routines in order to simplify the process and it just seems that for making what would be a straight forward game in BASIC, it's taken me some time to setup routine things I want to put into a game though the amount of routines. Though I'm a bit stumped over other problems cause I'm using one of my own routines to draw images to screen and using a Sprite Driver to Grab, I'm just thinking now that I'll use my routine to draw the graphics to screen, grab those and simply save them. Another thing I had to knock up for Pascal is a standard loader because this Pascal has it's own Special Loaders and was really hindered by it, because loading standard Binary files wasn't possible previously and I seemed to have been typing in lots of M/C and saving it that way using it's special loader. Anyway now it seems I can load something and save it into it's special format, though it was a bit of a hassle making something up just for it.
 
Last edited:
Back
Top