|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Nov 2008
Messaggi: 230
|
[C] Capire il C..
Dopo aver studiato alcune guide trovate in internet,sono passato alle API user,ma ancora non riesco a capire cosa posso fare di utile con il c
![]() Potreste indicarmi tutto quello che posso fare con il c e cosa studiare per farlo?(sicuramente si può fare di tutto però voglio sapere i nomi delle cose da sapere) Per fare un esempio, con le api user posso fare una forma "visuale" di programmazione (messagebox,pulsanti etc..) ma per creare/spostare file e cartelle?;Almeno saprei cosa procurarmi per studiare!!! |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Cosa intendi per API user ?
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Sep 2009
Città: Nel mondo dei sogni
Messaggi: 4131
|
Cosa intendi con "cosa si può fare"? Ci puoi fare letteralmente di tutto.
|
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Nov 2008
Messaggi: 230
|
per api user quelle che permettono di fare interfacce grafiche,volevo dire finestre non msgbox. Per me che non sò programmare quel tutto non vuol dire un bel niente . Quando ho finito di leggere la guida del c mi sono detto :-ma che schifo è¨ stò linguaggio che si puo eseguire solo dal cmd?;poi mi hanno detto delle api win 32 .bene dopo cosa c'è? ;e dopo ancora?
Ultima modifica di rikkaidd : 24-12-2009 alle 17:58. |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Le api win32 intendi ? Con quelle puoi fare qualsiasi cosa che si vedi su Windows. Quindi non hai assolutamente limiti di sorte. Le API Win32 non servono solo per le finestre, ma per qualsiasi altra funzionalità che vuoi dare al tuo programma.
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Feb 2006
Città: Caserta
Messaggi: 1056
|
Considera che il kernel linux è scritto in C...
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
![]() |
![]() |
![]() |
#8 | ||
Senior Member
Iscritto dal: Sep 2009
Città: Nel mondo dei sogni
Messaggi: 4131
|
Quote:
Non bisogna saper programmare per capire cosa significa "ci puoi fare di tutto". Hai presente tutto ciò che usi in un pc? Ecco, in C lo puoi fare. Quote:
|
||
![]() |
![]() |
![]() |
#9 | |
Member
Iscritto dal: Nov 2008
Messaggi: 230
|
Quote:
Ma conosci un buon libro sulle api? |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Sep 2008
Messaggi: 1271
|
Il C è un linguaggio ad uso generico, per sua natura si presta alla scrittura di sistemi operativi, ma non per questo è relegato ad uno specifico ambito.
__________________
MacBook 6,1|2,26 Ghz C2D|2GB 1067 Mhz DDR3|GeForce 9400M|Mac OSX 10.6.2 |
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Feb 2006
Città: Caserta
Messaggi: 1056
|
Quote:
Da quanto hai scritto su questo forum il 15 Dicembre hai cominciato a studiare il C... ![]() |
|
![]() |
![]() |
![]() |
#12 | |
Member
Iscritto dal: Nov 2008
Messaggi: 230
|
Quote:
io ho studiato da questa guida :http://www.blacklight.gotdns.org/wiki/index.php/C da premettere che sono coscente del fatto che il c sia molto più complesso di quella semplice guida ,ma a me non interessano fare driver o lavorare sulle reti in c ,ma solo riuscire a creare programmi un pò più semplici,che spostino cartelle e file e che l'utente posso modificare le impostazioni del programma interagendo con dei pulsanti sulle finestre...tipo un programma di installazione e sono riuscito a fare anche l' ultimo esercizio di questo pdf: http://home.dei.polimi.it/dinitto/Di...iziRisolti.pdf per le api (se non ho capito male questo è solo per le api user)ho letto questo,non sembra difficile ma ancora ci devo lavorare...:http://www.aleax.it/TutWin32/tc.htm Tempo fà (anni)avevo studiato il vb6(anch'esso da una guida) COMUNQUE AUGURONI A TUTTI DI BUON NATALE.... Ultima modifica di rikkaidd : 24-12-2009 alle 21:24. |
|
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Sep 2008
Messaggi: 1271
|
Quote:
__________________
MacBook 6,1|2,26 Ghz C2D|2GB 1067 Mhz DDR3|GeForce 9400M|Mac OSX 10.6.2 |
|
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
![]() poi fare gli esercizi che trovi alla fine di ogni capitolo e via proseguendo per un periodo di tempo abbastanza lungo direi..... non penso che ci siano altri metodi.... o almeno io ho fatto così... cominciare a buttare giù codice con le API così a casaccio non mi sembra un buon piano d'azione insomma... non dico che non riusciresti .... ma rischieresti di produrre cattivo codice non utilizzando i metodi giusti.... |
![]() |
![]() |
![]() |
#15 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
rikkaidd: sai usare l'aritmetica dei puntatori ? Una delle prime cose che si fanno quando si raggiunge un livello base nella conoscenza del C è ordinare un vettore. Hai fatto queste cose ? |
|
![]() |
![]() |
![]() |
#16 | |
Member
Iscritto dal: Jul 2005
Messaggi: 291
|
Quote:
Mo non per innescare una best-programming code-war ma se sei agli inizi eviterei il C. (ma anche se non lo sei agli inizi!!!!!) Per rimanere in topic ogni cosa che "vedi sullo schermo" può esser fatto in C, dai browsers ai vari programmi più o meno complessi. La domanda è così generica che può ammettere solo risposte generiche. (Anche se, per riallacciarmi alla frase precedente, lo si può fare anche meglio (per il programmatore, il meglio) con altri linguaggi tipi Java, python, C# etc. etc. con meno sbattimenti per chi lo scrive il codice!!!)
__________________
CPU: Intel Core 2 Quad Q6600 - Mobo: Asus P5E - RAM:4x2GB DDR2 - sk video: Power Color ATI Radeon HD3870 - HD:Western Digital 750GB |
|
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
Quote:
Le classi del C++ sono praticamente scritte in C, saper utilizzare il C a prescindere da quello che poi verrà utilizzato per la produzione di programmi veri e propri è importante. Anzi, anche l'assembler vale la pena studiarsi almeno per sapere le principali funzioni. Non per niente il primo linguaggio che si insegna è il C. Una casa da da dove parti a costruirla? Dalle fondamenta. Il C sono le fondamenta della programmazione. I linguaggi come il C++ e gli altri di più alto livello offrono un livello di astrazione più alto. Ma tutto si basa sulle stesse medesime istruzioni. A mio avviso partendo dal C++ perderesti di vista ciò che realmente viene eseguito dal sistema operativo. |
|
![]() |
![]() |
![]() |
#18 |
Member
Iscritto dal: Oct 2007
Messaggi: 250
|
Sono d'accordo con Teo. Il C é sicuramente di piú basso livello rispetto a linguaggi piú moderni e puó presentarsi molto ostico a chi inizia a studiarlo. Peró a mio parere il C é fondamentale per avere buone basi di programmazione. Ti fa capire a fondo cos'é la programmazione.
|
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: Sep 2008
Messaggi: 1271
|
Il C fa schifo avete scritto. Non riesco a credere di averlo letto. Io lo trovo il miglior linguaggio di programmazione al mondo per due motivi:
1-E' fondato sul principio secondo cui il programmatore sa quello che fa. 2-Permette di tenere sotto controllo ogni aspetto dell'applicazione, permettendo di scrivere codice a basso livello (assembly). Il SO UNIX è stato scritto in C, X è scritto in C, il kernel Linux, i compilatori della GCC sono scritti in C. Se dagli anni 80 continua ad essere largamente utilizzato un motivo c'è. Inoltre, una qualunque applicazione scritta in un linguaggio compilato è meno performante di una scritta in assembly. Se le prestazioni diminuiscono con un'applicazione in C, possiamo solo immaginare cosa accade con gli altri linguaggi di livello più alto. Ci sono ambiti (es. software di modellazione grafica) in cui un livello di astrazione alto, si rivela indispensabile, ma in tutti gli altri ambiti, il C credo sia d'obbligo. Non credo abbia molto senso, iniziare a programmare partendo da linguaggi di scripting, o comunque con un livello di astrazione molto alto. Se non si inizia dal C, dubito che in seguito si avranno le capacità di apprendere linguaggio più complessi.
__________________
MacBook 6,1|2,26 Ghz C2D|2GB 1067 Mhz DDR3|GeForce 9400M|Mac OSX 10.6.2 |
![]() |
![]() |
![]() |
#20 | |||||
Member
Iscritto dal: Jul 2005
Messaggi: 291
|
Quote:
Per quanto vero nel suo ambito, la metafora che usi penso che mal si applichi nel reparto informatico, dove (sempre secondo il mio personalissimo parere) penso sia più importante risolvere il problema che ci viene posto che stare appresso a idiosincrasie di un linguaggio che penso nessun può negare sia ostico e molto error-prone. Per queste motivazioni programmando più ad alto livello con linguaggi tipo Java o C# statisticamente si ha una maggiore efficienza (vado ad intuito dalle mie esperienze sia con Java che (in misura molto minore) con il C(++)) non nell'esecuzione ma nell'implementazione del progetto. Se posso risolvere un problema con un attrezzo (un linguaggio non è altro che questo) che mi è più facile e mi consente di fare meno errori (non perché più potente, ma perché richiede meno "maestria" nell'utilizzarlo) userò quello!! Ovviamente se devo risolvere un problema in cui la velocità di esecuzione o ottimizzazioni spinte siano espressamente previste nelle specifiche il C(++) penso che sia la scelta giusta. L'attrezzo giusto per il lavoro giusto!! Quote:
Quote:
Quote:
Quote:
Io rivolterei la tua espressione: dove è necessaria una velocità d'esecuzione o ottimizzazioni create ad hoc su architetture magari non comuni il C è d'obbligo, per tutto il resto c'è Java(C#/Python etc.) ![]() Di solito l'apprendimento parte dalle cose più semplici e va a finire a cose più complesse, non penso tu abbia imparato prima a correre e poi a camminare, anzi, frustrazioni derivanti da idiosincrasie del C possono fermarti dal continuare ad apprendere.
__________________
CPU: Intel Core 2 Quad Q6600 - Mobo: Asus P5E - RAM:4x2GB DDR2 - sk video: Power Color ATI Radeon HD3870 - HD:Western Digital 750GB |
|||||
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:51.