[51CTO.com Quick Translation] Writing a program is like a writer writing a novel, and a program is like a script. In this way, programmers and writers are actually in the same industry, and they both sit in front of the computer and keep typing on the keyboard. Maybe the two of them can play a song on the keyboard together~
Why do I say that? Novels are from conception to realization, and programs are from programming to running. Both are running your thoughts, but their forms of expression are different. If the writer has no ideas before writing, there will be a very chaotic story plot, and there is no logic at all. The same is true for writing programs. You must first have good ideas, and then write them down to tell the stupid computer what to do. However, not everyone can read the programming language, after all, it is a foreign language for most people. But not being able to understand Martian language does not mean that there are no good Martian works. Everyone will remember how messy and casual the essay was when they first wrote it. Therefore, if you want to write a good essay, you must adjust and polish the written text. This is called refactoring in programming.
Moreover, there are obvious differences in levels between writers and programmers. Writers can create, and so can programmers. But it depends on strength and ideals. Writing programs is like writing articles. The quality of the writing depends on the programmer's skills. Let me give you an example. After I finished reading the book "The Lord of the Rings", I couldn't help but sigh that "The Lord of the Rings" is really a masterpiece. Just like a programmer writing code~
The Lord of the Rings was originally just a sequel to The Hobbit. Tolkien's publisher wanted to cash in on the success of The Hobbit with a sequel. But The Silmarillion was not a successful sequel. So, Tolkien began to think about writing a sequel to The Hobbit. ***The book was called The Dark Returns, not The Lord of the Rings. The novel was still written for children. Frodo was called Bingo, Stelder was a hobbit named Trotter, Bilbo was going to get married, and the Ring was still just a ring. The story had no clear motivation or direction. Tolkien asked, "What else can a hobbit do?" Then the idea of The Hobbit came.
Tolkien wrote draft after draft, looking for the right direction for the story. When Tolkien wrote the scene of the Black Knight, everything changed. At first, the Black Knight was actually the White Knight. Gandalf came to talk to Bingo. Then the story began to unfold. Then, all of a sudden, the color of the horse changed from white to black, and Gandalf became a man in a black cloak and hood, which was like a new framework in programming. How do we know that this is a new framework? Fortunately, through Christopher Tolkien, we know about the changes his father made to The Lord of the Rings. Dr. Corey Olson (Note: an authority on Tolkien's novels) introduced us to what is actually the git log of The Lord of the Rings. Imagine reading Papers We Love from a true Tolkien expert, a genius analyst. It's magical. We see idea after idea emerging in the text. It is a constant process of refactoring and new development. Some ideas make it all the way through. Many ideas are discarded, and many evolve. Much of the dialogue is retained, but given to different characters to say in different situations. The entire process felt like developing software, except the result wasn’t a working app, but one of the most influential stories of all time. To me, this lesson is a testament to the old saying that any successful large system started as a successful small one. This applies to writers and programmers alike. It’s easy to lose confidence in yourself and get frustrated during the creative process. Neither stories nor programs have to be great at first; they only become great as they evolve.
Therefore, I want to tell you that we are not coders, we are artists~ Original title: How Is Writing Lord Of The Rings Like Writing Software? By Todd Hoff [Translated by 51CTO. Please indicate the original translator and source as 51CTO.com when reprinting on partner sites] |
<<: Android performance optimization: neglected optimization points
>>: Aite Tribe Stories (6): A female siege lion's promotion
If your boss is a fanatic about offline and onlin...
Let me share with you today: What are the methods...
The Forbidden City opened its night show for the ...
Pinduoduo (PDD) became a hot topic due to the “pr...
Before submitting resumes, when analyzing JDs, we...
Jinzhong candied fruit applet production price 1....
Have you heard the story of A Chinese Ghost Story...
Recently, the sky in Sioux Falls, South Dakota, U...
Source code introduction: TLAttributedLabel image...
Tianjin Eco-City, a green new city growing out of...
Early this morning, Apple pushed the iOS 17 beta ...
The user growth system is an operational means fo...
This article is based on answering similar questi...
In January 2019, a friend wanted to hire me to be...
If you want to do your work well, you must first ...