📜 ⬆️ ⬇️

Lisp developer: two sides of the same coin

I have been programming Lisp for about 20 years and have read many Usenet posts and blog articles written by Lisp by developers. I often asked myself the question - Does a typical Lisp exist - a developer, how do typical representatives of nations or other groups of people exist?

After some reflection, I came to the conclusion that it definitely exists, and this character influenced the history of the development of a language, its strengths and weaknesses. So this article was born, which no doubt someone will touch and push the dispute.

Each more or less serious lecturer has released hundreds if not thousands of students. Most of them are forgotten, as in those paintings where the main faces are clearly painted, and the rest are only schematic. This often leads to an embarrassing situation when a former student greets you by name, and you don't even have an approximate understanding of who he is.
It flatters you that you are remembered and at the same time uncomfortable that you do not know who you are talking to.

But some faces are remembered. Those who did the project under your guidance and two categories of students are very good and very bad. Talented successes and terrible defeats remain in the memory. And the most unusual thing that made me write this article is that there are students who fall into both of these categories. And, you know, I always felt strong sympathy for them.
')
Today, mediocrity is the most common occurrence. Often I had students who didn’t have enough time for just one reason: they didn’t have abilities. This is not unusual. Unusually, in the UK today we bring many such students to graduation. But, stop, that's another story.

Now look at the brilliant setbacks. Due to the fact that both of these factors are often found together, our first reaction - This should not be! But it happens, and often. Why?

To understand this, you need to look at pre-university time. Let's go back to school and look at the brilliant failure in the bud. Those who watched Donnie Darko will understand which students I'm talking about. But if you didn’t watch, it doesn’t matter, then you’ll understand who it’s about. Almost every school graduates this year.

In general, we are talking about a student with outstanding talent. He does most of the last-minute assignments, and is very good nonetheless. He does not take the school with its rules seriously, because if you look closely at the many school rules, it’s just nonsense. And if you look at the world with a fresh look, you can see a similar picture.

So, this guy has 2 traits: he has a sharp mind and does not take everything seriously. Together with the second, he thinks everything is quite simple and a bit boring. Because of this, he also understands that people often do meaningless things. Having lived with such thoughts, he becomes a cynic and a little sad, because it turns out that he also has to do meaningless things because he cannot leave this society. Teenagers are good at highlighting this absurdity. It becomes the seed of future melancholy and possibly further depression.

Another feature of this guy is a low threshold for boredom. He takes on the task and fiercely works on it, and, having quickly solved all the most difficult and interesting moments, he throws it to completion. He will lie on the bed and strum on the guitar for several days. This is the bipolarity: periods of high activity are replaced by periods of melancholy, stopping, inaction.

If everything is clear, let's see what happens to him when he enters the university.

We have 2 stories here, one joyful and sad one.

The joyful story is that it is ignited by the fact that he chose to study, and is issued with a red diploma, confirming his talent.

But I would like to take a deeper look at the sad story where talent and failure come together.

The student begins to understand that the university is in many ways similar to the school in terms of the meaninglessness of rules, etc. Although the university compares favorably with the school by the beauty of the disciplines created by great minds. But if you look at professors, not taking into account their obsession at the expense of their meaningless, mostly unread (and unreadable) publications, it can be concluded that the university is not real either.

But let's go back to our boyfriend.

The biggest difference between school and university for beginners is FREEDOM. Freedom from mom and dad, freedom to do something of your own. Freedom to really screw it up. So our hero starts a new life and understands that he can do whatever he wants. Get drunk and fall asleep at 3 in the morning. And here he goes and relies on his innate talent, which will pull him out if that, because it worked in school. And it works for a while.

But talent is not enough, we also need perseverance, because the material is more difficult at the university. Soon he gets 5-, 4+ and finally 4ki. He experiences an unusual feeling of failure, which lowers his self-esteem. He can still get up at 5 am and complete the task before 9 am, but what he is doing is not so good.

I came across such students and come across to this day. They are at the bottom of the grades list. One of them had a bored> command line UNIX prompt. Meeting this, I established close contact with him. (Once I even saved one and now he is a professor and unhappy because he was surrounded by mediocrity - but what can be done here?). Usually he came to life in his diploma year, when he could do something of his own and did it very very well. Something unusual. And most professors will not give him an honest assessment for this, simply because he did not study well.

Often, such a student does not finish things. Or drop out of school. He earns money by selling soda or mowing lawns, but he always reads and studies something because a good mind is always hungry.

Now regarding Lisp, and I have often seen this before. Lisp is a magnet for such minds. As soon as you see that this mindset has greatly influenced the culture of Lisp, you will understand why Lisp, like many of its fans, is a brilliant setback. He has the same strengths and weaknesses as a talented bipolar student (hereinafter referred to as TDS).

Why is that? This is partly due to his insight. He can see far, further than he has the strength to reach. He represents ambitious projects that require large resources, he takes on them and his enthusiasm quickly diminishes. This is not because he is lazy, just his strength is not enough.

And here comes the stage Lisp. Lisp for the mind, as a lever for the hand. It increases your strength and makes it possible to work on projects that are beyond the capabilities of languages ​​such as C. Writing in C is like collecting a mosaic of lentils using tweezers and glue. Lisp is like having a pneumatic weapon, strong and precise. It opens up whole worlds inaccessible to other developers.

Tds love Lisp. His amazing possibilities are a reflection of the creative abilities of TDS. A lot of ideas came from Lisp-es: garbage collection, list processing, windows and other areas where Lisp was one of the first. It can be concluded that Lisp is an adult and one of the best languages, because many things were born in its depths.

But this is not entirely true, and the reasons are not in the language but in a community that possesses not only the strengths of the TDS but also the weak ones.

One of them is the inability to properly complete projects. The phrase “architecture to emit” was created specifically for TDS and came from the Lisp community. Lisp makes it easy to get around unpleasant moments, and many believe that it should be so. I ran into it 10 years ago in search of a GUI for my Lisp. No problem, I found 9 options. But none of the 9s was well documented or was stable. Everyone just made his own decision that worked for him and that's it. The usual position of TDS: it works for me and I understand it. This is also a consequence of the uselessness or unwillingness to involve someone else in the project to help.

The C / C ++ approach is completely different. It is so difficult to do something with tweezers and glue that any result is an achievement. You want to document this. You will have to seek help for more or less large projects. You need to be social, and work with others if you want to achieve something.

And it is more suitable for employers. 10 people who work together correctly document more preferably one TDS, which can be replaced only by another TDS (if you find it), which at some point may stop working.

Another trait of TDS that I noticed is his flair for falsehood. Most of us feel it too. But he is less willing to tolerate this. He often sees the absurdity of many things, and has enough intelligence to understand how to be right. And he, unlike ordinary mortals, is not ready to compromise. This has its consequences.

Lisp machines (the hardware that natively supports lisp) is a product of this kind of position. As Gabriel once said, Right Stuck. Although, of course, it was not correct. Here we see the rejection of a compromise with the market, and the use of the platform, which in the long term led to failure.

This opened for me another property of TDS. The reverse side of all this energy and mind: sadness, melancholy and loss of self-confidence after realizing such wrong decisions. If you read the Lisp discussion posts, including the topic "Common Lisp sucks" on comp.lang.lisp, you will see how true this is. Veteran developers with years of experience and no doubt talented lose confidence. A brilliant mind goes inward gloomily to observe the inadequacy of their favorite language. These problems are solvable (Qi - this showed glory to God), but when you are upset everything seems to be at a dead end. Lisp is doomed and we all die.

There is an article that reflects this is probably better than other Lisp: Good News, Bad News, How to Win Big . Reading this article you will feel the duality of TDS. The positive side, intellectual pride and faith in Lisp, is adjacent to "We will all die."

What can be said in conclusion? That there are 2 problems. The problem with the community and the problem with Lisp. The problem with the community is the problem of the character of TDS.

What about the problem with Lisp? And there is no problem, because Lisp, like life, will be the way you make it.

Ps.
Translation is free, the first time.

Source: https://habr.com/ru/post/114981/


All Articles