Programming Philosophy 2 - Myth and Language

    def Myth and language extends "three-way programming" ;

    The myth that Russian programmers are the best in the world, was not launched at all by party propagandists, it arose on the perestroika wave, along with myths about the owner-entrepreneur, the invisible hand of the market and one hundred varieties of sausage. The myth is that a person who has not read adult books calls it a “meme,” but a person who does not read books at all calls it a truth. The program Mythbusters takes superficial myths that can be easily refuted, for example, by throwing a sandwich with butter a half times. But Gordon, in one of his first television projects “The Collection of Misconceptions”, undertook the disclosure of myths more difficult, such myths cannot be revealed by flooding the car and checking if it is possible to open the doors before the car is completely filled with water, they are like a floating bug which does not have “steps to reproduce”. Remember Holmes or House, an intellectual is primarily distinguished by


    “Everything is contained in my halls of reason, you understand what I mean, Mr. Holmes? "I have the knowledge, and so I can snap Dr. Watson's nose for at least an entire day."

    It is wrong to compare the Russian programmer and the American one when they are sitting in neighboring cubes and writing in PHP. Seryozha from the Moscow region, calling himself Serge or Sergei (y), this is cream from a cake, cream of our country, the guy is very cool, cooler than 99% of Habr’s readers, he was able to break with his personal environment for the sake of a lofty idea, move overseas, get a job, learn a foreign language, and next to him sits a man named Scott, he is an analogue of those friends of Seryoga who stayed in Lyubertsy, and possibly drank themselves, or maybe set Windu to Aunt Clave, if, of course, they were lucky and did not get drunk. Scott just did not get drunk, and works as a PHP programmer in a cube. It is not surprising that Seryoga writes the most difficult sections of the project, from one glance at which Scott thrills. You can not compare them. And with whom is it possible?

    There is no one in this room who is the American analogue of Seryoga, his name is, say, John, and he sits in a separate office, and even that, he doesn’t especially sit, he is often not there, sometimes he enters the developers' hall laughing loudly and radiating optimism and takes Seryoga for lunch, and at a time when you can’t go out for lunch, say at 11:00 instead of 12:00. Seryoga guiltyly looking around, asks “is it possible to leave now?”, The labor fraternity, yeah, and John skillfully, but there, impeccably portrays surprise, pretends that everyone can always go wherever they wish. But this is not true, and he knows it PERFECTLY. And this is the important difference between Seryoga and John; John is a politician.


    "DHH - the creator of Rail, the millionaire in the dollars, gives parishioners eternal truths."

    American culture is saturated in politics. Remember “Harry Potter and rational thinking” - by rational thinking, first of all, the author means a game, a social Game. To whom and what to say. How to do moves. How to get others to make the moves you need. Do not put all the cards on the table, and if there are five important points that you can tell the boss, do not dump them all standing in the middle of the development hall like a nervous young lady, wait for the personal audience with the boss and state one point. Next week, promise that you have something to say, make an appointment with the boss - you will express one more point. Do the moves. Play with the boss, with employees, with everyone. This is John. But Seryoga naively looks only at the code, sometimes thinks for life in general, about spirituality.

    What does John think? John cranks out a multi-step, with many years. He talks a lot with everyone, with those who are above him and those who are lower. He builds connections, weaves a network. He necessarily describes in detail everything he has done, everything around, how, why, advertises every piece of his work so that everyone can understand his contribution. His slogan is sell, each one of whom is presented as a commodity. Do you think someone will look into the code and appreciate your skill? No matter how!


    "The creator of GitHub, Tom Preston-Werner, knows a lot about PR, postmodernism and mass culture, because he reads books on cultural studies and philosophy."

    Remember the mesmerizing speeches of Jobs and Ballmer - the ability to talk about your code or project, to speak a lot, to speak beautifully, convincingly, vividly, LOUDLY, publicly and not publicly - this is what John has been able to do since childhood. He might not have read Machiavelli or Adam Smith, but all their ideas live in the children's talk of the boys in Manhattan and the suburb of Jersey and California. There is a genius film by Spielberg “Empire Of The Sun”, it is not about war and not about empire, it is a film about Anglo-Saxon social and practical thinking, not so mysterious and distant, actually very close to ours in one of the vectors , the main idea is “if you want to live - know how to spin”, only with emphasis not on the words “live” and “spin”, but on the word “know”, and even more precisely - “if you want to live - know how to spin others and spin among them.”

    We also have such “twirls”, but they are not programmers. Cunning mothers who want to build their children better in life, direct them mainly to the economy, management. And in the USA, cunning mothers shove their kids into programmers. If our university is an unofficial school of friendship of peoples, then the American is a school of leadership, social stratification, you either emerge from the elite or go down to the losers. There is no third. You have to master the skills of “spinning” and “playing”. That is, people go to programming not to “do what they love, but also for wages” - they immediately, purposefully go there to earn money and gain their place under the hot California sun.


    “Here he is: an American programmer, he broke through. In a uniform raspberry jacket of an English special school, there is blood on his forehead, in his hand a bowler hat with which he points the way to a bright Batman future, in the truck the establishment is afraid to raise its head, behind the hungry masses. Brilliant Spielberg symbolism. ”

    Seryoga thinks: first I’ll learn how to program cool, then I’ll think about how to make money on it. Yeah, now. American John, teaches only what promises to be profitable. Not in his first year, he still studies Scheme, but in the second year he is already concentrating on Ruby - after all, most of the projects about which there is a rumor about the university have risen on it.

    Imagine a youth party, where is the programmer in it? We have programmers hanging out with each other, because in the usual hangout their place in the dark corner is waiting - when the second programmer comes, and in the social ladder we have a programmer, this is a servant, a plumber, at best a freak, a crazy scientist. And such American guys as John - in a party on the first roles - hey, who are the stars at today's party? Yes, there are those two baseball players, a cocaine-management manager, a shaggy rocker, and John the programmer. A man leads in society, if necessary - walks on his head, gnaws a place at the top of the food chain, knows how to talk with “ordinary people”, like a fish in water among “baseball players and rockers”, “managers and economists”, they are friends with him, they smell like among equals, the elite keeps to each other - helpful people. Therefore, he can create Google or Github.


    “Your phones contain one small secret, they themselves do not ring anywhere, it’s just a plastic box, it’s like a charged M-16 without a Marine to pull the trigger. So, my fucking Marines, don’t hang up until the client buys our software or dies. ”

    This is a conditional earring - today he is like ordinary Russian men a hundred years ago, breaking their hats in sweaty palms, wrinkling their foreheads, trying to understand the literate, “does the bourgeois come to us to teach us?”, “If I learn to read and write, can I comprehend science?”, “ so my daughter can wear an English dress? ” This little man begins to understand that he was part of the mass, and maybe something else, he can break out, not pump, not deserve, namely, break out. It is not a matter of Westernization or business, but just look out the window at how the crowds flow, what do you see? Chaos, Brownian movement, human sea. But tyzh-programmer, well, come up with some kind of code, on the principle of a turbine in a river or a wind turbine, upload this code to society. Let this code transform at least a drop of this social energy into something useful, at least into your salary,

    So, some programmers created a company, say, at the Novosibirsk Academy, took a well-known old toy for PC, made a clone for iOS, rolled it into the AppStore, and suddenly it went crazy, sales were at the bird level. They got a call from Taiwan and asked "can we insert your simsiti clone into our ipad clone as a pre-installed toy?", Damn it is a success! people think that they have become big business, bought champagne, hung 3D graphics in open space, ride kites, give lectures to students about Internet entrepreneurship, this is their idea of ​​a high-tech business. But it’s not they who do the business, they are the service team, high-tech, yes, but they don’t do the business, but on them, those who invented the iPad, thought up how to organize people to use it, how to collect money from users.


    “What is better programmed, the movement of airplanes around the airport, or the movement of men inside the terminal?”

    That is, the business of the programmer is to "organize people using code." Something like this: “gentlemen, listen to me, come here, put the money in the box, then go here - take the chocolate bar from the shelf, then the next one, is everything clear to everyone?” Program. This is not business logic, this is the scenario of a children's party: we dance, rejoice, read poetry, a ticket of 100 rubles, dress smartly, and do not spit on the floor. Some people create algorithms by which other people live, work, have fun. Social algorithms. I remember how I lived at a Hong Kong airport for 10 days, slept on a bench, nobody there “keeps order”, nobody looks at you at all, the terminal building itself, each door and track - everything has already programmed the behavior of people, everything goes where it should , and wherever you need to go is impossible in principle. The building itself, like a debugged piece of code,

    So try to forget for a few minutes what exactly the site or program does, what it is called, which frameworks are used, why people need it, just look at it as the simplest automatic machine for organizing people: a person opens a site, wrinkles his forehead, clicks buttons, once, the money has been transferred, still presses, once - informed a friend that you can do the same thing. Virus. The code, written by programmer John, is executed in hundreds of thousands of heads, arms and legs, and they execute commands collecting money for Johnny. He doesn’t care, even if it will be 1% of the funds transferred, maybe even 0.0001%, it is important that they carry out his social program, which he wrote in Ruby, for example.


    “An American boy programmer thinks of an ideal person who runs all of his algorithms.”

    This is how the American programmer John, an analogue of our Seryoga from the Moscow region, thinks of that Seryoga about the famous myth “the best programmers in the world are Russians”. The Russian programmer is 90% engineer, the rest is a mixture of the astronaut-dreamer, pioneer hero and country boy, the American programmer is 50% engineer, 25% businessman, the rest is the discoverer, politician, colonizer and philosopher.

    In my last article, I wrote that in Russia there is no open source. Somehow, the founder of Github, Tom Preston-Werner, his wife, by the way, a specialist in cultural history, fixed a bug in one of Ruby’s early versions, well, fixed what’s wrong, and because he published the entire process of searching for a bug on the forum chewing each step. So - this is completely typical of the Anglo-Saxons. I will say this: when three people write a small program, but along the way they utter each written line, reaching the point that all three begin to speak the same language and see this small code the same way - then a living project is born. The code itself is nothing, forget about putting the code in the public domain, think about the community, the language your community speaks about, each comma in your project should be called somehow, and there must be at least three people who use the same words to name each little figurative. A simple test, you should not stammer, indicate to any project participant any character in any project file by phone in no more than ten seconds, and he should find it and confirm with a phrase that he found it, so that you are sure. This is called a common language. To avoid these “I'll send a screen, in it I circled in red the place where -1 is instead of 1”. This is the foundation, verbal work with code. in it circled in red the place where -1 instead of 1 ". This is the foundation, verbal work with code. in it circled in red the place where -1 instead of 1 ". This is the foundation, verbal work with code.

    Open source is not the project code itself, it is to program each other for a common understanding. So you sit next to a guy 10 years younger than yourself and start showing your code, and say everything as it is called, but it’s not called “generally” and “correctly according to the textbook”, but as you yourself call it, even how this is called in your subconscious. So there is a language, a common language, a language as philosophy understands it. The language community of people, a group united by language. And the project itself - it is primarily in the heads, in languages, in the ears.

    In any code there is imputed, implicit knowledge and it is not spoken formally, in a lot of personal conversations. This discourse is the actual language of work and communication. There is no right language, “how is the function or procedure right?”, In any way, there is only a victorious language, one that uses a certain community at a given time. Now they say “function”, if we all say “procedure”, then “procedure” will be “right”. It’s me who cares for the reader, honestly I must say not “if we all will speak”, but “if they say“ procedure ”in the silicon valley, then the PROCEDURE will be correct, and we will swallow it and that will be the right word. And articles will go on Habré: "as I studied fashionable procedural programming on an example of a new language Proceton".



    Not so long ago there was a battle in world culture whose language will be decisive in philosophy, whose terminology English or French will prevail in world culture, and I'm not talking about the mass use of language for international communication, I’m about looking at life through language and terminology, English terminology won and the French were leaders, their philosophy and cultural studies and a look at history are a cut above the dried English formulas. Another example: not so long ago in engineering and engineering, the German language fought for leadership (locksmith, mine, cord, syringe), people learned these words all over the world, and also used the main international currency until 1914: the Reichsmark, but also German was supplanted by the English language. The problem is that which group defines the language, and that leads the project, you cannot make a competitive project without creating your own language in one form or another, it’s not even a technological lag, it’s deeper here. To develop at the forefront, you need to constantly introduce new concepts, but if you don’t have your own language, then you personally cannot introduce a new concept, and you have to wait until new concepts are introduced across the ocean, and we will learn them by reading their manuals. So let's say you made a website at work, 20 people, and someone came up with an advanced way to exchange messages between modules, but what should I call it? This is a new way, there is no name, there is no term for a new concept - there is no new technology either. We go to the store for books or the Internet and look for another way to exchange messages, one that already has a name. It’s nothing that this name was invented two years ago, then when your technology is just people can name, but you can’t,

    It is not a matter of the battle between Russia and America, west and east, the question is whether you will have an advanced team, a company, an open source project, a university, a social movement or not. There is no language of its own - no core, no core - there is no one to introduce new concepts, there is no forward movement. If there are no completely new terms, then there are no completely new technologies. It’s not a matter of what words you will take, English, Slavic, a fictional Martian language, words from dialects of the peoples of Siberia or Japanese - the question is whether you have the core of a community that generates concepts, hangs terms on them, and takes into yourself these generated ideas. This is what the programming philosophy is. This is not an ideal programming language in which you will tear everyone, this is the language in which you speak to each other. Remember

    Programming Philosophy
    6: Product and Project
    5: Reactos and Hummingbirds
    4: Shapito Technology
    3: Chichikov and Programmer
    2: Myth and Language
    1: Three-Way Programming

    Also popular now: