From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HTML_MESSAGE,MAILING_LIST_MULTI,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 16944 invoked from network); 1 Feb 2022 16:59:03 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 1 Feb 2022 16:59:03 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id 366779BA1D; Wed, 2 Feb 2022 02:59:02 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 5CA31951B7; Wed, 2 Feb 2022 02:58:34 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=pass (1024-bit key; unprotected) header.d=ccc.com header.i=@ccc.com header.b="cpjEhj1m"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id C35099518E; Wed, 2 Feb 2022 02:58:31 +1000 (AEST) Received: from mail-qk1-f169.google.com (mail-qk1-f169.google.com [209.85.222.169]) by minnie.tuhs.org (Postfix) with ESMTPS id AD450951B7 for ; Wed, 2 Feb 2022 02:58:30 +1000 (AEST) Received: by mail-qk1-f169.google.com with SMTP id j24so13369661qkk.10 for ; Tue, 01 Feb 2022 08:58:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ccc.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=aBtL/JTTy6xcYheq8yE69GAZ+7EckHvjMv0epwFF9r4=; b=cpjEhj1mHM39HrQRTAmfniHT8pMdfV5v8mdBrJ6krTdU46smzGth32y3LOUd8Yg5+u zejQfFATuboYn90WmgJ+3VjLHLwodxsRZxgArruxJv7j0DXcSlbuj+kw8r5Q+n2rumHo R+uNJogqy2N6nNOd0qT0nTuX8v94l+hc9dGBE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=aBtL/JTTy6xcYheq8yE69GAZ+7EckHvjMv0epwFF9r4=; b=E7dRdEnyJlXt4ygckmnGgVVk2MR1hm+utRdJKNjjvqRFptR2LelCEa92UcoV6JIhvR MKQntvcNE49dwWt5ev/EpFcmnZ+mAWBydiUKFqNDSmrhhv4386e4aIejGQlX7SbC0ayN 4ThZAriIOet/hheW0GyoKv7KPG5RZs/V8ol6KtJo+AdpUMknC5iYgFVCnS9QFXpSrbun piTEmUjtsbK8vaKv3MA1tlOqr4qMSirOMeYePbmSESDJfS4ekGC8/GJmuY82AQLauCZP jRQHKKzpN7YiMisNMUraABbahSpt8CKKv6cf8pBO1XgFVYzZKmf0ONO3FhrR64nlnUg6 8Y6Q== X-Gm-Message-State: AOAM531HowPLzUszvLRRsHA0HUyM9ZiPleEmbPX/SIeNVk50aF++kw2W AR20RGfYENUpypSEfbd9l7AeSRfFpMcafMotcUhaqLISA8PrWvg3 X-Google-Smtp-Source: ABdhPJyO4p5nfr7K5+zZl+ixvkqSgJAPLgUJsItqj6Wkngk6/9RkQqk3OOXK6b1NABnkMCyZ+XIhu1vPGB1Y3/KVwic= X-Received: by 2002:a05:620a:2596:: with SMTP id x22mr17464190qko.442.1643734709375; Tue, 01 Feb 2022 08:58:29 -0800 (PST) MIME-Version: 1.0 References: <202202011537.211FbYSe017204@freefriends.org> <20220201155225.5A9541FB21@orac.inputplus.co.uk> In-Reply-To: <20220201155225.5A9541FB21@orac.inputplus.co.uk> From: Clem Cole Date: Tue, 1 Feb 2022 11:58:02 -0500 Message-ID: To: Ralph Corderoy Content-Type: multipart/alternative; boundary="0000000000007526e305d6f7cf83" Subject: Re: [TUHS] ratfor vibe X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: tuhs@minnie.tuhs.org Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" --0000000000007526e305d6f7cf83 Content-Type: text/plain; charset="UTF-8" On Tue, Feb 1, 2022 at 10:53 AM Ralph Corderoy wrote: > I agree the original Software Tools is a must read, but having done so, > why would I suffer working through the hurdles put in place by Pascal > compared to Ratfor? I'll take a stab. Again set Arnold's Way-Back machine to the late '60 and through the mid 1970s. The Algol vs. FTN war was raging. FTN had 'won' the Science and Engineering communities and Algol was the Math/CS types [I'm over simplifying]. In fact, when I was at CMU in the mid-70s; my professors all said *FTN was dead* ( mind you production quality FTN code has paid my salary in the HPC world my entire career ). At CMU, the compromise is all engineers were required to take an intro to computing using in FTN/WATFIV course and then all other 200 level or greater CS course after that were usualy based using an Algol/ or later Pascal. The point being any reasonable computer system being brought to market by a *credible systems vendor* had at least an implementation of FTN4 that could pass the ANSI test suite and many started to have one that support F77 [although thank you DEC VMS FTN != F77]. But ... because of the push from the teaching/CS side in most places, Pascal started to show up as a standard offering [C did not - yet - have that backing]. I suspect if you check my generation and for the next 10-20 years after, you will see Pascal was the first language you saw in college. So by the late 70s/early 80s, [except for MIT where LISP/Scheme reigned] Pascal had become the primary teaching language for the CS communities at most schools. C was considered a tad 'dirty' [not as bad as assembler -- but close]. It might have been used in an OS or Compiler course. In fact in the grad Graphics course I took, which was taught by Xerox folks, I had to get a special exception to use C. But the fact is, at that time, if you read the literature, you would believe that Pascal was going to be the future. Hence the concept of doing the SWT in Pascal made sense >>in theory<<. Another important fact was that while the P4 system made moving Pascal easier than many other languages, as Rob pointed out, the Pascal I/O was so screwy and frankly not well bound to the host OS, that every new implementation messed with it in some manner [see Brian's wonderful tome for more details]. Similarly, the lack of standardized way to do separate compilation for support libs (which had been a prime idea in FTN and allowed a rich market for libraries), really had a huge effect. Again it was solved many times with each compiler implementation, but each scheme tended to be a little different. Fortran, of course, had been around long enough and had an ANSI standard (and a test suite for it) at least made portable FTN possible. So the theory was good -- Pascal was a 'better' language in theory and everyone was coming out of school knowing it. Again, reality ... since UNIX came with C and was 'open source' in the sense that everyone that had it, had the AT&T source code. One of the first things that happened was C was retargeted to a number of processors -- often not by either the manufacturer or by the system vendor. Interestingly, this was about 50/50 between Academics/Research and Industry. So while all the world's ISA were not a PDP-11, the fun part is the code *could be made reasonably* portable - in fact *in practice* [partly because C had a pre-processor which Pascal did not and of course is what ratfor is] have one source base that could compile for different targets. The problem (as you note) these issues are >>obvious<< in hindsight, but during that time -- it was not. It certainly seems like Pascal had a lot of momentum. They were a lot compilers for a lot of systems. Look, it was the language Apple used for the Lisa and Mac. Things like UCSD Pascal was being made by the press as 'the answer for 8 bit processors' [note MSFT had a FTN for the 8080 on CPM in those days]. Turbo Pascal was, in fact, an excellent compiler. But C was starting to come on strong. FWIW: In the end, I personally believe that C 'won' because the practical side made it cheaper to use (economics always beat architecture). The cynical part of me thinks that a big reason why C++ caught on is because a lot of the pro-Pascal community got to sing the praises of OOP with C++ and they could change sides without claiming C beat Pascal. Hey, Microsoft made a pretty good C for DOS and finally going C++ probably helped. It sold more than the FORTRAN and my guess is that people using FORTRAN at that point were scientists and needed the address space that 8086 did not have. The 386 with a linear address for using things like the PharLap tools made it possible and frankly the Intel 8087 started to make that processor a better target for science. In the end, Pascal never had a code base like the FTN Scientific code base or todays C and C++ code base. FWIW: I can think of few production Pascal codes from those days that are still being used [other than the Front-End of the DEC/Intel FORTRAN compiler - which was moved from BLISS to Pascal for all the same 'C is dirty' issues BTW]. --0000000000007526e305d6f7cf83 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Tue, Feb 1, 2022 at 10:53= AM Ralph Corderoy <ralph@input= plus.co.uk> wrote:
I agree the original S= oftware Tools is a must read, but having done so,
why would I suffer working through the hurdles put in place by Pascal
compared to Ratfor?
I'll take a stab.=C2=A0 Again set Ar= nold's =C2=A0Way-Back machine to the late '60 and through the mid 1= 970s.=C2=A0 The Algol vs. FTN war was raging. =C2=A0 FTN had 'won' = the Science and Engineering communities and Algol was the Math/CS types [I&= #39;m over simplifying]. =C2=A0 In fact, when I was at CMU in the mid-70s; = my professors all said FTN was dead=C2=A0 ( mind you production qual= ity=C2=A0FTN code has paid my salary in the HPC world my entire career ).= =C2=A0 At CMU, the compromise is all engineers were required to take an int= ro to computing using in FTN/WATFIV course and then all other 200 level or = greater CS course after that were usualy=C2=A0based using an Algol/ or late= r Pascal.

The point being any reasonable computer syst= em being brought=C2=A0to market by a credible systems=C2=A0vendor= had at least an implementation of=C2=A0FTN4 that could pass the ANSI t= est suite and many started to have one that support F77 [although thank you= DEC VMS FTN !=3D F77]. =C2=A0 But ... because of the push from the teachin= g/CS side in most=C2=A0places, Pascal started to show up as a standard offe= ring [C did not - yet - have that backing]. =C2=A0 I suspect if you check m= y generation and for the next 10-20 years after, you will see Pascal was th= e first language you saw in college.

So by the late 70= s/early 80s, [except for MIT where LISP/Scheme reigned] Pascal had become t= he primary teaching language for the CS communities at most schools. =C2=A0= C was considered a tad 'dirty' [not as bad as assembler -- but clo= se].=C2=A0 It might have been used in an OS or Compiler course.=C2=A0 In fa= ct in the=C2=A0grad Graphics course I took, which was taught by Xerox folks= , I had to get a special exception to use C.

But the= fact is, at that time, if you read the literature, you would believe that = Pascal was going to be the future. Hence the concept of doing the SWT in Pa= scal made sense >>in theory<<. Another important fact was that = while the P4 system made moving Pascal easier than many other languages, as= Rob pointed out, the Pascal I/O was so screwy and frankly not well bound t= o the host OS, that every new implementation messed with it in some manner = [see Brian's wonderful tome for more details]. =C2=A0 Similarly, the la= ck of standardized way to do separate compilation for support libs (which h= ad been a prime idea in FTN and allowed a rich market for libraries), reall= y had a huge effect.=C2=A0 Again it was solved many times with each compile= r implementation, but each scheme tended to be a little different.
=
Fortran, of course, had been around long enough and had an ANS= I standard (and a test suite for it) at least made portable FTN possible.= =C2=A0

So the theory was good -- Pascal was a 'bet= ter' language in theory and everyone was coming out of school knowing i= t.

Again, reality ... =C2=A0since UNIX came with C and= was 'open source' in the sense that everyone that had it, had the = AT&T source code.=C2=A0 One of the first things that happened was C was= retargeted to a number of processors -- often not by either the manufactur= er or by the system vendor.=C2=A0 Interestingly, this was about 50/50 betwe= en Academics/Research and Industry. =C2=A0 So while all the world's ISA= were not a PDP-11, the fun part is the code=C2=A0could be made reasonab= ly portable - in fact in practice [partly because C had a pre-pr= ocessor which Pascal did not and of course is what ratfor is] have one sour= ce base that could compile for different targets.

The = problem (as you note) these=C2=A0issues are >>obvious<< in hind= sight, but during that time -- it was not.=C2=A0 It certainly=C2=A0seems li= ke Pascal had a lot of momentum. They were a lot compilers for a lot of sys= tems. =C2=A0 Look, it was the language Apple used for the Lisa and Mac.=C2= =A0 Things like UCSD Pascal was being made by the press as 'the answer = for 8 bit processors' [note MSFT had a FTN for the 8080 on CPM in those= days]. =C2=A0 Turbo Pascal was, in fact, an=C2=A0excellent compiler.=C2=A0= But C was starting to come on strong.

FWIW: =C2=A0In = the end, I personally believe that C 'won' because=C2=A0the practic= al side made it cheaper to use (economics always beat architecture).=C2=A0 = The cynical part of me thinks that a big reason why C++ caught on is becaus= e a lot of the pro-Pascal community got to sing the praises of OOP with C++= and they could change sides without claiming C beat Pascal.=C2=A0 Hey, Mic= rosoft made a pretty good C for DOS and finally going C++ probably helped.= =C2=A0 It sold more than the FORTRAN and my guess is that people using FORT= RAN at that point were scientists and needed the address space that 8086 di= d not have. The 386 with a linear address for using things like the PharLap= tools made it possible and frankly the Intel 8087 started to make that pro= cessor a better target for science.

In the end, Pascal= never had a code base like the FTN Scientific code base or todays C and C+= + code base. =C2=A0 FWIW: I can think of few production Pascal codes from t= hose days that are still being used [other than the Front-End of the DEC/In= tel FORTRAN compiler - which was moved=C2=A0from BLISS to Pascal for all th= e same 'C is dirty' issues BTW].

<= /div> --0000000000007526e305d6f7cf83--