In previous posts (here, here and here), I’ve written about the content of and process of creating the next revision of the Fortran standard, Fortran 2015. At the August 2015 joint WG5/J3 meeting in… Read more
RECENT BLOG POSTS
In November 2014, I led a session at SC14 (the event formerly known as “Supercomputing”) titled “The Future of Fortran”. I invited representatives from other vendors and members of the Fortran… Read more >
This post contains no Fortran.
British author Sir Terry Pratchett died March 12, 2015 at age 66, finally succumbing to what he called “The Embuggerance”, a rare form of Alzheimer’s… Read more >
I recently received a copy of “Numerical Computing with Modern Fortran”, by Richard Hanson and Tim Hopkins, and noted how many books on Fortran are being published recently with “Modern Fortran” in… Read more >
I knew this date was coming up, but I had forgotten about it for a while until my manager reminded me – October 2, 2013 marks my 35th anniversary “at Intel”. I put that in quotes because Intel “grandfathered” my time at DEC and Compaq. It was October 2, 1978, when I walked into DEC’s facility in Tewksbury, Massachusetts, as a new employee. The site, like many of DEC’s in that day, was a converted shopping center – the main entry was where a Caldor department store had been, and a smaller building across the parking lot had been an A&P supermarket. Nowadays it’s an office park owned by an insurance company.
I sat in the lobby waiting for the HR person to come and get me and another new hire. And sat, and sat… Eventually, Leslie Miller (later Klein), a Fortran developer (and later manager of DEC’s “Technical Computing and Enviroments” department) recognized me from my job interview and brought me in. It turned out that the other new employee, whom if I recall correctly was documentation writer Patti Anklam, had gone in ahead of me as she had worked there before.
I was being hired into the VAX-11/VMS (that’s what it was called then) Run-Time Library team to work on the VAX-11 FORTRAN-IV-PLUS (ditto) run-time library. The compiler team worked in Tewksbury, but the RTL team itself worked in DEC’s fairly new and sprawling site in Merrimack, NH. (now a major Fidelty Investments site, just a stone’s throw from where Intel has me now.) So, while I was to work alongside the compiler team in Tewksbury, I was to spend six weeks with the RTL team in Merrimack. After the typical “new employee” training, I started working in Merrimack. A complication was that they couldn’t find my badge, so I was using a temporary badge for weeks. It turned out that it was still in Tewksbury…
I then moved back to Tewksbury and immediately started on designing the RTL support for the remaining FORTRAN 77 features not yet supported by VAX FORTRAN, namely INQUIRE and “OPEN on a connected unit”. I also designed and implemented NAMELIST support at that time. In addition to Fortran work, I was also maintaining and developing the “general purpose” library (LIB$, OTS$, STR$, etc. for those who know VMS) and created patch files for early VMS updates.
Shortly after I started working in Tewksbury, DEC decided it wanted to consolidate its software development efforts in a single site and began construction of its Spit Brook Road facility in Nashua, NH. That site opened in July 1980. You can read my story about that in Thirty Years of Zonker Kookies. After about two years of focusing on Fortran, I got attached to the new VAX Pascal V2 product. (V1 had been developed by the University of Washington, V2 was to be home-grown.) For this I did the complete design and implementation of the RTL and I was pleased to find that, over the coming years, it would get ported to several different platforms largely unchanged. I was very proud of the work I did on that, with a clean and efficient API for the compiled code.
In 1983 I joined the VAX Ada team as project leader for an embedded and realtime variant called VAXeln Ada. VAXeln was a new OS by one-time VMS project leader David Cutler (who later went on to be a principal designer of Windows NT.) VAXeln’s primary programming language was VAXeln Pascal, where the compiler was created by Cutler’s group in Bellevue, Washington, but the RTL was a port of my VAX Pascal RTL. For VAXELN Ada we’d use the VAX Ada compiler (due to be released for VMS in 1984), a port of its existing RTL, and customized remote debugging support that I helped design. This was the one and only time I actually served as a project lead with someone working for me. VAXELN Ada was quite successful and profitable, and I spent a lot of time visiting defense contractors and oil industry offices to talk about it.
By 1988, Cutler had long since moved on and responsibility for VAXeln was with a group in Maynard, MA. I was offered a position there, but I really wanted to stay in Nashua. Luckily, the Fortran compiler team, whom I had worked with so closely, took me in and I worked on the VAX Fortran compiler for a long time. By the early 1990s, DEC’s new 64-bit Alpha processor was on the rise, and the Fortran compiler for it was new, incorporating a “front-end” (language parsing) from the then-defunct Compass (along with several Compass developers), and DEC’s new GEM code generator and optimizer technology. For a while, I was focused on VAX and eventually became the entire VAX Fortran project team, maintaining and extending it for several years. During this time I added recursion and integer pointers (aka “Cray pointers”) to the VAX compiler, but eventually the VAX compiler went into “maintenance mode” and I switched to the Alpha compiler, becoming responsible for the VMS side of that product.
In the mid-1990s, we had released a Fortran compiler for Alpha systems running Windows NT (yes, there were such things), but it didn’t have a large market. We asked Microsoft about licensing their Visual Studio IDE for this, and they in turn proposed to license us not only the Visual Studio IDE but also their Fortran PowerStation product. While PowerStation was widely used on Windows, it wasn’t a big seller for Microsoft and they realized that it needed a lot of investment to keep up with the language standard. In 1997, DEC released DIGITAL Visual Fortran 5.0, aka “DVF”, which was our own compiler and RTL plus the Visual Studio IDE and other Microsoft bits such as QuickWin to maintain compatibility with PowerStation. To say it was a hit would be an understatement.
DVF plunged us into a completely new market segment and we had to feel our way around as to the best way to provide product support, marketing and general interaction with customers. We did everything ourselves, and I do mean everything – including stuffing boxes for shipment for a while. We also developed the product graphics, including the “Flying F” logo (shown here), built the installer, and I was in charge of adding floating licensing and creating product updates and patches. We started an email newsletter (which introduced Doctor Fortran) and then a user forum (which we later brought over to Intel.) I even designed, in Corel PhotoPaint, the mousepad that we included in later Compaq Visual Fortran boxes.
In 1999, Compaq bought DEC but locally, we didn’t see much effect from this other than the name change. In the more global sense of things, Compaq was not doing well and had gone through a painful leadership transition. Still, DEC/Compaq Fortran, and especially CVF (as it was now called), was doing very well – so much so that Intel came calling and in August 2001 pretty much the entire Compaq Fortran team, plus a lot of C/C++ and GEM developers, were hired by Intel. Just a month after that, HP bought Compaq.
As I wrote in the Zonker Kookies post, we stayed in the Nashua site, walled off from the rest of HP. My own role had been gradually shifting away from development and toward support and “evangelism”. At Intel, support was a separate team and I joined them in 2002, staying in Nashua with the rest of the developers. The last bit of development work I did, formally, was to add an undocumented feature to the OPEN statement where, on Windows, you could use %envvar% in the FILE= value which would get expanded, using a Windows API. But even though I was no longer a developer, my experience helped me in the support role because I had a better feel for what could be going wrong when a problem was reported. That I had been both a compiler and an RTL developer helped even more.
In 2013 I am still with the compiler support team, but I have fingers in a lot of pies. (Yay, pie!) One of my official roles is “the public face of Intel Fortran”, which is why you will see me in comp.lang.fortran, the Intel Developer Zone user forums and other places Fortran is discussed (StackOverflow, LinkedIn, etc.) I’m also one of Intel’s alternates to the Fortran standards committee and, as I wrote here, attended the 2013 ISO meeting in Delft. I will again be at Supercomputing this year in Denver, and do a lot of travel to deliver training at customer sites. It’s never boring…
I will admit that reaching a milestone such as this is cause for reflection – I’m not as young as I used to be. (I do work with several who have followed the DEC/Compaq/Intel path even longer, though.) I’m hoping to find someone to eventually carry on the “Doctor Fortran” role as I know I won’t be here forever. But for now, you’re stuck with me…
The ISO Fortran Standards Committee held its annual meeting in Delft, The Netherlands, in late June. I represented Intel at this meeting where the focus was on completing the set of requirements for the next revision of the Fortran standard, to be call… Read more >
Spend any time in the comp.lang.fortran newsgroup, or other places where programming languages are discussed, and you’ll soon see a new “Which is better, Fortran or C?” thread show up. These never fail to produce heated comments from people who should know better. My answer is that neither is “better” – each has its strengths […] Read more >
Nearly 11 years ago (!) I wrote an item for the Visual Fortran Newsletter on explicit interfaces in Fortran. In recent weeks, I have had to refer quite a few customers to this article, suggesting that many Fortran programmers don’t understand the role and rules of explicit interfaces. However, when I reread the item, I […] Read more >
In some of my earlier posts I’ve discussed new features in the Fortran language that might be unfamiliar to some. But this time I’m going to go the other way and describe some really old language features – so old that many newer Fortran programmers are mystified when they see them – but these features […] Read more >