One of the links in yesterday’s interesting links post was to a fun questionnaire for computer science people. Guess the Programming Language asks you to identify programming languages from a small snippet of code. two of the languages in the questions were pretty far out and more joke than useful. I’ll ignore them for the time being. But several were pretty recent real programming languages that are being promoted as new and special. I have to say though that a lot of them look a lot a like.
At some point one had to work fairly hard to find the unique attributes or syntax between languages. Most of them seem to have a large volume of “stuff” that could be taken right from the definition of the C programming language. Other features, or rather syntax changes, seem to be attempts at obviating the need for the use of letters. OK none of them take it to the extreme that APL did. Am I the only one who remembers this sort of keyboard overly for entering APL programs?
Did no one learn from that?
It feels like the early days of programming saw languages that were really different from each other. No one would confuse a FORTRAN program with a COBOL program or a BASIC program. Let alone APL. Java, C++, C# and more in the C family all look largely alike for the basics. One sort of wonders why people bother creating new languages if they are not really different.
Another thing I have noticed is that while there once was a goal of making programming languages easy for people to understand it seems increasingly like one goal is to make them easier for compiler writers (or at least the people who write the parsers). The use of special characters seems to be going way overboard. Maybe that is through back to or because people didn’t learn from APL? I don’t know.
One thing this has done is encourage the use of block programming languages for beginners. While an (mostly) good idea this makes the jump to more professional languages into a big step. What’s an educator to do?