Since the 1960s, the field of database has experienced more than 60 years of development and is becoming more and more vigorous. As the founder of database theory, Jeffrey David Ullman witnessed this development process. He admitted that there would be no such period as "Ai winter" in database development.
Author| Tian Weijing translate | He Yu
Accidental "pit entry" is also particularly "suitable" for a programming career
In 2020, the American Computer Society (ACM) awarded the Turing Award to Jeffrey Ullman (hereinafter referred to as Jeffrey) and Alfred aho, his good partner and honorary professor of Columbia University, in recognition of their achievements in basic algorithms and theories based on programming language and the positive impact of their books on several generations of computer scientists. As soon as the award-winning news was announced, the industry was boiling.
In an interview with new programmer, he admitted that he was surprised to win the Turing Award, just as he entered the field of computer science many years ago. Jeffrey recalled that when he was in college, "computer science" did not exist. At that time, his major was related to mathematical application. He once thought he might be a good hand in the actuary position, so he also took several vocational examinations. But things will never develop as expected. During his internship, Jeffrey was sent to help run Burroughs 5500 computer. From then on, he found a "new world" and sincerely felt that "programming is very suitable for me".
It was Jeffrey's strong interest in mathematics and applications that prompted him to move towards the field of computer science step by step. After completing his doctoral degree in electrical engineering at Princeton University in 1966, Jeffrey immediately joined Bell Laboratories, officially started an extraordinary technical career, and finally became a world-famous computer scientist.
From database definition to ecology, I have experienced the development of database for 60 years
As we all know, the term "database" refers to the data aggregation managed by the database management system (DBMS, or database system). But what is a database system? public opinions are divergent.
Jeffrey, known as "one of the founders of database theory", has continuously upgraded and updated his understanding of database through the book basic course of database system based on his own research for many years. In the third edition of the original book published in 2019, he defined the database system as follows:
- Allows users to use special data definition language (DDL) and explain their schema, that is, the logical structure of the database.
- The appropriate query language and data manipulation language are used to provide users with the ability to query (query, "query" is a database term about data application) and update (modify) data.
- It supports long-term storage of large amount of data (GB and above), and supports effective access to data during data query and update.
- It has persistence. In the face of various faults, errors or users' wrong use of the database, the recovery of the database ensures the consistency of data.
- It controls the simultaneous access of multiple users to data, and does not allow the operation of one user to affect another user (called isolation) or incomplete operation of data (called atomicity).
As one of the core directions in the field of computer science, the development of database system can be traced back to 1958, in which the first data model was proposed. Today, thousands of database products have been born all over the world, which can be described as from sporadic to thousands of flowers, which is not what it used to be. Even when Jeffrey et al. Created the database system theory (1980s), they did not expect that the development pattern of today's database could be so huge.
Jeffrey, born in 1942, has witnessed almost the whole process of database development. His books such as principles of database system, implementation of database system, basic course of database system and many database related papers have established his position in the field of database. However, most people's impression of him stays with the author of the "dragon book" (compilation principles), just because this book is too famous. Published in 1986, the book has become a textbook for compiling principles for undergraduates and postgraduates majoring in computer and related majors in many colleges and universities, and has also been greatly appreciated by the majority of technicians.
But his achievements go far beyond that. In addition to the "dragon book", Jeffrey personally counted 206 publications, among which books such as introduction to automata theory, language and computing, design and analysis of computer algorithms, big data: Internet large-scale data mining and distributed processing are known as industry norms or classics. In addition, he is also an honorary professor of Stanford University, an academician of the American Computer Association (ACM), a winner of the von Neumann medal and Knuth award.
Dialogue record: new programmer vs founder of database theory
Zou Xin: first of all, congratulations on winning the Turing Award!
Jeffrey：Frankly, I didn't want to win the award at all. I think you may have noticed that I have written a lot of books. Generally speaking, books are not the object of this award, and I don't think these books are the contribution of my life.
Zou Xin: the Turing Award is only awarded once a year, which may be a little less. In reality, many great pioneers, scientists and even programmers deserve it.
Jeffrey：I agree with you very much. You may have another question. Why do Turing awards always go to the elderly? In fact, Alfred aho and I are the oldest. Alan Perlis, the first winner of the Turing prize, was only in his forties when he won the prize, and now the winner is getting older and older. This is like a priority queue that some people may never get. There are other factors, for example, people don't realize the significance of a contribution until many years later. A few years ago, three people who studied in-depth learning were awarded the Turing Award (referring to yoshua bengio, Geoffrey Hinton and Yann Lecun) because their work 25 years ago was not recognized as useful until now.
Zou Xin: I hope more contributions can be recognized in time. From the beginning of academic research to later becoming an expert, can you tell us some information about Bell labs?
Jeffrey：When I first joined Bell Labs, it was a branch of at & T. At & T was a telephone and Telegraph Company in the United States, founded by Alexander Graham Bell. At & T has some monopoly nature, because the government thinks that a national telephone is enough, so they set up telephone lines everywhere, so that one company can monopolize each region. I think 80% of the United States is under the influence of at & T until the federal government requires: first, the company can't charge at will unless approved by the local government. Second, 1% of the company's income must be invested in research, which is income, not profit. Most of this money is paid to engineers who directly produce efficiency, so as to make the telephone system better. Scientists, engineers, mathematicians, physicists, chemists and computer scientists also got a small part. They told us that "anything can be done".
After working at Bell Labs for about a year, I met the president of the lab in the hall. He asked me, "what do you do?" I explained some crazy things I was doing. His eyes were a little dull and said to me, "as long as you are happy.". This was everyone's attitude at that time, so it became a place where people wanted to work. Naturally, it attracted a lot of capable people, and Bell Labs gave them what they really wanted. As long as they ask, the manager will support them. For example, at the beginning of the UNIX project, Kenneth Thompson and Dennis Ritchie asked their manager Morgan sparks, "can we buy a minicomputer?" The answer was, "no problem, I'll buy it now." You know, if you are in a university, the possibility of getting PDP-11 is very small.
Zou Xin: we often hear the word AI now, but it has experienced the "Ai winter". At that time, people in the AI field were not even willing to mention their majors because of their bad reputation. Has the database experienced such a period?
Jeffrey：I don't know if it's really bad to this extent. AI winter is only periodic. As a branch of computer science, AI aims to make computers and robots behave like people and think like people. The AI community is somewhat unique. They have made all kinds of wonderful commitments, but they have never realized them. If you know how American funds operate, you will find that if you tell investors that investing a sum of money can make you do a lot of amazing things, it is difficult for them to say "no" to you, because they don't want to miss the next outlet. The money will flow into the AI community and nothing will happen. Others have noticed the gap between commitment and reality, so they will reduce the budget, but a few years later, AI guys will put forward other wonderful things, which may be a culture.
Database may be engaged in some practical things like other branches of computer science. No one will think they have to spend money on database system. The database field has enough money to survive and will not enter a cyclical cycle like AI winter.
Zou Xin: you have written many widely circulated works, including compilers: principles, techniques, and tools. This book has been used as a textbook by many colleges and universities, but at present, many schools do not teach the principle of compilation, but replace it with the knowledge and skills of production and application.
Jeffrey：This really happened. We no longer need to write compilation related things. I think it is very common. In fact, few people make money by writing compilers. Only in school do you let students write thousands of lines of code.
Compilers are hard to write, but it's not impossible. I may write some front-end tools, or participate in code optimization, or other things. If you can write some compiler code in one semester or three months, it will not only help you understand large-scale programs, but also help you understand how expressions work, how context free grammars work, and so on. For example, if you use tools to generate your package, you may learn how to implement it, not only write code, but also know how it works.
Alfred aho has taught different compilation courses for many years. He taught students how to use the front-end generation tools we developed, such as lex and yacc. Students are divided into groups of five and consider a language they can design and write to compile these tools. Instead of using C + +, Java or other languages, let students design some simple languages and experience the rationality and diversity of the language. Some groups have succeeded, and some students like this teaching method very much. Alfred aho believes that this is a better teaching method than the traditional teaching method of teaching students how to write GCC (GNU compiler suite), because few people have done so.
Zou Xin: your other book, foundation of computer science, you mentioned in the home page that it may not be widely published, but it is free and open to people, and you think it is very important. Why?
Jeffrey：At that time, I will write a paper for winning the Turing Award, which may eventually be published on CACM (ACM communication). We decided to write the basis of computer science instead of using the "dragon book". Our idea is that the basis of computer science is designed as the first course of theory and studied in the second year of University, that is, after learning programming.
We have two themes. The first topic is mathematics. Mathematics and computer technology are actually two aspects of the same thing. In a sense, computer technology is the realization of mathematics, something you can really execute. For example, mathematicians learn recursive proofs, which is consistent with the idea of computer recursive programs. Recursive algorithms focus on what to do, and mathematicians prove it. Mathematicians talk about charts, and we talk about how to implement charts and algorithms on charts. That's the point of this book. Another theme is abstraction. Computer science is actually learning abstract concepts.
Zou Xin: if you go back to college, do you still choose computer science when choosing a major?
Jeffrey：I have graduated for a long time. I didn't major in computer science when I went to college. My major is applied mathematics and electronic engineering. I think it is a good choice. In fact, we have many ways to go. We can "go to oracle" to better realize and optimize the database, and we can also engage in gene related work. If we can, I will encourage people to learn not only computer science, but also some knowledge in application fields. Because most computer scientists will build applications, they will not build computers or operating systems, or any core systems.
This article comes from "new programmer · new database era & software defined car", which will be officially launched soon!
Yann Lecun (Yang Likun), winner of Turing Award in 2018 and one of the three giants of deep learning, Jeffrey Ullman, winner of Turing Award in 2020 and author of compilation principles of dragon book, Erez Dagan, vice president of Intel, Li Feifei, vice president of Alibaba group, Su Kuifeng, general manager of automatic driving of Tencent... The second issue of new programmer, With the theme of "software defined Automobile & new database era", we invited more than 60 academic leaders, technical experts and industrial pioneers at home and abroad to provide a hearty theoretical confrontation and practical exercise for the intelligent driving and database industry.
What is the new database era? We need to look at the future from the past and the present. In the "ten questions database", Zhou Aoying, vice president of East China Normal University, Feng Yuan, deputy general manager of Dameng data, Huang Dongxu, founder of tidb, and Yang Zhenkun, CTO of oceanbase gathered together to talk about the future direction of the database from the history of database localization to open source, cloud and data security.
Scan the QR code below, add a little assistant, and immediately join the "reader group" of new programmer 002 to get the latest information of the magazine first, and the wonderful content will not be missed.
Based on the forefront of the industry, new programmer explores the future of technology in depth, interprets technology and industry in an all-round way through rich multimedia forms such as audio, video and graphic columns, and opens the door of technology for Chinese developers in a new era.
New programmer 001: Golden Decade for developers covers:
- 60 bits+ The classic viewpoint and practice of technical masters;
- 34 articles Wonderful articles;
- 13 Text video;
- 1000 bits+ Technical talents learn and grow together;
- 2 sheets Collection of open source core technology panoramic tools
Long press the QR code to subscribe
Whether you are a programming enthusiast or a workplace sprout, whether you are a senior programmer, architect or CTO, you will gain something in new programmer.