'구글'에 해당되는 글 4건

  1. 2010.01.27 아이폰 & 안드로이드 (5)
  2. 2009.11.19 GO (7)
  3. 2008.06.27 Google Code Jam (4)
  4. 2008.03.17 미코노미

아이폰 & 안드로이드

|

트위터를 하다 보니 이제 블로그는 거의 제쳐놓은 듯...-_-;

요즘 스마트폰 열풍이 뜨겁군요. 옴니아나 햅틱 같은, 가수 출신 배우가 연기하듯 했던 스마트폰으로는 불가능한 일이죠 -_-
저는 잔여 약정 및 아내의 압박으로 인해 -_- 아직 구입하지는 않았습니다만, 일단은 관망하는 중입니다. 제가 안 사는 것에 대해 의아해 하는 사람도 많고...-_-;

최근의 양상은 아이폰 열풍이 약간 정점을 지난 듯 하고 안드로이드에 대한 기대가 커지는 것 같더군요.
혹자는 '이젠 안드로이드가 대세'라고 말하는데 이건 좀 헛소리 같고....-_-; 솔직히 근거가 뭔지 모르겠습니다. 외국에서도 아직 안드로이드 폰 중 '대박'이라고 부를만한 모델은 없어 보이는데...

하지만 저는 안드로이드가 아이폰에 필적할만한 성과를 거뒀으면 하는 바람은 있습니다. 아이폰이 매력적이고 강력한 플랫폼의 폰이긴 하지만 애플 특유의 폐쇄적인 정책보다는 구글의 오픈 정책을 선호하기 때문입니다. 아이러니하게도 그 상반된 정책이 애플을 애플답게, 구글을 구글답게 만들긴 합니다만...

그리고 안드로이드 같은 오픈 플랫폼이란 것은 많은 사람들에게 이득을 주긴 하지만, 성능이나 최적화 면에서 아이폰을 따라잡긴 힘들다는 점이 약점이기도 합니다.
쉽게 생각하면 gcc 컴파일러를 생각하면 될 거 같네요. 거의 모든 플랫폼에서 open&free 컴파일러로 명성을 떨치긴 하지만 실제로 인텔 CPU에선 인텔의 컴파일러, SUN에선 SUN cc 등에 비해 컴파일한 바이너리의 성능이 뒤쳐지는 것이 사실입니다.
다시 말하면 플랫폼 벤더=하드웨어 벤더일 때 뛰어난 퍼포먼스를 낼 수 있다는 것은 진리 아닌 진리인 것 같습니다. 어떻게 보면 당연한 얘기군요.

또한 그 진리를 가장 철저하게 증명하고 있는 것이 애플이란 것을 생각하면 하드웨어가 따로 노는 안드로이드는 일단 약점이 있습니다. 모든 디바이스를 지원하려는 야심의 윈모바일이 물먹고 있는 것도 약간 비슷한 이유가 있겠죠(그 이유 이전에 너무 재미없게 만들었긴 하지만). 안드로이드가 오픈이므로 최적화를 위한 customizing이 가능하다는 것은 윈모바일에 없는 장점입니다만...

하지만 다 아시다시피 개발자 진입장벽 측면에서는 안드로이드가 제일 낫기 때문에 또 다른 변수가 될 수도 있겠죠. 제대로 된 개발자라면 새로운 언어나 툴을 두려워하지 않아야 되긴 합니다만, 그 점을 감안하더라도 아이폰 개발에 적응하는 시간은 무시하기는 어려울 듯 하군요.

써놓고 보니 왠지 의미없는 잡설이 되어버렸는데...;
제가 위에 말한 이유가 구글이 넥서스 원을 출시한 이유와 일맥상통하지 않을까 생각합니다. 그리고 넥서스 원의 성패가 안드로이드의 미래에 많은 영향을 미칠 거 같군요. 아이폰만큼은 아니더라도 어느 정도 반향을 일으켜야 될텐데...-_-;

그러면 개나 소나 사는 아이폰말고 -_- 안드로이드 폰을 고려해 보려구요 ㅡㅡ;
잡설은 여기까지....

'Programming Story' 카테고리의 다른 글

프로그래밍 실력을 늘리려면  (19) 2010.02.27
아이폰 & 안드로이드  (5) 2010.01.27
프로그래밍 커뮤니티의 존재 가치  (6) 2009.12.18
GO  (7) 2009.11.19
Trackback 1 And Comment 5

GO

|
구글에서 GO란 언어를 내놓은 것을 이미 아시는 분은 아시겠죠(http://golang.org/).
C 개발자 출신인 저에게는 꽤 흥미롭습니다.

Java가 나오면서 C와 C++을 많이 대체하는 듯 했지만 한계는 존재하죠. 대표적인 건 임베디드라고 할 수 있을 듯 합니다. Java를 시스템 프로그래밍 언어라고 부를 수는 없으니까요.
흠, Objective-C라면 임베디드 쪽에도 써볼만 하지 않을까 싶은 생각이 문득 들긴 하는데...-_-
여튼 Java 이후로 스크립트 언어들도 많이 나왔습니다만 시스템 프로그래밍이랑은 거리가 더더욱 멀었죠. 생산성 높은 언어들은 많이 나왔지만 제각기 다른 자리를 찾아 갔고(역시 대부분 웹...) 임베디드 분야에서는 C/C++ 말고는 여전히 별로 선택권이 없습니다.

여튼 OS와 자체적인 개발언어를 가진 확고한 플랫폼 벤더인 애플이 아이폰을 내놓게 되고... 구글도 안드로이드를 내놓고 크롬 OS를 내놓으며 플랫폼 싸움에 발을 들이게 됩니다(그리고 스마트폰 바람이 불게 되죠, 우리 나라는 좀 아닌 거 같지만...).

GO 프로젝트의 시작이 거의 2년 전이군요. 추측일 뿐이지만 아마 안드로이드든 무엇이든 OS가 아니더라도 검색엔진을 비롯한 gmail 등등 구글이 갖고 있는 플랫폼의 Backend로 C언어를 계속 가져가는 것은 생산성이나 유지보수 측면에서 한계가 있다고 생각했을 지도 모르겠습니다. 좀 더 상상의 나래를 펴자면 구글도 애플의 Obj-C 같은 것을 갖고 싶었을 지도...? -_-

홈페이지에는 GO를 만든 이유에 대해 다음과 같이 써 있네요.

 

Go was born out of frustration with existing languages and environments for systems programming. Programming had become too difficult and the choice of languages was partly to blame. One had to choose either efficient compilation, efficient execution, or ease of programming; all three were not available in the same mainstream language. Programmers who could were choosing ease over safety and efficiency by moving to dynamically typed languages such as Python and JavaScript rather than C++ or, to a lesser extent, Java.

Go is an attempt to combine the ease of programming of an interpreted, dynamically typed language with the efficiency and safety of a statically typed, compiled language. It also aims to be modern, with support for networked and multicore computing. Finally, it is intended to be fast: it should take at most a few seconds to build a large executable on a single computer. To meet these goals required addressing a number of linguistic issues: an expressive but lightweight type system; concurrency and garbage collection; rigid dependency specification; and so on. These cannot be addressed well by libraries or tools; a new language was called for.


요약하자면, 인터프리터 언어의 용이한 프로그래밍 스타일, 효과적이고 안전한 다이나믹 타이핑을 가진 컴파일 언어 -_- 이면서 현대적이고 네트웍과 멀티코어 컴퓨팅이 지원되고 빠른 -_-;; 시스템 프로그래밍 언어가 필요해진 시대의 요구(이건 제가 쓴 말 -_-)에 발맞추어 나왔다... 정도가 되겠습니다.

네, 이런 건 위에 나온 말처럼 아무리 좋은 라이브러리나 툴이 나온다고 해결이 되는게 아니죠. 근데 그렇다고 새로운 언어를 뚝딱 만들어서 해결할 능력을 지닌 조직이 많은 것도 아닙니다 -_-;;;
GO가 정말 그렇게 뛰어난 지는 아직 제가 판단할 수 있는 문제는 아닌 거 같군요. 하지만 프로젝트 멤버들의 면면은 화려하긴 합니다.
Robert Griesemer, Rob Pike, Ken Thompson... 유닉스 역사책에나 나올 법한 이름이 있죠? ㅡㅡ;

여튼 이 프로젝트가 안정화 되면 GO는 구글 플랫폼의 Backend 언어가 될 가능성이 높아 보이네요. 물론 이것도 사견..-_-

GO의 feature들을 몇 가지 정리하자면...


1. OOP 언어는 아닙니다. 인터페이스나 리플렉션을 지원하지만 기본적으론 시스템 프로그래밍에 촛점이 맞추어져 있습니다.
2. 컴파일 언어입니다. 자바나 닷넷처럼 vm이 끼어드는는 방식이 아닌 순수 컴파일 언어입니다.
3. Dynamic Typing을 지원합니다....만 왠지 스무스해 보이진 않네요 -_-
4. map 타입도 지원합니다. 때론 편하죠 -0-;
5. 포인터를 지원합니다. 하지만 포인터 연산은 지원하지 않습니다. 메모리 침범 에러의 소지는 없어진 셈입니다.
6. 같은 맥락에서 배열의 []도 첨자가 배열의 크기를 벗어나지 못합니다. C에서는 그냥 포인터의 더하기 연산자였기 때문에 배열 크기랑 상관없었습니다.
7. Java처럼 문자열이 immutable하게 바뀌었습니다. 이것도 메모리 오류를 막아주게 되었군요.
8. UTF-8 지원이 포함되어 있습니다.
9. 배열에서의 slice 연산도 지원합니다(Python처럼).
10. Concurrent 프로그래밍 요소들을 지원합니다.

이것 말고도 물론 많은데 다 쓸 수는 없고...;
다음 링크도 보세요.

http://www.cowlark.com/2009-11-15-go/

Go와 Brand X라는 언어를 비교한 글입니다. 브랜드 X의 정체는 마지막에...

Go는 흥미롭긴 한데 사실 아직은 왠지 다듬어지지 않은 느낌이 드네요. 추후의 추이에 관심이 생깁니다.

'Programming Story' 카테고리의 다른 글

프로그래밍 커뮤니티의 존재 가치  (6) 2009.12.18
GO  (7) 2009.11.19
기술 교육  (0) 2009.10.01
회의는 왜 하나요  (6) 2009.08.30
Trackback 0 And Comment 7

Google Code Jam

|

블로그가 점점 시들해지는군요. 요즘은 블로그의 정체성이 흔들리는 것 같은 느낌이 듭니다(애초에 그런게 있었나...? -_-).
아들을 가진 일도 있고 회사 Kickoff 관계로 중국에 5박 6일 정도 다녀온 일도 있고 해서 바쁘기도 했지만 역시 의지박약과 의욕부족이 제일 문제점인 것 같군요 ㅡㅡ

어쨌든.. 구글 코드 잼이 개최를 앞두고 있어서 소개글을 잠시 올립니다.
자세한 룰은 http://code.google.com/codejam/rules.html 에서 보실 수 있고요.

방식을 간단히 설명드리면, 일단 예선 라운드는 7월 17일 08시(한국시간)부터 시작하여 24시간동안 진행되며 세 문제가 출제된다는군요. 물론 여기서 걸러진 사람들이 다음 라운드에 진출할 수 있겠죠? 느낌상 이 예선 라운드는 거의 허접 쓰레기들(..) 필터링 과정인 듯 합니다.

1라운드는 대회 등록시에 입력한 본인의 선호 시간대에 최대한 맞춰서 치러집니다. 몇 개의 서브라운드로 이루어진다고 하는데 뭐 이건 일단 진출이라도 해야 걱정할 일이고...-_-;;;
1라운드에서 상위 2520명이 2라운드에 진출하구요. 여기서 다시 상위 1000명이 라운드 3에 진출하고 다시 상위 500명을 뽑습니다.
이걸로 온라인 대회는 끝나고 500명이 각 지역의 지정장소에서 대회를 치르게 되는군요. 지역이란 건 유럽, 중동, 아프리카, 아메리카, 아시아-태평양의 5개 지역이고... 그리고 상위 100명이 결선 라운드에 진출한다고 합니다.

왠지 드래곤볼의 천하제일무도회가 생각나네요 ㅡ.ㅡ
1등 상금은 1만 달러이며 100등까지 상금을 줍니다. 100등 상금은 $250... 상금을 떠나서 100등 안에 드는 것도 대단할 듯...-_-;
그리고... 1등은 구글 사무실에서 동반 1인과 함께 점심을 10번 공짜로 먹을 수 있다고 합니다...ㅡㅡㅋ

재밌는 것은 대회 방식인데...
상당히 방어적인 프로그래밍을 하지 않으면 패스하기 힘들 것 같습니다.

각 문제에 대한 small/large input set이 있는데 각 세트에 대해 정확한 output set을 submit하는 것이 일단의 목적입니다. 즉 중요한 것은 이 답이 정확해야 하며 소스 코드 업로드는 2차적인 과정입니다.
즉 다른 프로그래밍 문제 사이트들처럼 소스 코드를 보내면 서버에서 소스를 실행해보는 방식이 아닙니다. 그러므로 프로그래밍 언어의 제한은 없습니다. 심지어 문제를 손으로 풀었을 경우는 푼 방법을 텍스트 파일로 업로드하라고도 써 놓았습니다 ㅡㅡ
즉, 엑셀을 써서 풀어도 되고 한 문제에 여러 가지 언어를 써서 풀어도 되는 룰입니다. 중요한 것은 '문제 해결 방법'이라는 철학이 잘 반영되어 있는 것 같네요.

참여할 생각은 없지만 흥미 있으신 분들은 '관객'으로도 참여 가능합니다.
문제와 참가자들의 스코어보드를 볼 수 있는 듯 하군요. 위의 룰 부분에서 'How yo be a Spectator' 부분을 참고하시기 바랍니다.

재미삼아 연습문제를 한 번 풀어보기는 했는데(http://code.google.com/codejam/contest/dashboard?c=agdjb2RlamFtcg4LEghjb250ZXN0cxh5DA) 어려운 문제는 아닙니다만(C코드로 100라인 이내, python으로는 40라인 이내로 짰습니다) 값의 범위가 상당히 큰 값까지도 들어오고 다양하게 들어오기 때문에 주의깊게 짜지 않으면 잘 해 놓고도 삽질하느라 시간 낭비하다가 문제를 틀리기 쉬울 듯 합니다...-_-

관심있는 분들은 한 번 참여해 보시길... 근데 직장인은 영 힘들 거 같네요. 시간 맞추기도 힘들고...
1000등 안에 들 정도면 회사에서 휴가 내 주려나... 근데 입상하고서 혹시 구글에 입사한다고 하면...-_-;;

'Programming Story' 카테고리의 다른 글

After Firefox Download Day  (3) 2008.07.03
Google Code Jam  (4) 2008.06.27
프로젝트 오일러  (1) 2008.06.02
svncommand, cvscommand  (0) 2008.04.02
Trackback 0 And Comment 4

미코노미

|

사용자 삽입 이미지
Monaca님의 협찬(?)으로 이 미코노미란 책을 읽게 되었습니다(참고로 굉장히 박식한 블로거이시니 프로그래밍 혹은 경제에 관심 있으신 분들은 꼭 들러보시길...).

이 책은 웹 2.0과 최근 인터넷에서 이루어지는 새로운 서비스들에 대해 경제의 관점에서 바라 본 책이라고 할 수 있겠습니다.
그러다보니 아무래도 '생산자로서의 개인'에 대해 많이 강조하고 있으며 그에 대한 분석을 많이 하고 있으나 그 분석이 사실 아주 새로운 관점은 아닌 거 같아 조금 아쉽긴 합니다.
'아하 그렇구나' 할만한 책을 만든다는 것은 물론 쉬운 일은 아닙니다만, 이런 소재를 다룬 책이 많지 않음을 생각하면 역시 아쉽습니다.

개인적으로는 아마존의 뉴스레터를 처음 보고 웹이 근본적으로 변화하고 있구나라고 느꼈었습니다만... 제가 구입한 책과 관련이 있는 책들을 소개해 주는 터라 구매 욕구가 굉장히 많이 자극 되더군요 -_-
국내 인터넷 서점들은 주로 '베스트 셀러', '신간 소개'에 그쳐서 뉴스레터를 받아보지 않습니다만, 요즘도 그런건지 모르겠네요.

책에서 다룬 웹 2.0 서비스들은 모두 개인에게 '멍석'을 깔아주는 서비스라고 정리해도 될 것 같습니다. 좀 더 거창하게 말하면 개인의 '꿈'을 좀 더 쉽게 이루어질 수 있게 해 주는 서비스들이 점점 많아지고 있지요.
다시 말하면 묻히기 쉬운 개인의 잠재력을 웹 2.0으로 인해 발현시킬 기회가 더욱 많아졌다고 봐도 되겠지요. 이는 생산자인 개인에게도 물론 소비자인 개인 역시 쉽게 블루 오션을 접할 수 있으며 기업이 독점하던 생산의 권력(지금의 이동통신 같은 것들이 이 짝이죠, 이건 웹 2.0으로 해결하긴 힘들겠지만)이 분산되는 효과를 낳으므로 사회적으로도 생산적이고 바람직한 기회라고 생각됩니다.
음, 그럼 그런 서비스를 제공하는 회사들은 골드 러시 시대에 삽과 곡괭이를 팔아 돈을 버는 사람들과 비슷한 위치일까요? -_-

근데 외국에서 볼 수 있는 마이크로 파이낸스 서비스나(일종의 개인간 소액대출?) 룰루(개인출판지원)같은 서비스는 왜 한국에선 아직 볼 수가 없을까요?
아직 국내에선 웹 2.0이라고 부를만한 서비스가 잘 안 보이는 거 같네요. 제가 잘 모르는건지... 물론 오마이 뉴스나 블로그 관련 사이트들, 그리고 싸이월드 같은 SNS 서비스들, 최근 좀 뜨는 미투데이라든가 스프링 노트, 롤링리스트 등이 있긴 하지만... 많군요 -_-
근데... 위에 언급한 것처럼 생산적인 효과를 일으키는 서비스는 사실 드문 거 같아서요. 오마이 뉴스 정도를 빼고는... 블로그 뉴스나 올블로그 같은 메타 서비스는 블로그라는 아이템의 2차적인 생산물에 불과한 거 같고...
옥션이나 G마켓 같은 쇼핑몰 호스팅 서비스 같은 소비성향의 서비스 같은 것이 아니라면 사실 참신하고 생산적이라고 할 만한 서비스가 보이지 않네요.

우리 나라는 (대)기업들의 힘이 세어서 그런 서비스가 생겨나기 힘든걸까요? 아니면, 아직 의식이 성숙하지 않아서...? 고민해 볼만한 거 같습니다. 덧붙여 대박날만한 아이템도....-_-;

'Study or Culture' 카테고리의 다른 글

Price of WSI  (3) 2008.04.08
미코노미  (0) 2008.03.17
Encounter Class  (0) 2008.02.25
Wall Street Institute 수업  (0) 2008.02.19
Trackback 1 And Comment 0
prev | 1 | next