What would you like to see happen in this conversation?
I want to think about the beauty of the program
What kind of "program" is this "program"?
A program that I write alone. The story started when I was asked the question, "Should I use object orientation or something else to clean up the code?" and I am not comfortable with that question.
Is there anything else you can tell us about that "program"?
I don't think it's going to be pretty just because you use object oriented, I think.
What kind of "object-oriented" is this "object-oriented"?
I asked that question too, but I didn't get a very clear answer. I think the nuance of the question was "Should I organize it using classes or something?
A program that I write by myself. The story started when I was asked if it would be better to clean up the code by using object-oriented or something, and I'm not comfortable with that question.
There are several programs in the questioner's hands, and he probably feels that they are "dirty".
A program that I write by myself. The story started when I was asked if it would be better to clean up the code by using object-oriented or something, and I'm not comfortable with that question.
It's like a program that was written in the past, saved on disk, and when you read it back at some point, it was difficult to understand.
How do you know its "program"?
Uh, sure. If I read that "program he thinks is dirty" I could give you more pertinent advice.
What does that "program" look like?
A program made with the top priority of fulfilling its purpose lacks the axis of "easy to understand when you read it back later," so it's like a memo written in dirty handwriting.
What kind of "dirty handwriting" is that?
Characters written with priority given to writing speed over legibility
What is its "speed"?
So when you have a feature you want to build, you want to shorten the time it takes to get it done.
What "function" is that "function"?
"Wouldn't it be nice to be able to do something like this?" "Wouldn't it be interesting to do something like this? and "Wouldn't it be interesting if we could do something like this? The focus is on speed because we want to see the results as soon as possible.
What kind of "speed focus" is that "speed focus"?
It leaves out the work to make it more readable for your future self.
What kind of "future" is that "future"?
Yes, that's the important part. If you never have to read it again in the future, you don't need to take care of readability. In fact, you may be surprised to find yourself having to read it again, and the future may be closer than you think. You may not be able to read the code you wrote last week.
What is it that you value?
Readability for our future selves is important. Without it, your future self will not be able to understand and reuse the artifacts that consumed part of your life in the past. Since time in life is limited, it is preferable that what you have created continues to create value for as long as possible.
Is there anything else about that "future"?
I can't predict the future, so I don't know if I'll ever read the program I created again or not, but I feel like I'm prepared in case I do.
Where does this "program" come from?
https://keicho.netlify.app/#talk=Osk6hUpyvoHHmLBXAp7h
This page is auto-translated from /nishio/プログラムの美しさ using DeepL. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at @nishio_en. I'm very happy to spread my thought to non-Japanese readers.