Newsgroup: it.comp.lang.c
Titolo: percorso autoditatta

Ciao a tutti, ho studiato il classico c di base all'universita, sono 
arrivato alla memoria dinamica, quindi liste alberi grafi ecc...
Mi sono reso conto che ora come ora non sono in grado di fare niente di 
"figo", per esempio con grafica, gestione delle porte di un pc,multimedia 
ecc...
Ho letto qualcosa su google su come poter proseguire il percorso formativo 
ma � tutto in inglese e non ci capisco nulla. per esempio esiste un qualche 
libro manuale guida tutorial in italiano che mi possa guidare ad un livello 
piu avanzato del linguaggio c?
grazie mille
ciao ciao 

 piu avanzato del linguaggio c?
Non ti servono maggiori conoscenze del linguaggio, ma devi cercarti (e 
studiare) delle librerie per fare quello che ti serve.
E.

 un livello piu avanzato del linguaggio c?
Il problema dei manuali in italiano è che le traduzioni sono delle zozzerie.
PS Foley è quel catetere che gli infermieri ti mettono perché non hanno 
voglia di portarti il pappagallo?

 E.
ciao grazie della risposta! ho un dubbio, come si studia una libreria? ho 
dato un occhiata sul sito della microsoft msdn ma non ho capito nulla sia 
perche non so bene l'inglese, sia perche non conosco nememno i significati 
di determinate sigle, tipo api mfc o altri paroloni. non sono molto 
preparato riguardo questioni che escono dalla programmazione standard. 
quindi cercavo qualcosa che partisse dalle basi per esempio un 
introduzione(concettuale) alla programmazione con grafica per poi analizzare 
esempi molto semplici e cosi via...
se vi capita di trovare qualcosa in rete fatimi sapere grazie mille. saluti 


il problema e che non conosco questi manuali di cui parli...e non ho nemmeno 
programmi su cui sbattere la testa. inoltre non so proprio nulla di cosa mi 
aspetta quindi anche da un punto di vista concettuale sono messo male e non 
so come andare avanti.
esempio: ho letto che windows.h ha le funzioni per la grafica, i programmi 
che ho visto che includono windows.h sono diversi dai classici programmi che 
ho fatto io, la scanf e la prinf non si usano piu e ci sono delle procedure 
o chiamate che non so nemmeno cosa siano. insomma non posso capire da solo 
delle cose di cui non so nulla..se conosci qualche programmino a cui potrei 
cominciare a dare un occhiata fammi sapere e provo a vedere che riesco a 
capirci.
ciao 

 occhiata ...
Poi dicono perché sono patito del software libero
http://www.gnu.it/
http://www.gnu.org/

 
http://www.gnu.org/
anche qui sono sperduto....per te probabilmente � semplice capire ma  io 
trovo difficolta nel orientarmi e nel capire cosa devo fare. 

 
Non c'ï¿œ un "devo", dipende da cosa ti interessa; se poi sei sperduto, 
cerca delle librerie che servono per l'area che ti interessa (gui?), 
ingegnati a trovare programmi (piccoli!) che le usino, scrivi qualcosina 
di piï¿œ semplice per vedere se hai capito - insomma, fatti una lista di 
alternative, provale su un po' di esempi giocattolo, e quando ti sarai 
sporcato le mani con 3/4 librerie sarai per forza meno indeciso!
un'ultima cosa: quando avrai ristretto un pochino il campo, ricordati di 
codesearch.google.com
! Quando l'ho scoperta, non ti dico quanto tempo ho 
passato a cercarci l'impossibile...
lb

 esempi molto semplici e cosi via...
Allora bisogna che tu abbia le idee molto chiare. Ci sono centinaia di 
librerie che trattano di "grafica". Per esempio per fare un videogame, o 
un applicativo a finestre sono due cose molto diverse.
A cosa ti serve utilizzare la grafica? Perchï¿œ vuoi usare il C?
E.

 la serie "Tinking in C",
"Thinking in C++" non aiuta molto se si vuol imparare il C.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 perche non so bene l'inglese, sia perche non conosco nememno i significati
di determinate sigle, tipo api mfc o altri paroloni. 
Fortunamente viviamo in un era in cui "non conosco il significato" � un
alibi pressoch� impossibile. Esiste Google che pu� darti molte
informazioni su tutto ci� che non sai. Cerca "API", cerca "MFC" e gli
arcani saranno svelati. Se non sai bene l'inglese, poi, ti consiglio
vivamente di impararlo perch� voler programmare senza conoscere questa
lingua veicolare � come mettersi al volante di una Ferrari e guidare ad
occhi chiusi.


 "Thinking in C++" non aiuta molto se si vuol imparare il C.
A parte gli errori tipografici, perché sei così fissato sul C++?
Per lo meno aggiornati prima di parlare.
http://mindview.net/CDs/ThinkingInC/beta3
http://www.mindviewinc.com/ThinkingInC/Beta3Download.php
MindV...@gmail.com
Però il problema non è il linguaggio particolare, il problema è capire 
come si programma. I libri che ho citato trattano la programmazione 
ed il linguaggio passa in secondo piano. Ad esempio dei due libri di 
Kerninghan & Pike trattano uno la programmazione della shell Unix
ed il secondo non fa riferimento ad un linguaggio particolare e tratta 
solo della programmazione. Se fosse per me io farei studiare solo 
quest'ultimo e poi la grammatica del linguaggio si può anche studiare 
da quei bei libricini che si trovano a cinque euro sulle bancarelle. 


� questo il punto, a scuola non mi hanno mai detto nulla su come poter 
avanzare e io non so nulla di cosa mi aspetta e dei vari settori. chiedo a 
voi anche questo: qualcosa per orientarsi prima di prendere una strada? non 
so che differenza c'� tra fare video game o finestre generiche da un punto 
di vista tecnico quindi cerco materiale che mi apra gli occhi ma non ho le 
idee chiare. chiedo a voi che siete esperti e magari conoscete qualcosa che 
fa al caso mio.
saluti 


allora, ipotizzo di voler fare un programma c che visualizzi una 
calcolatrice tipo quella di windows, ovviamente solo per fare +-*/. quindi 
devo creare una finestrella con questi 4 tastini e un display per vedere il 
risultato delle operazioni. me lo consigli come primo approccio? � tropo 
difficile? che documentazione anche in inglese mi consigli per scrivere 
questo codice?
grazie ancora
ciao

 A parte gli errori tipografici, perché sei così fissato sul C++?
Che vuol dire "fissato sul C++"? Quando parli di Bruce Eckel parli
fondamentalmente di C++ e Java. Sono sufficientemente aggiornato sul tema
perch� seguo questo autore da tempo. Non esiste una "serie Thinking in C",
si tratta solo di un piccolo seminario (che peraltro non raggiunge mai una
versione "stable"). Quando hai parlato di "serie", visto il titolo gi�
precario, ho pensato ti riferissi a TIC++. Insomma, Eckel � da consigliare
se si vuol imparare a programmare in C++, senn� esistono altri libri (vedi
ad es. il Deitel&Deitel o l'Harbison&Steele:
http://www.amazon.com/Reference-Manual-Samuel-P-Harbison/dp/013089592X
).
Il testo di K&P � sicuramente utile come infarinature, ma del tutto
insufficiente a coprire tutto il vasto tema della programmazione e
peraltro un pochetto antiquato oramai.


 di vista tecnico 
La differenza ï¿œ abissale. Se non hai un obiettivo da raggiungere 
difficilmente riuscirai ad imparare qualcosa.
E.


lo so, pero non conosco i possibili obbiettivi. so solo che ho studiato il c 
per 2 anni e fermarmi li mi sembra inutile.
vorrei capire in dettaglio quali sono le possibili strade che potrei 
prendere con le mie attuali conoscenze. leggendo la documentazione tecnica 
sul sito microsoft non ho capito nulla, credo sia documentazione per 
sviluppatori piu esperti di me. credo ci sia qualcosa che semplifica la vita 
ai nuovi arrivati. tutto qui... come obbiettivo vorrei per ora iniziare a 
creare una finestra grafica con dei tastini che facciano qualcosa. io sapevo 
solo di windows.h ma mi � stato sconsigliato, questa mi sembra gia una buona 
informazione pero sono ancora fermo. 


concordo con te. infatti ho gia scritto che quei testi riguardano il c 
standard che so gia. se conosci qualcosa di leggermente piu avanzato magari 
anche tradotti in italiano fammelo sapere. come argomenti sono interessato 
alla grafica cioe finestrelle ecc... ma non ho alcuna esperienza.
ciao grazie 

 creare una finestra grafica con dei tastini che facciano qualcosa. 
Di solito per fare le interfaccie grafiche si utilizzano linguaggi 
orientati agli oggetti. Se vuoi utilizzare il C forse una buona scelta 
potrebbe essere la libreria GTK.
E.

 
buon lavoro (e in bocca al lupo)
ciao

 ciao
ok. mi sono informato e credo che il gtk sia il primo obbiettivo. grazie per 
il link e per le dritte. ora ci sbatto un po la testa e se avro problmi 
postero di nuovo.
grazie mille
ciao ciao 

 
Se ti interessa fare "finestrelle" in C puoi optare per una libreria
come gtk che funziona tranquillamente sia su *nix che su windows:
#include <gtk/gtk.h>
int main( int argc, char *argv[])
{
  GtkWidget *fiestrella;
  gtk_init(&argc, &argv);
  window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_widget_show(finestrella);
  gtk_main();
  return 0;
}
ecco fatta la finestrella.
Un buon libro sull'argomento ï¿œ quello dell'apress:
Foundations of GTK+ Development
Anche se ï¿œ in inglese ï¿œ di facile lettura, inoltre le gtk si portano
dietro pure gdk che ï¿œ una serie di librerie che ridefinisce i tipi base
per essere indipendenti da piattaforma e compilatore (tipo un gint16
sarai sempre sicuro che sarï¿œ un intero a 16bit) e varie funzioni sul
testo etc; puï¿œ essere un buon percorso anche da apprendere con
conoscenze del C non troppo approfondite visto che le gdk mettono a
disposizione diverse funzioni wrapper che sono spiegate nel libro (ad
esempio per aprire un file).
Se usi linux sono le librerie di base di gnome quindi i software saranno
bene integrati in distribuzioni che usano questo ambiente come standard,
in primis ubuntu che ha una buona base di utenze desktop.
Inoltre il team di gtk ha lavorato molto sulla versione windows e ora
anche sotto windows i programmi scritti con gtk sembrano programmi
nativi quindi avrei semplicemente un piccolo lavoro extra in fase di
deploy, (praticamente dovrai pacchettizzare un installer che includa
anche le librerie di runtime, in pratica vuol dire solo che insieme al
tuo .exe dovrai fornire alcune .dll ci sono alcuni software come
innosetup che puoi utilizzare per creare pacchetti di installazione
professionali)
Oltretutto in molti ide come devc++ o codeblocks c'ï¿œ il supporto
dell'ambiente a queste librerie.
micheg

ops mi ï¿œ sfuggito un window...
#include <gtk/gtk.h>
int main( int argc, char *argv[])
{
  GtkWidget *fiestrella;
  gtk_init(&argc, &argv);
  finestrella = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_widget_show(finestrella);
  gtk_main();
  return 0;
}
micheg

se conosci qualcosa di leggermente piu avanzato
Di libri su come utilizzare determinate tecnologie ne trovi a bizzeffe, ma
non puoi considerarli "pi� avanzati" rispetto ai testi di programmazione.
Semplicemente dicono cose diverse. Un libro che ti insegna il C � una
cosa, un libro che ti insegna a usare le MFC � un'altra, non
necessariamente pi� avanzato del primo. Dal mio punto di vista devi prima
chiarire qual � il tuo obiettivo perch� mi sembra che tu abbia le idee
molto confuse (e non possono chiarirtele gli altri :). Cerca prima di
capire cosa vuoi fare esattamente e poi indaga sul web quali sono le
risorse che possono aiutarti a raggiungere l'obiettivo. Il web � veramente
ricco di informazioni a proposito e dovresti saperlo. Tu le chiami
"finestrelle" ma cosa vuoi fare in realt�? vuoi scrivere applicazioni
gestionali? vuoi scrivere applicazioni di sistema? vuoi scrivere
videogiochi? vuoi scrivere software per cellulari o palmari? vuoi
programmare per il web? cerca di fare chiarezza.



ok benissimo perche uso codeblocks. di quello che hai detto qualcosa ho 
capito. ora cerco di capire il resto e sono apposto :)
ciao ciao grazie mille 

 Harbison&Steele
Bellissimo, lo ho comprato da poco su consiglio di molti qua nel NG. Mi
ha risparmiato un sacco di liti con lo standard (nel senso che fino a
quel momento io le informazioni le prendevo dalla fonte, con tutti i
problemi del caso). 
E' un libro davvero bello e utile, ma credo che sia impossibile
impararci il C. Quel manuale e' soprattutto un reference (a partire dal
titolo, ma anche di fatto). 
Deitel&Deitel invece non mi e' mai piaciuto. Tutto sommato penso che
l'accoppiata K&R + H&S sia buona. Con il primo impari come funziona il
C, con il secondo raffini e stabilizzi, approfondisci e tutto.
Confesso anche che Deitel&Deitel lo ho guardato per C++ e Java (nel
primo caso davvero insoddisfacente, IMHO) ma non per C. E' assolutamente
possibile che io mi sbagli in quanto sto parlando per esperienza
estrapolata e non diretta. Quindi questa mia opinione e' da prendere,
appunto, con il beneficio del dubbio.
-- 
-riko

 occhi chiusi.
Quoto. Assolutamente. Direi *prima* imparare l'inglese che approfondire
il C. Fare il secondo senza il primo si aggira in un intorno di
impossibile.
Tipicamente moltissime librerie *non* hanno documentazione tradotta. Non
ce l'hanno e basta e non c'e' nulla da fare. Altre ancora hanno
traduzioni, ma magari vecchie. Se poi ci sono problemi... spesso le
comunita' di sviluppatori italiani che usano quella specifica libreria
non esistono (come comunita' o proprio come numero di persone). Che
porta a chiedere aiuto in inglese. :)
-- 
-riko

 ciao ciao

 impossibile.
Riquoto. La cosa pi� utile da imparare per programmare � di gran lunga
l'inglese.
--
Andrea Bergia