SlideShare une entreprise Scribd logo
1  sur  25
Produced by Tae Young Lee
▲프로그래밍 언어의 변천사 (출처 : 알렌 터커의 ‘프로그래밍 언어’)
개발자 개발연도 소속 기타
파이썬 Guido van Rossum 1989년 CWI(네덜란드)
자바 James Gosling 1990년 Sun Microsystems 오픈소스
C++ Bjarne Strousup 1983년 AT&T Bell Labs
루비 Yukihiro Matsumoto 1995년 오픈소스
자바스크립트 Brendan Eich 1995년
Netscape Communic
ations Corporation.
C# Anders Hejlsberg 2000년 마이크로소프트
PHP Rasmus Lerdorf 1996년 오픈소스
펄 Larry Wall 1987년 UNISYS
스칼라 Martin Odersky 2003년 EPFL(스위스) ERC 지원금
오브젝티브 C Tom Love, Brad Cox 1983년 Stepstone(이후 애플)
▲ 가장 많이 쓰이는 프로그래밍 언어의 등장 시기와 개발자 소속(위키피디아 참조)
Bit Coin Miner
Google Data Center
a point of
sameness
A
B
+ C
<그림 : Stackoverflow 커뮤니티의 언어별 검색횟수>
출처 : http://smthngsmwhr.wordpress.com/2012/11/19/measuring-popularity-of-programming-
languages/
http://tldr.scoop.it/education-technology/p/4043450107/2015/05/12/r-vs-python-216-
2-png-1200-17031
instance A instance B instance C
R vs Python
Web Crawler
Development
1) HTTP
Requests
(GET, POST)
2) HTTP
Response
(HTML, Javacript,
ETC Files)
Web Server
library(rvest)
html <- html("http://www.imdb.com/title/tt1490017/")
cast <- html_nodes(html, "#titleCast .itemprop")
length(cast)
cast[1:2]
cast <- html_nodes(html, "#titleCast span.itemprop")
length(cast)
html_text(cast)
#> [1] "Will Arnett" "Elizabeth Banks" "Craig Berry"
#> [4] "Alison Brie" "David Burrows" "Anthony Daniels"
#> [7] "Charlie Day" "Amanda Farinos" "Keith Ferguson"
#> [10] "Will Ferrell" "Will Forte" "Dave Franco"
#> [13] "Morgan Freeman" "Todd Hansen" "Jonah Hill"
참고 URL : http://www.r-bloggers.com/search/web%20scraping
# -*- coding: utf-8 -*-
import requests as rs
import bs4
import time
def getTopRank():
naver_url = 'http://www.naver.com'
response = rs.get(naver_url)
html_content = response.text.encode(response.encoding);
navigator = bs4.BeautifulSoup(html_content)
realRankTag = navigator.find_all(id='realrank')
resultList = realRankTag[0].find_all('a')
keywords = [item['title'] for item in resultList]
print '============='
print time.ctime()
for index, keyword in enumerate(keywords):
resultText = '[%d위] %s'%(index,keyword.encode('utf-8'))
print resultText.decode('utf-8').encode('utf-8')
print ''
daemon_flag = True;
def Daemon():
while (daemon_flag):
getTopRank();
time.sleep(5)
if __name__ == '__main__':
Daemon()
참고 URL : https://github.com/qwefgh90/Web_Crawler
언어의 변천사를 통해 바라본 Python
언어의 변천사를 통해 바라본 Python

Contenu connexe

En vedette

Src슬라이드(3총괄2세부) 김유경
Src슬라이드(3총괄2세부) 김유경Src슬라이드(3총괄2세부) 김유경
Src슬라이드(3총괄2세부) 김유경
SRCDSC
 
오승준, 사회적 기술이 프로그래머 인생을 바꿔주는 이유, NDC2011
오승준, 사회적 기술이 프로그래머 인생을 바꿔주는 이유, NDC2011오승준, 사회적 기술이 프로그래머 인생을 바꿔주는 이유, NDC2011
오승준, 사회적 기술이 프로그래머 인생을 바꿔주는 이유, NDC2011
devCAT Studio, NEXON
 
Src슬라이드(1총괄1세부) 임요한
Src슬라이드(1총괄1세부) 임요한Src슬라이드(1총괄1세부) 임요한
Src슬라이드(1총괄1세부) 임요한
SRCDSC
 
파이썬 반복자 생성자 이해하기
파이썬 반복자 생성자 이해하기파이썬 반복자 생성자 이해하기
파이썬 반복자 생성자 이해하기
Yong Joon Moon
 

En vedette (20)

Perspective of query
Perspective of queryPerspective of query
Perspective of query
 
파이썬+데이터+구조+이해하기 20160311
파이썬+데이터+구조+이해하기 20160311파이썬+데이터+구조+이해하기 20160311
파이썬+데이터+구조+이해하기 20160311
 
The other sensory systems
The other sensory systemsThe other sensory systems
The other sensory systems
 
Machine learning in spam
Machine learning in spamMachine learning in spam
Machine learning in spam
 
The art of data science
The art of data scienceThe art of data science
The art of data science
 
Google analytics in business
Google analytics in businessGoogle analytics in business
Google analytics in business
 
Reproductive behaviors
Reproductive behaviorsReproductive behaviors
Reproductive behaviors
 
Android Studio개발 환경 설정(genymotion연동)
Android Studio개발 환경 설정(genymotion연동)Android Studio개발 환경 설정(genymotion연동)
Android Studio개발 환경 설정(genymotion연동)
 
Akka & Actor model
Akka & Actor modelAkka & Actor model
Akka & Actor model
 
Denoising auto encoders(d a)
Denoising auto encoders(d a)Denoising auto encoders(d a)
Denoising auto encoders(d a)
 
Src슬라이드(3총괄2세부) 김유경
Src슬라이드(3총괄2세부) 김유경Src슬라이드(3총괄2세부) 김유경
Src슬라이드(3총괄2세부) 김유경
 
Python Network Programming
Python Network ProgrammingPython Network Programming
Python Network Programming
 
오승준, 사회적 기술이 프로그래머 인생을 바꿔주는 이유, NDC2011
오승준, 사회적 기술이 프로그래머 인생을 바꿔주는 이유, NDC2011오승준, 사회적 기술이 프로그래머 인생을 바꿔주는 이유, NDC2011
오승준, 사회적 기술이 프로그래머 인생을 바꿔주는 이유, NDC2011
 
랩탑으로 tensorflow 도전하기 - tensorflow 설치
랩탑으로 tensorflow 도전하기 - tensorflow 설치랩탑으로 tensorflow 도전하기 - tensorflow 설치
랩탑으로 tensorflow 도전하기 - tensorflow 설치
 
Src슬라이드(1총괄1세부) 임요한
Src슬라이드(1총괄1세부) 임요한Src슬라이드(1총괄1세부) 임요한
Src슬라이드(1총괄1세부) 임요한
 
랩탑으로 tensorflow 도전하기 - tutorial
랩탑으로 tensorflow 도전하기 - tutorial랩탑으로 tensorflow 도전하기 - tutorial
랩탑으로 tensorflow 도전하기 - tutorial
 
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
 
[모두의연구소] 쫄지말자딥러닝
[모두의연구소] 쫄지말자딥러닝[모두의연구소] 쫄지말자딥러닝
[모두의연구소] 쫄지말자딥러닝
 
파이썬 확률과 통계 기초 이해하기
파이썬 확률과 통계 기초 이해하기파이썬 확률과 통계 기초 이해하기
파이썬 확률과 통계 기초 이해하기
 
파이썬 반복자 생성자 이해하기
파이썬 반복자 생성자 이해하기파이썬 반복자 생성자 이해하기
파이썬 반복자 생성자 이해하기
 

Similaire à 언어의 변천사를 통해 바라본 Python

Similaire à 언어의 변천사를 통해 바라본 Python (17)

Toolkits for robust speech processing
Toolkits for robust speech processingToolkits for robust speech processing
Toolkits for robust speech processing
 
거의모든It 3장
거의모든It 3장거의모든It 3장
거의모든It 3장
 
거의모든It 3장
거의모든It 3장거의모든It 3장
거의모든It 3장
 
거의모든It 3장
거의모든It 3장거의모든It 3장
거의모든It 3장
 
거의모든It 3장
거의모든It 3장거의모든It 3장
거의모든It 3장
 
거의모든It 3장
거의모든It 3장거의모든It 3장
거의모든It 3장
 
소프트웨어 중심 시대를 준비하자
소프트웨어 중심 시대를 준비하자소프트웨어 중심 시대를 준비하자
소프트웨어 중심 시대를 준비하자
 
소프트웨어 개발과 Agile skill set
소프트웨어 개발과 Agile skill set소프트웨어 개발과 Agile skill set
소프트웨어 개발과 Agile skill set
 
개방형 데스크톱 OS 기술동향
개방형 데스크톱 OS 기술동향개방형 데스크톱 OS 기술동향
개방형 데스크톱 OS 기술동향
 
크로스 플랫폼을 품은 오픈 소스 프레임워크 .NET Core
크로스 플랫폼을 품은 오픈 소스 프레임워크 .NET Core크로스 플랫폼을 품은 오픈 소스 프레임워크 .NET Core
크로스 플랫폼을 품은 오픈 소스 프레임워크 .NET Core
 
150427 크로스플랫폼과qt
150427 크로스플랫폼과qt150427 크로스플랫폼과qt
150427 크로스플랫폼과qt
 
오픈소스Sw이해와가치 송상효-20160811
오픈소스Sw이해와가치 송상효-20160811오픈소스Sw이해와가치 송상효-20160811
오픈소스Sw이해와가치 송상효-20160811
 
[오픈소스컨설팅]엔터프라이즈 오픈소스 도입전략
[오픈소스컨설팅]엔터프라이즈 오픈소스 도입전략[오픈소스컨설팅]엔터프라이즈 오픈소스 도입전략
[오픈소스컨설팅]엔터프라이즈 오픈소스 도입전략
 
오픈소스 개발참여한 이야기 (NIPA 오픈프론티어 3기 송태웅)
오픈소스 개발참여한 이야기 (NIPA 오픈프론티어 3기 송태웅)오픈소스 개발참여한 이야기 (NIPA 오픈프론티어 3기 송태웅)
오픈소스 개발참여한 이야기 (NIPA 오픈프론티어 3기 송태웅)
 
20160406 ROS 1차 강의 (for 아스라다 팀)
20160406 ROS 1차 강의 (for 아스라다 팀)20160406 ROS 1차 강의 (for 아스라다 팀)
20160406 ROS 1차 강의 (for 아스라다 팀)
 
공개소프트웨어 시장 동향과 트렌드
공개소프트웨어 시장 동향과 트렌드공개소프트웨어 시장 동향과 트렌드
공개소프트웨어 시장 동향과 트렌드
 
JavaScript Everywhere from Mobile and Robot
JavaScript Everywhere from Mobile and RobotJavaScript Everywhere from Mobile and Robot
JavaScript Everywhere from Mobile and Robot
 

Plus de Tae Young Lee

Recommendation System History
Recommendation System HistoryRecommendation System History
Recommendation System History
Tae Young Lee
 

Plus de Tae Young Lee (20)

Review of the Paper on Capabilities of Gemini Models in Medicine
Review of the Paper on Capabilities of Gemini Models in MedicineReview of the Paper on Capabilities of Gemini Models in Medicine
Review of the Paper on Capabilities of Gemini Models in Medicine
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
LLMs Service that provides what users want to know
LLMs Service that provides what users want to knowLLMs Service that provides what users want to know
LLMs Service that provides what users want to know
 
Exploring Deep Learning Acceleration Technology Embedded in LLMs
Exploring Deep Learning Acceleration Technology Embedded in LLMsExploring Deep Learning Acceleration Technology Embedded in LLMs
Exploring Deep Learning Acceleration Technology Embedded in LLMs
 
LLM 모델 기반 서비스 실전 가이드
LLM 모델 기반 서비스 실전 가이드LLM 모델 기반 서비스 실전 가이드
LLM 모델 기반 서비스 실전 가이드
 
Recommendation System History
Recommendation System HistoryRecommendation System History
Recommendation System History
 
검색엔진에 적용된 ChatGPT
검색엔진에 적용된 ChatGPT검색엔진에 적용된 ChatGPT
검색엔진에 적용된 ChatGPT
 
검색엔진에 적용된 딥러닝 모델 방법론
검색엔진에 적용된 딥러닝 모델 방법론검색엔진에 적용된 딥러닝 모델 방법론
검색엔진에 적용된 딥러닝 모델 방법론
 
PaLM Paper Review
PaLM Paper ReviewPaLM Paper Review
PaLM Paper Review
 
The Deep Learning Compiler
The Deep Learning CompilerThe Deep Learning Compiler
The Deep Learning Compiler
 
History of Vision AI
History of Vision AIHistory of Vision AI
History of Vision AI
 
Aws architecture
Aws architectureAws architecture
Aws architecture
 
Enhanced ai platform
Enhanced ai platformEnhanced ai platform
Enhanced ai platform
 
Nvidia architecture
Nvidia architectureNvidia architecture
Nvidia architecture
 
Ai based on gpu
Ai based on gpuAi based on gpu
Ai based on gpu
 
Real estate trust solution
Real estate trust solutionReal estate trust solution
Real estate trust solution
 
Transfer learning usage
Transfer learning usageTransfer learning usage
Transfer learning usage
 
Create a solution including deep learning models
Create a solution including deep learning modelsCreate a solution including deep learning models
Create a solution including deep learning models
 
Infra as a model service
Infra as a model serviceInfra as a model service
Infra as a model service
 
Bayesian learning
Bayesian learningBayesian learning
Bayesian learning
 

언어의 변천사를 통해 바라본 Python

  • 1. Produced by Tae Young Lee
  • 2.
  • 3.
  • 4.
  • 5. ▲프로그래밍 언어의 변천사 (출처 : 알렌 터커의 ‘프로그래밍 언어’)
  • 6. 개발자 개발연도 소속 기타 파이썬 Guido van Rossum 1989년 CWI(네덜란드) 자바 James Gosling 1990년 Sun Microsystems 오픈소스 C++ Bjarne Strousup 1983년 AT&T Bell Labs 루비 Yukihiro Matsumoto 1995년 오픈소스 자바스크립트 Brendan Eich 1995년 Netscape Communic ations Corporation. C# Anders Hejlsberg 2000년 마이크로소프트 PHP Rasmus Lerdorf 1996년 오픈소스 펄 Larry Wall 1987년 UNISYS 스칼라 Martin Odersky 2003년 EPFL(스위스) ERC 지원금 오브젝티브 C Tom Love, Brad Cox 1983년 Stepstone(이후 애플) ▲ 가장 많이 쓰이는 프로그래밍 언어의 등장 시기와 개발자 소속(위키피디아 참조)
  • 7. Bit Coin Miner Google Data Center a point of sameness
  • 8.
  • 9.
  • 10.
  • 12. <그림 : Stackoverflow 커뮤니티의 언어별 검색횟수> 출처 : http://smthngsmwhr.wordpress.com/2012/11/19/measuring-popularity-of-programming- languages/
  • 13.
  • 15.
  • 16.
  • 17. instance A instance B instance C
  • 18.
  • 19. R vs Python Web Crawler Development
  • 20.
  • 21. 1) HTTP Requests (GET, POST) 2) HTTP Response (HTML, Javacript, ETC Files) Web Server
  • 22. library(rvest) html <- html("http://www.imdb.com/title/tt1490017/") cast <- html_nodes(html, "#titleCast .itemprop") length(cast) cast[1:2] cast <- html_nodes(html, "#titleCast span.itemprop") length(cast) html_text(cast) #> [1] "Will Arnett" "Elizabeth Banks" "Craig Berry" #> [4] "Alison Brie" "David Burrows" "Anthony Daniels" #> [7] "Charlie Day" "Amanda Farinos" "Keith Ferguson" #> [10] "Will Ferrell" "Will Forte" "Dave Franco" #> [13] "Morgan Freeman" "Todd Hansen" "Jonah Hill" 참고 URL : http://www.r-bloggers.com/search/web%20scraping
  • 23. # -*- coding: utf-8 -*- import requests as rs import bs4 import time def getTopRank(): naver_url = 'http://www.naver.com' response = rs.get(naver_url) html_content = response.text.encode(response.encoding); navigator = bs4.BeautifulSoup(html_content) realRankTag = navigator.find_all(id='realrank') resultList = realRankTag[0].find_all('a') keywords = [item['title'] for item in resultList] print '=============' print time.ctime() for index, keyword in enumerate(keywords): resultText = '[%d위] %s'%(index,keyword.encode('utf-8')) print resultText.decode('utf-8').encode('utf-8') print '' daemon_flag = True; def Daemon(): while (daemon_flag): getTopRank(); time.sleep(5) if __name__ == '__main__': Daemon() 참고 URL : https://github.com/qwefgh90/Web_Crawler

Notes de l'éditeur

  1. *Fortran : 포트란은 IBM에서 최초로 만든 고급언어(High-level language;사람이 이해할 수 있는)이다. 세계 최초의 프로그래밍 언어는 아니고 IBM이라는 회사가 만든 언어중 첫번째 인 것이다. 이것은 초기 컴퓨터의 수요가 있었던 우주항공 분야를 위해 만들어진 언어이며 일반인들이 이해하기 어렵다는 단점도 있었다. 현재 기상관측, 탐사, 우주항공, 양자, 천문학, 동역학등의 분야에서 쓰이는 언어이다. 현재 최신버전은 Fortran 2008이다. *Cobol : 코볼은 미국 국방부로 납품되는 프로그램들의 언어가 제각각이어서 이에 대한 문제를 해결하고자 만든 언어이다. Cobol 이 개발되고 미국 행정부에 납품되는 언어는 모두 Cobol로 통일되었다. 사무 행정처리용 언어이다. 현재 최신버전은 Cobol 2002이다. *Algol 60 : 미국 Fortran에 대항하기위해 유럽에서 만든 언어이다. Precise syntax(올바른 문법이란 무엇인가에 대해 정확하게 정의)를 구현한 최초언어. Algol계열 언어는 현재는 사용되지 않는다. *PL/I : 프로그래밍 랭귀지 1 이라고 읽는다. Fortran과 Cobol과 Algol을 통합해서 만든 언어이다. 모든 분야에서 어우러져 사용할 수 있는 범용언어를 만든것이다. 하지만 금방 망해버렸다. 아무래도 특정 분야에서 그 분야에 적합한 언어를 사용하는 것이 좋았고 사람들은 이미 각자의 고급화된 언어에 익숙해져 있었다.   *Simula : 객체지향 개념을 최초로 적용한 언어이다. *Smalltalk : 객체지향 개념을 최초로 완벽구현한 언어이다.   *HCPL : 유닉스 시스템을 관리할 용도로 개발된 언어이다. 이후 C 언어 디자인에 영향을 끼쳤다. *C++ : C 언어에 객체지향 개념을 더한 언어이다. *awk : C 언어를 스크립트 방식으로 변경한 언어이다. 스크립트 방식으로 개발하면 유닉스를 더 간편하게 관리할 수 있을 것 같아서 개발된 언어이다. Perl, PHP, Python 언어 디자인에 영향을 끼쳤다.   *Lisp : 인공지능 분야에서 사용하기 위해 개발된 함수형 언어이다. 최초로 이 언어를 사용해서 만들고자한 것은 자동번역기였다.   *SEQUEL : Structured English QUEry Language 라는 뜻의 약어이며 구조화된 영어 쿼리 언어라고 해석할 수 있다. IBM에서 자신들이 운영하는 관계형 데이터베이스를 다루기위해서 만든 언어이다. Sequel이라는 단어가 영국 항공사와 이름이 겹쳐서 나중에 SQL로 명칭이 변경되었다. 요즘 흔히 쓰이는 MYSQL을 라엘이는 “마이 에스 큐 엘” 이라고 부르지만 일부사람들은 이 SEQUEL의 단어를 사용해서 “마이 시퀄”이라고 읽기도 하더라.
  2. 엑셀은 대표적인 Reactive Programming 순서대로 실행될 명령들이 아닌, 데이터가 흐르는 방법을 나타내는 것 독립적인 여러 개의 작업 단위 + 데이터의 흐름
  3. R의 문법과 통계처리 부분은 AT&T 벨 연구소가 개발했던 S를 참고했고, 데이터 처리부분은 스킴에 영향을 받았다. R은 다양한 통계 기법과 수치 해석 기법을 지원한다. R은 사용자가 제작한 패키지를 추가하여 기능을 확장할 수 있다. 핵심적인 패키지는 R과 함께 설치되며, CRAN(the Comprehensive R Archive Network)을 통해 2006년 현재 700개 이상의 패키지를 내려 받을 수 있다. R의 또다른 강점은 그래픽 기능으로 수학 기호를 포함할 수 있는 출판물 수준의 그래프를 제공한다. R은 통계 계산과 소프트웨어 개발을 위한 환경이 필요한 통계학자와 연구자들 뿐만 아니라,  행렬 계산을 위한 도구로서도 사용될 수 있으며 이 부분에서 GNU Octave나 MATLAB에 견줄 만한 결과를 보여준다.
  4. Search Engine HTML, Javascript, DOM, HTTP
  5. Web Crawler HTML, Javascript, DOM, HTTP