Keterampilan C ++ lebih tinggi dari keterampilan C? [Tutup]

28

Saya merasa bahwa C / C ++ yang sering dilihat tidak benar-benar menggambarkan keahlian saya dalam CV saya. Jadi saya berencana untuk memisahkannya menjadi pengetahuan C ++ tingkat lanjut dan keterampilan C yang biasa-biasa saja.

Apakah Anda pikir ini membingungkan bagi pembaca? Dia bisa berpikir: "C adalah himpunan bagian dari C ++, jadi apa yang orang ini coba hubungi saya?" Nah, apa yang saya coba sampaikan adalah: Saya telah melakukan beberapa proyek C ++ dunia nyata sementara proyek C murni di mana hanya merupakan hobi. Apakah Anda setuju bahwa seorang programmer C ++ yang terampil belum tentu adalah orang C yang berkualitas atau apakah Anda berpikir bahwa pergantian ini dilakukan dengan mudah?

h0b0
sumber
1
Itulah tepatnya yang saya lakukan. Itu tidak menghalangi saya mencari pekerjaan.
Martin York
9
Sudah lama tidak menulis CV, tapi saya selalu berbicara tentang C dan C ++ sebagai dua bahasa yang sama sekali berbeda.
Rei Miyasaka
2
@ReiMiyasaka - Baik, karena mereka adalah dua bahasa yang sama sekali berbeda. Keduanya telah diperbarui dan berbeda dari saat C ++ dibuat sebagai tambahan untuk C.
Izkata
saya percaya bahwa C / C ++ bukan hal yang sama dan mereka bahasa yang sama sekali berbeda, satu-satunya hal yang umum adalah 'C' dalam nama (belum lagi sintaksis dekat)
Qchmqs

Jawaban:

31

Anda telah mengajukan begitu banyak pertanyaan dalam satu; izinkan saya mencoba menjawab sambil memisahkan mereka. Saya mempekerjakan banyak orang yang termasuk dalam tipe profil ini dan cukup sering saya harus melakukan begitu banyak wawancara dan menolak orang karena seringkali mereka tidak memiliki jawaban yang jelas untuk pertanyaan yang Anda ajukan.

  1. Apakah memiliki penguasaan yang baik dalam C atau C ++ cukup baik untuk memenuhi syarat Anda untuk program lain?
    Jika Anda berada di tingkat senior sebenarnya TIDAK. yaitu jika Anda telah melakukan sesuatu seperti 6 tahun melakukan pemrograman C ++ pada beberapa aplikasi inti perusahaan, dan sekarang saya mencoba untuk menempatkan Anda dalam sistem embedded yang semuanya dalam C - kemungkinan bahwa sintaks pemrograman Anda dan cara men-debug hal-hal tidak menjadi masalah. Tetapi jika Anda perlu memikirkan masalah - Anda tentu sangat berantakan. Ini benar dari kedua sisi ke bahasa lain. Semakin banyak tahun Anda hanya menghabiskan satu jenis bahasa - kurang mudah untuk berubah dalam bentuk lain! Ini bukan tentang apakah Anda dapat mempelajari sintaks bahasa tetapi Anda benar-benar berpikir secara berbeda ketika Anda berada di C, C ++, Java, perl dan Python. Untuk meregangkan pertanyaan - paling sering - C ++ dan Java guys dapat digunakan secara bergantian dan begitu juga Perl, PHP, Phython. C adalah jenis yang sangat berbeda!

    Jika Anda seorang pria yang relatif muda - kemungkinan besar Anda bisa mengejar ketinggalan dengan cepat.

  2. Apakah ini berarti bahwa saya memiliki keterampilan yang lebih tinggi ketika saya tahu C ++ daripada C
    Sebenarnya Tidak. Tidak karena, sebagai aturan umum, jika Anda mampu membuat produk lengkap dari C adalah tugas yang jauh lebih sulit dibandingkan dengan melakukannya di C ++. Jumlah orang yang dapat menguasai pemecahan masalah sistem memori bersama jauh lebih sedikit daripada jumlah orang yang dapat menulis program GUI yang layak menggunakan VC ++ atau kerangka kerja serupa.

  3. Apakah ini berarti mengetahui C (atau pemrograman level terendah) adalah level pencapaian tertinggi?
    Tidak lagi! Ini bukan kontradiksi. Kali ini tergantung pada domain yang Anda bandingkan. Jika Anda melihat pemrograman sistem di dalam kernel Linux, atau sesuatu yang sangat dekat dengan perangkat keras, kemampuan pemrograman dalam C lebih relevan, namun, jika Anda menulis perangkat lunak perbankan atau beberapa mesin aturan bisnis - C ++ biasanya merupakan pilihan alami. Intinya adalah kekuatan sejati Anda tidak banyak tentang sintaks bahasa tetapi cara Anda memecahkan kelas masalah dan Anda hanya bisa berharap untuk menguasai beberapa kategori / domain dalam hidup Anda. Jika Anda memasukkan sesuatu ke dalam resume Anda - itu yang terpenting.

  4. Apakah ini berarti bahwa jika hanya di C - saya tidak tahu pemrograman berorientasi objek?
    Tidak semuanya. Sebenarnya, tes lakmus saya dalam wawancara untuk mengetahui apakah pria berasal dari latar belakang C atau C ++ adalah dengan mengajukan pertanyaan yang sangat sederhana - "Jadi, bisakah Anda melakukan Pemrograman Berorientasi Objek dalam C?" - pria itu melompat dan berkata - "Pasti TIDAK!" dia adalah rekan C ++. Intinya adalah, ketika Anda benar-benar menulis kode yang sangat kompleks seperti kode multimedia, sistem multi-threaded, tumpukan lapisan protokol, Anda masih 'berpikir seperti kode objek' - C compiler tidak menghukum Anda jika Anda buruk mengenkapsulasi dua rutinitas atau objek - tetapi ketika sistem skala yang terus menembak Anda - saya percaya kadang-kadang - ada banyak yang lahir di era orientasi objek, cukup sering cukup lemah tentang bagaimana enkapsulasi benar-benar dilanggar dalam kode yang cukup banyak diisi dengan kelas dan objek. Maaf saya ngelantur. Tetapi intinya adalah - itu lebih dari keterampilan Anda analisis masalah dan desain yang lebih penting daripada keterampilan pemrograman Anda sendiri.

Apakah ini berarti saya harus meletakkan keterampilan khusus dalam bidang pemaparan domain dan desain?
Pasti ya!

Dipan Mehta
sumber
9
+1 Untuk menunjukkan bahwa Anda dapat memiliki desain berorientasi objek dan masih menerapkannya dalam C.
Giorgio
16
@Dipan: Hati-hati membuat asumsi berdasarkan usia. Beberapa pria yang lebih tua "mengejar ketinggalan" juga cukup cepat. Beberapa dari mereka mungkin berjalan lebih cepat daripada Anda.
kevin cline
15
Saya sangat meragukan bahwa "C ++ dan Java guys dapat digunakan secara bergantian".
fredoverflow
6
Saya juga tidak setuju dengan # 2. Ketika Anda tahu C ++, Anda dapat mengambil C # atau Java dalam waktu yang relatif singkat. Mengambil C ++ ketika Anda mengetahui salah satu dari dua yang lainnya, bagaimanapun, membutuhkan banyak waktu dan usaha, dan mengharuskan Anda terlebih dahulu "melepaskan" banyak dari apa yang telah Anda ambil seperti yang diberikan dalam C # atau Java.
sbi
1
@ sbi: Saya tidak benar-benar berdebat dengan sangat spesifik tentang C ++ atau JAVA atau C. Saya tidak begitu berniat untuk menggeneralisasikan hubungan antar bahasa; saya juga tidak pergi dengan anggapan bahwa orang tidak dapat benar-benar beradaptasi belajar atau melupakan hal-hal. Satu-satunya inti sebenarnya adalah bahwa bahasa yang berbeda juga merupakan pola pikir yang berbeda terlepas dari hubungan sintaksisnya dan itulah yang penting dalam kesesuaian peran yang akan diberikan.
Dipan Mehta
27

Bagi orang-orang yang benar-benar penting, tidak, itu seharusnya tidak membingungkan mereka.

Siapa pun yang tahu apa-apa tentang pemrograman C dan C ++ dunia nyata tahu bahwa meskipun memiliki kesamaan dan sejarah, pemrograman produksi di keduanya lebih sering daripada bukan hewan yang sama sekali berbeda.

Dan McGrath
sumber
12

Secara pribadi, saya merasa sangat menjengkelkan ketika orang menulis "C / C ++", karena C dan C ++ adalah bahasa yang sangat berbeda. Sebaliknya, jika saya melihat "C, C ++" atau "C ++ dan C" di resume, itu membuat saya terkesan tanpa akhir. Sayangnya, hampir semua orang menulis "C / C ++", dan itu biasanya berarti "Saya tahu C ++, tapi saya bisa melakukan C jika harus."

Juga, saya tidak akan terlalu spesifik tentang CV. Cukup daftarkan bahasa pemrograman yang Anda tahu, mungkin dalam urutan dari yang paling mahir ke yang paling tidak mahir. Itu akan membuat Anda melewati filter kata kunci HR, dan kemudian Anda dapat menjelaskan selama wawancara teknis apa kelebihan dan kelemahan Anda.

Dima
sumber
4
Sepakat. Saya tidak akan lebih cepat meletakkan "C / C ++" di CV saya daripada saya akan meletakkan "Java / JavaScript" seolah-olah mereka adalah hal yang sama.
Saya sering menulis C / C ++ meskipun saya tahu mereka bahasa yang berbeda, karena Anda belajar salah satu dari mereka tanpa repot-repot melihat yang lain, pengetahuan Anda tentang keduanya tidak lengkap. Anda tidak bisa menjadi programmer C yang baik tanpa setidaknya mempelajari OO, di mana C ++ adalah pilihan alami untuk belajar bagaimana melakukan OO dalam C. Anda tidak bisa menjadi programmer C ++ yang baik tanpa memahami mengapa C ++ ternyata seperti itu, berdasarkan warisannya dari C. Namun dalam CV, saya setuju mereka harus terpisah.
1
@OrbWeaver, satu perbedaan besar adalah Anda sering dapat mengambil program C (selama tidak terlalu rumit), memasukkannya ke kompiler C ++, dan mendapatkan executable dari apa yang sebenarnya akan melakukan apa yang keluar dari sebuah C compiler akan melakukannya. Anda tidak dapat memberi makan program Java ke parser JavaScript (atau sebaliknya) dan mendapatkan sesuatu yang bahkan berguna dari latihan. Jadi sementara saya setuju bahwa C dan C ++ harus dibedakan, menurut pendapat saya menulis C/C++dan Java/Javascriptseolah-olah mereka sama masih dalam dua liga yang sangat berbeda.
CVn
1 untuk saran - cukup daftarkan bahasa pemrograman yang Anda tahu, mungkin dalam urutan dari yang paling mahir ke yang kurang mahir. Itu akan membuat Anda melewati filter kata-kata HR,
naif
7

Tidak, itu tidak boleh membingungkan karena C dan C ++ meskipun serupa dan berbagi akar yang sama berbeda dalam paradigma dan penggunaan. Jadi, harus dipisahkan, juga keahlian harus dipisahkan juga. Plus, saya pikir Anda dapat menyebutkan keahlian yang lebih spesifik (seperti GUI / FLTK atau perpustakaan lain yang Anda kenal) dengan keduanya terpisah.

aggietech
sumber
5

Saya menyukai ungkapan Anda: "Saya telah melakukan beberapa proyek C ++ dunia nyata sementara proyek C murni di mana hanya merupakan hobi"

Jadi saya hanya memasukkannya ke dalam jargon CV:

  • bekerja pada beberapa produk C ++
  • beberapa proyek sampingan menggunakan C

Lebih baik jika Anda meletakkan angka di tempat "beberapa" dan "beberapa". Tidak perlu tepat, "lebih dari dua puluh" adalah angka untuk tujuan ini.

Deskripsi "tingkat keterampilan" benar , tetapi deskripsi "pengalaman" benar dan jelas.

Emilio M Bumachar
sumber
3

Saya setuju bahwa C dan C ++ adalah bahasa yang berbeda dan harus disimpan terpisah di CV. Meskipun C (hampir) adalah bagian dari C ++, saya biasanya memiliki gaya pemrograman yang sangat berbeda ketika menggunakan C: Saya mendesain secara berbeda, saya membuat kode yang berbeda, dan sebagainya. Saya bahkan akan menghapus fitur C tertentu seperti #includes from C ++ menyerah kompatibilitas mundur sama sekali: mereka hanya bahasa yang berbeda.

Jadi saran saya adalah memisahkan kedua bahasa di CV Anda.

Giorgio
sumber
3

Sederhananya, jika orang yang mengevaluasi Anda memiliki kecenderungan untuk berpikir "C adalah bagian dari C ++," mereka sudah bingung, dan saya yakin penjelasan Anda tentang apa yang tertulis dalam resume Anda akan cukup untuk membuat mereka kagum.

Mr_Spock
sumber