[From nobody Wed Oct 14 21:23:44 2009 From: "Ronald Mak" <ron.mak@willardlowe.com> To: "Kenneth Louden" <louden@cs.sjsu.edu>, "Chris Tseng" <tseng@cs.sjsu.edu>, "Cay Horstmann" <Cay.Horstmann@sjsu.edu> Subject: How to feel really old fast Date: Fri, 7 Mar 2008 11:48:59 -0700 Message-ID: <004901c88083$ed474080$0200a8c0@DELLD820> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_00AC_01CA4D14.D76251B0" X-Mailer: Microsoft Office Outlook 11 Thread-Index: AciAg+dfK90kY8i8R6Se7R7kHvoOZA== X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 This is a multi-part message in MIME format. ------=_NextPart_000_00AC_01CA4D14.D76251B0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit One of the topics for my CS 160 sections last night was how to deal with legacy software. I did a live demo in class where I took a working command-line program (below) written in FORTRAN IV, wrapped it inside of a Java bean, and then deployed the bean as a web service. So the old FORTRAN program turns into a service provider over the Internet! What surprised me was the reaction of the students when I showed them the FORTRAN program. Some said they had "heard of" FORTRAN, but few had actually seen a program written in it. I explained that this program would have been punched onto cards, that the C in column 1 was for comments, that the statements started in column 7, etc. They were totally amazed. I first started programming in FORTRAN at age 14. I used it extensively as a Stanford undergrad in my numerical analysis and other scientific programming classes, and when I became a grad student there, I actually taught the FORTRAN class in the CS dept for two quarters. Last night in front of my students, I was feeling like a legacy myself ... -- Ron P.S. Perhaps I should schedule a field trip for my students to the Computer History Museum where I've volunteered as a docent (among other tasks). P.P.S. You can get a free open-source FORTRAN compiler for the PC from Open Watcom (http://www.openwatcom.org/index.php/Main_Page). This originates from the old WATFOR compiler developed in 1965 at the University of Waterloo in Canada which first ran on the school's IBM 7040 and 360 systems. I used WATFOR (and then WATFIV) a lot at Stanford. C SQUARE ROOT PROGRAM C REAL*8 NUMBER, ROOT C C READ NUMBER C READ (5,100) NUMBER 100 FORMAT (F5.1) C C COMPUTE SQUARE ROOT C ROOT = DSQRT(NUMBER) C C WRITE SQUARE ROOT C WRITE (6,200) NUMBER, ROOT 200 FORMAT ('THE SQUARE ROOT OF ', F5.1, ' IS ', F15.10) C STOP END ------=_NextPart_000_00AC_01CA4D14.D76251B0 Content-Type: text/html; charset="US-ASCII" Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; = charset=3Dus-ascii"> <META content=3D"MSHTML 6.00.6000.16587" name=3DGENERATOR></HEAD> <BODY> <DIV><FONT face=3DArial size=3D2><SPAN class=3D437391718-07032008>One of = the topics=20 for my CS 160 sections last night was how to deal with legacy=20 software.</SPAN></FONT></DIV> <DIV><FONT face=3DArial size=3D2><SPAN=20 class=3D437391718-07032008></SPAN></FONT>&nbsp;</DIV> <DIV><FONT face=3DArial size=3D2><SPAN class=3D437391718-07032008>I did = a live demo in=20 class where I took a working command-line&nbsp;program (below) written = in=20 FORTRAN IV, wrapped it inside of a Java bean, and then deployed the bean = as a=20 web service. So the old FORTRAN program turns into a service provider = over the=20 Internet!</SPAN></FONT></DIV> <DIV><FONT face=3DArial size=3D2><SPAN=20 class=3D437391718-07032008></SPAN></FONT>&nbsp;</DIV> <DIV><FONT face=3DArial size=3D2><SPAN class=3D437391718-07032008>What = surprised me=20 was the reaction of the students when I showed them the FORTRAN program. = Some=20 said they had "heard of" FORTRAN, but few had actually seen a program = written in=20 it.&nbsp;I explained that this program&nbsp;would have been punched onto = cards,=20 that the C in column 1 was for comments, that the statements started in = column=20 7, etc. They were totally amazed.</SPAN></FONT></DIV> <DIV><FONT face=3DArial size=3D2><SPAN=20 class=3D437391718-07032008></SPAN></FONT>&nbsp;</DIV> <DIV><FONT face=3DArial size=3D2><SPAN class=3D437391718-07032008>I = first started=20 programming in FORTRAN at age 14. I used it extensively as a Stanford = undergrad=20 in my numerical analysis and other scientific programming classes, and = when I=20 became a grad student there, I actually taught the FORTRAN class in the = CS dept=20 for two quarters.</SPAN></FONT></DIV> <DIV><FONT face=3DArial size=3D2><SPAN=20 class=3D437391718-07032008></SPAN></FONT>&nbsp;</DIV> <DIV><FONT face=3DArial size=3D2><SPAN class=3D437391718-07032008>Last = night in front=20 of my students, I was feeling like a legacy myself = ...</SPAN></FONT></DIV> <DIV><FONT face=3DArial size=3D2><SPAN=20 class=3D437391718-07032008></SPAN></FONT>&nbsp;</DIV> <DIV><FONT face=3DArial size=3D2><SPAN class=3D437391718-07032008>--=20 Ron</SPAN></FONT></DIV> <DIV><FONT face=3DArial size=3D2><SPAN=20 class=3D437391718-07032008></SPAN></FONT>&nbsp;</DIV> <DIV><FONT face=3DArial size=3D2><SPAN class=3D437391718-07032008>P.S. = Perhaps I=20 should schedule a field trip for my students to the Computer History = Museum=20 where I've volunteered as a docent (among other = tasks).</SPAN></FONT></DIV> <DIV><FONT face=3DArial size=3D2><SPAN=20 class=3D437391718-07032008></SPAN></FONT>&nbsp;</DIV> <DIV><FONT face=3DArial size=3D2><SPAN class=3D437391718-07032008>P.P.S. = You can get a=20 free&nbsp;open-source FORTRAN compiler for the PC from Open Watcom (<A=20 href=3D"http://www.openwatcom.org/index.php/Main_Page">http://www.openwat= com.org/index.php/Main_Page</A>).=20 This originates from the old WATFOR compiler developed in 1965 at the = University=20 of Waterloo in Canada which first ran on the school's IBM 7040 and 360 = systems.=20 I used WATFOR (and then WATFIV) a lot at Stanford.</SPAN></FONT></DIV> <DIV><FONT face=3DArial size=3D2><SPAN=20 class=3D437391718-07032008></SPAN></FONT>&nbsp;</DIV> <DIV><FONT face=3DCourier><SPAN = class=3D437391718-07032008>C&nbsp;&nbsp;&nbsp;&nbsp;=20 SQUARE ROOT PROGRAM<BR>C<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; REAL*8 = NUMBER,=20 ROOT<BR>C<BR>C READ NUMBER<BR>C<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; READ = (5,100)=20 NUMBER<BR>&nbsp; 100 FORMAT (F5.1)<BR>C<BR>C COMPUTE SQUARE=20 ROOT<BR>C<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ROOT =3D = DSQRT(NUMBER)<BR>C<BR>C WRITE=20 SQUARE ROOT<BR>C<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WRITE (6,200) NUMBER, = ROOT<BR>&nbsp; 200 FORMAT ('THE SQUARE ROOT OF ', F5.1, ' IS ',=20 F15.10)<BR>C<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20 STOP<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = END</SPAN></FONT></DIV></BODY></HTML> ------=_NextPart_000_00AC_01CA4D14.D76251B0-- ]