우리네 틀딱 선배님들이 젊은 시절에 열심히 만들어둔 운영체제의 틀은
수많은 수정요구에 의해서 타협하고 수정되고 버려지고 대체되면서 시궁창이 되어버렸다.
물론 정리가 잘 된 운영체제의 개발환경도 있고,
Unix 를 바탕으로 만들어진 ( 사실상 운영체제의 표준격인 ),
POSIX 정의를 잘 따르는 인터페이스들도 있다.
하지만 우리가 주로 사용하는 Windows 의 API 란건 쓰레기도 이런 쓰레기가 없을 정도다.
그걸 조금 편해 보겠다고 객체같지도 않은 MFC 로 싸버렸으나 노답인건 매한가지,
상대적으로 진보적인 프레임웍이었던 VCL 의 개발 책임자를 사 와서 .Net 을 만들었으나
.Net 환경 프로그래밍 또한 그렇게 매력적이진 않다. ( 물론 MFC 보다 나은건 인정 )
우리가 가장 큰 데스크탑 시장의 개발환경을 과감히 포기할 용기가 없다면,
이 그지 발싸개 같은 운영체제를 우리는 써야 하고 배워야한다.
아~~주 잘못 만들어져 있다는걸 깨닫는데 오랜시간이 걸리지 않겠지만 말이다.
다행스럽게도 당신이 좋은 프레임웍을 선택한다면,
그지 발싸개랑 대화하기 위해 그지 발싸개를 이해하는데 필요한 시간을 줄일 수 있다.
여기서 여러분은 선택해야 한다.
1. 여러 운영체제용으로 포팅이된 프레임웍을 이용해 조금 더 상위 레벨에서 프로그래밍 할 것인가?
그를 통해 여러분은 다른 운영체제에서도 쉽게 돌아갈 수 있는 프로그램을 만들 수 있다.
2. 그지 발싸개 ( Windows API )를 공부해서 "난 빌게이츠를 사랑해요"를 외칠 것인가?
미안하지만 이 공부는 최소화 하는게 낫다.
윈도우 디바이스 드라이버나 자유자재로 만들면서 먹고 살 틈새를 기대하는게 아니라면.
( 그나마도 꽤 비싼 드라이버 인증 비용을 물어야 최신 Windows 운영체제에서 실행해 줄 것이다 )
3. .Net 기반환경에서 개발할 것인가?
CLI 라는 인터페이스가 있으나 이건 C++ 이 아니라고 보는게 맞다.
그럴거면 차라리 C# 을 써라. MS 도 Windows 전용을 포기한것 같던데.
4. 윈도우즈 버려!
축하한다. 너 금수저.
다시한번 말하지만 Windows 는 쓰레기다.
하지만 제법 두꺼운 콘크리트 기반을 깔고 산다면 지하가 쓰레기 매립지인줄 모르고 살 수 있다.
가끔 우물 파는 사람들은 경악하겠지만.
그러니 정신건강을 생각한다면, Windows API 를 대체할 무언가를 선택하는게 좋다.
컴파일 시간을 부스팅 시켜주는 boost 도 좋은 예이고,
poco 같은 프레임웍을 쓸 수도 있다.
GUI 가 필요하다면 OpenGL 기반의 여러 프레임웍들이 준비되어 있다.
크로노스 그룹에서 지원하는 OpenXXX 프로젝트들은
여러분이 그 기반위에서 작성한 프로그램들이 여러 운영체제에서 돌아갈것을 약속해준다.
조금은 더 편하고 조금 더 진보적인 프레임웍을 선택하라는 이야기다.
MS 너무 까서 MS 빠들에게 미안하다만,
까일만 하다.
앞으로 이 강좌 씨리즈가 어떻게 흘러갈지 나도 모르지만,
일단은 OOP 와 TMP 위주로 진행할 것 같다.
그게 좀 더 범용성을 띤다고 생각되어서 말이다.
초보자들이 사용하기에 편리한 프레임웍들이 있다면 여러 사람들이 추천해줬으면 한다.
wxWidgets....
그지발싸개ㅋㅋ
이말에 전적으로동의함
윈도우즈는 쓰레기이기때문에 윈도우업데이트만 쌓여가지
오늘 다작하시네
SDL
mono 는 어떻게 생각하세요?
걍 C# 하면 모두 해결되는 문제입니다. 허허
mono 도 완전 삽질인데 유니티 버프로 굴러가고 있죠. 그것도 무시 못할 환경이 되어버렸습니다만,
90년대 중후반에 만들어진 언어들은 90년대 아이돌과 비슷합니다. 좀 촌스럽죠.
물론 그 시대엔 쓸만했었고 참신하기도 했습니다.
qt는 어때요?
아 QT 이야기 할려다가 빠뜨렸는데, UI 만 가져다 쓸거면 괜찮습니다.
하지만 그건 C 도 C++ 도 아닌 이벤트 드리븐 스크립트 언어라고 보는게 맞습니다. 키키.
글고 좀 섬세한 UI 를 바란다면 그냥 버리는게 낫습니다.
그냥 콘솔 대체품 정도로 사용하기에 그냥 저냥 나쁘지 않은 인터페이스로 보입니다.
잘 읽고 갑니다~
와 맨날 자료구조랑 알고리즘만 봐서 무엇을 공부할까 고민하던 중에 진짜 꿀같은 글이네요 감사합니다
감사합니다~
C#이 2000년이고 파이썬이 1991, 하스켈이 1990년임...... - dc App
내 기억에 C# 은 90년대 말부터 프리릴리즈가 있었고, 파이썬은 주춤했다가 부활했고, C 는 비틀즈급이쥬.
펑셔널 랭귀지의 태동은 일찍이었지만, 병렬화 때문에 무덤에서 기어나온거지 절차형 언어시장에 땀띠나게 두들겨 맞던 상황이었지유.
아니, 시장으로부터 소외당했었다고 보는게 맞을듯. 그냥 매니악하게 생존하던.
근데 그럼 C++ 문법 어느 정도 끝내면 무엇을 공부하는게 좋을까요?
그뒤는 만들면서 심화 공부해야지유. 아이템을 정하세유~
난 뭐를 만들어 보고 싶어!! 하고 화악 와서 정말 안만들면 미칠것 같은걸 떠올려보세유.
그 프로젝트 기획이 되면 님은 정말 프로그래밍에 소질이 있는 것. 나머지는 자연히 채워집니다.
운영체제 옛날부터 만들어보고싶어서 책이랑은 원서로 사뒀는데 이제 해석하면서 읽어봐야겠네요 ㅋㅋ
힌트를 주자면, 같은 값엔 다홍치마라고, 운영체제와 비슷한 짓을 하면서 예쁘고 재미있는 기획이 있을 수 있습니다.
예를 들어주실 수 있나요?
게임 이라거나 모바일에서 앱처럼 손쉽게 돌릴 수 있는 작은 운영체제 같은것요.
님이 만든 앱 안에서 여러 서비스를 추가하고 빼고 ( 설치 ) 외부와 네트웍하고 할 수 있는 환경 같은것.
아니면 personal assistant service 같은거, 기왕이면 Siri 같은 음성인식 인터페이스를 가져다 써서 JARVIS 같은걸 만드는거죠.