Enable JavaScript.

Cartoon of Richard A Demers drawn by Joseph Keville

1968: PL/I Programming

Bob Buhlmann walked to the front of the classroom carrying the printer listing of his program. He had volunteered to present his version of the report writing problem we had been working on. Grabbing the leading edge of the fan-folded listing in one hand, he flung the body of the report over our heads, and watched it unfurl as it flew to the back of the classroom.

"Now you can all see it." he said, as we all broke into laughter.

It was the second week of my employment with IBM. Bob and I had been sent to a class on the PL/I programming language. Previously, I had only programmed in FORTRAN, but had heard that there was this super new language that had been invented by IBM scientists. It was supposed to have the best features of all the other languages that were then in use and people were saying it was "the language of the future." IBM was promoting PL/I heavily, and was training a lot of its own programmers to code in PL/I.

The class was two weeks long, and probably should have been a full week longer. PL/I is an enormous language, absolutely stuffed with features that make it easy to program a wide variety of different problems. But this also means there are multiple ways of programming almost everything, so it isn't enough to just learn the statements of the language. You also need to learn how to use them appropriately. And if a PL/I program was to perform acceptably, it helped to have a detailed knowledge of what was generated by the PL/I compiler.

In the five years following this first course, I wrote many PL/I programs, most of them having to do with the operation of IBM's Field Engineering Division. I never felt that I ever finished learning PL/I. Most other people used the parts of the language that they already knew to get their jobs done, but I was always interested in trying some new techniques, including some that were quite bizarre. At one point, I got interested in the use of decision tables for designing program logic and then learned of a way of transforming them into PL/I programs through the use of complex bit strings. I always got the programs to work, but I pity whoever had to maintain them later.

Interestingly, all of my experimentation was encouraged by my managers. I rapidly became the group expert in PL/I and picked up the sobriquet "Mr. PL/I!" I wasn't sure I liked this, but it was a form of recognition of my growth as a programmer. After my dismal final years in college, it felt good to really succeed at something.

PL/I is still in use today, mostly in a few mainframe shops. It did not displace FORTRAN, COBOL, and other languages from their niches, as had been hoped. In the long run, PL/I was just too big a language and too hard to learn for most people. Trying to be everything for everybody, it fell prey to simpler languages like BASIC, Pascal, and C. However, I've never regretted the amount of time and effort I put into learning PL/I. At least the way I went at it, learning PL/I was like a comprehensive course in Computer Science, and it partially made up for my lack of formal academic training in computing.

 

1968:Programmation en PL/I

Bob Buhlmann se dirigea vers l'avant de la salle de classe portant l'annonce de l'imprimante de son programme. Il s'était porté volontaire pour présenter sa version de la rédaction du rapport problème que nous avions travaillé. Saisissant la fine pointe de la pliées annonce dans une main, il jeta le corps du rapport sur nos têtes, et le regarda dérouler comme elle s'est envolée vers l'arrière de la salle de classe.

« Maintenant vous pouvez tous le voir » dit-il, comme nous tous éclaté de rire.

C'était la deuxième semaine de mon emploi chez IBM. Bob et moi avions été envoyés à une classe sur le PL/I, langage de programmation. Auparavant, je n'avais qu'à programmé en FORTRAN, mais il a appris qu'il y avait ce nouveau langage super qui avait été inventé par les scientifiques d'IBM. Il était censé avoir les meilleures caractéristiques de toutes les autres langues qui étaient alors en usage et les gens disaient que c'était « la langue de l'avenir ». IBM a été la promotion de PL/I lourdement, et a été la formation d'une grande partie de ses propres programmeurs pour coder en PL/I.

La classe était de deux longues semaines, et sans doute aurait dû être une semaine de plus. PL/I est une langue énorme, absolument bourré de caractéristiques qui la rendent facile à programmer une grande variété de problèmes différents. Mais cela signifie aussi qu'il ya plusieurs façons de la programmation de presque tout, il n'est donc pas suffisant d'apprendre seulement les états de la langue. Vous devez aussi apprendre à les utiliser à bon escient. Et si un PL/I du programme a consisté à réaliser de façon acceptable, il permet d'avoir une connaissance détaillée de ce qui a été généré par le compilateur PL/I.

Au cours des cinq années qui ont suivi ce premier cours, j'ai écrit beaucoup de PL/I des programmes, la plupart d'entre eux ayant à voir avec l'opération de Field Engineering Division d'IBM. Je n'ai jamais senti que j'ai jamais fini d'apprendre PL/I. La plupart des gens d'autres utilisé les pièces de la langue qu'ils savaient déjà à faire leur travail, mais j'ai toujours été intéressé à essayer de nouvelles techniques, dont certaines étaient tout à fait bizarre. À un moment donné, je me suis intéressé à l'utilisation de tables de décision pour la conception de la logique du programme et qui ont appris d'une façon de les transformer en PL/I des programmes grâce à l'utilisation des cartes peu complexe. J'ai toujours eu l'programmes fonctionnent, mais je plains quiconque avait à les maintenir plus tard.

Fait intéressant, tous mes expérimentation a été encouragé par mes managers. Je suis rapidement devenu le groupe d'experts en PL/I et a pris le surnom de « Monsieur PL/I ! » Je n'étais pas sûr que j'aimais ça, mais c'était une forme de reconnaissance de mon développement en tant que programmeur. Après mes années sombres final en collège, elle se sentait bien pour réussir vraiment à quelque chose.

PL/I, est encore en usage aujourd'hui, surtout dans un des magasins centraux années. Il n'a pas remplacé FORTRAN, COBOL, et les autres langues de leurs niches, comme cela avait été espéré. À long terme, PL/I était trop gros et trop une langue difficile à apprendre pour la plupart des gens. Essayer d'être tout pour tout le monde, il fut en proie à des langues plus simples comme le basic, Pascal et C. Toutefois, je n'ai jamais regretté le temps et les efforts que j'ai mis sur l'apprentissage PL/I. Au moins la façon dont je suis allé à elle, l'apprentissage en PL/I était comme un cours complet en sciences informatiques, et elle a partiellement compensé mon manque de formation universitaire théorique et en informatique.