C 기술보다 C ++ 기술이 더 높습니까? [닫은]


28

자주 보이는 C / C ++가 실제로 내 CV 기술을 설명하지는 않는다고 생각합니다. 그래서 고급 C ++ 지식과 평범한 C 기술로 분리 할 계획입니다.

이것이 독자에게 혼란 스럽다고 생각하십니까? 그녀는 "C는 C ++의 부분 집합입니다. 그래서이 사람은 저에게 무엇을하려고합니까?" 글쎄, 내가 말하려고하는 것은 : 몇 가지 실제 C ++ 프로젝트를 수행했지만 순수한 C 프로젝트는 취미 일이었습니다. 숙련 된 C ++ 프로그래머가 반드시 자격을 갖춘 C 사람 일 필요는 없다거나이 스위치가 쉽게 수행된다고 생각하십니까?



1
바로 내가하는 일입니다. 일자리를 찾는 데 방해가되지 않았습니다.
Martin York

9
오랫동안 CV를 작성하지는 않았지만 항상 C와 C ++에 대해 완전히 다른 두 언어로 이야기합니다.
Rey Miyasaka

2
@ReiMiyasaka - 좋은, 그들은 때문에 있는 두 개의 완전히 다른 언어. 둘 다 C ++에 추가 된 것으로 C ++가 만들어 졌을 때 업데이트되었고 분기되었습니다.
Izkata

나는 C / C ++에서 같은 것이 아니다 있다고 생각하고는 완전히 다른 언어, 유일한 일반적인 것은 이름에 'C'(닫기 구문을 언급하지 않기 위하여)입니다입니다
Qchmqs

답변:


31

당신은 하나에 많은 질문을했습니다; 그것들을 분리하면서 대답하려고합니다. 저는이 프로필 유형에 해당하는 많은 사람들을 고용하고 있으며, 자주 질문을하는 것에 대한 명확한 답변이 없기 때문에 인터뷰를 많이하고 사람들을 거부해야합니다.

  1. C 또는 C ++에서 숙달하는 것이 다른 프로그램의 자격을 갖추기에 충분합니까?
    당신은 실제로 고위 수준에없는 경우 NO. 즉, 일부 핵심 엔터프라이즈 응용 프로그램에서 C ++ 프로그래밍을 6 년 정도 해 왔으며 이제는 C로 된 임베디드 시스템에 넣으려고합니다. 프로그래밍 구문과 디버깅 방법이 문제가되지 않을 수 있습니다. 그러나 문제를 통해 생각할 필요가 있다면 매우 지저분합니다. 이것은 어느 쪽에서 나 다른 언어에 해당됩니다. 몇 년 동안 한 가지 유형의 언어 만 사용했습니다. 다른 형태로 변환하기가 쉽지 않습니다! 언어 구문을 배울 수 있는지 여부가 아니라 C, C ++, Java, perl 및 Python에있을 때 실제로 다르게 생각합니다. 질문을 늘리기 위해-가장 자주-C ++과 Java 녀석은 서로 바꾸어 사용할 수 있으며 Perl, PHP, Phython도 마찬가지입니다. C는 다른 품종입니다!

    당신이 비교적 젊은 사람이라면-당신이 빨리 따라 잡을 수 있습니다.

  2. C보다 C ++을 알면 기술이 더 높다는 것을 의미합니까?
    아니요, 일반적으로 C에서 전체 제품을 만들 수 있다면 C ++에서 수행하는 것보다 훨씬 어려운 작업이기 때문입니다. 공유 메모리 시스템 문제 해결을 마스터 할 수있는 사람의 수는 VC ++ 또는 유사한 프레임 워크를 사용하여 적절한 GUI 프로그램을 작성할 수있는 사람보다 훨씬 적습니다.

  3. 이것이 C (또는 가장 낮은 수준의 프로그래밍)가 가장 높은 성취 수준이라는 것을 의미합니까?
    다신 안 돼! 이것은 모순이 아닙니다. 이번에는 비교하는 도메인에 따라 다릅니다. Linux 커널 내부의 시스템 프로그래밍이나 하드웨어와 매우 가까운 시스템을 살펴 보는 경우 C의 프로그래밍 기능이 더 적합하지만 은행 소프트웨어 또는 일부 비즈니스 규칙 엔진을 작성하는 경우 C ++이 일반적으로 선택됩니다. 요점은 당신의 진정한 강점은 언어의 구문에 관한 것이 아니라 문제의 클래스를 해결하는 방법이며 당신의 인생에서 몇 가지 범주 / 영역을 마스터하기를 희망 할 수 있다는 것입니다. 이력서에 무언가를 넣는다면 그것이 정말로 중요합니다.

  4. C에만 있었다면 객체 지향 프로그래밍을 모른다는 의미입니까?
    전혀. 사실, 인터뷰에서 리트머스가 C 배경 출신인지 C ++ 출신인지 여부를 확인하는 것은 매우 간단한 질문입니다. "C에서 객체 지향 프로그래밍을 할 수 있습니까?" -남자가 뛰어 와서 말합니다- "확실히 아니요!" C ++ 동료입니다. 요점은 멀티미디어 코드, 멀티 스레드 시스템, 프로토콜 계층 스택과 같은 매우 복잡한 코드를 실제로 작성할 때 여전히``객체 코드와 같은 생각 ''입니다 .C 컴파일러는 두 루틴을 캡슐화하는 데 나쁜 경우에 당신을 처벌하지 않습니다 또는 객체-그러나 시스템 스케일이 계속해서 발사되면-때로는 믿습니다-객체 지향 시대에 태어난 많은 사람들이 있습니다. 캡슐화가 실제로 코드에서 실제로 어떻게 위반되는지에 대해서는 상당히 약합니다. 클래스와 객체로 채워져 있습니다. 내가 미안해. 그러나 요점은-당신의 프로그래밍 기술보다 중요한 문제 분석 및 디자인 기술보다 더 중요합니다.

도메인 별 노출 및 디자인 기술을 적절하게 적용해야한다는 의미입니까?
분명하게 예입니다!


9
+1 객체 지향 디자인을 갖고 C로 구현할 수 있다는 점을 지적한 것에 대해
Giorgio

16
@Dipan : 나이를 기준으로 가정을 세울 때주의하십시오. 일부 나이 든 사람들도 꽤 빨리 "잡는다". 그들 중 일부는 아마 당신보다 더 빨리 달릴 것입니다.
케빈 클라인

15
나는 "C ++와 Java 녀석이 서로 바꿔서 사용될 수있다"는 것을 의심한다.
fredoverflow

6
또한 # 2에 동의하지 않습니다. C ++을 알면 비교적 짧은 시간에 C # 또는 Java를 선택할 수 있습니다. 그러나 다른 두 가지 중 하나를 알면 C ++를 선택하는 데 많은 시간과 노력이 필요하며 C # 또는 Java에서 제공 한 많은 것을 "학습"해야합니다.
sbi

1
@ sbi : 나는 C ++ 또는 JAVA 또는 C에 대해 매우 구체적으로 주장하지는 않습니다. 언어 간의 관계를 지나치게 일반화하려는 의도는 없습니다. 또한 사람들이 실제로 배우거나 배우지 않는 것에 적응할 수 없다고 추정하지도 않습니다. 유일한 요점은 서로 다른 언어들도 그들의 구문 적 관계에 관계없이 다른 사고 패턴이며, 그것이 주어진 역할의 적합에 중요하다는 것입니다.
Dipan Mehta

27

정말로 중요한 사람들 에게는 혼란스럽지 않아야합니다.

실제 C 및 C ++ 프로그래밍에 대해 아는 사람은 유사성과 역사에도 불구하고 생산 프로그래밍이 완전히 다른 동물 이 아니라는 것을 알고 있습니다.


12

C와 C ++는 매우 다른 언어이기 때문에 개인적으로 사람들이 "C / C ++"를 작성할 때 매우 성가신 것으로 생각합니다. 반대로, 이력서에 "C, C ++"또는 "C ++ and C"가 표시되면 끝이 없습니다. 불행히도, 거의 모든 사람들이 "C / C ++"를 씁니다. 그리고 일반적으로 "C ++을 알고 있지만 C를 할 수 있으면 할 수 있습니다"를 의미합니다.

또한 나는 이력서에 그렇게 구체적이지 않을 것입니다. 당신이 아는 프로그래밍 언어를 가장 능숙한 것부터 가장 능숙하지 않은 것까지 순서대로 나열하십시오. HR 버즈 워드 필터를 지나면 기술 인터뷰 중에 강점과 약점이 무엇인지 설명 할 수 있습니다.


4
동의했다. CV에 "C / C ++"를 더 이상 넣지 않을 것입니다. 마치 "Java / JavaScript"를 마치 같은 것 같습니다.

나는 그들이 다른 언어라는 것을 알고 있지만 종종 C / C ++를 씁니다. 왜냐하면 당신은 다른 언어를 보지 않고 둘 중 하나를 배웠기 때문에 둘 다에 대한 지식이 불완전합니다. 최소한 OO를 공부하지 않고는 훌륭한 C 프로그래머가 될 수 없습니다. 여기서 C ++는 C에서 OO를 수행하는 방법을 배우는 데 가장 적합한 선택입니다. C. 그러나 CV에서 나는 그들이 분리되어야한다는 것에 동의한다.

1
@ OrbWeaver, 하나의 큰 차이점은 C 프로그램을 너무 복잡하지 않은 한 종종 C ++ 컴파일러에 공급하고 실제로 실행 가능한 것을 얻을 수있는 실행 파일을 얻을 수 있다는 것입니다. C 컴파일러가 할 것입니다. Java 프로그램을 JavaScript 파서 (또는 다른 방법으로)에 공급할 수 없으며 연습에서 원격으로 유용한 정보를 얻을 수 없습니다. 나는 C 및 C ++ 내 마음 쓰기에, 차별화되어야한다는 것에 동의 그래서 동안 C/C++Java/Javascript그들이 것처럼 같은 두 개의 매우 다른 리그에 아직도있다.
CVn

조언을 +1하십시오-아마도 가장 능숙한 것에서 가장 능숙하지 않은 순서로 당신이 알고있는 프로그래밍 언어를 열거하십시오. 즉, HR 버즈 워드 필터 과거를 얻어야한다
순진한

7

C와 C ++는 비슷하지만 비슷한 루트를 공유하는 것은 패러다임과 사용법이 다르기 때문에 혼동해서는 안됩니다. 따라서 전문 지식도 분리해야합니다. 또한 두 가지 구분에 대해 더 구체적인 전문 지식 (GUI / FLTK 또는 익숙한 다른 라이브러리와 같은)을 언급 할 수 있다고 생각합니다.


5

나는 당신의 어구를 좋아했습니다 : "여러가지 현실 세계 C ++ 프로젝트를했지만 취미는 순수한 C 프로젝트입니다"

그래서 나는 그것을 CV 전문 용어에 넣었습니다.

  • 여러 C ++ 제품에서 일했습니다.
  • C를 사용한 몇 가지 측면 프로젝트

"여러"와 "몇"대신 숫자를 입력하는 것이 좋습니다. 정확하지 않아도됩니다. "20 이상"은이 목적을위한 숫자입니다.

"기술 수준"설명은 정확 하지만 "경험"설명은 정확 하고 명확합니다.


3

C와 C ++는 다른 언어이므로 CV에서 별도로 유지해야한다는 데 동의합니다. C는 (거의) C ++의 하위 집합이지만 C를 사용할 때 일반적으로 매우 다른 프로그래밍 스타일이 있습니다. 심지어 C ++에서 #includes와 같은 특정 C 기능을 제거하여 이전 버전과의 호환성을 완전히 포기했습니다. 단순히 다른 언어입니다.

그래서 제 조언은 CV에서 두 언어를 분리하여 유지하는 것입니다.


3

간단히 말해서, 당신을 평가하는 사람이 "C는 C ++의 부분 집합"이라고 생각하는 경향이 있다면, 이미 혼란스러워서, 이력서에 쓰여진 내용에 대한 당신의 설명이 그들을 놀라게하기에 충분할 것이라고 확신합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.