OOP code is structured differently from other programming patterns: first, there is a constructor; The base class defines only the form of a function, and you can add different implementations by derivation at any time. Every time those programmers learned about inheritance and polymorphism, they could take on a project — this was a decade ago, and now at least understand design patterns — and stand outside the counter writing code for an egg pie; If you know some multi-threaded knowledge, you can add ham sausage, or tenderloin in the egg cake, if you understand the implementation principle of the language, you can do some low-level code optimization, for a dish of fried vegetables. But these programmers, who are mostly entry-level, probably don’t go that far. Only those who understand the memory model can take on some low-level projects, open up the debugger and profiler, and slowly sit and optimize the code.

From the age of twelve, I worked as an apprentice in the Githoverflow factory at the entrance of the village. My master told me that MY logical thinking was too bad to learn statically typed languages, so I would write shell scripts instead. Shell scripts are easy to write, but the syntax is often ambiguous. Strings and arrays are weak, and the syntax for conditional judgment is peculiar, sometimes requiring manual double-escaping of special characters and passing. In this case, scripting is also difficult. So a few days later, Shifu said I couldn’t do it again. Fortunately, the sacre head’s good face, can not be dismissed, will be changed to a boring position in charge of the test.

I’ve been standing in front of the test machine all day, running test scripts. Although there is no dereliction of duty, but always feel some monotonous, some boring. The master is a fierce face, the programmer is not good voice, teach people lively can not; Only xijiajia to the factory, can laugh a few, so still remember.

Naga is the only programmer who stands up and manages memory manually. The development language he uses is syntactically bloated; Messy structure, often with #ifdef between code; A jumble of.h files acting as interfaces. Although memory is managed manually, wild Pointers often occur, either forgotten to initialize or not set to NULL after being freed. The code he writes is always full of strange tricks and tricks that people don’t understand. Because his surname xi, and always feel that their technology under the world first, others will use “a yibingding” the first word, for him to take a nickname, called xi Jia jia. As soon as He arrived at the factory, all the programmers looked at him and laughed, and some called, “Evening armour, your code has a new bug!” He did not answer, but said to the cupboard, “Two eggs for pancakes and a cup of soya-bean milk.” Put the Thinkpad in place. “You must have leaked their memory again!” The evening jia jia opens big eyes to say, “how do you pollute people innocence in this way…” “What innocence? I saw you crash Windows memory the day before yesterday, hanging.” Xijiajia then rose red face, forehead veins stretch, argue, “memory did not release can not be considered leakage… No release! … Programmers, can you call it a leak?” Difficult words followed, such as “new/delete pairing” and “who applies who releases”, which set everyone laughing: the air inside and outside the factory was happy.

Listen to people secretly talk about, Xi Jia jia originally also read CS doctor, but finally did not go to do academic, and will not make a living; So he became poorer and poorer until he began to beg for food. Fortunately, also can write some code, they do a few games for others, for a bowl of rice to eat. Unfortunately, he also has a bad habit, is memory leakage. Run less than a few seconds, then even the program with data, together collapsed. If he did this several times, no one asked him to write games. With no law, they had to do the simplest of outsourcing projects. But in our factory, his conduct is better than others, but never leave a bug; Although occasionally can not solve, temporarily recorded in the wiki, but within a month, fixed repair, deleted from the wiki xijiajia name.

Evening armour to write half a page of code, red face gradually returned to the original, others will ask again, “Evening armour, you really can write code?” Xi Jia jia looked at the person who asked him, showing disdain to argue the air. Then they said, “Why don’t you contribute half a line of code to the Linux kernel?” Xijiajia immediately showed a decadent and uneasy appearance, a layer of gray cage on the face, the mouth said something; This time it’s all “Linus shit”. At that moment, everyone was laughing too: the air inside and outside the shop was full of gaiety.

At such times, I could laugh and go along, and the master would never blame me. And the master saw the evening armour armour, also often ask him so, make people laugh. Xi Jia jia knows he can’t talk with them, he had to talk to the child. He said to me once, “Have you ever learned to program?” I nodded slightly. He said, “Learned to program… I’ll give you a quiz. Const int * and const int *, what’s the difference? I think, begging like people, also deserve to test me? He turned away and paid no attention. The evening armour armour waited for a long time, very earnestly say, “don’t know? … I teach you, remember! These grammars should be remembered. In the future, when I work as a programmer, I will write code.” I thought to myself that I was far from being a programmer, and our master never used bare Pointers; Amused and impatient, he replied lazily, “Who wants you to teach? There is no difference between them. They are both Pointers to constants. If you want to use pointer constants, int * const.” Xi Jia jia show very happy appearance, will be in the hand of the broken mouse on the computer table, nod and say, “yes yes! … There are four uses of const, do you know?” I grew impatient and mouthed away. Xijiajia just created a new empty file in Visual Studio and wanted to write code in it. Seeing my lack of enthusiasm, he sighed and looked very sorry.

There are a few times, neighbor children hear laughter, also join in, surrounded the evening jia jia. He wrote Hello World to each of them. The children read, still not loose, eyes are looking at the screen. The evening armour armour panicked, spread five fingers will screen cover, bent down to say, “error, the compiler error.” He stood up and looked at the screen again. He shook his head and said, “Error error! “What? The error also.” So the group of children were separated in laughter.

The evening armour is such to make people happy, but without him, others will be so.

One day, about two or three days before the Programmers’ Festival, shifu was slowly releasing the code, opening the wiki, and suddenly said, “Xijia jia hasn’t been here for a long time. There are still nineteen bugs to fix!” I think it’s been a long time since he came. ‘said a drinker.’ How can he come? … He broke his leg.” The master said, “Oh!” “He still crashes the memory. This time, it was my own stupor that destroyed the MEMORY of the GFW. The memory in his house?” “What happened?” “Well? First tea, then poker, half the night, and then a broken leg.” “And then?” “Then I broke my leg.” “How about a discount?” “How to? … Who knows? Xu is dead.” The master stopped asking and still did his release slowly.

After programmer’s Day, functional programming is getting more popular by the day, and even Java is starting to support lambda expressions; I’ve been testing all day, and I need to know what a closure is. The second half of the day, without a single test item, I was sitting with my eyes closed. Suddenly there was a voice, “An egg douche.” The voice was very low, but familiar. There was no one there. Stand up to look outside, that xi Jia jia will sit under the counter to the threshold. His face was black and thin and shapeless; Take a broken Thinkpad, cross your legs, with a computer bag under it, and slung it over your shoulder with a straw rope; When he saw me, he said, “An egg douche.” The master also stretched out his head and said, “Evening armour? You still have nineteen bugs to fix!” The evening armour armour is very decadent face answer, “this…… Let’s go back. This time it’s live, and the eggs are better.” Shifu smiled at him as usual and said, “Xijiajia, you have a memory leak again!” But he was not very defensive this time, simply saying, “Don’t make fun of me!” “Make fun of? If it doesn’t leak, how can you break your leg?” “Fall, fall, fall…” His eyes seemed to implore the master not to mention it again. By this time, several people had gathered, and the master laughed. I fried an egg and took it out and set it on the threshold. He opened the computer and began to write code. He saw that his hands were covered with mud. Soon, he submitted the code, passed the test and review, and walked slowly with this hand while others laughed and talked.

Since then, and did not see a long time. By the time Rust 1.0 was released, Shifu opened up the wiki and said, “There are 19 bugs left!” By the time Golang 2.0 was released, it was “There are 19 bugs in The game!” It was not mentioned when Scala 3.0 was released, and it was not seen when Rust evolved another version.

I have not seen him till now — perhaps Xijiajia is indeed dead.

Written in the summer of 2015

From www.cnblogs.com/aquastone/p…