프로그램 개발에서 C언어의 중요성이 어느 정도입니까?
2011.11.30 00:16
C언어를 배운다는 것은 C언어를 기반으로 많은 언어가 탄생하였기 때문에
C언어가 중요하다는 것을 알 수 있습니다.
많이 사용되기도 하지만 처음 컴퓨터 언어를 접근 할 때 하나의 척도이기
때문에 시작을 C언어를 배웁니다. 그러나 실제 Embedded System에서
H/W영역이나 S/W영역에서 어떻게 사용되는지 궁금합니다.
Android는 Java, c, c++가 사용되고 iOS App은 Objective C가 사용되는 줄은
알겠지만 자세한 부분을 알고 싶은데 여기서 활동하시는 회원님 중에서 관련
분야에 있으신 분들에게 의견을 듣고 싶습니다.
알려주시면 정말 감사드리겠습니다.
PS. 현역에서 Embedded System분야에서 현역으로 근무하신 분들께서
이 정도는 해야 된다는 척도를 알려주시면 더욱 감사드리겠습니다.
댓글 [3]
-
♥ZARD 2011.11.30 00:24
-
꼬마야 2011.11.30 00:37
Embedded 쪽을 하실거면 C를 잘하셔야 합니다. Embedded쪽은 대부분 드라이버 개발이나 BSP 관련일 일겁니다.
임베디드쪽을 할려면 C언어도 잘해야되지만, 시스템 내부구조도 잘 알아야 합니다. 즉 Interrupt, register, DMA, CPU의 동작, OS의 동작을 아셔야 수월합니다. 좀더 잘하려면 해당 CPU assembly까지 알면 더 좋고요.
C언어가 기초가 되는것은 맞지만, 모든것의 기초는 아닙니다.
객체지향같은것은 문법보다는 개념의 이해가 선행되어야 하거든요.
개발자가 되시고자 한다면, 언어에 대한 이해, 타겟시스템의이해 (HW + OS)가 필수고요.
이것에 곁들여서 설계능력, 프로젝트 관리능력까지 있으면 금상첨화고요
저도 많은 언어를 하고 있지만, C 보다는 C++이 모든것을 커버할 수 있는 기반이라고 봅니다.
왜냐면 C도 가지고 있기때문입니다. 그래서 c++이 모든것의 기본이라고 봐도 무방하다고 봅니다.
PS: 가장 개발자가 많은 언어가 java지만, low level까지 커버하는 C++이 언어의 왕이라고 봅니다. ㅎㅎ
-
꼬마야 2011.11.30 00:49
안드로이드 개발에는 java/c++/c 가 사용됩니다.
application과 프레임웍은 자바가 사용되고, JNI 부터 그 이하는 C++과 C가 사용됩니다.
어떤 쪽을 개발하실건지를 결정해야 합니다.
Application을 개발하실거면 자바를 공부하시고요, 안드로이드 프레임웍 구조를 공부하시면 됩니다.
아마 타겟보드나 타겟디바이스가 없을 확률이 높으므로 어플을 개발하시는것이 처음 시작으로는 좋다고 봅니다.
간단한 어플을 만들어보시는것을 추천합니다. 시스템의 이해도가 좀더 높아지신 후 DB (sqlit)와 서비스를 공부하면
왠만한거는 다 만드실수있을겁니다.
아이폰은 살짝만 맛만본것이라서 별루 드릴 말씀이 없네요. object C 이거는 좋다는 사람도 있지만..
저는 좀 변종같다는 생각이 들어서.. 꼭 느낌이 object pascal 같더군요.. 모든것이 논리로 이루어진 C나 C++같은 언어가 아니라..
대충 필요하면 기능을 덧붙인거같다는 생각이 듭니다. (제가 깊게 안봐서 오해하는것일 수 도 있읍니다)
고수와 하수의 차이는 내가 뭘 모르는지 아느냐 모르느냐라고 생각합니다.
내가 뭘 모르는지도 모르면 하수고요. 뭘 모르는지 알면 고수의 길로 들어셨다해도 무방합니다.
궁금한거있으면 또 질문해주세요.
제가 잘은 모르지만, 아마도 C를 기반으로 해서 프로그래밍의 기본을 알게되기 때문일 것입니다.
파일 입출력 같은 기초부터, 설비와의 통신, H/W와의 통신등이 대부분이 C와 유닉스를 기반으로 이루어져서 그럴겁니다.
경력 20여년차 형님이 말씀하시길 C를 알면 방식만 틀릴뿐, 거의 대부분의 언어를 다룰 수 있다고 했습니다.
이 말을 처음에는 몰랐는데, C를 배우다보면 알게 되더군요~! 모든 기본과 기초가 들어있으니까요~!
나머지 조언은 고수님들이..;;