X-VM-v5-Data: ([nil nil nil nil nil nil nil nil nil] ["4587" "Fri" " 4" "February" "1994" "12:10:29" "GMT" "David Rhead" "David_Rhead@VME.CCC.NOTTINGHAM.AC.UK" "<199402041210.AA12123@mail.cs.tu-berlin.de>" "81" "Additional features" "^Date:" nil nil "2" "1994020412:10:29" "Additional features" nil nil]) Return-Path: Received: from sc.ZIB-Berlin.DE (mailserv) by dagobert.ZIB-Berlin.DE (4.1/SMI-4.0/24.6.93) id AA01515; Fri, 4 Feb 94 13:10:57 +0100 Received: from mail.cs.tu-berlin.de by sc.ZIB-Berlin.DE (4.1/SMI-4.0-sc/03.06.93) id AA29417; Fri, 4 Feb 94 13:10:56 +0100 Received: from tubvm.cs.tu-berlin.de by mail.cs.tu-berlin.de with SMTP id AA12123 (5.65c8/IDA-1.4.4(mail.m4[1.12]) for <@MAIL.CS.TU-BERLIN.DE:Schoepf@SC.ZIB-BERLIN.DE>); Fri, 4 Feb 1994 13:10:53 +0100 Message-Id: <199402041210.AA12123@mail.cs.tu-berlin.de> Received: from TUBVM.CS.TU-BERLIN.DE by tubvm.cs.tu-berlin.de (IBM VM SMTP V2R2) with BSMTP id 6059; Fri, 04 Feb 94 13:10:45 +0200 Received: from VM.URZ.UNI-HEIDELBERG.DE (NJE origin MAILER@DHDURZ1) by TUBVM.CS.TU-BERLIN.DE (LMail V1.2a/1.8a) with BSMTP id 6058; Fri, 4 Feb 1994 13:10:44 +0200 Received: from VM.URZ.UNI-HEIDELBERG.DE (NJE origin LISTSERV@DHDURZ1) by VM.URZ.UNI-HEIDELBERG.DE (LMail V1.2a/1.8a) with BSMTP id 1201; Fri, 4 Feb 1994 13:10:06 +0000 Reply-To: Mailing list for the LaTeX3 project Date: Fri, 4 Feb 1994 12:10:29 GMT From: David Rhead Sender: Mailing list for the LaTeX3 project To: Multiple recipients of list LATEX-L Subject: Additional features Status: R X-Status: X-Keywords: X-UID: 1436 The "will it be backwards compatible?" dilemma that seems to be troubling Mike Piff is not peculiar to LaTeX. It seems, to me, to be pretty typical of the dilemma involved in introducing any new software into user service: * a new Mark of the NAG Library. If there is never a new Mark, people will never get improved routines. If the new Mark has all the old routines, there will be a lot of "dead wood", and the manual will have to be even more enormous than it is now, to continue documenting the "dead wood". But if the old routines are withdrawn, some old programs will stop working. * a new version of SPSS. Up to a certain point, SPSS could be modified in line with its "punched card" ancestry. To get an "interactive version", there had to be a major change which was not "backwards compatible". Otherwise SPSS would have ceased to improve. In such circumstances, our computing centre might have both versions available to end-users in parallel (via different commands) and let the users migrate to the new one over 12 months. * What would happen now if you tried to compile a Fortran II program? I haven't tried it, but I'd guess that a Fortran 90 compiler would fail to recognise certain Fortran II structures. (And if the old program relied on a one-trip DO loop, it might produce different results under a newer compiler.) In the NAG case, they keep obsolete routines in the Library for an overlap period (one Mark = 18 months, I think). In addition, any particular computing service that uses these products probably has additional flexibility about when they introduce a new version. (In a university, "the summer vacation" is often a good time, which cuts down the number of people who had to re-learn.) So, there are various techniques (overlap period, delay in introduction) for minimising the amount of re-writing (in these examples, of subroutine calls, SPSS code, Fortran code), but ultimately the "least bad" thing is that people who are "years behind" have to do some re-writing. This, it seems to me, is fairly normal in the introduction of any new software into user service. Getting back to LaTeX3 ... The question of If it is a choice between "getting things right" or "backwards compatibility", does one insist on "backwards compability"? has been asked before, and I think the consensus was No. Get it right. Where does that leave anyone who wants > A reassurance! \@startsection is cast in stone and will never > disappear or change its meaning again. etc.? Well, firstly, it leaves you in a better situation that with the commercial products I've mentioned above. LaTeX 2.09 is public domain, so you can keep it on your computer for as long as you want. If you want your existing code to work forever, you can at worst keep it working by keeping LaTeX 2.09 available. (With the commercial products such as NAG, SPSS and Fortran compilers, there would be licensing considerations.) Nobody is going to turn up in Sheffield to destroy LaTeX 2.09 before you yourself are ready to move off it. Nobody is going to force you onto LaTeX2e or onto LaTeX3. However, if you have a "wish list" of improvements that you'd like, and the idea at LaTeX3 is to give priority to "get it right" over "backwards compatibility", you may not get the improvements without sacrificing some "backwards compatibility". (E.g., LaTeX 2.09 has "same vertical space before and after lists", which makes it difficult to distinguish paragraphs when block paragraphs are used. I put extra \vspace in my .tex files when necessary with LaTeX 2.09. If LaTeX3 "gets it right" I'll have to take the \vspace out of my .tex files. But I'd regard it as worth it for the overall improvement.) You'd be in an analogous position to someone who has a Fortran II program with a one-trip DO loop and who wants the features available in Fortran 90. If the worst comes to the worst, you could have 2 versions of LaTeX available in parallel so that you don't place your existing investment in specialized .sty files for exam papers etc. at risk. Perhaps aim to check out your .sty files with LaTeX2e over the next 18 months, and then aim to update things for LaTeX3 in the 18 months after that appears. It's analogous to what you'd have to do if you had a Fortran program calling a particular NAG routine, and NAG gave notice that that particular routine was to be superseded by something better. David Rhead