C o c++?

Domenico94reggio
Ciao a tutti. Premesso che ho delle infarinature di java, conosciuto all università, ed, ahime, odiato, per diversi motivi, da qualche settimana sto pensando di appredere un nuovo linguaggio di programmazione come il c o il c++( le opportunita lavorative sono leggermente inferiori al Java, ma sono sempre linguaggi usati e diffusi. )
Quello che vorrei chiedere é': considerando anche che molte aziende richedono in programmatore (C/c++), tra I due quali darebbe piu opportunita lavorative?È vero, come spesso sento dire, che il C++ sta praticamente soppiantando il C, anche se questo ultimo ha applicazione nei sistemi embedded?Quale consigliereste di imparare meglio?

Risposte
apatriarca
Dal punto di vista di compilazione e debug non ci sono sostanziali differenze tra i due linguaggi. I tool usati sono infatti praticamente gli stessi. Non è vero che il C++ porta a creare facilmente errori. Probabilmente non hai configurato correttamente il tuo ambiente di sviluppo. Non ho mai sentito parlare di Quincy.. Potresti dirci esattamente i passaggi che hai fatto per configurare l'ambiente di sviluppo, il codice usato per fare i test e gli eventuali errori forniti dal compilatore?

walter.ruggeri.3
La questione è che i compilatori C++ sono stati per lungo tempo molto carenti nell'implementazione, e molti di essi ancor oggi risentono di queste mancanze...

vict85
Non capisco di cosa tu stia parlando sinceramente.

Cronovirus
Ma di cosa stiamo parlando? Di come è più facile fare "hello world"? :)

walter.ruggeri.3
"vict85":
Non capisco di cosa tu stia parlando sinceramente.


Il richiedente ha scritto:

"Nikola_Tesla":

In ogni caso, sto provando a far girare "hello world"in C++, su due compilatori diversi, Il risultato é che non funziona nulla, mi crea problmo con le librerie e dice che manca Il compilatore, che peraltro ho installato.


Ora, è arcinoto che la compatibilità tra certi compilatori C++ è tutt'altro che garantita, e io ho personalmente, tempo addietro, verificato il presentarsi di simili errori come sintomi di problemi di compatibilità. Dunque, ritengo che, al di là dei possibili errori di configurazione dell'ambiente di programmazione, possa esserci qualche problema di compatibilità tra i due compilatori che ha usato, e dunque il codice scritto per uno non funzioni per l'altro.

Se così non fosse (errare è umano, e in ogni caso non sono stati forniti molti dati in base ai quali valutare), comunque, il mio intervento non perderebbe di opportunità: è giusto che, prima di iniziare lo studio di un linguaggio, si sappia bene quali problemi "storici" esso porta con sé.

apatriarca
Prima di iniziare a porsi possibili problemi di compatibilità dei compilatori C++ inizierei a considerare le cause più probabili:
1. Il programma "hello world" che Nikola_Tesla ha provato a compilare non è corretto. Esistono guide e codici inguardabili e non validi su internet (e anche in molti materiali di corsi di laurea).
2. I programmi non sono stati configurati correttamente.

I problemi di compatibilità ci sono, ma sono spesso dovuto a funzionalità non standard introdotte da qualche compilatore in totale autonomia dagli altri oppure funzionalità standard più o meno recenti. Qualche compilatore è più lento di altri ad aggiornare il proprio supporto agli standard. Ma se parliamo di C++ base come un hello world allora non esiste alcuna possibilità che il problema possa essere dovuto al compilatore.

Domenico94reggio
IL codice che ho usato è preso da wikipedia, non so poi riguardo la compatilibità:

#include // per EXIT_SUCCESS
#include // per std::cout e std::endl

int main()
{
std::cout << "Hello World!" << std::endl;

return EXIT_SUCCESS;
}


adesso in quincy funziona, non so perchè....Comunque, a parte questo, è cosi difficile effettuare un debug in C++ rispetto al C, o è solo una mia impressione????

Cronovirus
Come lo hai debuggato?

apatriarca
E' solo una tua impressione. Di fatto vengono usati praticamente gli stessi strumenti per entrambi i linguaggi. Il linguaggio in generale meno supportato nella sua versione attuale è in effetti il C e non il C++.. Oltretutto avresti anche potuto usare lo stesso codice che hai usato per il C per quell'hello world e sarebbe stato un codice C++ perfettamente valido. Se quel codice da problemi (e sarebbe utile sapere quali errori o problemi ti fornisce) allora hai molto probabilmente un problema di configurazione.

Domenico94reggio
Si, infatti.....Con quincy infatti funziona,con CodeLite non parte nulla....Comunque, se continuassi adesso col c++, potrebbe crearmi dei problemi di debugging dati dal fatto, che il C++ per esempio, ha un tipo di linguaggio che richiede dal contesto in cui si scrive, diversi compilatori possono cambiare di molto sullo "stile di programmazione" da usare, con quel linguaggio, ecc... :oops: ? Se si, sono problemi risolvibili, per cosi dire, "facilmente"? Grazie ancora per la disponibilità comunque :)

vict85
Il problema sarà che codelite non vede il compilatore. Non confondere comunque compilazione con il debugging. Comunque non direi che i compilatori cambiano in modo significativo il tuo stile. Anche perché se vuoi avere codici portabili le espansioni le eviti.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.