With the CFCC 50th birthday celebration and our department's decision to go with "Information Technology over the past 50 years" I saw my opportunity to crack open the vault of ancient programming languages. (If you don't want to read about the evolution of programming languages, stop reading NOW!) When I was teaching at Mercer, one of my classes was the Theory of Programming Languages. A large portion of that class was devoted to the evolution of programming languages. Now that I think of it, I guess it is only natural that I find the topic fascinating. My father is a history buff, so perhaps I am, too, except in the very narrow field of programming languages. The dirty little secret is, not only do I know about them, I can also program in them (and have in fact taught many of them too!) Beside the FORTRAN is Lisp. While not one of my all time favorites, it is fun to play around with. Lisp is probably the VW Beetle of programming languages. Those who "get it" love it and won't ever let it go. They'll swear up and down they can make it do anything all the other languages can do and more. But when it gets right down to it, they never really do. It's cute, and it's fun, but really, very few people in the real world have much use for it. (Lisp is for those artificial intelligence geeks at UC Berkley.) The Lisp example solved the Towers of Hanoi problem, but taking advantage of Lisp's strong recursive abilities. The cute little flowcharting book represents the paradigm shift from "Unstructured" to "Structured Code". Goto statements are gone. Well not really, but programming classes stopped teaching them. I now regularly tell my students that no matter where and no matter when if they ever use a goto at any time in their lives, I will jump out of the shadows and punch them in the back of the head. Using a goto statement is a clear indication that you don't have a clue what you are doing. Yes, I currently teach flowcharts in my job. For purely theoretical reasons I'd rather teach Nassi-Shneiderman Diagrams (or "Nasty Schneiderman Diagrams" as we'd call em). But since they pay me to teach em, I guess I'll just go with the flow... charts. (Yes it's a bad pun. Sue me!) Ah, Pascal. The cute, fun, little teaching language. I squeezed a whole lot out of that language, and made a little money off of it over the years. Eventually, though, I simply HAD to take off the training wheels and step up to the grown ups table. I included Ada, not because it is an especially great language or even because it represented some new trend in the evolution of programming. I put it on display as an example of what you get when the government (DoD) decides to make it's own programming language. The language was so bloated and complex and took so long to create that by the time is was "done" no one would use it. The DoD basically FORCED people to use it, but within 10 years even the DoD stopped using it. The problem then was that they had a fleet of aircraft with Ada software on them that had to be maintained. Thus my job teaching Ada on the base, since the Air Force cannot find Ada programmers to maintain code they have to grow their own. That's your tax dollars at work folks! Keep that in mind next week (April 15th)! I'd certainly love to crank up a C++ class. (That's actually a pun, but only geeks will get it.) There are a few aspects of VB and the particular book we use that makes my skin crawl. (Global variables, which are almost as bad as Gotos, are standard fare in our text.) While I certainly got a great deal of enjoyment and satisfaction out of my languages display, I think the only thing that anyone else got out of it was the fact that in the old days of programming, there was no mouse and you actually had to type in words to tell the computer what to do. You lazy kids today with your crazy mouse with not one, but two buttons! You don't know how spoiled you are! |
The story of how I got into the Krystal Lover's Hall of Fame.
You can get my posts in your email if you prefer.
See how to sign up in the SubScribe! section on the left side.
No comments:
Post a Comment