Turbo Pascal 7.0 Full Version Download

0 views
Skip to first unread message

Lutero Chaloux

unread,
Jun 28, 2024, 6:07:25 PM6/28/24
to profbawtidim

Some programming courses would teach you the whole thing, proper software engineering including how multi-pass compilers & linkers worked, etc. However, often programming was and add-on to another science or engineering course and there all that really mattered was you know the basic concepts (such as variables, loops, if/branching, function/sub-routine, etc) and there was not the time to cover how and what a .EXE was compared to .COM and the odd vagaries of 8086 memory segmentation and resulting memory models (how and why 64k blocks, or bigger, might be used for code and/or data).

Yeah, I started my Computer Science degree in 1994, and the first 2 or 3 courses used Turbo Pascal, covering compiling and linking as well as coding. I still have all my binaries from those classes, lol.

I sort of wandered in sideways from all of that after starting with programming on an PSION Organiser II where the programming language was a bit of a blend of Basic and Pascal, including the need for 'compiling' it to an interim code, and a bit of machine code hacking to make OPL (Organiser Programming Language - from the days of naming things as they were - take that, Microsoft Entrails, sorry, Entra) do things that weren't in the manual - and yes, I did that manually, I only learned about assembler later - I was just making things work the way *I* wanted them to work :) ).

I was already using Borland's Paradox DB and its language PAL (Paradox Appliction Language ) as I didn't get on with DBASE and I needed to write some glue code to translate reports dumped from the VAX into something that Paradox could import as its reporting was far more slick and simpler to set up than I ever hoped to cobble together. Enter Turbo Pascal, and after some buffer tweaking it munched through the reports so quickly I executed it twice as I thought it had not run (checking the output would have been the smart move, but it surprised me). The joy of simple text files..

Borland, like IBM at the time, embarrassed Microsoft multiple times by not only making more usable interfaces but also showing that Microsoft's compilers were hopelessly inefficient - both Borland and IBM recompiled Windows and produced more compact and far faster executing code and also faster executing software in general, so obviously both had to go.

If you wonder what a lack of competition brings, just look at the resources Windows 11 needs, and the UX of Microsoft applications in general. They only break new ground in the sense that they ought to be buried.

If you wanted basic, you got one of the macs and whatever version of BASIC it had. However, most people tended to just screw around with making goofy icons in Resedit and breaking things (or playing Nettrek with other classmates...)

Wirths interests and research were in the area of "language design", and Pascal was his example of "An optimum programming language, from first principles". On the other side, Kernighan thought that c had "a useful implementation, particularly for putting unix on new processors"

They both were right. Modern implementations of Pascal languages are more useful, modern designs of c compilers are Pascal-like, and subsequent changes to the language were to make it more Pascal-like.

My 1981-1984 degree was primarily based around Pascal, at Imperial College, London, but it was too early for Turbo Pascal of course, we used an IBM 4331 running VM and it suffered when too many people used it at the same time. Of course we used other languages as well, but primarily Pascal for teaching.

As for why it wasn't use commercially, the short answer is performance. Compared to the other languages at the time (BASIC, Fortran, Lisp, C, Forth, and a few others), Pascal was extremely inefficient. It was great to teach concepts, but doing type-safe checking in the compiler, rather than relying on the developer to do it, resulted in lots of processor time spent on bounds checking and other things that the other language compilers simply didn't do.

In an education setting, performance is less important that the ability to teach the concepts. In industry, the reverse is true. I did some timing tests once of an application that had been written (very elegantly, I might add) in Microsoft Pascal for the PC, to a hacked version that had been written in Microsoft C (this was at the time when Microsoft C was just rebranded Lattice C). The Pascal code was much easier to follow, the logic flow was cleaner, and it would have been a lot easier to maintain than the C version, which was doing address arithmetic and never checking array bounds. However, the Pascal version required 50% more memory to run (at a time when memory was very expensive) and was about 30% slower.

There were several attempts to make Pascal more commercially viable, but with every attempt, they ended up needing to make certain tweaks to the syntax ot meet the performance goals, at which point it wasn't Pascal anymore, it was Modula 2, or Modula 3, or even Ada. Of course, Pascal itself had the same relationship to Algol, so it was just continuing the trend.

As for why it wasn't use commercially, the short answer is performance. Compared to the other languages at the time (BASIC, Fortran, Lisp, C, Forth, and a few others), Pascal was extremely inefficient.

Pascal and Fortran objects were intrinsically faster and smaller because of language design decisions, but that also meant that you could just do a very simple compiler and the result was good enough. In particular, Latice C was an optimizing compiler: if you looked at the executable, you would see that the result had no direct relationship to the original code at all, because it had all been rebuilt and re-ordered as part of the optimization process.

Regarding size, the Microsoft Pascal compiler used a monolithic library that was shared with other languages. By design, Pascal doesn't have any library at all, so a size-efficient implementation has zero library overhead, both in the library code and in the linkage.

And .... there were certain tweaks to C to make it meet performance and usability goals, at which point it wasn't K&R c anymore. Not to mention the whole standardization process for the language and the library..

Wrong I used it in a commercial environment for industrial process control. The MAIN reason was it was considerably safer than any other language. In process control the last thing you want is your oil refinery or chemical plant to explode!

Also you cannot compare a commercial release of a PASCAL compiler on proper hardware to MS PASCAL on a PC. They are completely different beasts. For example at the time there was no way you could safely us a PC for any real-time or near real-time work they were just a toy.

Pascal taught people structure where in COBOL and BASIC there wasn't that much (other than the really stiff punchcard-style structure of COBOL or the basic stuff in BASIC). That said, if you did play with BASIC, Pascal was a doddle, whereas if you knew COBOL better, Pascal was... an adjustment.

Ironically, I found TP7 to be the best thing for anything non-Windows (i.e. DOS and protected mode), because it included the option to write assembler code inside Pascal. For Windows GUI apps, Delphi made a lot more sense, because the GUI was fully OO and you could actually let the GUI handle all its own events while you got on with whatever else you needed. Delphi Standard was pretty good, Delphi Enterprise was of course the dog's bollocks.

It was all done in TP (mainly 5.5) with all sorts of nice stuff. It was lucky that I wasn't in a relationship at the time (1989) as I spent hours/days/weeks building and refining it. It got good reviews by Dick Pointain & other magazines. It kept my in computers (in the days when a 386 with an 80Mb disk cost (3k)). Eventually it went out as shareware. I was working at DEC at the time (they let me sell it as mine) and I put Gold key functionality into it (if you know DEC, you know what I mean) just to sell a license to DEC themselves.

The company that I was working for back then in the late 1980's started using Turbo Pascal and created a program they sold a lot to medical hospital users around the world for about $15,000 each - it was totally based on an early publicly shared application written and shared with users with the Oregon Software Pascal 2 in 1984. The big advantage of Pascal is that you can take one set of Pascal code from one version and quickly make it work on another version of Pascal.

I worked with the original creators who wrote the first public shared version, they gave all the public users a copy of the Pascal source code instead of a formal manual or documentation - the users just read Pascal to see how the data was processed.

I did eventually move on to C++ but only because we took on more developers and had settle on the most common language. I will always defend Turbo Pascal because it was a very powerful and capable development environment. So was Delphi.

As to the second, Delphi cost more but it did include the right to redistribute. I lost track of Delphi after 7 but as far as I can make out Delphi the Microsoft IDE replaced Borland's own. It also got more and more ambitious and expensive.

I had a longish gig using Delphi (it helped that I'd used UCSD Pascal earlier). I like the RAD way of doing things. It forces the developer to start with the UI. I've seen too many examples where the developer seems to have looked on the requirement as a series of technical tasks, got those working separately and then jumbled them into a UI of sorts.

Believe me, some developers will still try and force something completely different and incompatible into the mix, I've had to fix Delphi Apps where they started with a state machine and hammered the UI onto, rather than use natural state flow a Delphi UI would give you.

Believe me, some people can write truly awful Delphi programs. Today, I was looking at a D7 app with a single procedure (fired by a timer every second) that was over 4000 lines long with 18 levels of indentation.

7fc3f7cf58
Reply all
Reply to author
Forward
0 new messages