Famous programmers about programming

in programming •  7 years ago 

a-legal-storm-is-threatening-a-startup-backed-by-bill-gates-that-wants-to-edit-peoples-genes-by-2017.jpgToday we come to the topic of programming and to developers in an unusual way. We give voice to the IT people, often the authorities. Their statements may appear only as neat words, but put together, give an interesting picture of what programming is and what it should be. Let us give voice to those who know better.

"People think that computer science is an art for geniuses, but in fact it is quite the opposite. It's the work of many ordinary people who together make something bigger, like a wall made of many small stones. " Donald Knuth used to say so, and he has to admit that much in this regard. Knuth knew perfectly well what he was saying, because he was watching closely and from the inside all the processes that shaped the modern world of programmers. This American mathematician is primarily a pioneer in computer science, and we know him primarily as the author of the multi-volume "Programming Art". Because whether someone wants it or not, coding is an art, not just a craft. However, it must be remembered that it is also a haunt.

Theoretically, "there are two difficult computer problems: cache cleanup, name picking, and off-by-one error," as Leon Bambrick, a reproacher, developed Philip Karlton's thought from Netscape. How is it with this code writing?

The art of writing code

One of the basic activities of a programmer is writing code. At least it is in theory, because in practice it is different with it. Suppose, however, that the programmer is fortunate enough to concentrate mainly on coding. Just writing the code is pretty easy, the catch is that everything has "hands and feet". A well-known software architecture expert and author of many books in the field of programming, Martin Fowler, stated that "every fool can write code that is understandable to a computer. Good programmers can create codes that people can understand. " You can see here the inspiration of Harold Abelson, who wrote in the "Structure and Interpretation of Computer Programs" book that "programs must be written for people, and only for machines that use them. They perform. " Martin Golding also emphasized the importance of the clarity and clarity of the code: "Always write the code as if the guy you were dealing with was an aggressive psychopath who knows where you live."

With the art of writing code (let's add - good) there is no problem at all. A good developer puts on quality and not on code. Bill Gates, who did not need to be featured, said that "measuring progress in programmability is like measuring the progress of building a plane by weight." You need to know not only what you can add, but also what to give up. Ken Thompson, creator of Unix and programming language B, and Turing Award winner, praised his time: "One of my most productive days was the one where I threw 1000 lines of code." Real programming involves not only fooling down the next few lines of code, but also creating a complete software vision. In this vision, the coding itself is only a small part of the action. It is about creating a solid and reliable product. Therefore, "writing the first 90% of the application code occupies 90% of the time. Writing the remaining 10% of the code takes the remaining 90% of the time, "says the well-known 90-90 rule, attributed to Tom Cargill of Bell Labs, and promoted by Programming Pearls magazine in a 1985 issue. This is also supported by Hofstadter's law, which states that "Everything takes more time than you expected, even if you take Hofstadter's law." Most of the time it takes to fix bugs and debug code.

War with errors, ie the art of debugging

Do not be fooled, where we are dealing with programming, sooner or later, we will also deal with errors. That's the way things are. Not without reason Edsger W. Dijkstra, Dutch computer scientist and winner of the Turing Award in 1972, said that "if debugging is a process of debugging software, then programming must be the process of placing them." You can even make a bold statement that debugging is an inherent part of programming. In any case, the effective fight against errors is also an art. Whoever has taken care of this at least once in his life can confirm that finding bugs can be a very tedious process, in which the author of the code is often nothing to blame, because "it worked"! It is better to prevent than to cure - the best way to combat the mistakes is not to commit them. "Sometimes it's more profitable to stay in bed on Monday than spend the rest of the week debugging Monday's code" (Christopher Thompson). Dennie van Tassel, author of such books as "Program Style" and "Debugging and Testing," added without malice: "Finally, I learned what the term" backward compatibility "was. It means you have to keep all the old bugs. " Making mistakes is a human thing and even has a positive aspect: "Do not worry when something is not working well. If it worked, you would not have a job "(Mosher's Law of Software Engineering).

Being a programmer is also an art

The coding would of course not be possible without the programmer. When analyzing the various statements of people related to IT, one can conclude that being a coder is also an art. This is not a piece of cake. It is difficult to control the work of the developer at every stage. "The trouble with programmers is that they never know what they're doing until it's too late." This is the statement of Seymour Roger Cray, American computer scientist who was the creator of Cray supercomputers. It's hard to suspect him for contempt for the developers. It's rather a bit of a hint, as is the statement by another Turing Award winner (1999), a computer architecture and software engineering expert, Fred Brooks: "What a programmer can do in a month, two developers will do in two months."

Perl developer Larry Wall said, "Most of you know the benefits of the programmer. Of course there are three: laziness, impatience and pride. " The developer must be lazy to not make too much, and ... do. Lack of patience for weak programs makes the developer think more about how to improve them. Pride - a bit of a debatable advantage - makes you apply what you do, so that others will surely be impressed by your work. In addition to technical knowledge and love for problem solving, humor and thick skin are also often needed. In the end, anyway, behind a modern device, used by ordinary Smith, is a programmer. It is important to be a good programmer. Larry Niven, an American science fiction writer, said: "Some people think they do not suffer from computers. They really do not suffer from poor programmers. " It's hard to deny it.

Whether someone wants or not, the modern world can not do without the programmers. In fact, it depends largely on whether programming will become more of an art or crafting of code. Some developers will follow Brian Kernighan, author of "Software Tools", that "complexity is the essence of programming". For others, encoding is hidden somewhere else. Regardless of what programming is for you - encode as much as you can! Maybe your quotes will inspire young developers?

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!