Interview with Rob Vugteveen — an old-school FORTRAN programmer

Home / Interview with Rob Vugteveen — an old-school FORTRAN programmer


Rob Vugteveen, Carson City, Nevada, USA


R: Good morning, Kirill.





K: How your most interesting project on Fortran (or FORTRAN, like it was called earlier) was looking like?

R: I was writing mine-planning software for an open-pit copper mine. The elevation contours of the mine would be drawn on the screen like a map. A mine engineer could use a mouse to draw a polygon around a portion of the mine where the earth would be blasted and removed. The software would query a 3-dimensional grid of drillhole data and determine how much copper would be recovered from that portion of earth. One of my tasks was to write the code to modify the contour lines to account for the material that was removed. I had to invent that procedure from scratch, and it took me more than a week to develop the algorithms for every possible type of line intersection. We take this operation for granted now every time we make a vector operation in Adobe Illustrator or AutoCAD. But those didn’t exist then, and I was particularly satisfied to have figured out how to do it.

K: What was your best success with it?

R: I discovered that my algorithm could also “put material back” in the open-pit by reversing the direction that the polygon was drawn. That meant the mining engineer could create a waste dump over ground that no longer had copper ore beneath it. It was a breakthrough in the program’s design capabilities.

K: What was your worst mess up?

R: Occasionally the contour modification algorithm would get into an endless loop, and force the engineer to kill the program and start over. I discovered a special case when a point on the original contour and a point on the engineer’s polygon had exactly the same coordinates. My algorithm didn’t anticipate that possibility and assumed the polygon could not be that precise. However, after several days of debugging, I fixed the algorithm to work in all cases.

K: Computers and programming languages made a large progress since then. How do you feel about these changes?

R: As computers have become smaller, more powerful, and less expensive, people have come to expect more and more from their machines. Programmers keep pushing the limits on what can be done. Object-oriented programming was the big thing, and variations of the C language were very popular. Fortran was still the number-crunching engine for many scientific and engineering applications, but the Fortran applications got wrapped in an outer shell of object-oriented code for more of the graphics and user-input functions. More specialized languages seemed to spring up as computing power increased, with Java growing out of Sun Microsystems (later acquired by Oracle) and becoming Javascript (from Netscape). The UNIX operating system took hold, MS-DOS gave way to Windows, and a whole host of programming languages appeared every decade since. Most of these built on previous developments to become easier to use and add functionality, such as distributing computation tasks in parallel threads across multiple processors and other resources.

I was amused to read this week that C++ has recently overtaken Python in the top three most-used programming languages. It is likely that top three ranking will continue to change as processing power increases, hardware capabilities expand, and more applications are developed that haven’t been imagined yet. Even with all those other languages, there are still many new scientific and engineering applications being written in Fortran, and the language continues to be improved. The most recent version is Fortran 2018.

My favorite Fortran joke needs a bit of setup: In Fortran, variables that start with the letters I, J, K, L, M, and N (those between I and N as in INteger) are implicity stored as integers in the computer. Those starting with any other letters are stored as real numbers in memory. So the joke is:

God is real… unless explicitly declared an integer.

K: I’ve heard you are learning JavaScript right now. What made you decide to return to the IT industry?

R: In my current job, I am using Adobe products on large numbers of images. Adobe has a scripting capability that can be implemented using Javascript. I want to learn it so I can be more efficient with processing large sets of images and do things that cannot easily be done from the menu-based functionality of those programs.

I’m also using QuickBase, and some functionality that I want apparently relies on external calls which can be written in Javascript.

Oddly enough, I never took a class on Fortran or C++ back when I was in college or afterward. I learned it on my own by determining what I wanted to do and looking up how to make it happen. Javascript seems a bit more complex for that approach, so I’m relying on YouTube for online instruction. We’ll see how quickly I can become productive that way.

K: You also just started to learn WordPress. Could you please tell us about your experience making websites?

R: I made my first website for a visitor center that I built at a copper mine in 1997. I started using Apple iWeb, then moved to Adobe Dreamweaver when iWeb proved to be inadequate. I kept up the site for five years until I left that company in 2002.

I didn’t really build a website again until 2016 when I was looking for work and wanted to create an online resume for potential employers to see my capabilities. I chose WIX as a way to get something up quickly, then I used it to experiment with another website just for fun.

Now I’m looking into learning WordPress with a friend in the Ukraine who has been kind enough to coach me.

K: Great answers, Rob! Thank you for taking your time to answer all these questions.

4 thoughts on “Interview with Rob Vugteveen — an old-school FORTRAN programmer”

  1. Some of you may have caught an over-generalization that I made in this interview. In my comment, I incorrectly lumped C in with C++ as an object-oriented language, when clearly C is not in that category. Even this “old school” FORTRAN programmer knows the difference.

    1. That sentence has been corrected:
      “by object-oriented languages like C and its variants” —> “by object-oriented languages”.

  2. Спасибо, интересное интервью!
    Всегда интересно узнать, как было в те времена, когда многое только ещё начиналось.

    Thanks for the interesting interview!
    It’s always interesting to know, how it was in those times, when a lot was just beginning.

Leave a Reply
