C ++ è facile una volta che conosci PHP [chiuso]

5

Ero al lavoro la scorsa settimana e uno dei nostri "lead developer" (che ha detto di aver programmato C ++ prima, ma non gli credo) stava parlando di C ++ e di come il nostro team di sviluppatori che conoscono solo PHP non lo farebbe avere difficoltà a imparare C ++.

La mia prima reazione è stata lo shock puro e poi ho riso del suo commento. Mi ha dato una brutta occhiata e gli ho chiesto se fosse serio. Personalmente programma molti C e C ++ per progetti principalmente scolastici e competizioni di codifica. Non penso che sia affatto come PHP. Gli ho chiesto perché erano uguali e lui non poteva darmi una risposta (lui non conosce affatto il C ++). Poi ho detto "OK, sì, entrambi usano le parentesi graffe e hanno istruzioni condizionali, ma il C ++ deve preoccuparsi della gestione della memoria e di tutte le funzioni incorporate facili da usare in PHP, per esempio le funzioni dell'array, sono inesistenti in C ++ Devi effettivamente conoscere gli algoritmi dietro di loro ". Ci sono alcune grandi librerie C ++ (STL, Boost) che ti semplificheranno la vita ma C ++ è come PHP, dai!

Se conosci già una lingua, sarà un po 'più facile impararne un'altra perché sarai già bravo nel login booleano (se è così) o nel loop, ma c'è molto di più in C ++ che in PHP. Come se dovessi compilare il linguaggio e dovessi effettivamente definire quale tipo di variabile stai usando e ritornando dalle funzioni.

Che ne pensi?

EDIT: In realtà quello che ha detto è "C ++ non è molto diverso da PHP"

    
posta gprime 08.11.2010 - 14:32
fonte

7 risposte

23

Come qualcuno che è passato da PHP a C ++ (anche se limitato al C ++) quando ho iniziato a scrivere C ++, ho spesso pensato "Wow, questo è molto simile a PHP". Quando si considera che PHP stesso è scritto in C, e ogni volta che gli sviluppatori dovevano affrontare una decisione progettuale che non potevano risolvere internamente, la risposta finale finiva quasi sempre con "Do it like C ++" non è davvero una dichiarazione assurda.

La tua risposta sulla gestione della memoria e sull'ordinamento della matrice / qualsiasi cosa sia una non-starter. Questa non è una risposta PHP / C ++, è un C ++ con librerie zero rispetto a qualsiasi altro linguaggio popolare in risposta all'esistenza. Mi sembra che tu stia facendo questa domanda per far sì che le persone siano d'accordo con te - che le persone che scrivono C ++ sono molto meglio delle persone che scrivono PHP.

Personalmente, penso che sia un punto di vista folle che non porterà a decisioni sbagliate da parte tua.

    
risposta data 08.11.2010 - 14:44
fonte
19

Sembra un ragazzo del "team lead" (anche uno sviluppatore PHP come il tuo) che mi ha detto che il C ++ "fa schifo, per esempio prende i template". Per quanto provi a non farlo, le linee come quelle di sempre capovolgono il famigerato bozo bit con me.

Il tuo amico ha un ENORME problema qui, ovvero è così sicuro di sé che egli non sa quanto lui non sappia .

Dire che imparare C ++ è facile una volta che sai che PHP è come dire che una volta che puoi guidare un Segway , sarebbe abbastanza facile imparare a utilizzare un Airbus A-380, perché, "sai , entrambi hanno alcune ruote per stare in piedi e sono controllati da avanzati circuiti integrati.

    
risposta data 08.11.2010 - 15:20
fonte
5

Esiste una programmazione come abilità indipendente da qualsiasi lingua, e poi c'è la conoscenza dei costrutti, delle biblioteche e delle convenzioni di una lingua specifica. Puoi essere bravo nel primo e succhiare quest'ultimo (per una lingua specifica) o viceversa.

Senza sapere nulla della tua squadra, non possiamo dire se sarebbero bravi in C ++. E ci sono vari modi per scrivere anche C ++, dato che alcune persone si bloccano 20 anni fa senza le librerie stdlib, boost, altre, o anche senza le caratteristiche del compilatore che tutti gli altri danno per scontate.

Tuttavia, ci sono molti problemi con C ++ e come qualcuno che lo ama e lo odia, ma lo ha ancora per il conteggio più alto su SO, sarò il primo ad ammettere che a volte fa schifo. Poi di nuovo, più conosci una lingua, più scopri come fa schifo. Se c'è qualche strumento in cui ti consideri un esperto, non puoi nominare almeno 10 modi in cui è rotto, inadeguato o semplicemente lo odi ...:)

    
risposta data 08.11.2010 - 14:45
fonte
4

Sembra che tu abbia chiamato un bluffer (mi riferisco al fatto che non poteva eseguire il backup della sua dichiarazione) :). Questo non è niente male se è fatto educatamente, con rispetto e con valore tecnico.

    
risposta data 08.11.2010 - 14:45
fonte
2

Penso che il tuo "lead developer" dovrebbe prendere in considerazione un'altra linea di lavoro. Seriamente, però, questo post usenet che ho visto un anno fa su C ++ dice tutto:

I don't know about you, but there's something really scary to me about a language where copying state from one object to another is this complicated. By now, I suspect at least a dozen or two programmers have contributed something new to this discussion. If it takes this many programmers to write a simple assignment operator, think how complicated writing code that actually does something meaningful must be!
    
risposta data 08.11.2010 - 14:45
fonte
1

Proprio come un primo pensiero, potrebbe riferirsi agli stili sintattici. Sì, ci sono alcune differenze nel modo in cui certe cose come la concatenazione delle stringhe e gli array funzionano ma sono abbastanza facilmente apprese. Poi ci sono i puntatori e le cose di quella natura, ma ancora una volta, se hai una solida conoscenza dei concetti base di CS, allora non dovrebbe essere un problema. Non penso che la dichiarazione sia così lontana dal ballpark, ma non sto affatto dicendo che sarebbe facile. C ++ è un linguaggio difficile da affrontare.

    
risposta data 28.11.2010 - 22:55
fonte
1

Perché tutti sono sempre attenti alla gestione della memoria in PHP? Solo perché il linguaggio tenta di eseguire la garbage collection per te, non significa che sia adeguato, e puoi dimenticarlo. La memoria che usi in PHP è importante. Ed è per questo che usi funzioni come memory_get_usage (). Solo perché PHP è molto indulgente e consente di compilare alcune pratiche terribili, non significa che dovresti usare pratiche terribili nella scrittura del codice. La più grande differenza che vedo tra PHP e C ++ sintatticamente è che PHP ha una sintassi meno brutalmente brutta. Se confrontate PHP e C ++ negli scenari che usereste PHP, sono molto simili. Devi solo ricordarti di caricare le tue librerie in C ++, cosa che trovo fastidioso. C ++ fa appello alla mia necessità interiore di controllare ogni dettaglio di esecuzione, però.

    
risposta data 15.08.2012 - 01:49
fonte

Leggi altre domande sui tag