Intro Ideas for Computing and Programming Language

From the changing history of definitions on the term of computation and computers, I can see a development on the understanding of computing. Human applies computing to different but associating fields taking it as different roles. To me the most amazing thing in computer science is that idea to convert human mind to 1 and 0, on and off. Such idea leads me to the understanding that computing system becomes “the extension of man”, more to say, the extension of human mind.The programming language as a medium enables such kind of extension

“ If programming is the act of teaching a computer to have a conversation with a user, it would be most useful to first teach the computer how to speak.”

For long time, as programming has always been a subject in the school, in the programming class,  I feel like that students (human) are being taught to have a conversation with a computer. In this way, human are somehow standing in a passive position. However this first sentence at the very beginning of the Python Codecademy Program seems to be so different. We are not trying to adapt to the computer, but make the computer to adapt human language. It shows an idea about how we as human consider our relationship with computer and what actually does computing mean to us.

As I have never know about the language of Python before, with really few basic knowledge about C++ and Java, I was amazed by how “human” the Python language is. To explain what does “human” mean here in a non-profession way, I would like to applying how much I can understand when reading these lines without any Python backgrounds. To understand Python better, I talked with several friends who are doing programming jobs.  As I am not an expert in neither Java, C++ nor Python, from my perspective, Python is more like to be designed for human, here I mean that it is more readable and understandable to human. While the C++ is more  like to be designed for machines. The comparisons between programming languages are always hot topics in the field. Except for the personal preferences, actually different programming language do have some different characteristic that lead them to be the best choice in some situation.

For example, Java is a mainstream choice in the development of not only applications in Android and IOS system but also video games, desktop UI and some softwares. While Python is often used in the WordPress pug-in or web design. Python with its human language characteristics is easier to start with but Java with its flourish details gains better extendibility. Working on WordPress for 506 this semester, I manage to gain a incomplete sense that WordPress lead by Python has the similar characteristics of “being human”. This seems to sow that the characters of programming language might be reflected on the production, or to say system it is working in.

References

  1. Denning, P. J. (2010). Great principles of computing. American Scientist.Evans, D. (2009).
  2. https://www.codecademy.com/tracks/python