# “Objects” Creation— One Pattern of Evolution of Programming Language

Tianyi Cheng

This week, I tried to savor the process of using programming language and noted the difference between Python language and my thinking pattern, and between the ways computers and human solve problems. I want to use solving the problem of rounding numbers as an example. We do rounding in everyday life. It is one of the simplest information processing in our brain. However, I found myself stuck when teaching computer to do rounding in Python language. Basically, I think the way I solve this problem is similar to this pattern:

What is the first number after the “.”?  If it is one of “5,6,7,8,9”, then round up. Add 1 to the number before “.”;  If it is one of “0,1,2,3,4”, then round down. Only remain the number before “.”.  Maybe I can create a loop section to let computer compare the number after “.” with “0~9”, then let it go through a “if…. else…”section to decide round up/down. However, it is not similar to my thinking patterns. I don’t use a loop section to solve this problem. I can easily combine the look of a string with the number it symbolizes. For me, number and string are just like two properties of one thing. However, for computers, properties of single things are processed separately.

The most direct way that computer takes is different than mine. In this algorithm, it adds every input “x” with 0.5 and takes the integer part of the result. I think this process reflects the original intention of doing rounding. “0.5” means half way of the “distance” between two integers. What computer does is moving “x” forward 0.5 unit to test whether it reaches the first integer larger than “x”.

Interestingly, It seems that I just ignores the very series of logical processes and always generate the output directly. I noticed that I tend to follow certain rules that directly link two objects and simplify the relationship between them. So the hardest part of using python language is not obtaining the very grammar, but creating a mode which matches computer’s “thinking pattern”. By doing this, I need to move away my eyes from “objects” and unfold the interrelationships among them.

“The Stack” shows different layers between users and the physical materials of network. The interface simulates the way human view the world. However, when the layers go deeper, things are presented in a way that more distant from natural language.

Before the Von Neumann architecture was created, program was not stored inside. Engineers had to rearrange hardware to run a new program. At this level, relationships in blackbox are exposed. But after that, it was still a period that engineers had to shoulder arduous work by dealing with endless “1” and “0”, which recorded slight different of changes in the machines. Then programming language was developed. On a slightly higher level is assembly language, which supply step-by-step instructions for the processor to carry out (White & Downs, 2007). On the higher end, languages such as C and Java allow programmers to write more closely parallel English (White & Downs, 2007). Complicated relationships are closured into various functions. And those functions can be called to other systems without clarifying how it works inside. The grouping of several individual sub-steps into a larger step is an example of abstraction (Conery, 2010). To me, the principle of functional abstraction (Hillis, 2013) lead computer to imitate human thinking pattern.

Creating new functions and term them with English words is just one aspect. At the same time, programmers symbolize series of relationships can create more “objects”. The creation of Wolfram Language also followed the law of the evolution of programming language. I think this new language is revolutionary, because we need no longer to teach computer the difference of “string”, “number” or other data types. Different features of one symbol are combined together.

The “names” of capital cities can work as text, number, locations of map, diagram and datas storing other information. They can be called in functions without clarifying the data type.

I think our brain has similar pattern of “Closure”. We perceive the world by letting subtle information passing through our eyes, ears, hands and other sensory organ. Special processes that wrote in our brain integrate the information and create a mode of the world by mapping objects. Some questions are generated by this reflection: Is it an evolutionary advantage of brain’s function of “information hiding” to closure relationships into objects? Can this function be connected to the definition of intelligence? Or is “ignoring relationship” merely a phenomenon caused by our using of language?

Works Cited

Conery, J. S. (2010). Ubiquity symposium’What is computation?’: Computation is symbol manipulation. Ubiquity2010(November), 4.

Hillis, D. (2013). The pattern on the stone. Hachette UK. P IX

White, R., & Downs, T. (2007). How computers work. Que Corp. P95-96

# Computers and Everyday Life

After watching the amusing example of the study lamps at Harvard University CS50 Introduction Computer Science Lectures, you rapidly understand the importance of the mathematical binary code structure of computers and also the intrinsic relationship between binary math and binary logic as the interface form between code and electronics (Irvine 3).  However, as Daniel Hillis affirms, one of the most important things about a computers essential nature is that it transcends technology (8).

As Peter J. Denning states, the computational model of representation and transformation refocuses computation from computers to information processes (9).  Therefore, as Denning defends, for a long time the approach of representing algorithms as the heart of computing and computational thinking has left aside other information processes also relevant in the computational field where no algorithms are used (9).  The importance of computation is that it is not about math or machines, but rather it is a form of symbolic implementation and representation that can be implemented and repeated in other processes (Irvine).  Moreover, Andrew Hodges argues that with the appearance of the universal Turing machine he was modeling the action of human minds (3).  It is this change in how humans conceive computers that will enable our current integration of technological devices such as Apple technology as important tools of our everyday life.
As a user of Apple gadgets, I have become accustomed to direct and fast access to all my data on the ICloud.  ICloud gives you access to this enormous database just by owning one Apple.  Once you open an account and have entry to this storage database, all Apple devices synchronize at the same time allowing you to listen to any music, view photos, or use data that you have recently purchased either on your IPad, iPhone, or Macbook.  Similarly, Google docs or Dropbox work in a comparable way.  They allow customers to access and use their stored documents at any time from any device with an internet connection.  Denning asserts that the subject of computation also embraces other areas whose definitions are not clear yet such as cloud computing which will have to continue to be analyzed and studied (10).

In the present time when technology has been incorporated into most of our everyday lives, computation is no longer about machines but about how these machines contribute to our lives in forms of social communication, working tools, and cultural representations of our society, community, families, and friends in a more globalized and interconnected world.  Another great way to use artificial intelligence / robotics is for teaching purposes (the new TA´s) as seen in the attached news.  This is just the beginning.

http://rt.com/news/iran-praying-robot-children-888/

Works Cited

Denning, Peter. “What is Computation.” Ubiquity. Nov. 2010. Web. 4 March 2014.

Harvard University CS50 Introduction Computer Science Lectures. Web. 3 March 2014.

Hillis, Daniel W. “Preface: Magic in the Stone.” The Pattern on the Stone: The Simple Ideas that Make Computers Work. NY: Basic Books, 1999.

Hodges, Andrew. “Turing: A natural philosopher” Alan Turing: one of The Great Philosophers. 1997. Web. 4 March 2014.

Irvine, Martin. “Computation: A very Basic Introduction to Foundational Concepts.” Media Theory Communication, Culture, and Technology Department, Georgetown U, Feb. 2014. Web. 4 March 2014.

# To code or not to code, that is the question

Computers are now part of our everyday life.  Most households around the world have a personal computer in their homes used for their daily routines. Computers are such an integral part of our lives that all pieces of gadgetry are based on computing technology or in the interface design computers use to interact with their end-users.

Academics like Alan Turing have been intrigued by computers and their thought process. He dared to ask whether a machine could think. (Hodges, 1)  Turing went as far as comparing the human spirit and the human thought process with computers, in one of his essays he claims: “when the body dies the “mechanism” of the body, holding the spirit is gone and the spirit finds a new body sooner or later perhaps immediatley”.  (Hodges, 1)

To understand Turing´s line of thought and fully understand how computers work, we first have to establish a clear definition of what computation is.  “Computation is a logical and mathematical process, typically modeled in an algorithm...” (Irvine, 1)

Algorithms give the right basis for understanding mathematics and physics. (Hodges, Turing Scrapbook, 6)  Algorithms have helped society to accomplish great and daunting feats, they can be applied in all kinds of disciplines from bioengineering to music production.  Algorithms have proven that computation has indeed become a process that people from around the world need to get used to and understand completely.

Computation is a process; a process that cannot come into fruition without learning some programming or “coding”.  Coding is the language of computers, and with the proper code; computers can create any kind of application or program we can come up with.  With some coding knowledge we can create revolutionary apps like Facebook or Google, we can build something that changes the world completely.

Nowadays,  communication professionals and entrepreneurs that want to have a competitive advantage venture into the process of learning how to code.

While going through the courses in the Code Academy and Udacity websites, I was able to learn the coding language “Python” a simple coding language than can be used to build a lot of different things like applications, and even a search engine.

I think it’s a great learning to experience to get your hands on material of this quality.  Learning some programming not only gives you the opportunity to learn more about the language of computers, but it also develops your ability to think “outside the box”.

If we had to compare the academical approach in both websites,  i would certainly give Udacity the both of confidence.  They use small Youtube videos in a very simple, and clear way to explain “Python” and the process to write this programming language.

Even though Udacity has in its Introduction to Computer Science material worth 7 weeks of learning, i was captivated by a statement they lead early on about natural languages are ambiguous.

The guys in the Udacity website are on to something.  Without noticing they have open a debate about the meaning of words, how we encode information to a receiver and how are messages are built all around the world. This all happens with the hopes that by communicating, we cannot only change our thought process or how we speak but the world itself.

WORKS CITED

Martin Irvine, An Introduction to Computational Concepts Media Theory Communication, Culture, and Technology Department, Georgetown U, Feb. 2014. Web. 4 March 2014.

Andrew Hodges, Turing (Great Philosopher’s Series). London: Phoenix, 1997; New York: Routledge, 1999.

Andrew Hodges, Turing’s Online Scrapbook  http://www.turing.org.uk/scrapbook/index.html

Why I Learned to Code and How you Can in 3 Months, Entrepreneur, http://www.entrepreneur.com/article/230241