C ++ becerileri C becerilerinden daha yüksek? [kapalı]


28

Sık görülen C / C ++ 'ların özgeçmişimdeki becerilerimi gerçekten tarif etmediğini hissediyorum. Bu yüzden ileri C ++ bilgi ve vasat C becerilerine ayırmayı düşünüyorum.

Bunun okuyucu için kafa karıştırıcı olduğunu mu düşünüyorsun? Şöyle düşünebilir: "C, C ++ 'ın alt kümesidir, peki bu adam beni telgraf etmeye ne yapıyor?" Söylemeye çalıştığım şey: birkaç gerçek dünya C ++ projesi yaparken saf C projeleri olan sadece hobi bir şey yaptım. Yetenekli bir C ++ programcısının mutlaka kalifiye bir C adamı olmadığına katılıyor musunuz veya bu anahtarın kolayca yapıldığını mı düşünüyorsunuz?



1
Ben de aynısını yapıyorum. İş bulmamı engellemedi.
Martin York

9
Çok uzun zamandır CV yazmadım, ama her zaman C ve C ++ hakkında iki tamamen farklı dil olarak konuşuyorum.
Rei Miyasaka

2
@ReiMiyasaka - İyi, onlar çünkü olan iki tamamen farklı diller. Her ikisi de güncellendi ve C ++ C'ye ek olarak oluşturulduğundan farklılaştı.
Izkata

C / C ++ 'un aynı şey olmadığına ve tamamen farklı diller olduğuna inanıyorum, ortak olan tek şey adındaki' C '(yakın sözdiziminden bahsetmiyorum)
Qchmqs

Yanıtlar:


31

Birinde çok fazla soru sordunuz; onları ayırırken cevap vermeye çalışayım. Bu profil türüne giren birçok kişiyi işe alıyorum ve sık sık bu kadar çok görüşme yapmak ve insanları reddetmek zorunda kalıyorum, çünkü çoğu zaman sorduğunuz sorulara net bir cevap veremiyorlar.

  1. C veya C ++ 'da ustalık sahibi olmak sizi diğer program için nitelemek için yeterli midir?
    Aslında bir üst düzey ise HAYIR. Örneğin, bazı temel kurumsal uygulamalarda C ++ programlama yapan 6 yıl gibi bir şey olduysanız ve şimdi sizi C'nin tümüyle gömülü sistemlerine sokmaya çalışıyorum - muhtemelen programlama sözdiziminiz ve işlerin hata ayıklaması sorun değil. Fakat bir problemi düşünmeniz gerekirse - kesinlikle çok dağınıksınız. Bu, her iki taraftan da diğer dile doğrudur. Daha uzun yıllar boyunca sadece bir tür dil harcamaktasınız - başka bir formata dönüştürmek daha az kolay! Bu dilin sözdizimini öğrenip öğrenemeyeceğinizle ilgili değil, aslında C, C ++, Java, perl ve Python'da farklı düşünürsünüz. Soruyu genişletmek için - en sık - C ++ ve Java adamları birbirlerinin yerine kullanılabilir ve Perl, PHP, Phython'dur. C oldukça farklı bir cins!

    Göreceli olarak genç bir adamsanız - şansınızı hızlı yakalayabilirsiniz.

  2. Bu, aslında C yerine C ++ 'ı bildiğimde daha yüksek beceriye sahip olduğum anlamına mı geliyor?
    Hayır. Paylaşılan bellek sistemlerinde sorun giderme konusunda uzman olan kişilerin sayısı, VC ++ veya benzeri bir çerçeve kullanarak iyi bir GUI programı yazabilen kişilerin sayısından çok daha azdır.

  3. Bu, C (veya en düşük seviye programlama) bilmek, en yüksek başarı seviyesidir anlamına mı geliyor?
    Yine hayır! Bu çelişki değildir. Bu sefer karşılaştırdığınız alana göre değişir. Linux çekirdeğinde programlama yapan sistemlere veya donanıma çok yakın bir şey arıyorsanız, C'de programlama yeteneği daha önemlidir, Ancak, bankacılık yazılımı veya bazı iş kuralı motorları yazıyorsanız - C ++ genellikle doğal bir seçimdir. Mesele şu ki, gerçek gücünüz, dilin sözdizimi ile ilgili değil, bir problemler sınıfını çözme biçiminiz ve hayatınızdaki birkaç kategori / etki alanında ustalaşmanız olabilir. Özgeçmişinize bir şey koyuyorsanız - gerçekten önemli olan budur.

  4. Bu sadece C - 'de olsaydı Nesne yönelimli programlamayı bilmediğim anlamına mı geliyor?
    Bir şey değil. Aslında, röportajdaki benim turnusuzdaki test, erkeğin C arka planından mı yoksa C ++ 'dan mı olduğunu bilmek için çok basit bir soru sormaktır - "Öyleyse C'de Nesne Yönelimli Programlama yapabilir misiniz?" - Adam atlar ve der ki - "Kesinlikle hayır!" O C ++ üyesi. Mesele şu ki, multimedya kodu, çok parçacıklı bir sistem, bir protokol katmanı yığını gibi gerçekten çok karmaşık bir kod yazdığınızda, hala 'nesne kodu gibi düşünürsünüz' - C derleyicisi iki rutini kapsama konusunda kötüyseniz sizi cezalandırmaz veya nesneler - ancak sistem sizi kovmaya devam ederse ölçeklenir - zaman zaman inanıyorum - nesne yönelimi döneminde doğmuş pek çok kişi var, çoğu zaman enkapsülasyonun gerçekte çok fazla olan bir kodda nasıl ihlal edildiğine dair oldukça zayıf sınıflar ve nesnelerle dolu. Üzgünüm daldım. Ancak mesele şu ki - tek başına programlama becerilerinizden daha önemli olan, problem analizi ve tasarım becerilerinizden daha fazlasıdır.

Bu, alana özel maruz kalma ve tasarım becerilerini ayrı ayrı koymam gerektiği anlamına mı geliyor?
Kesinlikle evet!


9
+1 Nesne yönelimli bir tasarıma sahip olduğunuzu ve hala C de uygulayabileceğinizi belirtmek için
Giorgio

16
@Dipan: Yaşa dayalı varsayımlarda bulunma konusunda dikkatli olun. Bazı yaşlı çocuklar da oldukça hızlı "yakalar". Bazıları muhtemelen senden daha hızlı koşuyor.
kevin cl

15
"C ++ ve Java adamları birbirlerinin yerine kullanılabileceğinden" kesinlikle şüpheliyim.
fredoverflow

6
Ayrıca # 2 ile aynı fikirde değilim. C ++ 'ı tanıdığınızda, C # veya Java'yı kısa sürede alabilirsiniz. Bununla birlikte, diğer ikisini de tanıdığınızda C ++ 'ı almak çok zaman ve çaba gerektirir ve ilk önce C # veya Java’da verilenlerin çoğunu "öğrenmenizi" gerektirir.
sbi

1
@sbi: C ++ ya da JAVA ya da C ile ilgili çok fazla şey tartıştığımı söylemiyorum. ne de insanların gerçekten bir şeyler öğrenemeyeceklerini veya öğrenemeyeceklerini varsaymayacağım. Gerçekten de tek ilgi çekici nokta, farklı dillerin sözdizimsel ilişkilerine bakılmaksızın farklı düşünme kalıpları olmaları ve verilecek rolün yerine getirilmesinde önemli olan şeydir.
Dipan Mehta

27

Gerçekten önemli olan insanlar için, hayır, onların kafasını karıştırmamalı.

Gerçek dünya C ve C ++ programlama hakkında bir şey bilen herkes, benzerliklerine ve tarihlerine rağmen, üretim programlamasının da tamamen farklı bir hayvandan daha sık olmadığını bilir .


12

Şahsen, insanlar "C / C ++" yazarken çok can sıkıcı buluyorum, çünkü C ve C ++ çok farklı diller. Tersine, eğer bir özgeçmiş üzerinde "C, C ++" veya "C ++ ve C" görürsem, beni sonuna kadar etkiliyor. Ne yazık ki, hemen hemen herkes "C / C ++" yazıyor ve genellikle "C ++ tanıyorum, ancak gerekiyorsa C yapabilirim" anlamına geliyor.

Ayrıca, CV'de o kadar da spesifik olmazdım. Sadece bildiğiniz programlama dillerini, muhtemelen en yetkinden en az yetkinliğe kadar olanları listeleyiniz. Bu sizi HR buzz kelimesi filtresini geçmelidir ve teknik görüşme sırasında güçlü ve zayıf yönlerinizi açıklayabilirsiniz.


4
Kabul. Özgeçmişime "C / C ++" koymak, aynı şeymiş gibi "Java / JavaScript" koymaktan daha erken olmazdı.

Farklı diller olduğunu bilsem bile, çoğu zaman C / C ++ yazarım, çünkü ikisini de diğerine bakmaya zahmet etmeden öğrendim, ikinizin de bilgisi eksik. En azından OO öğrenmeden iyi bir C programcısı olamazsınız; buradaki C ++, C'de OO'nun nasıl yapıldığını öğrenmek için doğal bir seçimdir. C. Bir CV'de ise, ayrı olmaları gerektiğine katılıyorum.

1
@OrbWeaver, büyük bir fark, genellikle bir C programını (çok karmaşık olmadığı sürece) alabilir, bir C ++ derleyicisine besleyebilir ve gerçekte ne yaptığını yapacak olandan çalıştırılabilir hale getirebilirsiniz. C derleyici yapardı. Bir Java programını JavaScript ayrıştırıcısına (veya diğer yolla) besleyemez ve egzersizden uzaktan bile faydalı bir şey elde edemezsiniz. Bu yüzden, C ve C ++ 'nın zihin yazımıma göre aynı olması gerektiği C/C++ve Java/Javascriptaynı sanki hala iki farklı ligde olması gerektiği konusunda hemfikir olduğumu kabul ediyorum .
CVn

Tavsiye için +1 - bildiğiniz programlama dillerini, muhtemelen en yetkinden en az yetkinliğe kadar olan sırayla listeleyin. Bu sizi HR buzz-kelimesi filtresinden
geçirmeli

7

Hayır, kafa karıştırıcı olmamalıdır, çünkü C ve C ++ benzer ve benzer kökleri paylaşmak paradigma ve kullanımda farklıdır. Bu nedenle ayrılmalı, aynı zamanda uzmanlık da ayrılmalıdır. Ayrıca, birbirinden ayrı olan uzmanlıktan (GUI / FLTK veya aşina olduğunuz diğer kütüphaneler gibi), birbirinden ayrılmış olanlardan bahsedebileceğinizi düşünüyorum.


5

İfadeni beğendim: "Sadece bir hobi olan gerçek C projeleri yaparken gerçek dünya C ++ projeleri yaptım"

Yani sadece CV jargonuna koyardım:

  • birkaç C ++ ürününde çalıştı
  • C kullanarak birkaç yan proje

Sayıları "birkaç" ve "birkaç" yerine koymanız daha iyi olur. Kesin olmaya gerek yok, "yirminin üzerinde" bu amaç için bir sayıdır.

"Beceri seviyesi" açıklaması doğru , ancak "deneyim" açıklaması doğru ve açık.


3

C ve C ++ 'ın farklı diller olduğu ve CV'de ayrı tutulması gerektiğine katılıyorum. C (neredeyse) bir C ++ alt kümesi olmasına rağmen, normalde C: kullanırken farklı bir programlama stiline sahibim, farklı tasarlarım, farklı kodlar, vb. Tamamen geriye dönük uyumluluktan vazgeçen #includes C ++ gibi bazı C özelliklerini bile kaldırırım: bunlar sadece farklı dillerdir.

Bu yüzden benim tavsiyem özgeçmişinizde iki dili ayrı tutmak.


3

Basitçe, sizi değerlendiren kişi "C, C ++ 'nın bir alt kümesidir" deme eğilimine sahipse, zaten karıştılar ve özgeçmişinizde yazılanları açıklamanızın onları vuracak kadar olacağına eminim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.