PDA

View Full Version : [C\C++] e autogratificazione


xblitz
15-11-2007, 18:20
Ciao a tutti!, che ne pensate del titolo? curioso o no?...
Allora frequento un ITIS e sono al 4o anno, ad informatica abbiamo usato solo il C ed è per questo che ora mi piacerebbe sentire qualche parere.

Proprio ieri sera stavo leggendo una discussione nella quale un utente affermava che per gli autodidatti la cosa + importante è tenere alto il morale, pertanto suggeriva di partire da linguaggi come il Java o il Python.

Io è dall'anno scorso che programmo in C e detto francamente mi sono un po stufato: ho anche paura delle stringhe :(

vorrei sapere come devo prendere questa esperienza: se come una sorta di gavetta che mira a costruire delle fondamenta sulla cui base dovrò costruire il mio futuro di programmatore o se questo è un segnale che sta ad indicare che non sono tagliato per fare il programmatore (considerate che nelle esercitazioni che mi danno benché porti sempre a termine il lavoro fatto non sono uno che si distingue e ormai mi stanno stufando pure quelle)

vi prego rispondete anche perché tra un po dovrò farmi un'idea sull'università e non vorrei prendere una strada sbagliata... a tale proposito credete che mi potrei schiarire un po le idee se cominciassi a dare un'occhiata a dei linguaggi tipo Java che permetta di darmi una certa autogratificazione, come già detto non vorrei scoprire di aver imboccato la strada sbagliata...

:help:

nico88desmo
15-11-2007, 19:04
Mi sono iscritto quest'anno all'università in ing.Informatica.
Ora sto frequentando il corso di "Fondamenti di Informatica" che consinste (in poche parole) nella programmazione a livello base. Si utilizza come linguaggio di programmazione il Java.

Io ho fatto molto C alle superiori, (ho fatto anche programmazione OO per quello :p) e ti posso dire che se impari bene questo linguaggio, sei a cavallo anche per il futuro.
Ora che sto passando al java, molte cose che in C erano "una rottura" (proprio le stringhe) ora sono alquanto semplici (ma si sa che il C non è stato fatto per le stringhe ;) )

Comunque sia...ora come ora pensa a prendere il diploma in Informatica...per l'Università hai tempo ancora. :)

xblitz
15-11-2007, 20:17
Io ho fatto molto C alle superiori, (ho fatto anche programmazione OO per quello :p) e ti posso dire che se impari bene questo linguaggio, sei a cavallo anche per il futuro.


Intendi a livello sintattico-semantico o il modo di "ragionare per implementare in C"


Comunque sia...ora come ora pensa a prendere il diploma in Informatica...

su questo non ci piove


per l'Università hai tempo ancora. :)


bhe! a me piacerebbe farla subito dopo il diploma sennò poi tanto lo sò come va a finire: non mi metto più sui libri, e siccome vorrei fare qualcosa fino in fondo per non ritrovarmi poi nel bel mezzo del percorso di studi a dover abbandonare\cambiare il tempo si c'è però non vorrei ritrovarmi all'ultimo con questo dubbio atroce... :mc:

-Slash
15-11-2007, 20:19
guarda io facevo lo scientifico e volevo iniziare da solo a programmare. mi consigliarono il c: un linguaggio che secondo me è una rottura di palle enorme :rolleyes: specialmente per la sintassi, quando programmi in c non pensi a programmare, pensi a non sbagliare sintassi :rolleyes:

in fondamenti di informatica a ingegneria informatica stiamo studiando invece il c++, di cui mi sono innamorato :D in special modo per l'overloading delle funzioni che sono una manna dal cielo :)

xblitz
15-11-2007, 20:38
Si so cosa intendi: per tutto l'anno scorso era anche per me così, quest'anno almeno per la sintassi va meglio... Io credo che il C serva per farsi la gavetta: mi è capitato sottomano un linguaggio di programmazione (blitz basic) nel quale vi sono le strutture del C... prima che le studiassi non c'ho capito una mazza, poi...

però come ho detto vorrei sapere se penso giusto e come vi siete ritrovati voi: non vorrei arrivare ad odiare la programmazione in generale, anche in altri linguaggi :rolleyes:

qwerty86
15-11-2007, 21:47
Allora ti parlo in base alla mia esperienza. Anche ho il diploma di perito informatico (ITIS) e anche io come te ho usato C e addirittura anche PASCAL agli inizi , e mi sembrava tutto molto scocciante. Ora sono iscritto a Informatica e la mia conoscenza aumenta ogni giorno di più e tutto quello fatto alle superiori è stato utilissimo , non tanto imparare i linguaggi ma il modo di programmare , di ragionare ...non so se mi sono spiegato! Spero di esserti stato d'aiuto.

marko.fatto
15-11-2007, 21:53
Allora frequento un ITIS e sono al 4o anno, ad informatica abbiamo usato solo il C ed è per questo che ora mi piacerebbe sentire qualche parere.

Come me :cincin:

Io mi son studiato per i fatti miei Java (le basi) e adesso mi sto buttando a capofitto in ruby che mi attira molto di più... prova anche te, ogni cosa nuova che impari è qualcosa che ti può tornar utile

k0nt3
16-11-2007, 10:11
quello che studi a scuola non è mai gratificante, prova a fare qualcosa per conto tuo
non è questione di linguaggio

tglman
16-11-2007, 18:57
Bè ... il c è un pò una rottura ;) però con quello lavori sulla macchina .. e pensi per la macchina .... io ho fatto ITIS, c è c++ dopo per grtificarmi un pò sono passato a visual c ... e poi a java ... adesso lavoro in java è in amatoriale ho continuato a scrivere programmi sia in ANSI C ... che per fare qualcosa di serio impazzisci ..... sia in C++ "estremo" che è molto più gratificante.

e devo dire che la conoscenza del C mi è stata troppo utile .... cioè, spesso trovo in giro in java istruzioni errate o comunque inutili che riesci a capire veramente che sono inutili solo se conosci i puntatori ;) è i puntatori li studi in C ;)....

e poi avendo lavorato in c quando scrivo un pezzo di codice riesco a capire che succede alla macchina ... cosa scrive nella memoria ... cosa alloca cosa disalloca .....
sono cose che gli altri linguggi nn ti fanno proprio capire ....

nn è vitale sapere queste cose per saper programmare ... però se le sai il pc nn sara più un mistero!

xblitz
16-11-2007, 20:30
quello che studi a scuola non è mai gratificante, prova a fare qualcosa per conto tuo
non è questione di linguaggio

Innanzitutto grazie, ma cosa potrei fare? di librerie non ci hanno insegnato nulla a parte un po la conio :Puke: e la winbgim :rolleyes:... cosa cavolo potrei fare? le librerie si trovano, ok, però non saprei proprio su cosa lavorare :stordita:


nn è vitale sapere queste cose per saper programmare ... però se le sai il pc nn sara più un mistero!

Bhe! ho scelto di fare l'ITI anche per questo :)

Cmq dalle risposte che mi state dando mi pare di capire che i linguaggi non sono tutti così tremendi come il C (per fortuna) e che in seguito, quando approderò ad altri linguaggi quello che stò facendo ora mi sarà utile per capire
"come funzionano" le cose dietro le quinte... !!

@marko.fatto
:cincin:
anche a me sarebbe piaciuta l'idea di buttarmi su Java, xò avevo paura di sfasarmi sulle classi, ma adesso c'ho dato un'occhiata (a quelle del C++) e quasi quasi...

AnonimoVeneziano
16-11-2007, 20:47
molti pensano che vale la pena di iniziare con un linguaggio di programmazione orientato agli oggetti perchè adesso è il paradigma di programmazione dominante e iniziare a pensare subito ad oggetti è un vantaggio. Secondo molti iniziare con il paradigma procedurale (vedi C ) e poi approdare a quello ad oggetti è difficile perchè la mente pensa in maniera procedurale e rieducarla ad oggetti può essere faticoso.

Per quanto riguarda la MIA idea devo dire che non lo so. Non sono pedagogo, quindi non conosco nessuna teoria sull'apprendimento. Io ho iniziato dal C e poi a sono passato agli altri linguaggi e sinceramente non ho idea se ho fatto più o meno difficoltà ad apprendere il ragionamento ad oggetti. (non so neanche se dopo tutto questo tempo l'ho appreso appieno :D )

Fatto stà che se seguiamo il pensiero esposto sopra allora sicuramente iniziare dal C++ è peggio che iniziare dal Java.

A parte la sintassi caotica del C++ ed alcune cose che possono confondere (come l'ereditarietà multipla che permette di creare "Oggetti chimera" o il polimorfismo non abilitato di default sulle funzioni ... etc) la sua natura doppia di linguaggio sia procedurale che ad oggetti può non costringere a sufficienza il programmatore novello a pensare ad oggetti (cosa che invece il Java fa)

Fatti una tua idea e decidi :)

Ciao

xblitz
16-11-2007, 21:32
... oggetti chimera? ... :mbe:
Non so sul da farsi essenzialmente per 2 motivi:
1) ci sono i ritmi della scuola secondo la quale dovremmo fare cio a fine anno
2) non vorrei, iniziando per conto mio entrare in conflitto con quello che andremmo a fare successivamente (farei comunque affidamento ai libri di testo usati a scuola)

Però vorrei provare, se poi la cosa si fa grossa smettere e aspettare...

AnonimoVeneziano
16-11-2007, 21:37
... oggetti chimera? ... :mbe:
Non so sul da farsi essenzialmente per 2 motivi:
1) ci sono i ritmi della scuola secondo la quale dovremmo fare cio a fine anno
2) non vorrei, iniziando per conto mio entrare in conflitto con quello che andremmo a fare successivamente (farei comunque affidamento ai libri di testo usati a scuola)

Però vorrei provare, se poi la cosa si fa grossa smettere e aspettare...

Certo certo, fai come meglio credi :)

Per la storia degli oggetti chimera ... lascia perdere, mi troverei in difficoltà a spiegarlo :D

-Slash
17-11-2007, 01:30
Si so cosa intendi: per tutto l'anno scorso era anche per me così, quest'anno almeno per la sintassi va meglio... Io credo che il C serva per farsi la gavetta: mi è capitato sottomano un linguaggio di programmazione (blitz basic) nel quale vi sono le strutture del C... prima che le studiassi non c'ho capito una mazza, poi...

però come ho detto vorrei sapere se penso giusto e come vi siete ritrovati voi: non vorrei arrivare ad odiare la programmazione in generale, anche in altri linguaggi :rolleyes:
parere personale: iniziare con il c per poi imparare il c++ è totalmente inutile. ed a quanto pare non lo penso solo io. Il mio professore di fondamenti nella prima lezione: Questo corso è diretto a chi non ha basi di programmazione. Chi ha studiato c alle superiori ehm... lo cancelli :sofico:

k0nt3
17-11-2007, 11:50
parere personale: iniziare con il c per poi imparare il c++ è totalmente inutile. ed a quanto pare non lo penso solo io. Il mio professore di fondamenti nella prima lezione: Questo corso è diretto a chi non ha basi di programmazione. Chi ha studiato c alle superiori ehm... lo cancelli :sofico:
ah beh come se il C++ fosse manna dal cielo :sofico:

marco.r
17-11-2007, 12:12
ah beh come se il C++ fosse manna dal cielo :sofico:

Concordo col commento scritto sopra.
Quando ho studiato il C++ all'universita' (migliaia di anni fa ormai ... :eek: :D) quelli piu' in difficolta' erano proprio quelli che pensavano di sapere il C.

k0nt3
17-11-2007, 13:20
Concordo col commento scritto sopra.
Quando ho studiato il C++ all'universita' (migliaia di anni fa ormai ... :eek: :D) quelli piu' in difficolta' erano proprio quelli che pensavano di sapere il C.
e cosa ti fa pensare che "pensare" di sapere il C++ sia meglio?

marco.r
17-11-2007, 16:37
Il fatto che poi fara' C++ ?
C e C++ sono due linguaggi che si usano in modo sostanzialmente diverso.

edit: Con "pensare" intendevo dire che per forza di cose la maggior parte aveva una conoscenza di base del linguaggio. Ora, se ho una conoscenza di base del C++ posso usarla come base per andare avanti, se le ho del C, molte di queste non mi serviranno, e altre invece saranno "sbagliate", nel senso che il modo idiomatico di fare alcune code in C non e' il modo corretto di farle in C++.

k0nt3
17-11-2007, 20:58
Il fatto che poi fara' C++ ?
C e C++ sono due linguaggi che si usano in modo sostanzialmente diverso.

edit: Con "pensare" intendevo dire che per forza di cose la maggior parte aveva una conoscenza di base del linguaggio. Ora, se ho una conoscenza di base del C++ posso usarla come base per andare avanti, se le ho del C, molte di queste non mi serviranno, e altre invece saranno "sbagliate", nel senso che il modo idiomatico di fare alcune code in C non e' il modo corretto di farle in C++.

non c'è niente di _sbagliato_ in quello che si fa in C, ma c'è qualcosa di _diverso_ senza dubbio
detto questo screditare il C in favore del C++ è assolutamente discutibile, anche perchè di pratiche "scorrette" nel C++ ce ne è un'infinità (tra cui tutte quelle presenti nel C)
però se proprio deve studiarlo... allora un pò di pratica non fa male

marco.r
18-11-2007, 01:23
non c'è niente di _sbagliato_ in quello che si fa in C, ma c'è qualcosa di _diverso_ senza dubbio

Ma infatti io non sto dicendo che e' sbagliato quando lo si fa in C, ma e' che e' sbagliato fare la stessa cosa in C++ quando c'e' una alternativa migliore.