Abilità C ++ superiori alle abilità C? [chiuso]

28

Sento che il C / C ++ spesso visto non descrive realmente le mie capacità nel mio CV. Quindi ho intenzione di separarlo in conoscenza C ++ avanzata e mediocri.

Pensi che questo sia fonte di confusione per il lettore? Poteva pensare: "C è un sottoinsieme di C ++, quindi che cosa sta cercando di telegestire questo tizio?" Bene, quello che sto cercando di dire è: ho fatto diversi progetti C ++ nel mondo reale mentre progetti C puri solo per hobby. Sei d'accordo sul fatto che un programmatore C ++ esperto non sia necessariamente un ragazzo C qualificato o pensi che questo switch sia fatto facilmente?

    
posta h0b0 01.11.2011 - 16:02
fonte

7 risposte

31

Hai posto tante domande in una; fammi provare a rispondere mentre li segrego. Assumo molte persone che rientrano in questo tipo di profilo e molto spesso devo prendere tante interviste e rifiutare le persone perché spesso non hanno una risposta chiara alle domande che hai posto.

  1. La buona padronanza di C o C ++ è sufficiente per qualificarti per l'altro programma?
    Se sei a un livello senior in realtà NO . Ad esempio, se sei stato come 6 anni a fare programmazione C ++ su alcune applicazioni aziendali di base, e ora sto cercando di metterti in sistemi embedded che sono tutti in C - probabilmente la tua sintassi di programmazione e come eseguire il debug di roba non è un problema. Ma se hai bisogno di pensare a un problema, sei sicuramente molto disordinato. Questo è vero da entrambe le parti per l'altra lingua. Più anni trascorri un solo tipo di linguaggio, meno facile da trasformare in un'altra forma! Non si tratta di imparare la sintassi del linguaggio ma si pensa in modo diverso quando si è in C, C ++, Java, perl e Python. Per allungare la domanda - il più delle volte - i tipi C ++ e Java possono essere usati in modo intercambiabile, così come Perl, PHP, Phython. C è una razza abbastanza diversa!

    Se sei un ragazzo relativamente giovane, è probabile che tu possa recuperare velocemente.

  2. Significa che ho un'abilità superiore quando conosco C ++ piuttosto che C
    In realtà No. No perché, come regola generale, se si è in grado di creare un prodotto completo da C è molto più difficile rispetto a farlo in C ++. Il numero di persone che possono padroneggiare la risoluzione dei problemi dei sistemi di memoria condivisa è molto inferiore al numero di persone che possono scrivere un programma GUI decente usando VC ++ o framework simile.

  3. Questo significa che conoscere C (o la programmazione di livello più basso) è il più alto livello di realizzazione?
    Non ancora! Questa non è una contraddizione. Questa volta dipende dal dominio che confronti. Se si sta guardando la programmazione dei sistemi all'interno del kernel Linux o qualcosa di molto vicino all'hardware, la capacità di programmazione in C è più rilevante, tuttavia, se si sta scrivendo software bancario o alcuni motori di regole aziendali, il C ++ è una scelta solitamente naturale. Il punto è che la tua vera forza non è tanto la sintassi della lingua, ma il modo in cui risolvi una classe di problemi e puoi solo sperare di padroneggiare alcune categorie / domini nella tua vita. Se stai mettendo qualcosa nel tuo curriculum, questo è ciò che conta davvero.

  4. Significa che se sono stati solo in C - non conosco la programmazione orientata agli oggetti?
    Affatto. In effetti, la mia cartina di tornasole nell'intervista per sapere se il ragazzo è di C o di C ++ è di fare una domanda molto semplice - "Quindi puoi programmare l'Object Oriented in C?" - il ragazzo salta e dice - "Sicuramente NO!" lui / lei sono compagni di C ++. Il punto è che quando si scrive codice molto complesso come il codice multimediale, un sistema multi-thread, una pila di livelli di protocollo, si continua a pensare come un codice oggetto - Il compilatore C non ti punisce se incolumi due routine o oggetti - ma quando il sistema scala che continua a spararti - credo a volte - ci sono molti che nascono nell'era dell'orientamento agli oggetti, abbastanza spesso sono abbastanza deboli su come esattamente l'incapsulazione viene realmente violata in un codice che è praticamente pieno di classi e oggetti. Mi spiace divorato . Ma il punto è: sono più le tue capacità di analisi e progettazione dei problemi che contano più delle tue capacità di programmazione.

Significa che dovrei mettere insieme competenze specifiche per l'esposizione e la progettazione del dominio? Sicuramente sì!

    
risposta data 01.11.2011 - 18:11
fonte
27

Per le persone che contano davvero, no, non dovrebbe confonderle.

Chiunque sappia qualcosa sulla programmazione C e C ++ del mondo reale sa che, nonostante le somiglianze e la cronologia, la programmazione della produzione in entrambi è spesso un completamente animale diverso.

    
risposta data 01.11.2011 - 16:10
fonte
12

Personalmente, trovo molto fastidioso quando le persone scrivono "C / C ++", perché C e C ++ sono lingue molto diverse. Al contrario, se vedo "C, C ++" o "C + + e C" su un curriculum, mi impressiona a non finire. Sfortunatamente, quasi tutti scrivono "C / C ++", e in genere significa "Conosco il C ++, ma posso fare C se devo."

Inoltre, non sarei così specifico sul CV. Basta elencare i linguaggi di programmazione che conosci, possibilmente nell'ordine dal più esperto al meno esperto. Questo dovrebbe farti superare il filtro delle parole d'ordine delle risorse umane e quindi puoi spiegare durante un colloquio tecnico quali sono i tuoi punti di forza e di debolezza.

    
risposta data 01.11.2011 - 16:34
fonte
7

No, non dovrebbe essere confuso perché C e C ++ sebbene simili e che condividono radici simili sono diversi nel paradigma e nell'uso. Pertanto, dovrebbe essere separato, anche le competenze dovrebbero essere separate. Inoltre, penso che tu possa menzionare competenze più specifiche (come GUI / FLTK o altre librerie con cui hai familiarità) con le due separate.

    
risposta data 01.11.2011 - 16:42
fonte
5

Mi è piaciuto il tuo fraseggio: "Ho fatto diversi progetti C ++ nel mondo reale mentre progetti C puri sono solo un hobby"

Quindi lo inserisco nel gergo CV:

  • ha funzionato su diversi prodotti C ++
  • alcuni progetti secondari che usano C

È meglio se metti i numeri al posto di "diversi" e "pochi". Non c'è bisogno di essere esatti, "oltre venti" è un numero per questo scopo.

La descrizione del "livello di abilità" è corretta , ma la descrizione dell'esperienza è corretta e chiara.

    
risposta data 02.11.2011 - 03:44
fonte
3

Sono d'accordo che C e C ++ sono lingue diverse e dovrebbero essere tenuti separati nel CV. Anche se C è (quasi) un sottoinsieme di C ++, normalmente ho uno stile di programmazione molto diverso quando uso C: disegno in modo diverso, codice diverso, e così via. Rimuoverò anche alcune funzionalità di C come #include di C ++ che rinuncia completamente alla compatibilità con le versioni precedenti: sono semplicemente lingue diverse.

Quindi il mio consiglio è di tenere separate le due lingue nel tuo CV.

    
risposta data 01.11.2011 - 19:19
fonte
3

Semplicemente, se la persona che ti ha valutato aveva la propensione a pensare "C è un sottoinsieme di C ++", sono già confusi e sono sicuro che la tua spiegazione di ciò che è scritto nel tuo curriculum sarà sufficiente per stupirli.

    
risposta data 01.11.2011 - 21:21
fonte

Leggi altre domande sui tag