Contents

조회 수 7017 댓글 0
Atachment
첨부 '12'
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

coding01.jpg


컴퓨터 프로그래밍을 배울 때 가장 기본으로 배우는 것이 바로 C언어 인데요. 이 C언어는 1972년 벨 연구소의 켄 톰슨과 데니스 리치에 의해 개발된 프로그래밍언어 입니다. 하지만 이보다 수년이나 앞선 1960년대, 소프트웨어란 용어조차 없었던 시기에 프로그래밍이란 영역을 개척한 사람이 있었으니, 그 주인공이 바로 '마거릿 해밀턴' 입니다. 남성들이 주도하던 공학에서 최초의 소프트웨어 엔지니어링의 개념을 만든 사람이 여성이라는 사실이 참 흥미로운데요.




▼그녀가 없었다면, 미국은 달착륙을 성공할 수도, 그리고 우주비행사들을 무사히 지구로 귀환시킬 수도 없었다고 합니다. 그래서 오늘은 '소프트웨어 엔지니어링의 어머니'라 불리는 마거릿 해밀턴의 이야기에 대해서 알아보도록하겠습니다.


coding02.jpg




▼그녀는 1936년 인디애나 주 파올리에서 태어났는데요. 미시건 대학교에서 수학을 전공하고 얼햄 대학교에서 수학과 철학을 전공하면서 학사 학위를 받았습니다. 그녀는 24세의 어린나이에 결혼까지하는데요. 하버드 법학대학에서 공부를 하는 남편 뒷바라지를 위해 고등학교에서 수학과 프랑스어를 가르쳤다고 합니다. 프랑스어는 전공도 하지 않았지만, 학생들을 가르칠 정도였다고 하니 그녀가 상당히 똑똑했음을 알 수 있는 대목입니다.


coding03.jpg




▼그녀는 1960년 MIT의 계약직으로 취직을 하게 됩니다. 그녀는 기상학과의 에드워드 노턴 로젠트 교수를 도와 컴퓨터로 날씨를 예측하는 소프트웨어를 개발했습니다. 물론 이때는 소프트웨어란 개념이 없었을 때라, 별도의 교육과정이나 전문가가 없었죠. 그래서 그녀는 말 그대로 멘땅에 헤딩을 해가면서 프로그래밍을 익혔다고 합니다. 그녀는 이 프로젝트에 투입되자 마자 아무도 동작원리를 모를뿐더러 제대로 동작되지도 않는 프로그램을 맡게됐다고 합니다.


coding04.jpg




▼심지어 그 프로그램에 대한 문서자료는 그리스어와 라틴어로 되어 있었다고 합니다. 하지만 그녀는 놀랍게도 이 프로그램을 제대로 동작하도록 수정했으며 심지어 라틴어로 그리스어로 결과를 출력하도록 완벽하게 개발을 했다고 합니다.

coding05.jpg




▼이렇게 놀라운 성과를 거둔 그녀는 미항공우주국(NASA)에 스카웃 됩니다. 그녀는 미국의 달착륙 프로젝트인 아폴로 우주선의 비행 소프트웨어 선임 개발자로 자리를 옮기게 됩니다. 물론 나사에서도 그녀의 활약은 두드러 집니다. 그녀는 워킹맘으로 야근할때나 주말 근무할 때는 아이를 직장에 데려와서 코딩을 할 정도로 모든 열정을 아폴로 계획에 쏟았다고 합니다.


coding06.jpg




▼당시 개발환경은 지금은 상상조차 할 수 없을 정도로 열악했습니다. C언어 조차 없던 시대에 그녀는 손으로 코드를 적어서 프로그래밍을 했다고 합니다. 이렇게 그녀가 짠 코드들은 책에 적혀서 재봉사들에게 넘겨 졌습니다. 그 책을 받은 재봉사들은 '1'은 구리선을 코일에 통과시키고, '0'은 코일에 구리선을 감는 방식으로 컴파일(?) 됐습니다. 이렇게 그녀가 수작업으로 코딩한 양이 책으로 쌓으면 그녀의 키만큼 이나 된다고 합니다. 이 사실도 놀랍지만 더욱 충격적인것은 컴파일러나, 디버깅 툴도 없이 오직 머리와 칠판을 이용해서 코딩을 했다는 사실입니다.


coding07.jpg




당시 재봉사들이 코딩을 도와줘야했던 Rope Memory

coding08.gif




▼엄청난 수작업을 거쳐서 탄생한아폴로 우주선 비행제어 프로그램은 그 빛을 발하게 되는데요. 아폴로 우주선이 달에 착륙하기 3분전 이 컴퓨터 프로그램은 우주선이 너무나 많은 작업이 동시에 입력되는 바람에 처리할 수 있는 용량을 초과하게 된다는 사실을 미리 감지하게됩니다. 그리고는 우주비행사들에게 우선순위가 낮은 작업들을 중단시키겨야 한다는 경고창을 띄우기되죠. 이를 발견한 비행사들은 달착륙에 관련된 작업을 최우선적으로 처리하게 명령을 내리게 되고 결국 안전하게 달착륙을 할 수 있었다고 합니다. 이 프로그램이 제대로 동작하지 않았다면 아폴로 11호는 달에 착륙하기 전에 과부하로 고장을 일으킬 수 밖에 없었죠.


coding09.jpg




▼달탐사 관련 그녀의 프로그램이 우주비행사들의 목숨을 살리기도 했는데요. NASA에서는 최고의 엘리트 우주비행사들은 절대 실수 할일이 없다며, 비상상황을 대비하는 기능을 만들 필요가 없다고 얘기했습니다. 그냥 실수를 하지 않게 경고만 해주면 된다고 호언장담을 한것이죠. 하지만 마거릿 해밀턴은 이런 나사의 충고에도 아랑곳 하지 않고 비상상황에 대비하는 기능을 만들어 두게 됩니다.


coding10.jpg




▼물론 우주비행사들이 실수를 할리 없다는 나사의 예상은 보기좋게 빗나가게 됩니다. 한 우주비행사가 아폴로 우주선의 비행경로를 저장한 파일을 모두 날려버리는 실수는 한 것입니다. 이 파일이 날라가면 우주선은 복귀를 할 수 없었죠. 하지만 다행히 마거릿이 만들어준 복구 기능으로 우주선의 비행궤적을 지구에서 전송받아 우주비행사들은 목숨을 살릴 수 있었다고 합니다.


coding11.jpg




▼그녀가 없었다면 미국의 달탐사 계획은 몇년이 늦춰졌거나 아예 실패로 끝났을지 모릅니다. 그녀가 이런 업적을 세우기전까지는 컴퓨터 프로그래밍은 수학의 한 분야에 불과했습니다. 이로 인해 그녀는 미국의 컴퓨터공학의 기틀을 마련했다는 평가를 받고 있습니다. 이상 소프트웨어 엔지니어링의 창시자 '마거릿 해밀턴'의 이야기에 대해서 알려드렸습니다.


coding12.jpg



[출처] http://aedi.tistory.com/873?category=960163




?

  1. 화를 내는 사람과 안내는 사람의 차이

    화내는 사람은 '말하면 바뀐다'고 기대하기 때문에 말하지만, 화내지 않는 사람은 언성을 높이는 대신 의외로 쉽게 상대를 포기해 버린다. '말해도 바뀌지 않는다' 며 기대하지 않기 때문에 전혀 말하지 않는다. 오히려 '평생 그렇게 살아라' 하고 생각한다. ...
    Date2018.05.24 CategoryFreeTalk Byhooni Views966
    Read More
  2. No Image

    뉴포트 비치 뱃놀이 ㅋㅋ

    비밀글입니다.
    Date2018.05.24 CategoryFreeTalk Byhooni Views0
    Read More
  3. 어느 주갤러의 인생 조언

    예쁜 여자가 잘해주면 의심하라. 네게 필요한 여자가 되기 위해서가 아니라, 네가 잠깐 필요해서다. 리더가 칭찬하면 의심하라. 너를 인정하는 것이 아니라, 네가 만만한 것이다. 팀원이 밥값 내면 절망해라. 너한테는 밥도 얻어먹기 싫다는 얘기다. 돈 굳은...
    Date2018.05.19 CategoryFreeTalk Byhooni Views880
    Read More
  4. 인생에서 돈과 지식

    돈과 책의 삶 돈만 많이 있는 사람은 세상을 보지 못하고, 돈이 없지만 지식이 있다면 세상을 보는 눈이 생기고, 돈과 지식의 수준이 같다면 세상의 이치를 알 수 있고, 무엇 하나 없다면 ㅂㅅ 이다..? 근데 돈 많으면 누워서도 볼 수 있잖아? ㅋㅋ [관련자료]...
    Date2018.05.18 CategoryFreeTalk Byhooni Views889
    Read More
  5. DJI 취미용 드론 제원 비교 (Spark, Mavic Air, Mavic Pro)

    드론하면 DJI. DJI는 성능과 종류에 따라 다양한 제품군의 드론을 출시해왔다. 그 중 가성비와 휴대성이 좋다고 알려진 Spark, Mavic Air, Mavic Pro 제원을 비교한 사진이다.
    Date2018.05.11 CategoryFreeTalk Byhooni Views1299
    Read More
  6. 미국 드론 온라인 등록 및 운용 구제 (외국인/방문객 포함)

    # 무인 항공기 (UAS; Unmanned Aircraft System) 드론(Drone)으로 잘 알려진 무인 항공기는 사람이 타지 않고 무선전파의 유도에 의해서 비행하는 비행기나 헬리콥터 모양의 비행체이다. 처음에는 주로 군에서 표적·정찰·감시용으로 사용되다가 점차 활용 범...
    Date2018.05.10 CategoryFreeTalk Byhooni Views890
    Read More
  7. 웹 개발자 직군 정리 (백엔드, 프론트 엔드, 퍼블리셔 등)

    풀스택 개발자가 있다면 엄청 잘 해줘야 합니다. 제대로 잘 하는 사람은 구하기도 어려움.
    Date2018.04.20 CategoryFreeTalk Byhooni Views1958
    Read More
  8. [펌] 인간에 대한 작은 예의였다.

    어디서 보고 퍼온 글.. 중국 출신 여학생이 남의 일 같지 않아서 여기에 스크랩 한다. 어제 석박사 통합 수업시간. 발제를 맡은 중국 출신 한 여학생이 떠듬떠듬 내용을 읽어 내려갔다. 목소리도 낮았다. 그러자 교수님은 그 학생에게 "중국으로 말해볼래요?"...
    Date2018.04.19 CategoryFreeTalk Byhooni Views798
    Read More
  9. 금수저한테 일침 가하는 레전드

    미식축구 레전드인 베리스위처. 금수에게 일침을 가하느 스포츠 레전드 명언을 남김 ㅋㅋ "몇몇 사람들은 3루에서 태어났지만 3루타를 친것처럼 으스댄다." 정말.. 개감동적인 명언이다. ㅡㅡ;;
    Date2018.04.12 CategoryFreeTalk Byhooni Views1470
    Read More
  10. 나 대신 손편지 써주는 로봇 손

    손 편지인데 사람 손이 아니라 로봇 손이구나.. 그래도 효과가 있고 수요가 많다고.. <!-- 성미 급한 사람이 흘려 쓴 것 같은 글씨. 하지만 사람의 손이 쓴 것이 아니다. 로봇 손이 쓴 글씨이다. BOND 뉴욕의 스타트업 '본드' (Bond)가 판애하는 상품은 손 편...
    Date2018.04.05 CategoryFreeTalk Byhooni Views1094
    Read More
  11. 인류를 달에 보낼 수 있었던 마거릿 해밀턴의 코딩 능력

    컴퓨터 프로그래밍을 배울 때 가장 기본으로 배우는 것이 바로 C언어 인데요. 이 C언어는 1972년 벨 연구소의 켄 톰슨과 데니스 리치에 의해 개발된 프로그래밍언어 입니다. 하지만 이보다 수년이나 앞선 1960년대, 소프트웨어란 용어조차 없었던 시기에 프로...
    Date2018.04.05 CategoryFreeTalk Byhooni Views7017
    Read More
  12. 아이 먹일 김밥 한줄 공짜로 부탁드려요

    한국에 흔한 맘충들.. <!-- 카드뉴스 아이 먹일 김밥 한줄 공짜로 부탁드려요 이 요구 괜찮은 걸까 아이는 특권이 아닙니다 "김밥 한 줄 주문할건데요. 주실 때 햄이랑 단무지만 넣어서 아이 먹일 김밥 한 줄도 공짜로 좀 부탁드려요." 분식집을 찾은 아이 엄...
    Date2018.04.05 CategoryFreeTalk Byhooni Views709
    Read More
Board Pagination Prev 1 ... 7 8 9 10 11 12 13 14 15 16 ... 73 Next
/ 73