임계종 님이 쓰신 글 :
: 지금 저는 한창 C++ 책 한권과 열심히 씨름을 하고 있는 중입니다.
:
: 하지만 가끔씩 밀려오는 갈등으로 집중력이 흐려지곤 합니다.
:
: Visual Basic, Visual C++, C#, C/C++ 등등 수많은 프로그래밍 언어 중
:
: 제가 C++를 선택한 것은 나름대로 가장 기본이 된다는 판단에서 입니다.
:
: 저는 전기.전자.전파 공학부를 재학중이며 반도체나 회로 설계등에도
:
: 관심이 많은 것 또한 C++를 선택한 이유 중에 하나입니다.
:
: (물런 요즘엔 이것저것 관심이 많습니다 ^^;)
:
: 하지만 아직 프로그래밍 언어가 어떻게 구체적으로 쓰이는 지 모르는
:
: 상황에서 무턱대고 제 모든 시간을 투자한다는 것에 대한 불안감이
:
: 저를 주저하게 합니다. (이미 많은 시간을 다른 곳에 허비하였기에 ㅡ.ㅜ)
:
: 제 생각은 C++ 책 한권을 독파한 후에 Visual C++를 공부하고
:
: 더 나아가 C# 쪽으로 공부할 생각입니다.
:
: 이것이 과연 제게 얼마나 도움을 줄지(우스운 이야기인진 모르지만 .. )..
:
: 제대로 방향을 잡은 것인지 알고 싶습니다.
:
: 또 어떠한 길들이 있는지도 알고 싶습니다.
글쎄요... 만약 전공이 전산이라면 처음 시작하는 프로그래밍 언어로
Python, Ruby, Haskell, Scheme, Lisp 등의 고수준(high-level) 인터프리터 언어를 먼저 하시고,
어느 정도 익히신 다음 Pascal이나 C++을 하실 것을 권합니다만(고수준 -> 저수준),
전자공학과는 저수준의 하드웨어 제어가 필요하므로,
아예 어셈블리부터 배우심이 어떨지요?(저수준 -> 고수준)
물론 컴퓨터 아키텍쳐에 대한 기본 지식이 있으실 테니까 적응하긴 편하실 겁니다.
x86 어셈블리가 자료도 많고, 프로그래밍도 PC에서 직접하므로 편리하긴 하지만,
현 추세에서는 그렇게 많이 사용되지는 않습니다
(컴파일러가 워낙 좋아졌을 뿐만 아니라, 윈도나 리눅스 등의 기본 API가 C이기 때문이죠.
예전의 DOS에서는 기본 API가 어셈블리이므로 많이 사용되었던 것입니다.)
최근의 추세는 역시 임베디드 시스템입니다.
임베디드 시스템의 고전인 8bit CPU인 i8051이나 Z80 어셈블리로 시작하시는 것이
자료도 많고 가장 쉽겠지요.
또는 요새 가장 많이 사용되는 32bit 임베디드 CPU인 StrongArm이나 MIPS 보드를 구하셔서
해보시는 것도 좋을 겁니다.
이렇게 어셈블리로 컴퓨터 하드웨어의 작동 원리를 완전히 익히신 후,
C/C++을 배우시는 것이 좋을 겁니다.
한편 C#은 하드웨어 제어와는 전혀 상관없는 언어입니다.
논리적인 가상의 컴퓨터인 가상 머신(VM; Virtual Machine)를 만들어서
그 위에서 돌아가기 때문입니다.
C++과의 유사성은 적고, Java와는 매우 유사한 언어지요.
전공을 아예 전산으로 바꾸실 계획이 없는 한, C#이나 Java는 배울 필요가 없습니다.
: (마이크로 소프트에서 나온 C#과 이번에 볼랜드에서 나온 C# 차이점도 알고 싶습니다.
언어 자체는 동일합니다. C#의 표준을 M$에서 만들었으니 볼랜드에서도 당근 따라야겠지요.
볼랜드 C#Builder는 M$ Visual Studio.NET에서 제공하지 않는 여러가지 추가적인 편리한 기능(라이브러리)을 제공하는 것 뿐입니다. 그리고 통합환경(IDE)도 좀 더 편리하지요.
: 여기 저기 찾아봐도 다 원론적이 이야기만 늘어놓은지라, (물런 다 맞는 말이지만
:
: 가슴에 와닫진 않네요.) 이렇게 조언을 구합니다.
:
: 이렇게 길게 늘여 쓴건 황당한 질문이라 치부될까봐서 입니다 ^^;;
:
: 그럼..
|