In 1967, University Malaya acquired an IBM 1130. It may have been the first general mainframe in the country. An academic friend of the family invited me, a schoolboy at the time, to join an introductory course in FORTRAN, intended for other academics, officials and industry to learn about programming and how computing would change the country. It certainly changed my life as it was the start of my interest in computer science.
I could go on about the incredible increase in computing power, about how a Raspberry Pi is a more powerful computer than the 1130 ever was, but this blog isn't about that well-trodden ground. Neither is it about 1130 lore, there are sites for that, like this one.
Rather it's about one aspect of our course which has always intrigued me, and I may never know the answer to. As FORTRAN programmers know, formatted I/O is one of the more difficult areas of the language, and remember the strings were Hollerith constants, the CHARACTER type didn't arrive until FORTRAN 77. So the course presenters gave us a couple of free format input and output subroutines: CALL BACHA() and CALL TULIS(). BACHA and TULIS are read and write respectively in Malay.
If I recall correctly, not only did these routines take both INTEGER and REAL arguments, but were variadic. Probably impossible to provide with a subroutine written in FORTRAN. Now we can think of myriad ways of implementing this in modern languages. But the IBM 1130 had comparatively little memory, measured in thousands of words. My guess is that IBM technical support provided these routines, in assembler, localised for Malaysia. But I may never know.
I could go on about the incredible increase in computing power, about how a Raspberry Pi is a more powerful computer than the 1130 ever was, but this blog isn't about that well-trodden ground. Neither is it about 1130 lore, there are sites for that, like this one.
Rather it's about one aspect of our course which has always intrigued me, and I may never know the answer to. As FORTRAN programmers know, formatted I/O is one of the more difficult areas of the language, and remember the strings were Hollerith constants, the CHARACTER type didn't arrive until FORTRAN 77. So the course presenters gave us a couple of free format input and output subroutines: CALL BACHA() and CALL TULIS(). BACHA and TULIS are read and write respectively in Malay.
If I recall correctly, not only did these routines take both INTEGER and REAL arguments, but were variadic. Probably impossible to provide with a subroutine written in FORTRAN. Now we can think of myriad ways of implementing this in modern languages. But the IBM 1130 had comparatively little memory, measured in thousands of words. My guess is that IBM technical support provided these routines, in assembler, localised for Malaysia. But I may never know.
No comments:
Post a Comment