DOMANDA Cosa si deve sapere del linguaggio C

Pubblicità

Pij87

Nuovo Utente
Messaggi
17
Reazioni
1
Punteggio
23
Salve, sono un appassionato di programmazione, sto studiando il linguaggio C. Fino ad ora ho stiduato:

- Istruzione I/O
-Cicli
-If, else if, else
-Gestione file
-Arrary
-Main e le funzioni esterne al main
- puntatori

Adesso sto studiando le API di windows.
Il mio dubbio è, cosa devo studiare ancora??

grazie in anticipo per le risposte.
 
Il mio scopo è sapere tutto è di più sulla programmazione.

Va bene ma lo scopo pratico finale e' programmare, cosa vuoi programmare ?

Io programmo da 26 anni e non so tutto e di piu', solo quello che mi serve.
Piu' che esplorare un linguaggio a 360 gradi e' importante saper programmare come teoria e risoluzione dei problemi.

Se non lo hai gia' fatto fai un giro in
http://www.tomshw.it/forum/programmazione/552844-iniziare-programmare-da-zero.html
ma nel tuo caso soprattutto in http://www.tomshw.it/forum/programm...uali-di-programmazione-tutti-i-linguaggi.html
 
Va bene ma lo scopo pratico finale e' programmare, cosa vuoi programmare ?

Io programmo da 26 anni e non so tutto e di piu', solo quello che mi serve.
Piu' che esplorare un linguaggio a 360 gradi e' importante saper programmare come teoria e risoluzione dei problemi.

Se non lo hai gia' fatto fai un giro in
http://www.tomshw.it/forum/programmazione/552844-iniziare-programmare-da-zero.html
ma nel tuo caso soprattutto in http://www.tomshw.it/forum/programm...uali-di-programmazione-tutti-i-linguaggi.html

Non credo di avere una risposta alla tua domanda, oggi l' informatica si è ormai affermata da tutte le parti e secondo me programmare è molto importante. Non ho uno scopo ben preciso, ti posso solo dire che voglio sapere sempre di pù. Ne approfitto per fare un' altra domanda.

Per lavorare nell' ambito della programmazione bisogna avere per forza una laurea o basta anche fare dei corsi o roba del genere
 
Non credo di avere una risposta alla tua domanda, oggi l' informatica si è ormai affermata da tutte le parti e secondo me programmare è molto importante. Non ho uno scopo ben preciso, ti posso solo dire che voglio sapere sempre di pù. Ne approfitto per fare un' altra domanda.

Per lavorare nell' ambito della programmazione bisogna avere per forza una laurea o basta anche fare dei corsi o roba del genere

Avere una laurea e fare dei corsi naturalmente ti avvantaggia ma non sei obbligato, il minimo che serve penso che sia un diploma. Comunque ti consiglio di focalizzarti su un campo, lascia stare la leggenda dell'uomo che sa fare tutto al pc vista nei film. In ogni team di sviluppo ci si ripartisce sempre i compiti. L'esempio che mi è venuto in mente adesso è di popcorn time, il developer iniziale ha sviluppato solo l'app per desktop, ma per le app di android e ios si è appoggiato a terzi dato che non era il suo campo.
 
Salve, sono un appassionato di programmazione, sto studiando il linguaggio C. Fino ad ora ho stiduato:

- Istruzione I/O
-Cicli
-If, else if, else
-Gestione file
-Arrary
-Main e le funzioni esterne al main
- puntatori

Adesso sto studiando le API di windows.
Il mio dubbio è, cosa devo studiare ancora??

grazie in anticipo per le risposte.

Quindi hai già codificato qualche algoritmo ? :look:
Sapresti, ad esempio, codificare un algoritmo che calcola le soluzioni di un'equazione di secondo grado ? :asd:
 
Salve, sono un appassionato di programmazione, sto studiando il linguaggio C. Fino ad ora ho stiduato:

- Istruzione I/O
-Cicli
-If, else if, else
-Gestione file
-Arrary
-Main e le funzioni esterne al main
- puntatori

Adesso sto studiando le API di windows.
Il mio dubbio è, cosa devo studiare ancora??

grazie in anticipo per le risposte.

Sono un giovane programmatore, laureato in ingegneria informatica e diplomato in informatica.
Quello che ti posso dire è che è fondamentale CAPIRE gli algoritmi. Non serve saperli solo scrivere, devi capire cosa fanno e come lo fanno.
Studiati qualche codice di sorting e cerca di capire come mai un "Quick Sort" è più veloce di un "Bubble Sort".

Un'altra cosa che ti consiglio di CAPIRE è la matematica. Se hai intenzione di programmare software piuttosto che WebApp "complesse" fai in modo di non rimanere indietro con la matematica. Esempio, prova a capire perchè la derivata di una velocità istantanea è la sua accelerazione.

Ripeto e riporto anche quello che ha già detto Mursey,
Serve sapere solo quello che ti serve.
"Piu' che esplorare un linguaggio a 360 gradi e' importante saper programmare come teoria e risoluzione dei problemi."
 
Sono un giovane programmatore, laureato in ingegneria informatica e diplomato in informatica.
Quello che ti posso dire è che è fondamentale CAPIRE gli algoritmi. Non serve saperli solo scrivere, devi capire cosa fanno e come lo fanno.
Studiati qualche codice di sorting e cerca di capire come mai un "Quick Sort" è più veloce di un "Bubble Sort".

Un'altra cosa che ti consiglio di CAPIRE è la matematica. Se hai intenzione di programmare software piuttosto che WebApp "complesse" fai in modo di non rimanere indietro con la matematica. Esempio, prova a capire perchè la derivata di una velocità istantanea è la sua accelerazione.

Ripeto e riporto anche quello che ha già detto Mursey,
Serve sapere solo quello che ti serve.
"Piu' che esplorare un linguaggio a 360 gradi e' importante saper programmare come teoria e risoluzione dei problemi."

grazie TheJudge io studio anche il "perché" di una cosa
 
È una cosa conoscere un linguaggio ed una cosa è saperlo utilizzare. Idealmente, questi due livelli dovrebbero eguagliarsi in quanto uno sbilanciamento ti porterebbe a pensare più in termini implementativi che risolutivi, effettivamente trasformando il tuo problema da "come faccio X" a "come faccio X in linguaggio Y". A riguardo leggi quest'altro mio post.

Mursey ha ragione nel dire "so quello che mi serve": parlando del C, difficilmente ti sarà necessario, ad esempio, un puntatore a dati marcati volatile se non lavori con l'hardware (e.g. I/O in RAM aka mapped I/O); oppure il "type-punning" se non lavori in situazioni di strict-aliasing.

Se il tuo scopo è interfacciarti con Windows, guarda qualche sua API su MSDN e vedi se riesci a capire cosa fa e cosa si aspetta da te per realizzare ciò; quello che non conosci, lo studi e cerchi di applicarlo.
 
Ultima modifica:
Ci provo e ti faccio sapere

Grazie, PiJ87, l'algoritmo funziona :sisilui:





Personalmente avrei optato per un paio di funzioni senza parametri, una per il calcolo del discriminante e l'altra per la scrittura delle radici sullo schermo :sisilui:
Avresti potuto considerare la possibilità a=0 (a è il coefficiente del termine di secondo grado), l'equazione diventerebbe di primo grado con radice x=(-c/b) ma si tratta di un dettaglio :)
Cosa mi dici sulle strutture dinamiche (pile, code, liste, ecc.), le hai studiate ? :look:

P.S. Per quanto riguarda le API di Windows, potresti iniziare da qui:
Introduzione alle API Win32 -- Capitolo 0: preliminari :sisilui:
Considera però che ne vengono illustrate solo poche decine mentre le API di Windows sono migliaia :asd:
 
Ciao, ma l'indentazione è quella? oppure quando hai aperto con l'editor il file che ti ha mandato si è scombinata? perchè se l'indetazione originaria fosse quella, io consiglierei fortemente di scrivere in modo più ordinato.
 
Grazie, PiJ87, l'algoritmo funziona

mmmh
c'è da lavorare parecchio sul risolvere problemi e possibilmente farlo con efficienza, ragionare sui tipi ecc. ecc.;
per esempio, in questo caso particolare
- per calcolare un quadrato non si chiama una funzione, si fa una semplice moltiplicazione
- i coefficienti delle eq. normalmente sono numeri "con virgola" (double)
- una conseguenza è che i test di uguaglianza sui double sono pericolosi e portano ad errori (in questo caso il test delta==0)
- per il calcolo della radice r c'è una divisione tra interi, il compilatore potrebbe eseguirla come e troncare il risultato, in barba al fatto che r è un float, producendo un risultato errato
- con delta<0 l'equazione non è impossibile
- quando un calcolo si ripete uguale nel codice, si memorizza il risultato in una variabile e si usa quella, non si chiama inutilmente più volte una funzione per ripetere il calcolo (è il caso della chiamato di pow per calcolare una radice quadrata)

Anche da un esercizio in teoria semplicissimo si imaprano concetti utili in generale
 
Ultima modifica:
Pubblicità
Pubblicità
Indietro
Top