Newsgroup: it.comp.lang.c
Titolo: Libro

e un buon libro ?

 e un buon libro ?
Ehm, č una battuta? Dal titolo credo che il libro sia molto esauriente
sull'argomento C :-)

 wrote in message
tBzJ6.9947$DF1.2...@news1.tin.it...


e un buon libro ?
Nel senso di "e" congiunzione ?
Finquando non avrai spiegato il senso della tua frase rimarro' con
questo dubbio atroce...

Per cominciare da zero, puoi dare un'occhiata a Tricky C
(
www.aspide.it/trickyc
), parte da zero ed e' disponibile sia on-line che per
il download (sia pdf che doc, mi pare). 
Spero di esserti stato utile...
-- 
Posted from 
sfw.lib.disco.unimib.it
 [149.132.196.251] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 wrote in message
3af7bfea...@news.libero.it...


 Spero di esserti stato utile...
Consiglio di evitare il libro in questione. E' pieno zeppo di errori e
tratta parecchi argomenti non standard.
Ciao.

 Basic al C".
Su 
www.programmazione.it
 puoi trovare qualcosa di interessante sul
linguaggio.
Inoltre se cerchi su internet con un qualsiasi motore di ricerca puoi
trovare "introduzione alla programmazione in C". E' semplice, ma allo stesso
tempo completo.
Comunque personalmente non conosco nessun libro che insegni a programmare,
tanto meno una scuola. D'accordo che senza un po' di
teoria non si va avanti, ma la pratica č quella che conta di piů.
Ciao.

teoria non si va avanti, ma la pratica è quella che conta di più.
La pratica e' nulla senza la teoria.

 La pratica e' nulla senza la teoria.
E viceversa.
EMG

 La pratica e' nulla senza la teoria.
Non mi sembra di averlo detto: "d'accordo che senza un po' di teoria non si
va avanti, ma la pratica e quella che conta di piů".
Si possono sapere a memoria tutte le funzioni standard del C - compresi i
paramatri che ricevono - e poi non riuscirle a mettere in pratica.
Secondo me la cosa piů importante da fare quando si comincia č molta
pratica.
Ciao.

pratica.
Il principio di base, che spero non sia sconosciuto a nessuno, e' che
si parte dalla teoria per arrivare alla pratica.
Chi sostiene equivalente il percorso inverso e' qualcuno che non ha
capito bene come si costruisce il software.
Quasi tutti coloro che iniziano a programmare lo fanno partendo dagli
esperimenti pratici con un certo linguaggio di programmazione, ma
prima o poi devono frenare, fare qualche passo indietro, leggere
qualche buon testo sulle tecniche di programmazione e continuare.
Nessuno esclude l'utilita' della pratica, come si potrebbe ?
Ma senza dei buoni concetti teorici di base, non si riesce a fare un
granche' di significativo, specie quando si affrontano progetti di una
certa dimensione.
--
Walkie...@Libero.It (ICQ# 8143647)

 certa dimensione.
Hai ragione. E' sempre meglio clonare i  progetti degli altri piuttosto che,
provando e riprovando, ottenere qualcosa di nuovo. :-)
Secondo me, col tempo, troppa teoria può "rincretinire" le capacità di un
programmatore.
Esempio: secondo la teoria di molti libri l'utilizzo di goto è da evitare al
100%. Se uno facesse un po' di pratica si accorgerebbe che in certi casi,
come un eventuale uscita  da cicli nidificati, rappresenta la migliore
soluzione.
Come dice il proverbio: lo studio è comparabile al fumo in aria senza
lavoro.
Sfortunatamente spesso si è avvezzi a imparare gli stili,le soluzioni, le
teorie del prof. o del libro di testo. Questo per me non va bene. Si rischia
di rimanere fissi sui concetti che si imparano e disprezzare le cose degli
altri.
Sapere che un sistema operativo non è cosa semplice da realizzare in sé non
mi dice alcunché.
Lo imparo e ogni volta che qualcuno mi farà la domanda "è semplice scrivere
un OS" io risponderò no senza conoscerne nemmeno i motivi. Sapere inoltre
che per farlo devo operare con X elementi mi dice ancor di meno.
Potrò dire di no solamente nel momento che ci avrò effettivamente provato e
avrò capito che è cosa relativamente facile scrivere il kernel, ma non la
grafica e l'interfacciamento con le periferiche.
Non mi servirà a nulla sapere solo teoricamente - senza averci mai provato -
che l'interrupt xxh comunica con la scheda yyysound.
Molto spesso parliamo di microchip senza sapere veramente come è stato
realizzato e perché il suo ideatore non l'ha fatto seguendo il modello che
hanno pensato altri prima di lui.
Nella storia abbiamo avuto molti inventori che senza avere nessuna
conoscenza fisica hanno ipotizzato l'esistenza dell'atomo che, secondo la
meccanica classica, non può esistere. Molto probabilmente non avrebbero
avuto queste intuizioni se avessero imparato i concetti classici.
Eppure sono arrivati a cose sconosciute solamente tramite la sperimentazione
scientifica, che può benissimo essere classificata col nome di pratica.
Sicuramente i professori che utilizzano il principio "io so la materia e
fate quello che dico" non servono a niente.
es:
    int a;
    int b = 10;
    int c = 10;
    int d  = 10;
    /* qui vi era un altro codice */
    if( /* condizione */) {
                statement1;
                statement2;
    }
Questo era un porzione di programma che avevo scritto in 3 superiore.
La correzione del prof era stata:
"per prima cosa la dichiarazione di variabili su più righe fa diminuire
l'efficienza del programma in prestazioni e velocità. Aggiungerei inoltre
dei commenti dopo ogni istruzione come "dichiara quattro variabili intere"
"inizio del'if" "fine dell'if". Ricorda anche che mettere le parentesi
graffe dopo l'if è un errore di stile.
Mi dispiace, ma sono errori che solo un handicappato può commettere, quindi
più che 5 e mezzo non posso darti".
In un altro test -'sta volta teorico- c'era una domanda "secondo te è
possibile arrivare alla realizzazione di un software intelligente". Io avevo
scritto di sì motivandone la risposta.
Il professore me l'aveva contrassegnata come sbagliata perché secondo lui
non era possibile, e dato che io ero - anzi sono perché ce l'ho ancora
adesso -, non ho l'intelligenza per pensare qualcosa che differisce da
quello che studio o dai suoi appunti.
Anche se non dovrei mi permetto di dire che il prof. avrà studiato molto, ma
facendo poca pratica, alla fine si dimentica o "distorce" quello che ha
imparato. Basti pensare che si era proposto di insegnarci il sistema per
copiare due cd senza masterizzatore, ovvero sovrapponendoli su una calamita
e farli ruotare sincronicamente. Se avesse fatto un po' di esercizio non
avrebbe detto una cavolata del genere o comunque l'avrebbe esposta un po'
meglio. :-))
Se questa è la teoria che ho a disposizione preferisco lavorare per conto
mio.
Ciao.

 mio.
Non devi farti condizionare da un'esperienza negativa di questo genere.
EMG

mio.
Difatti questa NON e' la teoria che intendo io.
Mi spiace per te, mi sembra che tu abbia studiato all'universita' di
Paperopoli.
--
Walkie...@Libero.It (ICQ# 8143647)

 wrote in message
3afa803...@news.libero.it...


 Paperopoli.
Fortunatamente è solo una superiore.
Ciao.

osservazione.
Perche', ripeto, la fisica e' una scienza empirica.
Non confondiamola con l'informatica.
--
Walkie...@Libero.It (ICQ# 8143647)

 quanta esperienza aveva?
Aveva ragione. I puntatori sono da utilizzare solo quando effettivamente
necessari. Peccato che in C siano necessari abbastanza spesso...
EMG

 (per es.: classi con forti astrazioni).
Mi pare ci sia un valore di soglia al di sopra del quale il codice
altrui viene considerato accettabile. Ad esempio, difficilmente si
accetta una funzione di poche righe senza rimetterci le mani sopra
mentre chi mai si riscriverebbe le MFC o le VCL?
EMG

 s.....e.
Senza  andare  nell'estremismo,  e`   invece  un  buon  insegnamento. Il
concetto di  `riusabilita` del codice'  e` fondamentale: sapere  che non
bisogna  sempre  reinventare  la  ruota significa  risparmiare  tempo  e
risorse preziose (specie in progetti complessi).
Altrimenti le librerie  di funzioni a cosa  servirebbero? Od anche tutte
le varie librerie di base del C? In fondo una printf e` una write: te ne
puoi scrivere una  versione anche tu, ma  a che pro, quando  ne hai gia`
una a disposizione?
Imparare ad  ammettere i propri  limiti e' una delle  tappe fondamentali
per crescere, non solo come programmatore, ma come persona.
Bye,
 Emmanuele.
-- 
Emmanuele Bassi         |             [ 
http://digilander.iol.it/ebassi/
 ]
emmanue...@iol.it
  |
GnuPG Key fingerprint = 4DD0 C90D 4070 F071 5738  08BD 8ECC DB8F A432 0FF4

 ha scritto nel
messaggio news:22433681F68AD3118E3D00A0C9B1F84A0127628F@SCS...


 posizione piuttosto controproducente, nella maggior parte dei casi.
No. Può essere molto utile per capire quali sono veramente le tue capacità.
Io sono riuuscito a capire che avrei fatto molto meglio a fare qualcos'altro
di più produttivo, piuttosto che l'informatica, tanto più che il mio stesso
professore mi dava dell'handicappato.
Ciao.

s.....e.
detta in questo modo non è certo una bella cosa. Cmq se ci pensi bene
è il principio base dell'opensource/GPL...
Anto
--
Antonio Cuni, 19 anni, studente
Brainbench Certification: 
Master C++: 4.6, higher than 98% of all previous test takers.
C Language: 3.32, higher than 79% of all previous test takers.
http://www.brainbench.com/transcript.jsp?pid=1301688


Sì, ma queste politiche sono sviluppate in modo da far aumentare le
potenzialità del codice sorgente "open" sottoponendolo alle modifiche dei
programmatori che lo utilizzano.
Sicuramente non posso pensare di copiare i codici di Linux, salvare i file
con altri nomi e rivenderli al pubblico con la scritta Linux2 of Francesc.
Se uno si comporta così mi sa che come programmatore non vale una cicca.
Magari come scroccone sì.
Ciao.

professore mi dava dell'handicappato.
Questa non l'ho capita...
--
Walkie...@Libero.It (ICQ# 8143647)

Magari come scroccone sě.
Non hai capito di cosa si sta parlando con "riuso" del codice.
L'Open Source nasce per condividere tra i programmatori delle
particolari tecniche di programmazione.  Non c'e' nessun problema se
un programmatore copia un algoritmo, lo studia, lo implementa a modo
suo.  Open Source significa esattamente questo.
--
Walkie...@Libero.It (ICQ# 8143647)

Magari come scroccone sě.
Non lo potresti fare.. infatti sarebbe una violazione della GPL.
Augusto Pucci ( 
http://www.prospektiva.it/webmaster/
 )
Webmaster di Prospektiva On-line
http://www.prospektiva.it
Webmaster di SIPO Toscana
http://sipotoscana.supereva.it

 stesso risultato.
Non proprio. Nel momento in cui la libreria originale viene aggiornata
il tuo programma non beneficierà, nel migliore dei casi,
dell'aggiornamento. Nel peggiore cesserà di funzionare...
EMG

dell'aggiornamento. Nel peggiore cesserà di funzionare...
Stiamo parlando di Open Source.
Mi sto riferendo al caso specifico della Jedi Code Library, un
progetto Open Source, di cui, quindi, si conoscono i sorgenti.
Se linko una unit .pas in cui e' implementata una funzione, per usare
SOLO quella funzione, e' come se copiassi il codice di quella funzione
e lo incollassi nel mio.  Ai fini del risultato non cambia nulla.
--
Walkie...@Libero.It (ICQ# 8143647)

 suo.
E' qua che ti volevo, "lo implementa a modo suo", ma non si limita invece a
copiarlo per poi rivenderlo al pubblico spacciandolo come proprio.
Ciao.

 e lo incollassi nel mio.  Ai fini del risultato non cambia nulla.
Se però esce una versione aggiornata di quella unit che fai, vai a
sostituire in tutti i tuoi programmi tutti i pezzi che hai
copiato/incollato?
EMG

copiato/incollato?
scusate se mi intrometto, ma credo che EMG abbia capito male il senso
delle parole di Walkietalkie. Egli dice (pressapoco): "Devo scrivere
un determinato pezzo di codice. Qualcuno lo ha già fatto per conto
mio; grazie, lo prendo e lo incollo." A quel punto il suo programma
funziona e gli basta quel pezzo che ha preso. Anche se la libreria
venisse aggiornata, a che gli servirebbe "aggiornare" i copia/incolla
dei suoi sorgenti, visto che vanno già bene così?


 dei suoi sorgenti, visto che vanno già bene così?
Si, allora avevo capito male.
EMG