본문 바로가기
IT

프로그래밍 언어 C와 C++, C#의 차이! 무엇을 배워야할까?

by EunjiBest 2022. 4. 8.

프로그래밍 언어 C와 C++, C#의 차이! 무엇을 배워야할까?

 

 

내가 필요해서 알아보는 C, C++, C#차이

 

 

프로그래밍 언어란?

 

말그대로 컴퓨터를 프로그래밍 할 때 사용하는 언어이다.

우리가 미국인과 영어로 대화를 하듯이, 컴퓨터와 사람이 대화할 수 있는 언어가 필요하다.

 

프로그래밍 언어의 종류는 엄~~청 다양하다.

트랜드도 빠르게 바뀌고, 생겼다가 없어졌다가~ 난리 부르스이다.

 

물론! 이 모든 언어를 다 알면 좋겠지만

사람이 모든 것을 다 알 수 없으니! 내가 사용해야할 주언어를 선택해야한다.

 

쉽게 예를 들어 

디자인으로 따지자면,

사진편집 =포토샵

그림그리기 = 일러스트레이션

책 편집 = 인디자인

영상 편집 = 프리미어프로

.

.

.

이런식으로 다양하다.

 

포토샵으로 그림을 못그리는 것은 아니지만 일러스트레이션으로 그리는 것이 훨씬 편하기 때문에 일러스트레이션을 사용하는 것이다. 책 편집 또한 꼭 인디자인 사용하지 않아도 되지만, 인디자인은 책 편집을 할 수 있는 툴들이 많아 빠른 작업을 할 수 있다.

 

나는 디자이너 생활을 하면서 영상쪽에 관심을 두지 않았기 때문에 프리미어프로 사용법을 배우지 않았다.

하지만 배운다면 일반인들보다 빠르고 쉽게 터득할 수 있다. 사용법이 비슷비슷하기 때문이다.


이처럼

프로그래밍 언어를 선택하는 것에 있어서는

자신의 성향, 어떤 직종, 어떤 회사에서 일하는지에 따라 매우 달라질 수 있다.

 

나같은 경우도 인공지능을 위주로 공부하기 때문에 파이썬을 사용한다.

 

그럼 본론으로 넘어가서

C, C#, C++의 차이점을 알아보도록 하겠다.

 

 

C

 

C는 엄청 오래된 언어이다. 프로그래밍 언어계의 조상님 정도?

오래되고 트랜드에 뒤쳐진 언어같다는 생각이 나의 개인적인 C의 첫 인상이였다.

요즘에는 더 쉽게 프로그래밍 할 수 있는 언어들이 많은데 굳이?!라는 생각..

 

컴퓨터가 빠르지 않았던 시절 만들어졌던 언어이다.

메모리가 충분하지 않고, 프로세싱 파워가 약했던 그 시절 컴퓨터에

가능한 적게 공간을 쓰면서, 빠른 언어가 필요했는데 그게 바로 C!

 

한마디로 컴퓨터의 능력이 부족하니

요즘 처럼 print("hello")를 쓰면 바로 출력될 수 없다.

hello을 출력하려면

 

int main(void)
{
	printf("hello \n");
    return 0;
}

 

장장 5줄이나 되는 코드로 작성해야한다.

 

사람이 하나하나 이건 뭐고, 저건 뭐다! 이런식으로 컴퓨터에게 친절하게 알려주는식의 노가다 코딩을 해야했다.

따라서 기계어에 가까운 언어이다.

 

그럼 컴퓨터도 빨라졌고, 더 쉬운 언어가 많이 나왔는데

왜 아직도  C를 사용하는가?

 

앞서 말했듯이 기계어와 밀접한 언어이기 때문에 빠르다.

컴퓨터가 별 계산을 하지 않아도 입력하면 바로 출력이 되는 것이다.

세세하게 하나하나 집중도 있는 프로그램을 개발 할 때에는 C를 사용한다.

(OS 프로그래밍, 임베디드 프로그래밍 등)

 

또한

자바, 자바스크립트, 파이썬, PHP, GO같은 다양한 언어들의 기반이 되었다.

 

기본적으로 C를이용해서 다른 언어들이 만들어졌기 때문에 C를 알면

다른 언어들의 틀이 보여서? 학문적으로는 컴공과 학생들에게 C를 먼저 알려주는 것 같다.

 

(ㅎㅎ 뜬금 자랑) 

미대생이 공대 교필 들어서 A받기..

재수강하는 3,4학년 공대생들이 많았다..ㅎ 

 

 

C++

 

C++은 C와비슷하다.

C와 다른점은 class를 가지고 있다는 점을 가지고 있다.

 

using namespace std;

int main() {
	std::cout << "hello" << endl;
	return 0;
}

 

따라서 C의 문법을 기반으로 하긴하지만, 다루기 까다롭기 때문에 배우기가 좀 어렵다.

응용프로그램 프로그래밍에 적합하다.

(고성능 게임, 서버 프로그래밍)

 

 

 

C#

 

C#은 java와 비슷한 언어이다.

마이크로소프트에서 만든 java라고 생각하면 편하겠다.

java는 오라클에서 만든 언어이다.

 

삼성에서는 갤럭시, 애플에서는 아이폰을 만든다. 이런느낌?

 

따라서 java를 할 줄 안다면, C#을 배우는 것은 훨씬 수월하다.

 

한국은 자바를 많이 사용한다. 나 또한 첫 코딩을 자바로 시작했다.

하지만 미국이나 유럽에서는 C#을 많이 사용한다고 한다.

 

C#은 

벡엔드 프론트엔드 IOS까지 다양한 환경에서 제작이 가능하고

최근에는 유니티3D(비디오게임 엔진)때문에 더 떡상?하고 있다.

 

즉 C#을 배우면 왠만한 환경에서의 웹과 앱 게임까지 모두 만들 수 있기 때문에 최근 개발자들 사이에서 인기있는 언어이다. 하지만 C++보다는 느리다는 단점이 있다.

그래서 C#이나 자바를 쓰다가 스피드가 필요한 작업이 있다면 C나 C++로 갈아타기도한다.

 

 


 

이렇게 정리해보고나니..

나는 C를 다시 배워봐야겠다는 생각이 들었다.!

대학원 교수님께서도 인공지능을 하면서

C를 잘하는 것은 엄청나게 매력적인 일이라고 하셨다..ㅎ

C에 대한 계획을 차근히 짜봐야겠다.

 

 

 

반응형

댓글