Life cycle:
Yukihiro Matsumoto was born on February 1, April 14, 1965 in Tokushima Prefecture, Japan. In 1984, he studied at the Department of Information, the third discipline of zhubo University. Two years later, I will be absent from school and become a lecturer at the Jesus Church of the last day's saints. After returning to college, I joined Professor Tian Yu's Research Laboratory. I graduated from college in 1990. Afterwards, I took a doctorate course at Shimane University. After I took full credits, I went back to study without a degree.
He is currently a researcher at the Network application and Communication Research Institute, a researcher at the Lotte Technology Research Institute, Chairman of Ruby association, and chief architect of Heroku.
Recommended reading: the world of songben's Program
Experience:
High school: programming in a self-designed language
The first time I got in touch with my computer, I was in the sixth grade of elementary school. My father bought me a pocket computer L-Kit16, which was so excited. In junior 3 grade, my father bought me a Sharp PC-1210, this time I first know the concept of "programming. It is really interesting that the computer can operate according to your instructions as long as you issue instructions!
My father is an ordinary office worker in a construction company. He purchased computers to calculate building data. I didn't expect these two computers to become my toys (laughs ).
When I was a child, I felt that I was reading books all day long. There is a bookstore in front of my house, where I soak every day. Sometimes when a friend came to play, I asked him to come home, but he pointed to the bookstore and said, "Isn't that your home ?" At that time, I read everything, science fiction, comics. All the encyclopedias are recorded in your mind. In short, it is especially fond of text. There is nothing to read, just look at the instructions for medicine (Laugh ).
After going to high school, I became addicted to computers. Reading computer magazines all day long. It is more interesting to have a computer run as instructed. Especially interested in programming languages. At that time, I didn't like assembly languages and Basic, and I didn't want to use them for programming (Laugh ). So I began to invent my own language and then program it in my notebook. However, this note does not know where to go. It is a pity. At that time, I thought about the language name. Of course, it's not Ruby. Sorry, haha.
University era: either going to the library or going to the research room
I was admitted to the school of information science. There I came across a lot of software and languages I saw in my book but never used. The teachers at the university are the authors of the books I have read in high school. It's incredible. However, I am the most disobedient in the research room, where I always design my own language (Laugh ).
It was the time when Japan's bubble economy collapsed, but I was not idle at all. I spent all day in the library and read many books. Go to the cinema or bookstore (Laugh) when you are resting ). I am not good at sports and don't care what people around me are doing. I like reading books from an early age. Although I have read less recently thanks to the Internet ). Reading books in various fields has a great impact on my growth. In addition, I often keep myself in the research room. For example, if you get a computer in the research room all night, go home to take a bath in the morning, and then go to the research room (Laugh ). At that time, in the late 1980s S, the research room was connected to the Internet. I often watched BBS, news or something. It is very interesting to have access to many smart people.
It was the dawn of computers. My father opposed me to the Information Science Institute. "What computer, what programming, can be an interest ." But I really like computers. I have never considered the way out in the future. It can be said that you have no hesitation.
The economic downturn has led to Ruby development.
After graduation in 1990, I joined a software company. I have a principle of finding a job: I am definitely not working in Tokyo. I grew up in the countryside and did not like places with many people. It takes 1 or 2 hours to go to work. In fact, I am more suitable for working in small places, but there are few companies that can be selected in that case. Later, I met a software company in binsong and I went there.
My main job is the development of the company's internal OA software. At that time, only text can be sent in an email, so I can get a software that can paste attachments. Interesting. The company generally gives me a general scope and then gives me the freedom to use it. Because I like this job, I often go home late after working overtime. At that time, my dream was to become a programmer for a lifetime. Even if you become a grandfather in the future, you must continue to work.
After several years, the subsequent effects of the bubble economy crash began to emerge. The company's business suddenly fell short. There was plenty of time, so I wanted to do something on my own and start developing Ruby. I have been working in the company and have talked with my colleagues. My colleagues have also helped me a lot.
One year later, I went to another company called Nagoya CAD vendor. It turns out that the company's operating status is already very bad. Although I was very satisfied with my work, I had a good environment and interpersonal relationships. However, when I got married and had a family, I thought about more things. If the company goes bankrupt, it will be miserable. I also want to sell myself out when I have advantages. At that time, there were few people who could do object-oriented scripting.
In 1995, Song benhong published Ruby to the public. The response was extremely enthusiastic.
Concept:
It's better to be a strange guy.
Many people are wondering how poor my mathematics is. In high school, I even scored the lowest score in the class. "Computer science is just a matter of imagination.
Under the Japanese education system, students are all trained into comprehensive and mediocre "Comprehensive" talents. However, most of the successful people I met are particularly strong in some aspects, but especially poor in some aspects. My mathematics has always been 1 (out of 10 points). Once I take the language test, I have the confidence to score 1000 points (although out of 100 points) (Laugh ). Each person has a limited capacity. Comprehensive talents tend to develop in an all-round way, and those geeks tend to focus on training his expertise. Such a person is more likely to succeed after going to the society.
My original intention of developing a computer language
The purpose of software is to allow computers to work for humans. Because the human brain has certain capabilities, it is necessary for computers to undertake most of the work and let the human brain empty out to solve more difficult problems. Therefore, I have developed an object-oriented scripting language like ruby.
Why don't I start my own business?
I am a very bad math (Laugh ). Let me calculate the money, it will be worse. Many people will ask why I am not a company, because I am really not good at it. My current job allows me to develop programs freely and intently. This is enough.
Programmers do not need to be good at mathematics
What programmers need to do is to listen to the customer's needs, write it down, and then let the computer execute the corresponding tasks with the help of the computer language. Where is mathematics required? Do not be confused by appearances. There is a calculator in arithmetic. In the computer world, what is more important than mathematics is the skills needed by people. Such as listening ability and comprehension. The most important part is communication skills.
Programming is a kind of sports
Many people are keen on sports when they are young, and some are still keen on sports when they are young. Unfortunately, I was not good at sports since I was a child, but I can understand the feelings of sports enthusiasts. Sports can make life rich and colorful. Programming actually has a lot in common with sports. Many people may think that programming and sports are completely irrelevant. However, please try to think about why chess is often classified as one of sports? Because it is actually a mental exercise.
Speaking of the commonalities of programming and sports
First, both of them must be practiced repeatedly to achieve technical improvement. Knowledge and experience are important to become a good programmer. Programmers often need to be happy.
Second, programming's pursuit of beauty and speed is similar to sports. Excellent program statements are very persistent in the beauty of the programs contained in their "works. In addition, the programmer's determination behavior during performance tuning and breakthrough in self-bottleneck are similar to those of swimming and Track and Field players.
Programming is an interest
In Japan, baseball fans can be described as many as you can, but there are only a handful of professional baseball players. Most people are interested in baseball. Similarly, many people love programming, so many open-source software are born in the world. At the same time, the process of solving program bugs, like the process of solving puzzles, is full of surprises.
However, unlike professional sports players, many professional programmers do not like programming skills. This is really a sad thing.
Programming is a communication
In everyone's impression, programming is actually sitting in front of a computer and hitting the keyboard. However, this work is actually very user-friendly. So far, no computer capable of self-programming still exists. This also shows that programming is a kind of human activity. It can even be said that only "people" can program. In addition, programming is intended for humans. Understanding people's pursuits and feelings is very important for programmers. In addition, communication skills between team members are also indispensable when a team is working together for programming.
Programming is a kind of creation
Over the years, my love for programming has never been reduced. The most important reason is that programming is a kind of creative work. As long as there is a computer, we can build a new world from scratch. In the world of programming, there are no constraints in the real world, such as gravity, cause and effect. There is no alternative to programming for such free and creative activities. I can create a world that I imagined through programming. This is the biggest charm of programming.
Programming is a lifelong career
Compared to many activities, programming does not require physical strength. If you don't go to companies that work overtime all night, it's basically not a problem of age or physical strength. Programming requires more knowledge, experience, judgment, and so on, which will not degrade due to age growth. In other words, programming can be done for a lifetime. This is slightly different from those of professional sports players.
There is a saying in Japan: "35 years old is the retirement age of programmers ". There are indeed many friends around me who are getting away from programming around the age of 30. It is not so much because of their low capabilities as a social factor. In Japan's IT industry, the value of outstanding programmers has not been fully recognized. Coupled with the seniority tradition and the imbalance of professional value, 35 years old has become a watershed.
In fact, many well-known programmers outside China are still active on the front line even in their twilight years. My university tutor is still productive after retirement, because he is able to do what he wants to do without the interference of chores. Programming for a lifetime is also my dream. Programming is an interesting thing. I think it is interesting, so I have made rapid progress and can compile excellent languages. If you think programming is just a way to make a living, you should resign as soon as possible. Happy programming can make your life fruitful, I believe.
Original article: http://www.ituring.com.cn/article/details/508
- Ruby development schedule announcement 2.0 will be released on April 9, 2013
- Use Ruby and Twitter for Data Mining
- Ruby developers should be familiar with 10 tools
- Ruby documentation system RDoc 3.10 released
- Every programmer should learn to use Python or Ruby