프로그래밍 바벨탑 해결

Python 을 Go 로 번역해주는 트랜스컴파일러:

https://github.com/google/grumpy

Python 을 Go 로 트랜스컴파일한다는 것은 무엇을 의미하는가, Python이 최정적으로 네이티브 컴파일 됨을 의미합니다..

저는 어제 이 리포의 별수가 실시간으로 오르는 걸 보았습니다. 오늘은 어제 대비 별표가 많이 늘어났더라구요.

이런 갓 프로젝트를 누가 만들었나 했더니 갓 Google 님이 만들었더라구요.

이게 좀더 성숙해지면 구글은 python 으로 짜여진 유튜브를 네이티브 프로그램으로 서비스 하겠네요.

자 그러면 앞으로 이런 식으로 프로그래밍 바벨탑들이 다 해결 될 것인가?

 


하스스톤 역기획 해 python 코딩하는 알파고:

http://kotaku.com/google-deepmind-is-now-analysing-magic-and-hearthstone-1767628685

프로그래머들을 아예 다 해치울지도..? ㅋㅋㅋ

2016회고: 같은 성형외과 나온 프로그래밍 언어들

내 언어의 경계는 내 세계의 극한이다 — 루트비히 비트겐슈타인 <논리철학 논고> [1] (5.6)

프로그래밍 언어는 빠르게 발전한다 — 적어도 빠르게 변화한다. 한때 유행했던 Delphi 나 한때는 쿨하다고 여겨졌는 Perl 이 오늘날 이토록 사람들로부터 외면 받을 줄은 그때 당시는 상상하기도 어려웠던 것처럼[2]. 2016 년에도 프로그래밍 언어는 1년어치 뉴스를 듬뿍 채울 만큼 착실하게 발전했다. 뜻인즉 프로그래머들의 식후 티타임 화제를 옹근 2016년 한해만큼 제공하기에 충분한 분량을 채울 만큼 확실하고 견고하게 발자국을 내디뎠다는 말이다. 원한다면 프로그래밍 언어 2류 관찰가의 시선을 따라 2016년의 프로그래밍 언어를 회고해보자. (일부 특성들은 사실 2016년에 추가된게 아니다, 엄밀히 따지자면. 하지만 그게 2016년에야 각광받았다면 2016년의 뉴스로 치부할 수도 있을 것이다)

2016 년 “올해의 프로그래밍 언어”

프로그래밍 언어 유행지수를 발표하는 것으로 프로그래밍 커뮤니티에서 유명한 TIOBE 가 곧 2016년 “올해의 프로그래밍 언어” (Programming language of the year 2016) 를 발표할 예정이다. 이 영광을 차지할 언어는 Go 언어가 거의 확정이다 [3]. 원인은 1개 퍼센트 포인트 이상의 유행도 상승을 보여준 프로그래밍 언어가 Go 와 Groovy 밖에 없는데, Groovy는 이미 과거형으로 되었기 때문이다.

Google이라는 명문 출신, C언어의 아버지와 UNIX의 아버지가 만든, 대규모 동시성 프로그래밍을 위해 태어났다는 슬로건, 등등 태그들을 달고, 프로그래밍 언어들이 혈전고투로 어려워하는 와중에 Go 언어는 자기만의 길을 개척해 유행도를 얻고 있다. 또한 컨테이너 프로그램 Docker 가 점점 일반 가정에 까지 들어설 만큼 유행해진 것이 그것의 개발 언어 Go가 나날이 주목받는데 일조를 하는 것 같다.

JetBrains 도 이런 배경에서였는지, Go언어 IDE 프리뷰 버전(현재 이름: Gogland)을 내놓았다. 성숙한 IDE는 Go 생태계의 빠른 성장에도 큰 도움이 될 것 같다.

Async/Await 유행년

2016 년을 감히 Async/Await 의 해라고 부르겠다. 2016 년에 뭐가 가장 핫했냐고 물어본다면 당근 Async/Await 이겠으니. Continue reading

프로그래밍의 특급 비밀

coolspeed

This book has a lot of knowledge in it, but it is mainly about expertise. It is going to try to teach you the things about Unix development that Unix experts know, but aren’t aware that they know.
– Eric S. Raymond, “The Art Of UNIX Programming”

벤처캐피탈 업계에는 이런 역학이 존재합니다: 최고로 잘한 투자는 수익이 나머지 모든 투자 수익의 합보다 많다. 나머지중 최고로 잘한 투자는 나머지 모든 투자 수익의 합보다 많다.

프로그래밍에도 비슷한 역학이 존재합니다.
프로그램은 90%의 실행시간을 10%의 코드 실행에 소모합니다.[1]

이것을 통해 우리는 놀라운 추론을 해낼 수 있습니다.
시스템을 성능이 낮지만 생산성이 좋은 언어로 짜고, 그중 10% 의 핫스팟만 찾아내 C++ 로 짜면 끝.

실제로 (일부) 천재 프로그래머들은 시스템을 어떻게 설계했을까요?

1. YouTube

검색창은 Go 프로그램. 웹 애플리케이션 서버는 느린 Python 으로 짰습니다.

2. GitHub

“GitHub” 의 “Hub” 은 느린 Ruby on Rails 이고, “Git” 은 C.

3. Instagram

사진 저장은 Amazon S3 (네이티브 코드 예상). 웹 프런트는 C코드 (NginX). 데이터베이스는 C (PostgreSQL).
웹 애플리케이션 서버는 Django (Python).

4. Uber

DB: C++(MySQL)
Index: C (Redis)
애플리케이션: Javascript

Continue reading

아이폰 날씨 어플 리뷰

배경

날씨 어플 보통 야후 날씨 정도는 깔잖아요. 근데 내장 앱, 야후, 네이버 날씨… 에서 리포트한 기온들이 다른거에요. 그래서 어느게 정확한걸까 궁금해지기 시작했고, 또한 이들의 날씨 API 출처도 궁금해지며, 나아가 기상 관련 센서 데이터의 오리지날 출처까지 궁금해졌습니다.

아직은 리써치가 부족해서인지 충분히 많은 정보를 수집하진 못했지만 앱들의 사용 후기부터 적어보겠습니다.

Continue reading

꽃이 모든 것을 바꿔놓았다

번역: coolspeed

아주 오래전에, 보다 정확히는, 2억 년 전에 지구 상에는 꽃이 없었다. 그러다가 양치식물과 선태류가 나타났고 소나무류와 소철류가 나타났다. 하지만 이런 식물은 진정한 꽃과 열매를 형성하지 않았으며 그중 일부는 무성번식이어서 여러 가지 방법으로 자기 자신을 클론 할 뿐이었다. 유성번식은 상대적으로 많은 발전 뒤의 산물이었는데 통상적으로는 꽃가루가 바람이나 물속에 퍼지는 현상과 엮여있었다. 일종의 철저한 우연으로 꽃가루는 이처럼 같은 종의 대른 개체에 도달하는 방법을 얻게 되었고 이로써 하나의 작고 원시적인 씨앗이 형성되었다. 지금과 비교할 때 이 꽃이 생기기 전의 세계는 보다 느리고 간단하며 잠들어있는 세계였다. 이렇게 자연 진화는 계속되었다. 세상의 성(性) 은 드물었다. 그것은 아주 근접하면서도 종속이 밀접히 연계되어있는 식물들에게나 존재했다. 이런 보수적인 번식 방식은 생물학적으로 보다 간단한 세계를 구성하였다 — 그것이 일으키는 신생 사물이나 변화가 상대적으로 적었기에.

열매와 큰 씨앗이 존재하지 않아 많은 온혈 동물들을 지탱할 수 없었기에 파충류 동물들이 세상을 지배하고 있었다. 언제이든지를 막론하고 기후가 추워지면 생명은 파행(爬行) 형태로 퇴화되는 법이다. 당시의 세계는 지금보다 많이 소박했고 더욱 푸르렀으며 꽃과 열매가 선사할 수 있는 빛깔과 형태 패턴들이 적었다 (냄새는 더욱 말할 것도 없다). 아름다움이란 아직 존재하지 않았다. 다시 말해 사물이 관찰되는 방식은 욕망과 관련이 없었다.

꽃이 모든 것을 바꿔놓았다. 속씨식물 — 꽃을 형성할 수 있고 나아가 둘러싸인 씨앗을 형성할 수 있는 식물이 백악기에 나타났다. 드디어, 더 이상 바람과 물에 의뢰해 사처로 유전자를 퍼뜨릴 필요가 없게 되었다. 식물들은 이미 동물들의 도움을 꾀할 수 있게 되었다. 이것은 일종의 공통 진화의 거대한 계약이다: 영양으로 운송을 교환하다. 꽃이 출현함으로 새로운 수준의 복잡성이 이 세계에 나타나게 되었고 더욱 많은 상호 간의 의뢰 관계가 생기게 되었으며 더욱 많은 정보가 생겼고 더욱 많은 교류가 생겼으며 더욱 많은 실험이 진행되었다.

식물의 진화는 새로운 동력에 의해 진행되기 시작했다. 그것은 바로 서로 다른 종들 간의 끌림이다. 이제 자연선택은 꽃가루 운반자의 주의력을 끌 수 있는 꽃들과 채집자를 흡인할 수 있는 열매를 선호하기 시작하였다. 다른 생물의 여러 가지 욕망이 식물의 진화 과정에서 극히 중요해지게 되었다. 원인은 간단하다: 성공적으로 이런 욕망을 만족시킬 수 있는 식물들이 더욱 많은 후대를 갖게 된다. 아름다움은 일종의 생존 책략으로 출현하였다.

새로운 룰은 진화의 발걸음을 가속시켰다. 보다 크고 보다 반짝거리며 보다 달고 보다 향기로운, 새로운 룰에서 모든 질은 재빨리 그 보상을 받았다. 전문화도 보상을 받았다. 식물의 꽃가루는 곤충의 몸에 묻혀 운반하는 것이었기에 잘못된 곳에 배달되는 경우도 있었다. 예를 들면 아무 관련도 없는 꽃으로 배달된다거나. 하여 일종의 낭비가 있었다. 그래서 외형상으로나 향기상으로나 기타 종과 구분된다는 점도 일종의 장점이 되었다. 제일 좋기로는 한가지 종의, 일심전력 헌신을 원하는 곤충을 장악하는 것이다. 그리하여 동물들의 욕망은 해석되었고 세분화되었으며 그에 상응하여 식물들도 전문화되었다. 이렇게 유례없는 꽃의 다양성이 나타났고 그들 대부분은 공통 진화와 아름다움이란 표지를 갖고 있었다.

꽃은 열매와 씨앗으로 되었고 이것들은 지구 상에서 다시금 생명을 창조했다. 당분과 단백질을 생산해 동물들을 유혹하여 자기의 씨앗을 운송하게 함으로써 속씨식물은 지구 상 식물의 에너지 공급을 늘렸고 이로 인해 대형 온혈 포유동물들의 출현이 가능하게 되었다. 꽃이 없었다면, 열매가 없는 잎사귀 세계 속에서 잘만 살고 있던 파충류들은 아마 아직도 세계를 지배하고 있었을거다. 꽃이 없었다면 인류는 아마 존재하지 않았을 것이다. 꽃이 우리 — 그들 최대의 탄복자들을 만들었다.

출처: 《욕망하는 식물》

크라우드펀딩의 새로운 역사

역대 크라우드펀딩 최대 액수 랭킹이 요 위키피다아 페이지에 나와있다. 액수가 계속 변해서 글쓰는 시점의 스샷을 첨부한다:

crowdfund_projects

The DAO, 이틀전에야 처음으로 들어본 이름이다. 오래도록 crypto-currency 쪽 소식을 주시안하고 있는 동안 언제 이렇게 세상이 변했는지 모르겠다. 해당 위키피디아 페이지의 정확성을 의심중이다. 다들 아시다 싶이 위키피디아가 백프로 정확한건 아니라서.

여기에 기술된게 사실이라면, 크라우드펀딩 역사상 모집자금 규모 1위와 6위가 모두 Ethereum 관련이다. 이더륨 프로젝트는 Bitcoin 네트워크를 통해 이루었고 이 무슨 듣보잡 TheDAO 는 이더륨 네트워크에서 이루었다고 한다.

이 소식의 자극 때문인지 한동안 주춤하던 이더륨 시총이 빌리언 달러에 도달했다:

ethereum_capacity

출처: coinmarketcap.com

자 그러면 DAO 란 무엇인가?

Continue reading