프로그래머로 부터 배우는 코딩 기술

1.
아는 분이 페이스북에 좋은 글을 추천했었습니다. 제목은 “프로그래머로 부터 배우는 코딩 기술 (プログラマから学ぶコーディングテクニック)” 으로 CSS Nite in Seoul, Vol.3에 참여해서 발표한 자료입니다.

CSS Nite in Seoul는 웹 제작 전반에 관한 주제를 가지고 각 분야의 전문 강사를 초청하여 발표와 토론을 갖는 일본에서 가장 큰 컨퍼런스이라고 합니다. 한국과 일본의 기술교류를 위하여 한국행사를 기획했고 2012년까지 3회를 했다고 합니다. 여의도가 아닌 곳에서는 좋은 만남과 소통이 이루어지고 있나 봅니다.

위의 자료를 보면서 Vi 혹은 Vim을 강력히 추천하여 좋았습니다. 트레이더중 개발까지를 같이 하시는 분들은 한번 읽어보시면 좋지 않을까 합니다.

2.
기계트레이딩을 하고자 할 때 걸림돌은 전산기술입니다. 그중 프로그래밍을 위한 언어입니다. 영미문화권과 대화를 하려면 영어를 알아야 하고 중화문화를 이해하려면 한자를 알아야 하듯이 컴퓨터와 대화를 하려면 전산언어를 알아야 합니다. 어떤 언어가 좋을까요? ZeroAOS를 개발하는 파트너들은 C/C++를 사용합니다.

혹 C언어에 관심이 있으시면 “왜 C언어가 훌륭한지”를 소개한 글을 읽어보세요.

The Unreasonable Effectiveness of C

요약하면 아래와 같습니다.

  • Expressiveness – “The syntax and semantics of C is amazingly powerful and expressive. It makes it easy to reason about high level algorithms and low level hardware at the same time. Its semantics are so simple and the syntax so powerful it lowers the cognitive load substantially, letting the programmer focus on what’s important.”
  • Simplicity – “C is a weak, statically typed language and its type system is quite simple. … What sounds like a weakness ends up being a virtue: the “surface area” of C APIs tend to be simple and small. Instead of massive frameworks, there is a strong tendency and culture to create small libraries that are lightweight abstractions over simple types.”
  • Speed and Memory Footprint – “C is the fastest language out there, both in micro and in full stack benchmarks. And it isn’t just the fastest in runtime, it’s also consistently the most efficient for memory consumption and startup time. And when you need to make a tradeoff between space and time, C doesn’t hide the details from you, it’s easy to reason about both.”
  • Faster Development Cycle – “Critically important to developer efficiency and productivity is the “build, run, debug” cycle. The faster the cycle is, the more interactive development is, and the more you stay in the state of flow and on task. C has the fastest development interactivity of any mainstream statically typed language.”
  • Debugging – “With pure C code, you can see call stacks, variables, arguments, thread locals, globals, basically everything in memory. This is ridiculously helpful especially when you have something that went wrong days into a long running server process and isn’t otherwise reproducible. If you lose this context in a higher level language, prepare for much pain.”
  • Cross-platform – “has a standardized application binary interface (ABI) that is supported by every OS, language and platform in existence. And it requires no runtime or other inherent overhead. This means the code you write in C isn’t just valuable to callers from C code, but to every conceivable library, language and environment in existence.”

위의 글을 InfoQ에 소개한 글을 보시면 다양한 토론이 이루어지고 있습니다.

Is C Still A Suitable Language Today?

3.
김택진 엔시소프트 대표가 DeVon 2011행사 ‘개발자의 미래’에서 이런 이야기를 했습니다.

“엔씨소프트를 프로그래머만 근무하는 회사로 만들겠다고 이미 회사에 선언한 상태이다. 모든 회사 업무는 컴퓨터 언어, API(응용프로그램 개발환경) 등으로 하되, 표준 언어는 자바 스크립트로 하고 싶다”고 설명했다. 그는 “컴퓨터 나라에서 언어를 하나도 모른다면 어떻게 되느냐?”

이 말은 트레이딩회사에도 적용할 수 있습니다. 저는 기계트레이딩을 하려고 하는 회사나 팀은 금융수학과 컴퓨터언어로 대화하여야 한다는 생각을 합니다. 분담 보다는 협력이 더 시너지를 낼 수 있습니다.

Leave a Comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.