Everything is a Dream

soyoyoo.egloos.com

포토로그



쿠도 타쿠씨의 하드웨어 프로그래머와 소프트웨어 프로그래머 etc

http://chasen.org/~taku/blog/archives/2009/07/post_827.html#trackbacks

본인이 하드웨어 프로그래머라서 그쪽으로 편중되어 있음을 코맨트 했습니다.
그리고 양쪽의 벨런스가 중요하지만 본인 경험상 하드웨어에서 소프트로 전향하는게 쉬우며 젊을 때 하드웨어 쪽을 경험해 볼 것을 추천하네요.

하드웨어 쪽을 경험해 보는 것을 추천한다고 하는데 동의합니다.

<하드웨어 프로그래머>
최적화란 말을 좋아함
외적 제약(메모리,속도,디스크)가 있는 쪽이 불타오르며, 진정한 능력을 발휘할 수 있음
역으로 제약이 없는 경우 뭘 해야 좋을지 모르며, 평범한 아이디어 밖에 생각 못해냄
개발 언어는 제약을 기준으로 결정
O(n)계산량에서도 상수항이 신경쓰임
전용 하드웨어를 좋아함(지구 시뮬레이터, 메인 프레임)
정량 평가가 안되는 일에는 흥미 없음
고정길이 데이터
바이너리 데이터
재귀 따위는 당치도 않음
스피드 광
CPU클럭 소모를 생각하며 코딩함
하드던 소프트던 동작원리에 흥미가 있음
소프트웨어를 사용해 보기 전에 소스를 감상함
자신만의 인두를 가지고 있음
저항의 컬러코드는 기계적으로 말할 수 있음
D/A A/D 변환 구조는 상식임
전자계산기의 VVVF인버터에 흥미가 있음
숫자는 도구
미니사륜구동 모터는 손으로 감아봤음
열차레일 장난감은 라디오 컨트롤로 개조해 봤음

<소프트웨어 프로그래머>
외부제약은 생각하지 않으며 자유로운 발상으로 프로그램 작성
개발언어는 만들어 가면서 기분이라든지 배우기 쉽다던지 하는 내적요인으로 결정
에자일, 퀵 프로토타이핑
O(n^2) , O(n)은 신경쓰지만 상수항은 신경안씀
유명 가젯(?)들을 열거할 수 있음
사람들을 감동 시킬 수 없으면 의미가 없음(하지만 그 평가는 어려움)
가변 길이 데이터
텍스트 데이터
재귀를 좋아함
부호적(부유해 보임?)
단기 최적화를 피하고 알기 쉬운 코드를 씀
하드웨어든 소프트웨어든 그것이 어떤 작용을 하는 지에 흥미가 있음

덧글

  • 미루엘 2011/11/28 13:15 # 답글

    전반적으로 공감이 가는 내용이네요. 개인적인 생각은...

    저도 하드웨어 쪽을 경험해 보는 것은 매우 좋은 것이라는 점에는 동감...
    소프트웨어로의 전향이 쉽..지는 않다. 라고 생각. 위에서도 같은 생각을 하는 것 같은데.. 개인적으로 주변을 둘러 보면 특히 어려운게 "추상화", 규모가 조금만 커져도 길을 잃고 헤메는 사람들을 많이 봄.
    재귀도 반대... 알고리즘 시간에 재귀를 재귀가 아니게 고치는 법을 가르치는데..
    상수에 신경안쓰는건 당연... 어짜피 업그레이드 하면 10초 걸리던게 5초걸리니..
댓글 입력 영역

bar-text