Quanto dista il percorso da Java a C / C ++? [chiuso]

3

Voglio scoprire quanto sia facile o difficile la transizione verso C / C ++ per un programmatore Java di media esperienza.

Ho già letto le domande su "C ++ per programmatori Java" e "È necessario per Java programmatori per imparare alcuni programmi C / System? ".

Tutto sembra molto interessante, ma voglio aggiungere specificamente l'aspetto che ho esperienza anche nella programmazione Python. Sono consapevole che sei in grado di eseguire python sulla JVM con jython , ma penso che fornirà un'esperienza migliore per essere esposto a nuovi concetti e per esplorare le origini di Python. Il mio ambiente di destinazione è principalmente Linux.

Potresti stimare (forse anche raccontare dalla tua esperienza) quanto sarebbe difficile e soprattutto dare un suggerimento se sarebbe meglio andare con C o C ++ per interagire con Python?

    
posta phineas 12.01.2012 - 17:34
fonte

2 risposte

2

C è un linguaggio molto piccolo, quindi qualsiasi programmatore esperto disposto a dedicare abbastanza tempo e tempo dovrebbe essere in grado di acquisire dimestichezza con esso in 3 mesi (ciò include la creazione di progetti medio-grandi che utilizzano la lingua o almeno studiando alcuni creati da programmatori C esperti).

C ++ è una storia completamente diversa, tuttavia, date le sue dimensioni e la complessità delle funzionalità. Non sono così esperto della lingua, ma suppongo che tu abbia bisogno di almeno un anno di lavoro per dire che hai una conoscenza decente della lingua e più di 3 anni per dire di averlo padroneggiato.

Considerando che provieni da Java, sconsiglio anche di saltare C e passare direttamente a C ++, in quanto potresti perdere alcune interessanti informazioni fornite da C.

Per quanto riguarda l'interazione con Python, credo che C sarebbe più facile.

    
risposta data 12.01.2012 - 19:42
fonte
3

Poiché C ++ può utilizzare perfettamente le interfacce C, e C ++ offre molte funzionalità aggiuntive molto utili (al punto che le funzionalità originali di C sono quasi completamente inutili in confronto) non c'è assolutamente alcun motivo per usare C, a meno che non si stia tentando di compilare per una destinazione in cui non esiste un compilatore C ++.

Ora, sarà una transizione difficile. Java e C ++ condividono la sintassi alcuni e questo è tutto. Dovrai diventare intimamente familiare con il dio-terribile, come il modello di compilazione, e il glorioso, come i modelli.

Tuttavia, più fondamentalmente, il C ++ usa una tipizzazione statica, con un strong valore, mentre Java usa una tipizzazione di riferimento relativamente debole, e non esiste virtualmente nulla come il buon codice Java che è anche un buon codice C ++. Inoltre, ci si aspetta che i programmatori C ++ abbiano familiarità con una gamma molto più ampia di tecniche, inclusi modelli di espressioni, interfacce funzionali, ecc. Questo rende un viaggio piuttosto difficile.

    
risposta data 12.01.2012 - 19:44
fonte

Leggi altre domande sui tag