Scripting languages

Scripting languages from the 90s

But time was of the essence, there were still a lot of interesting things going on in the 80’s. But somewhere around the turn of the 80s and 90s, computers became so good that it was already possible to do very strange and very inefficient things. In particular, these were scripting languages that were not compiled into machine code, but interpreted. For example Perl, Python (it was not very famous then), PHP, Ruby – here are the scripting languages that to a greater or lesser degree are still alive today (they all had time to appear before 2000, even much earlier).

Let’s go over them a little bit, because they are specific things and are now used a lot. The idea is what? If we don’t compile, we can allow a lot more things. For example, a program can look at its code and use it somehow; it knows what’s going on in it and you can do a lot of interesting things with it.

Perl was designed for word processing – in those days there was already so much memory in computers that you could put some text in there and do something useful with it (like wordcount or some search). But I think it was designed by people who were a little bit nuts, because there’s a joke about it: “Any character set written is a correct program in Perl”. In my opinion you can only write it, you can’t read it. When I look at the code in Perl and try to understand something, I don’t understand anything. Maybe if I knew it better I would understand something, but the way I’ve heard from people who do know how to use it is that it’s easier to rewrite it. That is, the programs get short and it’s really easier to rewrite from scratch than to figure out what’s there and fix it.

Around that time, in the mid-90s, the Internet appeared. At first, it was mail, sites with static HTML, but people wanted to add some dynamics there, to make everything happen dynamically, some forms could be filled out, guest books did, something else. As a result, we had to come up with a protocol for how all this would interact, and, most importantly, we had to generate these static (relatively) pages that would be “spit out” to the user in response to his request.

In general, nothing but Perl was suitable at that moment. Writing in plain C or C++ a handler was a bad idea. Lacking anything better, Perl was at the time (and for quite a long time) a popular language for web development. Of course, the scale doesn’t compare with what’s going on now.

PHP came along as… an accident. A guy had stopped doing it rather quickly – he was making his own page, and he had a guestbook or something, some other stuff. And he wrote a set of some macros for Perl that were like C, because he could do that, just because it was convenient for him. And he called it Personal HomePage. And he uploaded it and said, “People, look what little thing I’ve written that’s much clearer than on Perl, and you can change it. And people liked it.

And then he gave it up. So, eventually this PHP lived on, and with time became much more popular than Perl. But its “birth trauma” (concept as a set of macros for Perl) played a pretty nasty trick on it. The language turned out to be a strange one. That is, it evolved on its own, no one designed it, no one administered the development process (neither the company nor any person), but there were many groups, each of which saw what they liked. As a result, there are different names for the functions, even a style does not, all through the underscores, in general, as if, the settings are here and there, and how it will work is not very clear. But you can sit down in two hours and write in PHP, because that’s how it’s supposed to work.

Python and Ruby: Ruby is less popular now, Python is somehow better “chiseled”, let’s talk about it later. It’s clear that in those days these were (lecturer points to Perl, Python, Ruby, PHP) highly specialized languages for highly specialized purposes. Generally speaking, no system programming, no business logic, nobody wrote in them at the time and not very many do now.