Lisp developer: two sides of the same coin

I have approximately 20 years programming in Lisp, and read a lot of Usenet messages and blog articles written by Lisp developers. I have often asked myself the question — is there a typical Lisp developer, as there are typical representatives of Nations or other groups of people?

After some thought, I came to the conclusion that definitely exists, and this character has influenced the history of the development of the language, its strengths and weaknesses. Thus was born this article, which no doubt will touch someone and encourage dispute.

Every more or less serious, the lecturer has released hundreds, if not thousands of students. Most of them are forgotten, like those paintings where the main person, clearly drawn, and the rest only schematically. This often leads to an awkward situation where a former student welcomes you by name, and you don't even have a rough understanding of who he is.
You should be flattered that you remember and at the same time uncomfortable that you don't know who I'm talking to.

But some persons are remembered. Those who have done a project under your leadership and two categories of students — very good and very bad. Talented successes and terrible defeats remain in memory. And most unusual, what made me write this article that there are students who fall into both of these categories. And, you know, I have always felt a strong sympathy for him.

Today mediocrity is the most common. Often I had students who terribly do not have time for only one reason: they had no abilities. There is nothing unusual. What is unusual is that in the UK today, we bring to the issue a lot of students. But, wait, that's another story.

Now look at the brilliant failures. Due to the fact that both of these factors often occur together, our first reaction — it shouldn't be! But it happens, and often. Why?

To understand this, we need to look more at pre-University time. Let's go back to school and look at a brilliant failure in the Bud. Anyone watched "Donnie Darko", you'll understand what kind of students I'm talking about. But if you haven't seen it, it does not matter, then you realize you are talking about. Almost every school produces annually.

In General, we're talking about a student with outstanding talent. He does most of the tasks at the last minute, and however very good. He does not perceive the school and its rules seriously, because if you look closely many of the school rules is just nonsense. And if you look at the world with fresh eyes, you can see a similar picture.

So, it turns out this guy has 2 traits: has a sharp mind and not taking everything seriously. With the second he believes everything is quite simple and a bit boring. Because of this, he also understands that people often do senseless things. Having lived with such thoughts, he becomes cynical and a little sad, because it turns out that he, too, has to do senseless things because of this society he can not leave. Teenagers well to highlight this absurdity. It becomes the seed of the future melancholy and perhaps further depression.

Another feature of this guy is a low threshold to boredom. He takes on the task and furiously working on her, and quickly solve all the most complex and interesting moments, throws it to completion. He will lie in bed and strum the guitar a few days. This is dwholesale: periods of high activity followed by periods of melancholy, stop, idle.

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

We go out there are 2 stories, one joyful and the other sad.

The joyful story is that it illuminates those that chose to study, and are issued with the red diploma to confirm your talent.

But I would like to look at a sad story which connects talent and failure.


But let's get back to our guy.

The biggest difference between school and University for beginners is FREEDOM. Freedom from mom and dad, freedom to do something different. Freedom in the present to fail. So our hero begins a new life and knows he can do whatever he wants. Drunk and fall sleep at 3 am. And here he goes and relies on his innate talent, which will get him if anything, because it worked at school. And it works for some time.

But talent is not enough, also need perseverance, because the material is harder at University. Soon he gets 5-, 4+, and finally 4ki. He feels an unusual sense 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 does is not so good.

With these students I have faced and face to this day. They are at the bottom of the list of achievement. One of them was bored> invitation UNIX command line. Encountering this, I have established close contact with him. (Once I even rescued one and now he is a Professor and unhappy because he was surrounded by mediocrities — but what can you do? ). Usually he was alive to the diploma year, when he could do something and did it very very well. Something unusual. Most professors will not give him a fair rating for it, just because he was a bad student.

Often, this student did not bring a case to the end. Or quitting school. Moonlights selling soda or mowing lawns, but always reading and studying something because a good mind is always hungry.

Now about Lisp, and I've often seen this before. Lisp is a magnet for such minds. Once you see that this mindset has greatly influenced the culture of Lisp, you will understand why Lisp, like many of his fans — it's a brilliant failure. It has the same strengths and weaknesses that bipolar and talented student (hereafter TDS).

Why? This is partly due to his insight. He can see far further than him enough strength to reach. It is an ambitious projects that require large resources, he undertakes for them, and the enthusiasm quickly dries up. It's not because he's lazy, it's just insufficient.

And enter 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 like C. Writing in C is like piecing together a mosaic out of lentils using a tweezer and glue. Lisp is like to possess air weapons, powerful and accurate. It opens entire worlds, inaccessible to other developers.

TDS like Lisp. Its stunning capabilities is a reflection of the creative abilities of TDS. Many ideas came from Lisp in terms of: garbage collection, list processing, Windows and other areas where Lisp was odimi of the first. We can conclude that Lisp is an adult and one of the best languages, because many things are born in its bowels.

But it is not so, and reasons not in the language and the community that has not only the strengths but also the weak TDS.

One of them is failure to properly complete projects. The phrase "architecture of the emissions" created specifically for TDS and came from the Lisp community. Lisp makes it easy to get around the unpleasant moments, and many believe that it should be. I ran into this 10 years ago in search of a GUI to my Lisp. No problem, I found 9 options. But none of the 9 were not well documented or were stable. Everyone just did their solution which worked for him and all. The normal position of TDS: it works for me and I understand that. This is also a consequence of the irrelevance of or reluctance to involve the help of someone else to the project.

Approach C/C++ is very different. So hard to do anything with tweezers and glue that any result is an achievement. You want to document. You will have to seek help for large projects. You need to be social, and to work with others if you want to achieve something.
And it is more suitable to employers. 10 people, working together properly document the TDS is preferable to one that can be replaced only by other TDS (if will find), which at some point might stop working.

Another feature of the TDS that I noticed is his flair for hypocrisy. Most of us also feel it. But he's smaller than the other is willing to tolerate it. He often sees the absurdity of many things, and has enough intelligence to understand how it must be right. And he, unlike mortals, is not ready to compromise. This has its consequences.

Lisp machine (iron which supports native lisp) is a product of this kind of position. As once said Gabrielle Right Thing. Although, of course, she was right. Here you can see the rejection of compromise with the market, and the use of the platform, which in the long run led to the failure.

It introduced me to another property of TDS. The reverse side of all of this energy and mind: sadness, melancholy and loss of self-confidence after realizing such bad decisions. If you read the posts discussing Lisp, including a theme "Common Lisp sucks" comp.lang.lisp, you will see how true this is. Veteran developers with years of experience and without a doubt talented lose their confidence. A brilliant mind is directed inward gloomy to observe the inadequacy of their favorite language. These problems can be solved (Qi — is shown, thank God), but when you're upset and everything seems stuck. Lisp is doomed and we all die.

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

What can we say 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 nature of TDS.

Well, the problem with Lisp? And there is no problem, because Lisp is, like life, will be whatever you make it.

PS.
Translation free, the first time.
Article based on information from habrahabr.ru

Комментарии

Популярные сообщения из этого блога

Fresh hay from the cow, or 3000 icons submitted!

Knowledge base. Part 2. Freebase: make requests to the Google Knowledge Graph

Group edit the resources (documents) using MIGXDB