SlideShare a Scribd company logo
1 of 59
Download to read offline
격변하는 프로그래밍 언어,
이제는 LET IT GO
옥찬호
강연자 소개
• 옥찬호
• 히어로 코리아 수석 엔지니어
• 게임 제작팀 Xpecial / Mine Scroll 팀장
• KAIST 전산학과 석사과정 재학
• 경북대학교 컴퓨터학부 졸업
• 에이콘출판사 Translator
• 게임샐러드로 코드 한 줄 없이 게임 만들기 (2013)
• 3D 게임 최적화와 시각적 효과를 위한
유니티 Shader와 Effect 제작 (2014)
• 다수의 스터디 운영 및 멘토링 진행
• C++ 공부 10년차 (근데 아직 잘 모르겠어요…)
한글은 이제 끝, 영문의 세상으로…
WHAT IS “YOUR” PROGRAMMING LANGUAGE?
TIOBE INDEX FOR AUGUST 2014
TIOBE INDEX FOR AUGUST 2014
VERY LONG TERM HISTORY
IS IT RIGHT…?
WHAT IS “YOUR” PROGRAMMING LANGUAGE
TO MATCH THE PATTERN IN THE DATA?
REGULAR EXPRESSION – C++
REGULAR EXPRESSION – PYTHON
WHAT IS “YOUR” PROGRAMMING LANGUAGE
TO QUERY THE DATA?
QUERY THE DATA “>= 4” IN ARRAY
SIMPLE DATA QUERY – C++
SIMPLE DATA QUERY – C#
MORE COMPLEX…
QUERY THE STUDENT ID, SCORE
“>= AVERAGE SCORE OF ALL STUDENTS”
IN THE STUDENT LIST
COMPLEX DATA QUERY – C++
COMPLEX DATA QUERY – C#
WHAT IS “YOUR” PROGRAMMING LANGUAGE
TO CREATE THE BLOG?
SIMPLE BLOG – C++
…?
SIMPLE BLOG – RUBY ON RAILS
WHAT IS “YOUR” PROGRAMMING LANGUAGE
TO SORT THE DATA?
QUICK SORT – C++
QUICK SORT – F#
WHAT IS “YOUR” PROGRAMMING LANGUAGE
TO PROCESS THE FASTEST SPEED?
BENCHMARK – C++ VS PYTHON
BENCHMARK – C++ VS C#
BENCHMARK – C++ VS RUBY
BENCHMARK – C++ VS F#
HOW MANY PROGRAMMING LANGUAGES
ARE THERE IN THE WORLD?
THE PARADIGM OF COMPUTER PROGRAMMING
IS CHANGING CONSTANTLY.
EACH PROGRAMMING LANGUAGE HAS
A REASON TO MADE.
RYAN DAHL – THE CREATOR OF NODE.JS
• InfoWorld: What's the main benefit [of Node]?
• Dahl: Node does things a bit differently than other
programming platforms. The main thing is that it handles I/O
very differently, so it doesn't allow the user to lock up the
program, ever. It keeps the user handling new things, so it's
very useful for network programming.
You often are dealing with many people at the same time on
your server, and you're juggling these different connections.
Node encourages the developer to continue to process
connections without blocking.
And because of this model of handling I/O, users tend to find
it easier than developing with a traditional programming
language for servers.
RYAN DAHL – THE CREATOR OF NODE.JS
• InfoWorld: Node.js의 가장 큰 장점은 무엇이라고 생각하시나요?
• Dahl: Node.js는 다른 프로그래밍 플랫폼과는 약간 다른 무엇인가를
가지고 있습니다. 그 중에서 가장 중요한 것중에 하나가 입출력을 매우
다르게 처리하고 있다는 점인데, 즉 Node.js에서는 개발자들이
프로그래밍을 할 때 사용하는 리소스들을 소유하는 것을 허용하지
않습니다. 이런 방법을 사용하게 되면 개발자들은 어떤 리소스를
사용하든지 리소스의 소유권에 대한 걱정없이 비지니스 로직에 집중할
수 있고, 특히 네트워크 프로그래밍에서 매우 유용하게 사용될 수
있습니다. 보통 하나의 서버에서 동시에 수많은 사용자들의 요청을
처리해야 하는데, 이 경우 이렇게 서로 다른 수많은 요청과 연결들을
처리할 때에는 발생할 수 있는 여러 가지 가능성에 대해서 준비를
해야합니다. Node.js는 이런 경우에 개발자들이 네트워크에서 발생하는
요청과 연결 처리에 대한 큰 걱정없이 비지니스 로직에만 초점을 맞출 수
있도록 도와줍니다. Node.js에서 제공하는 이러한 새로운 입출력 모델
때문에, 많은 개발자들이 서버에서 사용되는 기존의 프로그래밍
언어보다 Node.js로 개발하는 것이 더 쉽다고 느끼는 것 같습니다.
MARTIN ODERSKY – THE CREATOR OF SCALA
• InfoWorld: What was your intent in developing Scala?
• Odersky: It was curiosity, whether we could combine
functional and object-oriented programming in a
package that was useful to people [and] would make it
a powerful language... It felt like it would be the right
thing to do, to have very complementary strengths.
Functional programming is in a sense very clean, it can
be very powerful. It makes it easy to construct things
out of simple elements. Object-oriented programming
has a good story when it comes to essentially the
evolution of large systems... I always felt it would be
interesting to combine the two, and I think the success
of Scala has shown that there is something.
MARTIN ODERSKY – THE CREATOR OF SCALA
• InfoWorld: Scala 프로그래밍 언어를 만든 의도가 무엇이었습니까?
• Odersky: 처음에는 그냥 호기심이었습니다. 과연 함수형 프로그래밍과
객체지향 프로그래밍을 개발자들에게 유용하도록 하나의 패키지로
묶을 수 있고, 또 그렇게 묶여진 것이 개발자들을 도와줄 수 있는
유용한 언어가 될 수 있는지 없는지 궁금했습니다. 결과적으로는 서로
부족한 부분을 보완해 주는 장점을 볼 수 있었기 때문에 꼭 해야할
일을 했다고 생각합니다. 함수형 프로그래밍은 매우 깔끔하고
강력합니다. 이러한 함수형 프로그래밍의 특성은 시스템의 기반이 되는
것들을 쉽게 구축할 수 있도록 도와줍니다. 객체지향 프로그래밍은
시스템이 대용량 시스템으로 나아갈때 적용할 수 있는 좋은 선례들을
많이 가지고 있습니다. 저는 항상 이 두가지 프로그래밍을 결합하면
아주 좋은 결과가 나오지 않을까 고민해 왔습니다. 현재의 Scala의
성공은 제가 지금까지 해왔던 이 고민이 헛되지 않았음을 보여주는
것이라고 생각합니다.
BJNARE STROUSTRUP – THE CREATOR OF C++
• InfoWorld: When should a developer opt for native
programming, and when should a developer opt for a
virtual machine-based language?
• Stroustrup: C++ has significant strengths compared to
"virtual machine-based languages" when it comes to
building infrastructure. In other words, where
performance, reliability, resources, and complexity
need to be tightly controlled. For example, you
wouldn't write a JavaScript engine in JavaScript, and
you probably wouldn't write a "first to market" simple
Web app in C++. You would write the foundations of a
Google, an Amazon, a Facebook in C++, but maybe not
the rapidly changing top layers of such systems. C++
comes in strong where power consumption is an issue -
for example, server farms and handheld devices.
BJNARE STROUSTRUP – THE CREATOR OF C++
• InfoWorld: 개발자들은 어떤때에 네이티브 프로그래밍(native
programming)을 선택하고, 또 어떤때에 가상 머신(virtual machine)
기반의 언어들을 선택해야 할까요?
• Stroustrup: C++는 가상 머신 기반의 언어들과 비교해서 시스템의
기반구조(infrastructure)를 만들때는 아주 큰 장점을 가지고
있습니다. 다시말해서, 성능, 신뢰성, 복잡성, 리소스 관리등이 아주
중요한 시스템의 기반구조 개발의 경우 C++가 큰 장점을 가집니다.
예를 들어, 자바스크립트 엔진을 자바스크립트로 구현하는 것은 거의
불가능합니다. 또한 시장 선점을 위해서 간단한 웹 애플리케이션을
구현해야 하는 경우에는 C++를 사용할 필요가 없습니다. 구글,
아마존, 페이스북과 같은 플랫폼의 기반은 C++를 사용해서 구현할
수 있지만, 이러한 플랫폼들에서 자주 변경해야하는 상위 레이어를
C++로 개발하지는 않습니다. 또한 전력 소비(power
consumption)가 중요한 서버 팜(server farm)과 핸드헬드
기기(handheld device)에서 C++는 큰 장점을 가지고 있습니다.
RICH HICKEY – THE CREATOR OF CLOJURE
• InfoWorld: What was your intention in [developing Clojure]?
• Hickey: My intention was to make a dynamic, functional
programming language for the JVM. I had been building
large systems in C# and Java, and the only way we could
do them sanely was to do them in a functional style, but
the functional style is not idiomatic in those languages.
I wanted a language where functional style was idiomatic,
and that's the case for Clojure...
Fundamentally, Clojure gives developers a lot of leverage.
They can write short, succinct programs that work correctly
the first time and are fast enough for production use...
It's very popular among startups because they have new
ideas they need to pursue quickly.
RICH HICKEY – THE CREATOR OF CLOJURE
• InfoWorld: Clojure를 만든 목적이 무엇이었습니까?
• Hickey: 사실 처음 목적은 자바 가상 머신(Java Virtual Machine)을
위한 동적이고 함수형 프로그래밍 언어를 만드는 것이었습니다. 저는
C#과 Java를 사용해서 큰 시스템을 개발해왔는데, 이 두 가지 언어를
동시에 품을 수 있는 유일한 방법은 함수형 스타일을 사용하는 것인데,
하지만 함수형 스타일을 사용하게 되면 이 두 언어가 지원하는
특징들을 제대로 살릴수가 없게됩니다. 그래서 함수형 스타일을
기본으로 가지고 있는 언어가 필요했고, 그래서 만들어진 것이
Clojure입니다. 근본적으로 Clojure는 개발자들에게 많은 장점들을
제공합니다. 개발자들은 처음에는 쉽게 개발이 가능하고 또한 실제
서비스가 가능할 정도로 충분히 빠른 짧고 간결한 프로그램을 작성할
수 있습니다. Clojure는 새로운 아이디어들을 가지고 있고 그
아이디어들을 재빨리 구현하는 것이 필요한 스타트업 회사들에게
매우 인기가 높습니다.
THEREFORE,
YOU SHOULD USE THE PROPER LANGUAGE
DEPENDING ON YOUR PURPOSE.
THERE WAS A TIME WHEN NAILS WERE HIGH-TECH.
THERE WAS A TIME WHEN PEOPLE
HAD TO BE TOLD HOW TO USE A TELEPHONE.
TECHNOLOGY IS JUST A TOOL.
PEOPLE USE TOOLS TO IMPROVE THEIR LIVES.
- TOM CLANCY
BEFORE THE END…
I’D LIKE TO TALK TO YOU.
FIRST,
AND,
DON’T FLATTER YOURSELF.
IT’S JUST THE BEGINNING.
THANK YOU!
QUESTION?
UTILFOREVER@GMAIL.COM
HTTP://WWW.FACEBOOK.COM/UTILFOREVER

More Related Content

What's hot

(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍NDOORS
 
게임 프로그래밍 기초 공부법
게임 프로그래밍 기초 공부법게임 프로그래밍 기초 공부법
게임 프로그래밍 기초 공부법Chris Ohk
 
[Hello World 천안아산] 안드로이드 입문
[Hello World 천안아산] 안드로이드 입문[Hello World 천안아산] 안드로이드 입문
[Hello World 천안아산] 안드로이드 입문Taeho Kim
 
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템Young Soo Kim
 
왜 Swift를 해야할까요?
왜 Swift를 해야할까요?왜 Swift를 해야할까요?
왜 Swift를 해야할까요?선협 이
 
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018devCAT Studio, NEXON
 
도도와 파이썬: 좋은 선택과 나쁜 선택
도도와 파이썬: 좋은 선택과 나쁜 선택도도와 파이썬: 좋은 선택과 나쁜 선택
도도와 파이썬: 좋은 선택과 나쁜 선택Jc Kim
 
파이썬을 배워야하는 이유 발표자료 - 김연수
파이썬을 배워야하는 이유 발표자료 - 김연수파이썬을 배워야하는 이유 발표자료 - 김연수
파이썬을 배워야하는 이유 발표자료 - 김연수Yeon Soo Kim
 
Slipp clojure-1212
Slipp clojure-1212Slipp clojure-1212
Slipp clojure-1212완수 양
 
eclipse에서 intelliJ IDEA로
eclipse에서 intelliJ IDEA로eclipse에서 intelliJ IDEA로
eclipse에서 intelliJ IDEA로Juntai Park
 
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)Jaewon Choi
 
게임프로그래머에게 배우는 C#1권(버전1)
게임프로그래머에게 배우는 C#1권(버전1)게임프로그래머에게 배우는 C#1권(버전1)
게임프로그래머에게 배우는 C#1권(버전1)Kiyoung Moon
 
NDC2019 - 게임플레이 프로그래머의 역할
NDC2019 - 게임플레이 프로그래머의 역할NDC2019 - 게임플레이 프로그래머의 역할
NDC2019 - 게임플레이 프로그래머의 역할Hoyoung Choi
 
버그 트래킹 시스템 Mantis의 사용 그리고 예제
버그 트래킹 시스템 Mantis의 사용 그리고 예제버그 트래킹 시스템 Mantis의 사용 그리고 예제
버그 트래킹 시스템 Mantis의 사용 그리고 예제Kiyoung Moon
 
깨끗한 코드 (클린 코드, Clean Code)
깨끗한 코드 (클린 코드, Clean Code)깨끗한 코드 (클린 코드, Clean Code)
깨끗한 코드 (클린 코드, Clean Code)Jay Park
 
게임 프레임워크의 아키텍쳐와 디자인 패턴
게임 프레임워크의 아키텍쳐와 디자인 패턴게임 프레임워크의 아키텍쳐와 디자인 패턴
게임 프레임워크의 아키텍쳐와 디자인 패턴MinGeun Park
 
소프트웨어 설계 악취: 기술 부채 관리 방법
소프트웨어 설계 악취: 기술 부채 관리 방법소프트웨어 설계 악취: 기술 부채 관리 방법
소프트웨어 설계 악취: 기술 부채 관리 방법Jay Park
 

What's hot (20)

(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
 
게임 프로그래밍 기초 공부법
게임 프로그래밍 기초 공부법게임 프로그래밍 기초 공부법
게임 프로그래밍 기초 공부법
 
[Hello World 천안아산] 안드로이드 입문
[Hello World 천안아산] 안드로이드 입문[Hello World 천안아산] 안드로이드 입문
[Hello World 천안아산] 안드로이드 입문
 
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
 
왜 Swift를 해야할까요?
왜 Swift를 해야할까요?왜 Swift를 해야할까요?
왜 Swift를 해야할까요?
 
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
 
도도와 파이썬: 좋은 선택과 나쁜 선택
도도와 파이썬: 좋은 선택과 나쁜 선택도도와 파이썬: 좋은 선택과 나쁜 선택
도도와 파이썬: 좋은 선택과 나쁜 선택
 
파이썬을 배워야하는 이유 발표자료 - 김연수
파이썬을 배워야하는 이유 발표자료 - 김연수파이썬을 배워야하는 이유 발표자료 - 김연수
파이썬을 배워야하는 이유 발표자료 - 김연수
 
Slipp clojure-1212
Slipp clojure-1212Slipp clojure-1212
Slipp clojure-1212
 
DDD 산책
DDD 산책DDD 산책
DDD 산책
 
eclipse에서 intelliJ IDEA로
eclipse에서 intelliJ IDEA로eclipse에서 intelliJ IDEA로
eclipse에서 intelliJ IDEA로
 
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
 
게임프로그래머에게 배우는 C#1권(버전1)
게임프로그래머에게 배우는 C#1권(버전1)게임프로그래머에게 배우는 C#1권(버전1)
게임프로그래머에게 배우는 C#1권(버전1)
 
Work With Engineer
Work With EngineerWork With Engineer
Work With Engineer
 
NDC2019 - 게임플레이 프로그래머의 역할
NDC2019 - 게임플레이 프로그래머의 역할NDC2019 - 게임플레이 프로그래머의 역할
NDC2019 - 게임플레이 프로그래머의 역할
 
버그 트래킹 시스템 Mantis의 사용 그리고 예제
버그 트래킹 시스템 Mantis의 사용 그리고 예제버그 트래킹 시스템 Mantis의 사용 그리고 예제
버그 트래킹 시스템 Mantis의 사용 그리고 예제
 
깨끗한 코드 (클린 코드, Clean Code)
깨끗한 코드 (클린 코드, Clean Code)깨끗한 코드 (클린 코드, Clean Code)
깨끗한 코드 (클린 코드, Clean Code)
 
Open Jig Ware
Open Jig WareOpen Jig Ware
Open Jig Ware
 
게임 프레임워크의 아키텍쳐와 디자인 패턴
게임 프레임워크의 아키텍쳐와 디자인 패턴게임 프레임워크의 아키텍쳐와 디자인 패턴
게임 프레임워크의 아키텍쳐와 디자인 패턴
 
소프트웨어 설계 악취: 기술 부채 관리 방법
소프트웨어 설계 악취: 기술 부채 관리 방법소프트웨어 설계 악취: 기술 부채 관리 방법
소프트웨어 설계 악취: 기술 부채 관리 방법
 

Viewers also liked

GopherCon Korea 2015 - Python 개발자를 위한 Go (이경찬)
GopherCon Korea 2015 - Python 개발자를 위한 Go (이경찬)GopherCon Korea 2015 - Python 개발자를 위한 Go (이경찬)
GopherCon Korea 2015 - Python 개발자를 위한 Go (이경찬)Kyoungchan Lee
 
Go로 새 프로젝트 시작하기
Go로 새 프로젝트 시작하기Go로 새 프로젝트 시작하기
Go로 새 프로젝트 시작하기Joonsung Lee
 
고 언어 소개
고 언어 소개고 언어 소개
고 언어 소개Homin Lee
 
1031 아로마테라피
1031 아로마테라피1031 아로마테라피
1031 아로마테라피tae1141
 
CS152 Programming Paradigm
CS152 Programming Paradigm CS152 Programming Paradigm
CS152 Programming Paradigm Kaya Ota
 
Programming paradigm
Programming paradigmProgramming paradigm
Programming paradigmBhavin Kamani
 
Hot Trend Lambda Expressions, Compare C# With Java
Hot Trend Lambda Expressions, Compare C# With JavaHot Trend Lambda Expressions, Compare C# With Java
Hot Trend Lambda Expressions, Compare C# With JavaDexter Jung
 
Programming Paradigm
Programming ParadigmProgramming Paradigm
Programming ParadigmSabahtHussein
 
폰노이만 머신 이해
폰노이만 머신 이해폰노이만 머신 이해
폰노이만 머신 이해중선 곽
 
그루비 소개 발표자료 - 김연수
그루비 소개 발표자료 - 김연수그루비 소개 발표자료 - 김연수
그루비 소개 발표자료 - 김연수Yeon Soo Kim
 
Objective-C에서 Swift로 전향할 때 생각해 볼 거리들
Objective-C에서 Swift로 전향할 때 생각해 볼 거리들Objective-C에서 Swift로 전향할 때 생각해 볼 거리들
Objective-C에서 Swift로 전향할 때 생각해 볼 거리들SeongGyu Jo
 
[KGC2014] 두 마리 토끼를 잡기 위한 C++ - C# 혼합 멀티플랫폼 게임 아키텍처 설계
[KGC2014] 두 마리 토끼를 잡기 위한 C++ - C#  혼합 멀티플랫폼 게임 아키텍처 설계[KGC2014] 두 마리 토끼를 잡기 위한 C++ - C#  혼합 멀티플랫폼 게임 아키텍처 설계
[KGC2014] 두 마리 토끼를 잡기 위한 C++ - C# 혼합 멀티플랫폼 게임 아키텍처 설계Sungkyun Kim
 
Cmos fabrication layout_v2
Cmos fabrication layout_v2Cmos fabrication layout_v2
Cmos fabrication layout_v2Shams Tabrej
 
함수형 프로그래밍 언어 스칼라(Scala) 소개
함수형 프로그래밍 언어 스칼라(Scala) 소개함수형 프로그래밍 언어 스칼라(Scala) 소개
함수형 프로그래밍 언어 스칼라(Scala) 소개DongHee Kim
 
Spring Scala : 스프링이 스칼라를 만났을 때
Spring Scala : 스프링이 스칼라를 만났을 때Spring Scala : 스프링이 스칼라를 만났을 때
Spring Scala : 스프링이 스칼라를 만났을 때JeongHun Byeon
 
Lambda 란 무엇인가
Lambda 란 무엇인가Lambda 란 무엇인가
Lambda 란 무엇인가Vong Sik Kong
 

Viewers also liked (20)

GopherCon Korea 2015 - Python 개발자를 위한 Go (이경찬)
GopherCon Korea 2015 - Python 개발자를 위한 Go (이경찬)GopherCon Korea 2015 - Python 개발자를 위한 Go (이경찬)
GopherCon Korea 2015 - Python 개발자를 위한 Go (이경찬)
 
Go로 새 프로젝트 시작하기
Go로 새 프로젝트 시작하기Go로 새 프로젝트 시작하기
Go로 새 프로젝트 시작하기
 
고 언어 소개
고 언어 소개고 언어 소개
고 언어 소개
 
Conociendo a John Smyth
Conociendo a John SmythConociendo a John Smyth
Conociendo a John Smyth
 
1031 아로마테라피
1031 아로마테라피1031 아로마테라피
1031 아로마테라피
 
CS152 Programming Paradigm
CS152 Programming Paradigm CS152 Programming Paradigm
CS152 Programming Paradigm
 
Programming paradigm
Programming paradigmProgramming paradigm
Programming paradigm
 
Hot Trend Lambda Expressions, Compare C# With Java
Hot Trend Lambda Expressions, Compare C# With JavaHot Trend Lambda Expressions, Compare C# With Java
Hot Trend Lambda Expressions, Compare C# With Java
 
Programming Paradigm
Programming ParadigmProgramming Paradigm
Programming Paradigm
 
폰노이만 머신 이해
폰노이만 머신 이해폰노이만 머신 이해
폰노이만 머신 이해
 
그루비 소개 발표자료 - 김연수
그루비 소개 발표자료 - 김연수그루비 소개 발표자료 - 김연수
그루비 소개 발표자료 - 김연수
 
Standard Algorithms
Standard AlgorithmsStandard Algorithms
Standard Algorithms
 
Objective-C에서 Swift로 전향할 때 생각해 볼 거리들
Objective-C에서 Swift로 전향할 때 생각해 볼 거리들Objective-C에서 Swift로 전향할 때 생각해 볼 거리들
Objective-C에서 Swift로 전향할 때 생각해 볼 거리들
 
[H3 2012] 꽃보다 Scala
[H3 2012] 꽃보다 Scala[H3 2012] 꽃보다 Scala
[H3 2012] 꽃보다 Scala
 
[KGC2014] 두 마리 토끼를 잡기 위한 C++ - C# 혼합 멀티플랫폼 게임 아키텍처 설계
[KGC2014] 두 마리 토끼를 잡기 위한 C++ - C#  혼합 멀티플랫폼 게임 아키텍처 설계[KGC2014] 두 마리 토끼를 잡기 위한 C++ - C#  혼합 멀티플랫폼 게임 아키텍처 설계
[KGC2014] 두 마리 토끼를 잡기 위한 C++ - C# 혼합 멀티플랫폼 게임 아키텍처 설계
 
Cmos fabrication layout_v2
Cmos fabrication layout_v2Cmos fabrication layout_v2
Cmos fabrication layout_v2
 
함수형 프로그래밍 언어 스칼라(Scala) 소개
함수형 프로그래밍 언어 스칼라(Scala) 소개함수형 프로그래밍 언어 스칼라(Scala) 소개
함수형 프로그래밍 언어 스칼라(Scala) 소개
 
Spring Scala : 스프링이 스칼라를 만났을 때
Spring Scala : 스프링이 스칼라를 만났을 때Spring Scala : 스프링이 스칼라를 만났을 때
Spring Scala : 스프링이 스칼라를 만났을 때
 
Lambda 란 무엇인가
Lambda 란 무엇인가Lambda 란 무엇인가
Lambda 란 무엇인가
 
Lec0 fab
Lec0 fabLec0 fab
Lec0 fab
 

Similar to 격변하는 프로그래밍 언어, 이제는 Let it go

31기 고지웅 "구글오픈소스"
31기 고지웅 "구글오픈소스"31기 고지웅 "구글오픈소스"
31기 고지웅 "구글오픈소스"hyu_jaram
 
Slipp 발표 자료 20151212
Slipp 발표 자료 20151212Slipp 발표 자료 20151212
Slipp 발표 자료 20151212Jinsoo Jung
 
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container DayAmazon Web Services Korea
 
How to implement your dream 20150427
How to implement your dream 20150427How to implement your dream 20150427
How to implement your dream 20150427Will Kim
 
[20140624]소개자료
[20140624]소개자료[20140624]소개자료
[20140624]소개자료유석 남
 
131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원NAVER D2
 
좋은 개발자 되기
좋은 개발자 되기좋은 개발자 되기
좋은 개발자 되기Sunghyouk Bae
 
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기Soojin Ro
 
클라우드 세상에서 IT 관리자로 살아남기 - AWS Summit Seoul 2017
클라우드 세상에서 IT 관리자로 살아남기 - AWS Summit Seoul 2017클라우드 세상에서 IT 관리자로 살아남기 - AWS Summit Seoul 2017
클라우드 세상에서 IT 관리자로 살아남기 - AWS Summit Seoul 2017Amazon Web Services Korea
 
소프트웨어 중심 시대를 준비하자
소프트웨어 중심 시대를 준비하자소프트웨어 중심 시대를 준비하자
소프트웨어 중심 시대를 준비하자Deogtae Kim
 
개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호용호 최
 
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDYWHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDYHyun-woo Park
 
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가smartstudy_official
 
3주차 language
3주차 language3주차 language
3주차 language준혁 이
 
재업로드주소: https://www.slideshare.net/hnki0104/gsshop-103837144
재업로드주소: https://www.slideshare.net/hnki0104/gsshop-103837144재업로드주소: https://www.slideshare.net/hnki0104/gsshop-103837144
재업로드주소: https://www.slideshare.net/hnki0104/gsshop-103837144Darion Kim
 
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래Sung-tae Ryu
 
Android Developer JeongJaeyun
Android Developer JeongJaeyunAndroid Developer JeongJaeyun
Android Developer JeongJaeyunjaeyunjeong1
 
JavaScript Everywhere from Mobile and Robot
JavaScript Everywhere from Mobile and RobotJavaScript Everywhere from Mobile and Robot
JavaScript Everywhere from Mobile and RobotCirculus
 

Similar to 격변하는 프로그래밍 언어, 이제는 Let it go (20)

31기 고지웅 "구글오픈소스"
31기 고지웅 "구글오픈소스"31기 고지웅 "구글오픈소스"
31기 고지웅 "구글오픈소스"
 
Slipp 발표 자료 20151212
Slipp 발표 자료 20151212Slipp 발표 자료 20151212
Slipp 발표 자료 20151212
 
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
 
How to implement your dream 20150427
How to implement your dream 20150427How to implement your dream 20150427
How to implement your dream 20150427
 
[20140624]소개자료
[20140624]소개자료[20140624]소개자료
[20140624]소개자료
 
Native A/V
Native A/VNative A/V
Native A/V
 
131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원
 
좋은 개발자 되기
좋은 개발자 되기좋은 개발자 되기
좋은 개발자 되기
 
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
 
클라우드 세상에서 IT 관리자로 살아남기 - AWS Summit Seoul 2017
클라우드 세상에서 IT 관리자로 살아남기 - AWS Summit Seoul 2017클라우드 세상에서 IT 관리자로 살아남기 - AWS Summit Seoul 2017
클라우드 세상에서 IT 관리자로 살아남기 - AWS Summit Seoul 2017
 
소프트웨어 중심 시대를 준비하자
소프트웨어 중심 시대를 준비하자소프트웨어 중심 시대를 준비하자
소프트웨어 중심 시대를 준비하자
 
About Programmer 2021
About Programmer 2021About Programmer 2021
About Programmer 2021
 
개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호
 
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDYWHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
 
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
 
3주차 language
3주차 language3주차 language
3주차 language
 
재업로드주소: https://www.slideshare.net/hnki0104/gsshop-103837144
재업로드주소: https://www.slideshare.net/hnki0104/gsshop-103837144재업로드주소: https://www.slideshare.net/hnki0104/gsshop-103837144
재업로드주소: https://www.slideshare.net/hnki0104/gsshop-103837144
 
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
 
Android Developer JeongJaeyun
Android Developer JeongJaeyunAndroid Developer JeongJaeyun
Android Developer JeongJaeyun
 
JavaScript Everywhere from Mobile and Robot
JavaScript Everywhere from Mobile and RobotJavaScript Everywhere from Mobile and Robot
JavaScript Everywhere from Mobile and Robot
 

More from Chris Ohk

인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍Chris Ohk
 
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들Chris Ohk
 
Momenti Seminar - 5 Years of RosettaStone
Momenti Seminar - 5 Years of RosettaStoneMomenti Seminar - 5 Years of RosettaStone
Momenti Seminar - 5 Years of RosettaStoneChris Ohk
 
선린인터넷고등학교 2021 알고리즘 컨퍼런스 - Rust로 알고리즘 문제 풀어보기
선린인터넷고등학교 2021 알고리즘 컨퍼런스 - Rust로 알고리즘 문제 풀어보기선린인터넷고등학교 2021 알고리즘 컨퍼런스 - Rust로 알고리즘 문제 풀어보기
선린인터넷고등학교 2021 알고리즘 컨퍼런스 - Rust로 알고리즘 문제 풀어보기Chris Ohk
 
Momenti Seminar - A Tour of Rust, Part 2
Momenti Seminar - A Tour of Rust, Part 2Momenti Seminar - A Tour of Rust, Part 2
Momenti Seminar - A Tour of Rust, Part 2Chris Ohk
 
Momenti Seminar - A Tour of Rust, Part 1
Momenti Seminar - A Tour of Rust, Part 1Momenti Seminar - A Tour of Rust, Part 1
Momenti Seminar - A Tour of Rust, Part 1Chris Ohk
 
Evolving Reinforcement Learning Algorithms, JD. Co-Reyes et al, 2021
Evolving Reinforcement Learning Algorithms, JD. Co-Reyes et al, 2021Evolving Reinforcement Learning Algorithms, JD. Co-Reyes et al, 2021
Evolving Reinforcement Learning Algorithms, JD. Co-Reyes et al, 2021Chris Ohk
 
Adversarially Guided Actor-Critic, Y. Flet-Berliac et al, 2021
Adversarially Guided Actor-Critic, Y. Flet-Berliac et al, 2021Adversarially Guided Actor-Critic, Y. Flet-Berliac et al, 2021
Adversarially Guided Actor-Critic, Y. Flet-Berliac et al, 2021Chris Ohk
 
Agent57: Outperforming the Atari Human Benchmark, Badia, A. P. et al, 2020
Agent57: Outperforming the Atari Human Benchmark, Badia, A. P. et al, 2020Agent57: Outperforming the Atari Human Benchmark, Badia, A. P. et al, 2020
Agent57: Outperforming the Atari Human Benchmark, Badia, A. P. et al, 2020Chris Ohk
 
Proximal Policy Optimization Algorithms, Schulman et al, 2017
Proximal Policy Optimization Algorithms, Schulman et al, 2017Proximal Policy Optimization Algorithms, Schulman et al, 2017
Proximal Policy Optimization Algorithms, Schulman et al, 2017Chris Ohk
 
Trust Region Policy Optimization, Schulman et al, 2015
Trust Region Policy Optimization, Schulman et al, 2015Trust Region Policy Optimization, Schulman et al, 2015
Trust Region Policy Optimization, Schulman et al, 2015Chris Ohk
 
Continuous Control with Deep Reinforcement Learning, lillicrap et al, 2015
Continuous Control with Deep Reinforcement Learning, lillicrap et al, 2015Continuous Control with Deep Reinforcement Learning, lillicrap et al, 2015
Continuous Control with Deep Reinforcement Learning, lillicrap et al, 2015Chris Ohk
 
GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기
GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기
GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기Chris Ohk
 
[RLKorea] <하스스톤> 강화학습 환경 개발기
[RLKorea] <하스스톤> 강화학습 환경 개발기[RLKorea] <하스스톤> 강화학습 환경 개발기
[RLKorea] <하스스톤> 강화학습 환경 개발기Chris Ohk
 
[NDC 2019] 하스스톤 강화학습 환경 개발기
[NDC 2019] 하스스톤 강화학습 환경 개발기[NDC 2019] 하스스톤 강화학습 환경 개발기
[NDC 2019] 하스스톤 강화학습 환경 개발기Chris Ohk
 
C++20 Key Features Summary
C++20 Key Features SummaryC++20 Key Features Summary
C++20 Key Features SummaryChris Ohk
 
[델리만주] 대학원 캐슬 - 석사에서 게임 프로그래머까지
[델리만주] 대학원 캐슬 - 석사에서 게임 프로그래머까지[델리만주] 대학원 캐슬 - 석사에서 게임 프로그래머까지
[델리만주] 대학원 캐슬 - 석사에서 게임 프로그래머까지Chris Ohk
 
디미고 특강 - 개발을 시작하려는 여러분에게
디미고 특강 - 개발을 시작하려는 여러분에게디미고 특강 - 개발을 시작하려는 여러분에게
디미고 특강 - 개발을 시작하려는 여러분에게Chris Ohk
 
[NDC 2018] 유체역학 엔진 개발기
[NDC 2018] 유체역학 엔진 개발기[NDC 2018] 유체역학 엔진 개발기
[NDC 2018] 유체역학 엔진 개발기Chris Ohk
 
My Way, Your Way
My Way, Your WayMy Way, Your Way
My Way, Your WayChris Ohk
 

More from Chris Ohk (20)

인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
 
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
 
Momenti Seminar - 5 Years of RosettaStone
Momenti Seminar - 5 Years of RosettaStoneMomenti Seminar - 5 Years of RosettaStone
Momenti Seminar - 5 Years of RosettaStone
 
선린인터넷고등학교 2021 알고리즘 컨퍼런스 - Rust로 알고리즘 문제 풀어보기
선린인터넷고등학교 2021 알고리즘 컨퍼런스 - Rust로 알고리즘 문제 풀어보기선린인터넷고등학교 2021 알고리즘 컨퍼런스 - Rust로 알고리즘 문제 풀어보기
선린인터넷고등학교 2021 알고리즘 컨퍼런스 - Rust로 알고리즘 문제 풀어보기
 
Momenti Seminar - A Tour of Rust, Part 2
Momenti Seminar - A Tour of Rust, Part 2Momenti Seminar - A Tour of Rust, Part 2
Momenti Seminar - A Tour of Rust, Part 2
 
Momenti Seminar - A Tour of Rust, Part 1
Momenti Seminar - A Tour of Rust, Part 1Momenti Seminar - A Tour of Rust, Part 1
Momenti Seminar - A Tour of Rust, Part 1
 
Evolving Reinforcement Learning Algorithms, JD. Co-Reyes et al, 2021
Evolving Reinforcement Learning Algorithms, JD. Co-Reyes et al, 2021Evolving Reinforcement Learning Algorithms, JD. Co-Reyes et al, 2021
Evolving Reinforcement Learning Algorithms, JD. Co-Reyes et al, 2021
 
Adversarially Guided Actor-Critic, Y. Flet-Berliac et al, 2021
Adversarially Guided Actor-Critic, Y. Flet-Berliac et al, 2021Adversarially Guided Actor-Critic, Y. Flet-Berliac et al, 2021
Adversarially Guided Actor-Critic, Y. Flet-Berliac et al, 2021
 
Agent57: Outperforming the Atari Human Benchmark, Badia, A. P. et al, 2020
Agent57: Outperforming the Atari Human Benchmark, Badia, A. P. et al, 2020Agent57: Outperforming the Atari Human Benchmark, Badia, A. P. et al, 2020
Agent57: Outperforming the Atari Human Benchmark, Badia, A. P. et al, 2020
 
Proximal Policy Optimization Algorithms, Schulman et al, 2017
Proximal Policy Optimization Algorithms, Schulman et al, 2017Proximal Policy Optimization Algorithms, Schulman et al, 2017
Proximal Policy Optimization Algorithms, Schulman et al, 2017
 
Trust Region Policy Optimization, Schulman et al, 2015
Trust Region Policy Optimization, Schulman et al, 2015Trust Region Policy Optimization, Schulman et al, 2015
Trust Region Policy Optimization, Schulman et al, 2015
 
Continuous Control with Deep Reinforcement Learning, lillicrap et al, 2015
Continuous Control with Deep Reinforcement Learning, lillicrap et al, 2015Continuous Control with Deep Reinforcement Learning, lillicrap et al, 2015
Continuous Control with Deep Reinforcement Learning, lillicrap et al, 2015
 
GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기
GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기
GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기
 
[RLKorea] <하스스톤> 강화학습 환경 개발기
[RLKorea] <하스스톤> 강화학습 환경 개발기[RLKorea] <하스스톤> 강화학습 환경 개발기
[RLKorea] <하스스톤> 강화학습 환경 개발기
 
[NDC 2019] 하스스톤 강화학습 환경 개발기
[NDC 2019] 하스스톤 강화학습 환경 개발기[NDC 2019] 하스스톤 강화학습 환경 개발기
[NDC 2019] 하스스톤 강화학습 환경 개발기
 
C++20 Key Features Summary
C++20 Key Features SummaryC++20 Key Features Summary
C++20 Key Features Summary
 
[델리만주] 대학원 캐슬 - 석사에서 게임 프로그래머까지
[델리만주] 대학원 캐슬 - 석사에서 게임 프로그래머까지[델리만주] 대학원 캐슬 - 석사에서 게임 프로그래머까지
[델리만주] 대학원 캐슬 - 석사에서 게임 프로그래머까지
 
디미고 특강 - 개발을 시작하려는 여러분에게
디미고 특강 - 개발을 시작하려는 여러분에게디미고 특강 - 개발을 시작하려는 여러분에게
디미고 특강 - 개발을 시작하려는 여러분에게
 
[NDC 2018] 유체역학 엔진 개발기
[NDC 2018] 유체역학 엔진 개발기[NDC 2018] 유체역학 엔진 개발기
[NDC 2018] 유체역학 엔진 개발기
 
My Way, Your Way
My Way, Your WayMy Way, Your Way
My Way, Your Way
 

Recently uploaded

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)Tae Young Lee
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 

Recently uploaded (6)

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)
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 

격변하는 프로그래밍 언어, 이제는 Let it go

  • 2. 강연자 소개 • 옥찬호 • 히어로 코리아 수석 엔지니어 • 게임 제작팀 Xpecial / Mine Scroll 팀장 • KAIST 전산학과 석사과정 재학 • 경북대학교 컴퓨터학부 졸업 • 에이콘출판사 Translator • 게임샐러드로 코드 한 줄 없이 게임 만들기 (2013) • 3D 게임 최적화와 시각적 효과를 위한 유니티 Shader와 Effect 제작 (2014) • 다수의 스터디 운영 및 멘토링 진행 • C++ 공부 10년차 (근데 아직 잘 모르겠어요…)
  • 3. 한글은 이제 끝, 영문의 세상으로…
  • 4. WHAT IS “YOUR” PROGRAMMING LANGUAGE?
  • 5. TIOBE INDEX FOR AUGUST 2014
  • 6. TIOBE INDEX FOR AUGUST 2014
  • 7. VERY LONG TERM HISTORY
  • 9. WHAT IS “YOUR” PROGRAMMING LANGUAGE TO MATCH THE PATTERN IN THE DATA?
  • 12. WHAT IS “YOUR” PROGRAMMING LANGUAGE TO QUERY THE DATA?
  • 13. QUERY THE DATA “>= 4” IN ARRAY
  • 14. SIMPLE DATA QUERY – C++
  • 17.
  • 18.
  • 19. QUERY THE STUDENT ID, SCORE “>= AVERAGE SCORE OF ALL STUDENTS” IN THE STUDENT LIST
  • 22. WHAT IS “YOUR” PROGRAMMING LANGUAGE TO CREATE THE BLOG?
  • 23. SIMPLE BLOG – C++ …?
  • 24. SIMPLE BLOG – RUBY ON RAILS
  • 25. WHAT IS “YOUR” PROGRAMMING LANGUAGE TO SORT THE DATA?
  • 28. WHAT IS “YOUR” PROGRAMMING LANGUAGE TO PROCESS THE FASTEST SPEED?
  • 29. BENCHMARK – C++ VS PYTHON
  • 31. BENCHMARK – C++ VS RUBY
  • 33. HOW MANY PROGRAMMING LANGUAGES ARE THERE IN THE WORLD?
  • 34.
  • 35. THE PARADIGM OF COMPUTER PROGRAMMING IS CHANGING CONSTANTLY.
  • 36.
  • 37. EACH PROGRAMMING LANGUAGE HAS A REASON TO MADE.
  • 38. RYAN DAHL – THE CREATOR OF NODE.JS • InfoWorld: What's the main benefit [of Node]? • Dahl: Node does things a bit differently than other programming platforms. The main thing is that it handles I/O very differently, so it doesn't allow the user to lock up the program, ever. It keeps the user handling new things, so it's very useful for network programming. You often are dealing with many people at the same time on your server, and you're juggling these different connections. Node encourages the developer to continue to process connections without blocking. And because of this model of handling I/O, users tend to find it easier than developing with a traditional programming language for servers.
  • 39. RYAN DAHL – THE CREATOR OF NODE.JS • InfoWorld: Node.js의 가장 큰 장점은 무엇이라고 생각하시나요? • Dahl: Node.js는 다른 프로그래밍 플랫폼과는 약간 다른 무엇인가를 가지고 있습니다. 그 중에서 가장 중요한 것중에 하나가 입출력을 매우 다르게 처리하고 있다는 점인데, 즉 Node.js에서는 개발자들이 프로그래밍을 할 때 사용하는 리소스들을 소유하는 것을 허용하지 않습니다. 이런 방법을 사용하게 되면 개발자들은 어떤 리소스를 사용하든지 리소스의 소유권에 대한 걱정없이 비지니스 로직에 집중할 수 있고, 특히 네트워크 프로그래밍에서 매우 유용하게 사용될 수 있습니다. 보통 하나의 서버에서 동시에 수많은 사용자들의 요청을 처리해야 하는데, 이 경우 이렇게 서로 다른 수많은 요청과 연결들을 처리할 때에는 발생할 수 있는 여러 가지 가능성에 대해서 준비를 해야합니다. Node.js는 이런 경우에 개발자들이 네트워크에서 발생하는 요청과 연결 처리에 대한 큰 걱정없이 비지니스 로직에만 초점을 맞출 수 있도록 도와줍니다. Node.js에서 제공하는 이러한 새로운 입출력 모델 때문에, 많은 개발자들이 서버에서 사용되는 기존의 프로그래밍 언어보다 Node.js로 개발하는 것이 더 쉽다고 느끼는 것 같습니다.
  • 40. MARTIN ODERSKY – THE CREATOR OF SCALA • InfoWorld: What was your intent in developing Scala? • Odersky: It was curiosity, whether we could combine functional and object-oriented programming in a package that was useful to people [and] would make it a powerful language... It felt like it would be the right thing to do, to have very complementary strengths. Functional programming is in a sense very clean, it can be very powerful. It makes it easy to construct things out of simple elements. Object-oriented programming has a good story when it comes to essentially the evolution of large systems... I always felt it would be interesting to combine the two, and I think the success of Scala has shown that there is something.
  • 41. MARTIN ODERSKY – THE CREATOR OF SCALA • InfoWorld: Scala 프로그래밍 언어를 만든 의도가 무엇이었습니까? • Odersky: 처음에는 그냥 호기심이었습니다. 과연 함수형 프로그래밍과 객체지향 프로그래밍을 개발자들에게 유용하도록 하나의 패키지로 묶을 수 있고, 또 그렇게 묶여진 것이 개발자들을 도와줄 수 있는 유용한 언어가 될 수 있는지 없는지 궁금했습니다. 결과적으로는 서로 부족한 부분을 보완해 주는 장점을 볼 수 있었기 때문에 꼭 해야할 일을 했다고 생각합니다. 함수형 프로그래밍은 매우 깔끔하고 강력합니다. 이러한 함수형 프로그래밍의 특성은 시스템의 기반이 되는 것들을 쉽게 구축할 수 있도록 도와줍니다. 객체지향 프로그래밍은 시스템이 대용량 시스템으로 나아갈때 적용할 수 있는 좋은 선례들을 많이 가지고 있습니다. 저는 항상 이 두가지 프로그래밍을 결합하면 아주 좋은 결과가 나오지 않을까 고민해 왔습니다. 현재의 Scala의 성공은 제가 지금까지 해왔던 이 고민이 헛되지 않았음을 보여주는 것이라고 생각합니다.
  • 42. BJNARE STROUSTRUP – THE CREATOR OF C++ • InfoWorld: When should a developer opt for native programming, and when should a developer opt for a virtual machine-based language? • Stroustrup: C++ has significant strengths compared to "virtual machine-based languages" when it comes to building infrastructure. In other words, where performance, reliability, resources, and complexity need to be tightly controlled. For example, you wouldn't write a JavaScript engine in JavaScript, and you probably wouldn't write a "first to market" simple Web app in C++. You would write the foundations of a Google, an Amazon, a Facebook in C++, but maybe not the rapidly changing top layers of such systems. C++ comes in strong where power consumption is an issue - for example, server farms and handheld devices.
  • 43. BJNARE STROUSTRUP – THE CREATOR OF C++ • InfoWorld: 개발자들은 어떤때에 네이티브 프로그래밍(native programming)을 선택하고, 또 어떤때에 가상 머신(virtual machine) 기반의 언어들을 선택해야 할까요? • Stroustrup: C++는 가상 머신 기반의 언어들과 비교해서 시스템의 기반구조(infrastructure)를 만들때는 아주 큰 장점을 가지고 있습니다. 다시말해서, 성능, 신뢰성, 복잡성, 리소스 관리등이 아주 중요한 시스템의 기반구조 개발의 경우 C++가 큰 장점을 가집니다. 예를 들어, 자바스크립트 엔진을 자바스크립트로 구현하는 것은 거의 불가능합니다. 또한 시장 선점을 위해서 간단한 웹 애플리케이션을 구현해야 하는 경우에는 C++를 사용할 필요가 없습니다. 구글, 아마존, 페이스북과 같은 플랫폼의 기반은 C++를 사용해서 구현할 수 있지만, 이러한 플랫폼들에서 자주 변경해야하는 상위 레이어를 C++로 개발하지는 않습니다. 또한 전력 소비(power consumption)가 중요한 서버 팜(server farm)과 핸드헬드 기기(handheld device)에서 C++는 큰 장점을 가지고 있습니다.
  • 44. RICH HICKEY – THE CREATOR OF CLOJURE • InfoWorld: What was your intention in [developing Clojure]? • Hickey: My intention was to make a dynamic, functional programming language for the JVM. I had been building large systems in C# and Java, and the only way we could do them sanely was to do them in a functional style, but the functional style is not idiomatic in those languages. I wanted a language where functional style was idiomatic, and that's the case for Clojure... Fundamentally, Clojure gives developers a lot of leverage. They can write short, succinct programs that work correctly the first time and are fast enough for production use... It's very popular among startups because they have new ideas they need to pursue quickly.
  • 45. RICH HICKEY – THE CREATOR OF CLOJURE • InfoWorld: Clojure를 만든 목적이 무엇이었습니까? • Hickey: 사실 처음 목적은 자바 가상 머신(Java Virtual Machine)을 위한 동적이고 함수형 프로그래밍 언어를 만드는 것이었습니다. 저는 C#과 Java를 사용해서 큰 시스템을 개발해왔는데, 이 두 가지 언어를 동시에 품을 수 있는 유일한 방법은 함수형 스타일을 사용하는 것인데, 하지만 함수형 스타일을 사용하게 되면 이 두 언어가 지원하는 특징들을 제대로 살릴수가 없게됩니다. 그래서 함수형 스타일을 기본으로 가지고 있는 언어가 필요했고, 그래서 만들어진 것이 Clojure입니다. 근본적으로 Clojure는 개발자들에게 많은 장점들을 제공합니다. 개발자들은 처음에는 쉽게 개발이 가능하고 또한 실제 서비스가 가능할 정도로 충분히 빠른 짧고 간결한 프로그램을 작성할 수 있습니다. Clojure는 새로운 아이디어들을 가지고 있고 그 아이디어들을 재빨리 구현하는 것이 필요한 스타트업 회사들에게 매우 인기가 높습니다.
  • 46. THEREFORE, YOU SHOULD USE THE PROPER LANGUAGE DEPENDING ON YOUR PURPOSE.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51. THERE WAS A TIME WHEN NAILS WERE HIGH-TECH. THERE WAS A TIME WHEN PEOPLE HAD TO BE TOLD HOW TO USE A TELEPHONE. TECHNOLOGY IS JUST A TOOL. PEOPLE USE TOOLS TO IMPROVE THEIR LIVES. - TOM CLANCY
  • 53. I’D LIKE TO TALK TO YOU.
  • 55.
  • 56. AND,
  • 57.
  • 58. DON’T FLATTER YOURSELF. IT’S JUST THE BEGINNING.