CスキルよりもC ++スキルが高いですか?[閉まっている]


28

よく見られるC / C ++は、CVでのスキルを実際には説明していないように感じます。それで、私はそれを高度なC ++知識と平凡なCスキルに分けることを計画しています。

これは読者を混乱させると思いますか?「CはC ++のサブセットです。だから、この男は私に電話をかけようとしているのでしょうか?」まあ、私が伝えようとしているのは、私が趣味だけの純粋なCプロジェクトである間に、私はいくつかの現実世界のC ++プロジェクトをしました。熟練したC ++プログラマーが必ずしも資格のあるCの人ではないことに同意しますか、またはこの切り替えは簡単に行われると思いますか?



1
それはまさに私がやっていることです。それは私が仕事を見つけるのを妨げていません。
マーティンヨーク

9
長い間CVを書いたことはありませんが、私はCとC ++を2つのまったく異なる言語として常に語っています。
宮坂Re

2
@ReiMiyasaka-いいね 2つのまったく異なる言語だから。どちらも更新されており、C ++がCに追加されて作成されたときとは
異なります。– Izkata

私はC / C ++は同じものではなく、まったく異なる言語であると信じています、唯一の一般的なものは名前の 'C'です(厳密な構文は言うまでもありません)
Qchmqs

回答:


31

たくさんの質問を1つにまとめました。それらを分離しながら答えさせてみましょう。私はこのプロファイルタイプに該当する多くの人々を雇い、非常に多くの場合、多くのインタビューを受けて人々を拒否しなければなりません。

  1. CまたはC ++で十分に習熟していれば、他のプログラムの資格を得るのに十分ですか?
    あなたが実際にシニアレベルでされていない場合はNO。つまり、いくつかのコアエンタープライズアプリケーションでC ++プログラミングを6年ほどやっていたのに、今はすべてCである組み込みシステムに入れようとしています。おそらく、プログラミング構文とデバッグ方法は問題ではありません。しかし、問題を熟考する必要がある場合-あなたは確かに非常に厄介です。これは、どちらの側からも他の言語に当てはまります。長い間、1種類の言語のみを費やしてきましたが、他の形式に変換するのは簡単ではありません。言語の構文を学ぶことができるかどうかではありませんが、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コンパイラは、2つのルーチンのカプセル化が苦手な場合でも罰せられませんまたはオブジェクト-しかし、システムがスケーリングして発火し続ける場合-私は時々信じています-オブジェクト指向の時代に生まれた人は非常に多く、カプセル化が実際にコードで実際にどのように違反されるかについてかなり弱いですクラスとオブジェクトでいっぱい。ごめんなさい。しかし、ポイントは-プログラミングスキルだけではなく、問題分析と設計のスキルのほうが重要だということです。

ドメイン固有の露出と設計スキルを適切に配置する必要があるということですか?
絶対そうです!


9
+1オブジェクト指向のデザインを作成し、それをCで実装できることを指摘します
ジョルジオ

16
@Dipan:年齢に基づいて仮定することに注意してください。一部の年長者もかなり速く「追いつく」。それらのいくつかはおそらくあなたよりも速く実行されます。
ケビンクライン

15
「C ++とJavaの人は同じ意味で使用できる」ことを強く疑います。
fredoverflow

6
#2にも同意しません。C ++を知っていれば、比較的短時間でC#またはJavaを習得できます。ただし、他の2つのいずれかを知っているときにC ++を取得するには、多くの時間と労力がかかり、最初にC#またはJavaで与えられた多くのことを「学習」する必要があります。
sbi

1
@sbi:C ++、JAVA、Cについての詳細な説明はあまりしていません。言語間の関係を一般化するつもりはありません。また、人々が学習や学習を真に適応させることはできないという推測もありません。唯一の重要な点は、構文の関係に関係なく、異なる言語も異なる思考パターンであり、それが与えられる役割の適合度にカウントされることです。
ディパンメタ

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でオブジェクト指向を行う方法を学ぶための自然な選択です。 C.ただし、履歴書では、それらを分離する必要があることに同意します。

1
@ OrbWeaver、1つの大きな違いは、Cプログラムを(複雑すぎない限り)頻繁に取得し、それをC ++コンパイラにフィードし、実際に実行するものから実行可能ファイルを取得できることですCコンパイラーが行います。JavaプログラムをJavaScriptパーサーにフィードする(またはその逆)ことはできません。また、演習からリモートで有用なものを取得することもできません。だから私は、CおよびC ++は、私の心の書き込みに、区別されなければならないことに同意しながら、C/C++そしてJava/Javascript、彼らは非常に異なる2つのリーグでも同じですしているかのように。
CVn

+1アドバイス-おそらく、最も習熟度の高いものから最も習熟度の低いものの順に、知っているプログラミング言語をリストしてください。それはHR話題ワードフィルタ、を過ぎてあなたを取得する必要があります
ナイーブ

7

いいえ、CとC ++は類似したルートを共有しているが、パラダイムと使用法が異なるため、混乱しないようにしてください。したがって、それは分離されるべきであり、専門知識も分離されるべきです。さらに、2つの分離されたものについて、より具体的な専門知識(GUI / FLTKまたは使い慣れた他のライブラリなど)に言及できると思います。


5

私はあなたの言い回しが好きでした:「私はいくつかの現実世界のC ++プロジェクトを行ってきましたが、純粋なCプロジェクトは趣味だけです」

だから、私はちょうどそれを履歴書の専門用語に入れたでしょう

  • いくつかのC ++製品に取り組んだ
  • Cを使用したいくつかのサイドプロジェクト

「数個」と「数個」の代わりに数字を入れた方がいいです。正確である必要はありません、「20以上」はこの目的のための数です。

「スキルレベル」の記述がある正しいが、「経験」の記述が正しいは明らか。


3

CとC ++は異なる言語であり、CVで分離しておく必要があることに同意します。Cは(ほとんど)C ++のサブセットですが、Cを使用する場合、通常は非常に異なるプログラミングスタイルを使用します。つまり、デザインが異なり、コーディングも異なります。C ++から#includesなどの特定のC機能を完全に削除して、下位互換性を完全に放棄します。これらは単に異なる言語です。

したがって、私のアドバイスは、履歴書で2つの言語を分離することです。


3

単純に、あなたを評価している人が「CはC ++のサブセットである」と考える傾向があれば、彼らはすでに混乱しているので、履歴書に書かれていることについての説明は彼らを驚かせるのに十分だと思います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.