When we are choosing the topic of the first CBSA Panel Discussion, we mainly hope to use this chance to introduce IT world to the business students. So they can have a general picture of the IT world and such understanding may help them if they want to enter IT enterprises. In the recent two weeks, I felt that if I use “why IT/Software makes our world more human” as the topic, I can connect all the exciting things I have witnessed in the Computer Science field through these two years’ study. So suddenly I felt I can talk a lot. Thus I will occupy more time in today’s panel discussion.
Let me first talk about the limitations of my talk today. The first limitation is that this is what I felt recently and it has not gone through a long time’s filtering. I need time to explore all the logics inside it. On the other hand, I may not have enough examples or I may not be able to explain things sufficiently or in an appropriate way. The second limitation is that I haven’t gone back to the society for many years. Staying at school for so long probably make my talk more academic (theoretical) or bookworm-like. It may not suit the reality very well. So these are the limitations.
Now I will begin my talk.
Let me start with a little story. When I was applying college, I don’t know which major to choose. My elder brother asked me one question: do you like to do things related with human or related with physical world? I don’t know how to answer this question. I guess I am more interested in human being. But I have always been very good at Math and Physics, and I like them much although they take harder mental work. I also have a science/engineering family background. I don’t want to totally give up on this aspect. But I surely don’t want to lock me up in the science/engineering for my whole life. On the other hand, I don’t feel that I need to study the human science in the school. So-called major study in human science without real practice is useless and dangerous. At least I can teach myself human science by reading a lot and practicing a lot. The threshold of physical science, however, is much higher. What you learned in school on physical science is more reliable. Also science/engineering training is important. Thus I chose engineering at that time. But for some reason, I didn’t choose computer science.
But the question my brother asked me left in my mind. In college, I read all kinds of books and get to know about individualism. I had contact with computer. And right from first touch with computer, I started to like it and knew that this is what I want to do for my life. I saw that I can transform the ideas in my brain into a concrete form and can execute it and get result. That it is really exciting. I saw a bridge, bridging the gap from physical world to human. I also see that computer science major can participate in all kinds of walks. This is exactly what I want. At that time, the Internet boom and many people were talking about the so-called revolutions brought by Internet. Thus I went extra way to change my major. Now two years have passed. I have seen many exciting things in the Computer Science world. Just as I have expected, Computer Science makes the world more human. From my studying and hard working in CS, I also penetrate deeper into the meaning of individualism. Now I am going to use the topic “Why IT/Software makes our world more human” to thread all the things I have seen.
Let’s first talk about how the programming languages developed. We, CS people, always have a dream. The dream is that we hope one day everyone can program. But this dream is impossible. We need some modification. How? Let’s change it to: all people, who has a good Math background and expertise in domain knowledge, should be able to program in this domain after some minimum programming training. Human language is too ambiguous. All concepts are mixed up. With human language, human brain is not trained and things are not looked through. If you don’t know how to do something logically, how can you expect the computer to do it right? Thus you have to have a very good training in Math, know how to express your ideas with clean logics. Also you need to understand a domain and have the full experience in it. Thus you will know the logics in this domain. If you have these two perquisites, our job, as CS people, is to let you be able to express you domain expertise by programming after a minimum training. This is our dream.
Let us jump over the machine language and the assembly language. We only talk about the high level language. First is the procedural language, represented by C. Then we will have the object-oriented language, represented by Java (java.sun.com). Then we will have pure interpreted language, represented by Python (www.python.org). (This is only a simple classification. The real situation is more mixed up). We will mainly focus on these three languages. The three, the former, more tuned to machine and running faster; the latter, more tuned to human and running slower. Continue reading