PDA

Visualizza la versione completa : C++: si o no?


signoredeltempo
21-04-2012, 20:19
Salve a tutti,

Ho profonde conoscenze di html, css, javascript e qualcosa di bash. Per quanto riguarda l'OOP conosco gli oggetti, classi.
Vorrei iniziare a studiare il C++, in quanto è un linguaggio che mi affascina molto, per la sua potenza, sintassi ecc.
Solo che a pensarci bene, sorgono dei dubbi del tipo: è adatto alle mie capacità?
Premetto che sono a conoscenza del fatto che un linguaggio è sempre un linguaggio, e bisogna dedicarvi attenzione, serietà, severità ma soprattutto rispetto.
Mi è stato consigliato Java, ma su questo linguaggio ho molto da ridire.
Ci sono degli aspetti di Java, che proprio non mi vanno giù: come ad esempio il fatto di essere interpretato (lento) e quindi dipendente dalla Jvm.
Ovviamente questo, è anche un vantaggio in quanto permette anche la multi piattaforma, sempre che il computer abbia installato Java, altrimenti nulla.
Ma anche C++ è multi piattaforma, sempre che non si utilizzino librerie dedicate come windows o winsock, e basta ricompilare con un compilatore specifico per il sistema.
Un altro aspetto di questo linguaggio sono i socket, mi piacciono molto i client/server, come ad esempio chat ecc.
Anche C++ può farlo.
Però, imparando bene il C++ non avrei nessun problema negli studi futuri come per lo stesso Java, PHP, JSP, C# ecc.

Spero in risposte il più dettagliate possibili, in modo da colmare tutti questi miei dubbi a riguardo.

Vi ringrazio per la gentile attenzione,
Cordialmente,
signore del tempo.

oregon
21-04-2012, 20:24
E' praticamente impossibile risponderti dato che le "variabili" in questioni ci sono del tutto sconosciute.

signoredeltempo
21-04-2012, 20:30
Cosa intendi per variabili?
Avevo molto da scrivere, ed ho tagliato, per evitare un lettura eccessivamente noiosa.
Sei libero di chiedermi tutto quello necessario per fornirmi una risposta.

Scara95
21-04-2012, 20:34
Praticamente in tutti i linguaggi si può fare tutto, se vuoi un linguaggio educativo ti consiglio di studiare un linguaggio funzionale tipo haskell o ocaml oppure scala o clojoure (questi ultimi 3 sono ad oggetti e gli ultimi 2 girano su jvm disponendo di tutte le librerie per java), se vuoi un linguaggio potente e versatile il c++ va benissimo ma devi stare attento a come lo impari, un semplice tutorial su internet rischia di darti informazioni sbagliate e poco antendibili (per i linguaggi funzionali esistono ottimi libri free online) questo posso dirti, se aggiungi altri informazioni e cosa vorresti da questi linguaggi posso essere più preciso. Ciao =)

Tutti i linguaggi citate sono perfettamente adatti ad un uso reale e forse più potenti del c++ in molti campi, pur perdendo drasticamente in altri. Forse un po' meno usabile è l'ocaml.

oregon
21-04-2012, 20:39
Originariamente inviato da signoredeltempo
Cosa intendi ...

un esempio per tutti

"Solo che a pensarci bene, sorgono dei dubbi del tipo: è adatto alle mie capacità?"

Che possiamo sapere noi delle tue "capacità" ? Come fai a chiedere ad altri che non ti conoscono e non sanno nulla di te, se un qualcosa è adatto alle "tue capacità" ?

signoredeltempo
21-04-2012, 20:42
Ovviamente studierò su un libro cartaceo, quasi sicuramente "C++ fondamenti di programmazione" e successivamente "C++ tecniche avanzate" (o come si chiama).
Cosa deve fare questo linguaggio per me?
-OOP;
-Socket;
-Compilato;
-Multi piattaforma;
-potente; (capitan ovvio :bhò: )
-C like;

Per ora questo mi viene in mente, in caso ricordi qualcos'altro, lo scriverò.

@oregon
Per capacità intendevo per le mie conoscenze attuali. Scusa, mi sono espresso male.

torn24
21-04-2012, 20:46
Ognuno puo darti una sua opinione personale, ma questa non è detto che si adatti a te.

la mia opinione personale di un programmatore amatoriale .

il c++ , lo considero il migliore linguaggio attualmente disponibile , ma dopo aver fatto una breve panoramica sul linguaggio , ho deciso di non impararlo , perchè il suo apprendimento , anche a livello basilare , è notevolmente più difficoltoso , rispetto ad altri linguaggi ,
lo stesso approccio alla oop è più complicato e meno intuitivo .


il fatto che un linguaggio sia pre compilato "interpretato " come java , non è un punto di
demerito , prova è il grande successo che ha avuto java stesso , attualmente sono disponibili con i linguaggi net , una marea di linguaggi "interpretati" , anche lo stesso c++
puo reallizzare aplicazioni net.

la mia conclusione , dai uno sguardo ai vari linguaggi disponibili , e prova a fare semplici
programmi , magari basta un hallo world , poi scegli il linguaggio che ti piace di più , a tuo
giudizio personale, qualuque linguaggio tu scelga ,"a meno che tu non scelga GWbasic :)" , ti
permetterà di realizzare ,quasi tutto .

Scara95
21-04-2012, 20:52
Java ti può dare buone possibilità, inoltre nelle ultime implementazioni c'è una compilazione JIT (just in time) quindi in realtà anche se compilato in bytecode viene eseguito come nativo. Java inoltre ha potenzialità server molto più curate e sviluppate.
Io se fossi in te guarderei anche scala, anche se non ha una sintassi C-like.
Per il c++ buone librerie multipiattaforma che potresti usare sono wxWidgets o le qt.
Dai un'occhiata a tutto e a tutti gli aspetti, poi scegli quello che ti piace di più, la scelta del linguaggio e personale ed inoltre devi valutare l'uso che ne faresti.

P.s. scala gira su jvm come java e può usare le sue librerie...

Who am I
21-04-2012, 20:57
L' ho sperimentato sulla mia pelle: C++ ha degli aspetti che sono così difficili da gestire, che hai bisogno prima di un po di OOP ma non solo, anche un pò di esperienza con linguaggi simili al C++, come ad esempio Java o C.
Io non ho mai studiato Javascript e non so come sia fatto, ma presumo ci sia anche un po di OOP.Se hai le basi dell' OOP in teoria potresti partire da C++, ma dico in teoria perché se non hai le conoscenze di base ti tocca studiare cose che faresti in C.
Ad esempio:



char temp[100];
char* ptr=temp;
for(int i=0;i<10;i++)
{
ptr++;
}


Questo è C++ ma anche C: la sintassi è accettata da un compilatore C99.
Hai un' idea di cosa accade in questo for? Se non è così ti dico che prima di iniziare a provare appieno le funzionalità del C++ ne passerà di tempo.
Puoi partire dal C++ ma essendo consapevole del fatto che è "pesante" da imparare.

signoredeltempo
21-04-2012, 21:25
Originariamente inviato da Who am I
L' ho sperimentato sulla mia pelle: C++ ha degli aspetti che sono così difficili da gestire, che hai bisogno prima di un po di OOP ma non solo, anche un pò di esperienza con linguaggi simili al C++, come ad esempio Java o C.
Io non ho mai studiato Javascript e non so come sia fatto, ma presumo ci sia anche un po di OOP.Se hai le basi dell' OOP in teoria potresti partire da C++, ma dico in teoria perché se non hai le conoscenze di base ti tocca studiare cose che faresti in C.
Ad esempio:



char temp[100];
char* ptr=temp;
for(int i=0;i<10;i++)
{
ptr++;
}


Questo è C++ ma anche C: la sintassi è accettata da un compilatore C99.
Hai un' idea di cosa accade in questo for? Se non è così ti dico che prima di iniziare a provare appieno le funzionalità del C++ ne passerà di tempo.
Puoi partire dal C++ ma essendo consapevole del fatto che è "pesante" da imparare.
JavaScript è completamente differente, una variabile si dichiara con var e basta. Senza specificane il tipo, che sia intero(int), testo (char) e così via.
Però essendo c-like il for funziona allo stesso modo.
Leggendo qualche programma in C++ capisco alcuni argomenti, come ad esempio le iterazioni, ma ovviamente, non conoscendo il linguaggio non riesco a "leggerlo".
Proprio per questo ci sono i manuali che in teoria, dovrebbero spiegare come programmare.

Loading