Embedded Software Colin Walls
Colin Walls has over thirty years experience in the electronics industry, largely dedicated to embedded software. A frequent presenter at conferences and seminars and author of numerous technical articles and two books on embedded software, Colin is an embedded software technologist with Mentor … More » Parlez vous Fortran?April 16th, 2014 by Colin Walls
When I first started programming, the only language available to me was Fortran. I punched cards with my code and later received back a print-out with [mostly] error messages. I was always intrigued by being able to program a computer in such a straightforward way. I understood what assembly language or even machine code was all about, but felt that high level languages had a mystique. In due course, while still at university, I tried out any other languages that were available: BASIC, BCPL, Simula, SNOBOL 4, Algol W and I am sure there were others. When I graduated and found myself in the “real world”, moving towards embedded programming, I found that a selection of languages was still on offer … In my first job, I was doing real time programming on a mini-computer using a variant of Fortran and some assembler. I was then assigned to an embedded project [not that we used that term then] and I was programming mainly in Forth, which was interesting. My next job saw me become much more specialized in embedded using mainly assembly language on 8-bit devices. Later on I began to use high level languages like Pascal and C. We even had a Fortran compiler for embedded applications, but I do not recall anyone ever buying one. Of all the different high level languages I have encountered, not one of them was designed for embedded use. PL/M from Intel is probably the only one that I can identify; Forth may also qualify. C has become the standard because it is a reasonable compromise – not ideal, but good enough. Ironically, I have often felt that one of its ancestors, BCPL, might have made a good embedded programming language. In recent years, many programmers have migrated from C to C++, which has the potential to be a better language. But the take up has been slower than anticipated. I am frequently asked to speculate on what language will be used in coming years and I do not have a firm view, as there are a number of possibilities:
In looking at programming languages, I have a strong sense of a continuing history. Maybe I will draw up a “family tree” sometime. It is entertaining to realise that there is nothing new. I first encountered object oriented programming in the Simula language, which was defined in the late 1960s. Fortran, which has been in use for over 50 years, introduced the idea of function overloading. I often have the urge to program in Forth again, as the language has an amazing economy in style. Critics say that it is the only write-only programming language. I settle for insisting on an RPN calculator. Maybe I should look at Lisp … 2 Responses to “Parlez vous Fortran?” |
Colin, thank you very much for your view on languages. It is interesting you staet that not much is new. It might be that reality is catching up with the challenges of applications. We see a lot more interest in Forth again. There are free commercial compilers from MPE now for MSP430 and for ARM in addition to the PC and MAC versions as well. Try them.
Intrinsically safe is growing and this is where Forth fits by model. Looks to me that the Formal Verification in EDA and similar requirements for Forth go hand in hand.
… and you can produce write only code in any language
… as I have been told code can be produced faster as you cut out bugs early in the coding cycle due to the interactive way Forth works.
Go to MPEFORTH.COM and download your trial version of a modern commercial Forth.
Good points Juergen. I agree entirely with your comment about write-only code – you can produce it in any language.