메뉴 메뉴
닫기
검색
 

SCIENCE

제 3 호 Catching "P" of "Programming"

  • 작성일 2019-09-19
  • 좋아요 Like 9
  • 조회수 18100
김연수

Kicker : SCIENCE (COMPUTER)


Catching “P” of “Programming”


Basic Step by Step Information of Programming Languages 



By Yeon-Soo Kim, Cub-Reporter

alodio@naver.com


  We are living inside the tides of information. Our daily lives are collected through electronic devices held on our hands. Various parts of our life are rapidly mechanized, automated, and substituted. Already smartest go players are defeated by A.I, Wall Street’s largest fund management CEOs are hiring A.I advisors. Binary code, algorithms, programs. It is already ubiquitous.



Rapidly IncreasingImportance of Programming Knowledges 


  Programming language is not only for the professionals. Although it is true that it takes lots of time and effort to master a single computer language but having brief knowledge about computer programming or just learning simple coding does not require high level of effort. Simple programming skill or brief knowledge can make a huge difference. Even for those whose job or major is totally different from computers can get higher efficiency in their career since it is hard to find any area irrelevant to computer algorithm.



Hundreds of Computer Languages, Hundreds of Characteristics


  There are various kinds of computer language, and each has different characteristics. Their difficulty, efficiency, readability varies on high range. Since it is difficult to choose an adequate computer language, let me introduce basic computer languages.



Half-blood Prince between Machine and Programming Language


△ Ken Thompson (Left) and Dennis Ritchie (Right)


  C is one of the oldest programming languages. C was developed by Dennis MacAlistair Ritchie from Bell Labs in 1972. Dennis Ritchie succeeded and advanced the computer language “B” developed by Kenneth Thompson. Even time has passed since it’s development, it is the second most popular language in the world*. 


  The popularity of C is mainly rooted in its efficiency. Since C was developed for Operating System such as Unix, it has similar characteristics to assemble language. Assemble language is the same level with machine language, which consists of only binary code, literally 0 and 1s. As a result, by using C, programmers can easily control hardware efficiency which is hard to perform by recent OOP** languages like C++, or Python.



Basic Starting Point for Professional Programming


  The key characteristic of C is “trusting the programmer.” C has very loose limitations about coding, which leaves most part of coding to programmers. As a result, C programming can make highly efficient algorithm since it has high dependency on the programmer. This, however, also means C is not an easy language, because it requires high level programming skill to smoothly structure algorithm.


  However, still lots of Korean universities choose C for the very first computer language for computer science major students. Learning C is a clever choice for those who want to knew brief concepts of OOP or computer architecture, and OS programming. Last but not least, since C is one of the highest compatibility languages, brief knowledge about C will be helpful with a wide area of computer programs.



Executable Pseudocode and Super Rookie at the Same Time


  Python is a computer language and an interpreter developed by programmer Guido Van Rossum, believe it or not, as a hobby on Christmas in 1989. After the announcement of Python in 1991, it pasted major development through Python 2 and Python 3***.


  “Readability Counts.” It is one of “Zen of the Python”, collection of the quotes by Tim Peters, a major contributor to Python and CPython implement. It mainly explains what kind of language Python is. It is one of the easiest programming languages. Since it has overwhelmingly simplicity and efficiency at the same time, most of US universities are choosing Python for the basic programming language for freshmen instead of C.



Life is Short, You Need Python


△ 'Python", xkcd ep.353


  Python has its own package storage called PyPI, consisting of 196,247 projects****. These packages reinforce lacking skills of programmers and reduces coding time by substituting required performance. Python can perform wide range of programs such as web frameworks or even machine learning*****.


  There are so many programming languages in the world such as Java, the most popular computer language, or C++ rooted from C. It is tricky to compare which is a better language, or which is more efficient since each language has its own main stage.



  Which computer language is suitable and effective depends on every individual’s characteristics. Whatever computer language you choose and learn, having some knowledge about program structure and simple coding skills will definitely help your effective performance.



* 15.20% (https://www.tiobe.com/tiobe-index/, TIOBE, September 2019)

** Object Oriented Programming, it is not a type of computer language. It is one of the main concepts of algorithm in conventional programming.

*** Python 2 (2000) and Python 3 (2008) has lots of differences and has lots of incompatible parts. Python 2’s support will be suspended in January 2020.

**** 196,247 (www.pypi.orgPyPI, September 2019)

***** Next-generation concept programming, its main goal is to make program programming.



Sources :

Python (www.python.org)

Python Package Index (www.pypi.org)

TIOBE index (www.tiobe.com/tiobe-index)

Webcomic xkcd ep.353 "Python" (https://xkcd.com/353/)

Understanding Computers, Morley Deborah, 2016

The Zen of Python, Tim Peters, 2004