📜 ⬆️ ⬇️

Python: a programming language created by the community

This is a translation of a report from the Dutch TED Talks, read by Guido Van Rossum, the "generous lifelong dictator" of the Python programming language. A lot of autobiography and a little about the meaning of programming languages ​​and the basic idea of ​​Python.


Let me introduce myself - I'm nerd, geek. And I constantly linger. I graduated from university at 26, I was 45 when I got married, now I am 60, and I have a fourteen-year-old son. Maybe it’s just hard for me to make decisions: I have lived in the USA for more than 20 years, but I still have a residence permit.


I'm not Steve Jobs or Mark Zuckerberg. But at the age of 35 I created a programming language that found my followers. What happened after that is incredible. But more about that later.


When I was 10 years old, my parents gave me an educational electronics kit, released by Philips, and he was cool. At first, I just followed the instructions, and everything worked. Later, I started trying to create my own circuits: there were as many as three transistors in the set!


I took one of my models, a flashing light, to school. But in my fifth grade, everyone didn’t care, nobody realized the importance of this design. I think, then, for the first time, I realized that I was a geek: before that, I was just a smart one.


In high school, I became more and more a nerd - I hung out with a few children who were also interested in electronics, and in physics classes we sat in the back and discussed Sheffer's stroke, while everyone else dealt with Ohm's law.


Fortunately, our physics teacher noticed us, and took over the creation of a digital timer, which he used to explain the laws of gravity to the rest of the class. It was a wonderful project that showed that our skills were useful. The rest of the children still considered us strange: in the seventies, many were rebels or smokers of the "pipe"; the rest were already preparing for the successful career of doctors, or lawyers, or managers. But they did not touch me, I did not touch them either, and as a result I graduated from one of the best students.


After high school, I entered the University of Amsterdam: it was close to home, and for a teenager who grew up in the Netherlands in the seventies, Amsterdam was the only cool city (yes, student protests of 1968 slightly hooked me). Much to the surprise of my school physics teacher, I chose math, but, looking back, I do not think there was any difference.


In the basement of the scientific case was the mainframe, and I fell in love with it at first sight. Card punchers! Line printers! Batch processing! I quickly learned to program in languages ​​like Algol, Fortran, and Pascal. Now these names are almost forgotten, but they had a great influence then. Soon I was again at the end of the audience, ignoring lectures and correcting my computer programs. And why?


In the basement, around the mainframe, something incredible was happening. There was a close-knit group of students and staff with similar interests who shared tricks and secrets. We shared procedures and programs. We formed alliances against mainframe service personnel, especially in cat and mouse games for free disk space (free disk space was really sacred then).


But the main lesson I learned was about sharing knowledge: although most of the tricks I learned then died along with the era of large computers, the idea of ​​software that needs to be shared is more alive than ever. Now we call it “open source,” and this is a whole movement. Mark it!


The mainframe OS development team recruited several students. They posted a job, I responded, and got a job. It was a life changing event! Suddenly, I had full access to the mainframe (without wars for free space or terminals) and access to the source code of its operating system, as well as a bunch of colleagues who explained to me how it all works.


I had a dream job: programming all day, with real customers — other programmers and machine users. My studies stalled, and I almost dropped out of college, but my manager and professor pulled me out, who did not abandon me. They pushed me to complete several courses, and in the end, very late, I became a graduate.


I immediately switched to a new dream job, which was closed to me without a diploma. I never lost interest in programming languages, and for the purpose of studying I joined a team that developed a new programming language — you will not see this every day. The designers hoped that their language would take over the world and replace Basic.


There were eighties, and BASIC was the choice for a new generation of amateur programmers who wrote under microcomputers like the Apple II and Commodore 64. Our team considered BASIC to be a pest that should be eliminated. Our new language, ABC, was supposed to “eradicate Basic” - that was our motto.


But unfortunately, with marketing (or deadlines), everything was not very good with us, and after four years ABC was abandoned. Since then, I have killed many hours, trying to understand why the project failed, although I was in the right place at the right time. Except that the language was slightly redundant, I concluded that ABC died simply because there was no Internet at that time. There was no feedback between the creators of the language and its users. The ABC design was originally a one-way road.


Five years later, when I delved into the remains of ABC in search of ideas for my own programming language, I decided to eliminate the lack of feedback. My motto was “release early, release often” (like in the Chicago Democrats - “vote early, vote often”). And the Internet, small and slow in 1990, allowed it.


If you look at 30 years ago, the Internet and Open Source (aka Free Software) really changed a lot. And of course, Moore's law, according to which computers became faster and faster from year to year. Collectively, all this has changed the interaction between creators and users of computer software. I believe that these events (and the way I used them) contributed more to the success of “my” programming language than my experience and programming skills.


It also didn't hurt that I called my Python language — a little unwitting marketing genius on my part. I named it that after Monty Python's Flying Circus comedy show, and in 1990 this had no consequences. Today, I am sure, a lot of brand research firms would be happy to write a large penalty for the kind of complex associations such a name can cause in a client’s subconscious. But I was just frivolous.


I promised not to download you with a technical speech on the merits of various programming languages. But I want to say a few things about what programming languages ​​mean for the people who use them - for programmers. If you ask a programmer to explain to a simple person what a programming language is, he will answer that this is a way to make a computer do what you need. But if this is all, why do programmers so ardently discuss languages ​​with each other?


In reality, programming languages ​​define how programmers express their ideas and exchange them. Reason: the computer will process anything, but programmers work with other programmers, and a poorly communicated idea can cause an expensive failure. In fact, ideas expressed in a programming language often reach the end users of a program.


Think of the incredible success of companies like Google or Facebook. At their root are ideas - ideas about what computers can do for people. To be effective, an idea must be expressed in a computer program using a programming language. And the language that will best express the idea will give the team a key advantage, because it gives team members - people! - clarity of the idea. Ideas in the depths of Google and Facebook are as different as possible, and in fact, the programming languages ​​chosen by these companies are at opposite ends of the programming language design spectrum.


True story: The first version of Google was written in Python. Reason: Python was the right language to express the original ideas of Larry Page and Sergey Brin about web indexing and organizing search results. And they were able to realize their ideas on the computer!


So, in 1990, long before Google and Facebook, I created my own programming language, and called it Python. But what is his idea? Why is he so successful? How is it different from other programming languages? (Why do you all look at me like that? :-)


I have many answers, some technical, some of my many years of experience and skills, some just kind of “was at the right time in the right place.” But I believe that the main idea is that the language was developed on the Internet, initially openly, by a community of volunteers (but not amateurs!) Who are passionately attached to it.


And this is exactly what was previously discussed in the part about the basement of the scientific building.


Surprise: like any good motivational speech, the purpose of this report is joy!


I am most happy when I feel part of a community. I'm lucky that I can feel it in my daily work (I am the lead engineer on Dropbox). And if I cannot experience this feeling, I will no longer feel alive. This feeling is contagious, and therefore members of our community are around the world.


The Python user community is the millions of people who deliberately use it, and they like it. Many are actively involved in organizing conferences - PyCon - in places as remote as Namibia, Iraq and even Ohio!


My favorite story: a year ago, I spent 20 minutes on a videoconference with a class full of teachers and staff at Babylon University in Iraq, answering their questions about Python. Thanks to the efforts of a bold woman who has organized such an event even in a war-torn country, students at the University of Babylon are currently studying an introduction to programming with Python. In my wildest dreams, I never expected that I would influence lives so far away and so different from mine.


And on this note, I leave you: a programming language created by the community contributes to the happiness of its users. Next year I may go to Cuban PyCon!


')

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


All Articles