Aiuto sui linguaggi di programmazione
Moderatore: Staff
Regole del forum
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Aiuto sui linguaggi di programmazione
Quanti di voi programmano ed in che linguaggio? Ed a che livello lo sapete fare? Vorrei imparare, ovviamente partendo da zero, a programmare. Non importa la difficoltà del linguaggio, ma il fatto che il linguaggio con cui devo iniziare deve permettermi tramite lo studio ad arrivare anche a programmare PIC - a basso livello, utilizzando ad esempio l'Assembly o qualcosa di simile e che all'inizio mi permetta di fare quei programmini stupidi che danno però molta soddisfazione al principiante. Cosa mi consigliate per iniziare?
p.s. come si chiama il programma in cui vengono scritte le righe di codice sorgente? Sul Slack c'è qualche programma simile per C o C++?
p.s. come si chiama il programma in cui vengono scritte le righe di codice sorgente? Sul Slack c'è qualche programma simile per C o C++?
Re: Aiuto sui linguaggi di programmazione
L'editor intendi? Puoi usare kdevelop che è fenomenale.Vlk ha scritto:p.s. come si chiama il programma in cui vengono scritte le righe di codice sorgente? Sul Slack c'è qualche programma simile per C o C++?
Se vuoi imparare a programmare parti con il linguaggio C.
Te Useless che dici, ho consigliato bene?
Ciao
- useless
- Staff

- Messaggi: 3896
- Iscritto il: dom 12 ott 2003, 0:00
- Località: A place where the streets have no name
- Contatta:
io ti consiglio il C. a scendere a basso livello quanto vuoi non hai problemi (anche senza usare l'asm), a salire nemmeno, mantenendo comunque una discreta semplicità di implementazione.
il C++ è un linguaggio ad oggetti, quindi radicalmente diverso come mentalità, può essere che ti trovi meglio con questa, ma tieni presente che la programmazione ad oggetti è stata inventata x aumentare l'astrazione, scollegandosi dall'hardware. quindi scordati il basso livello.
se vuoi sviluppare interfacce grafiche, puoi sfruttare gtk in C e qt in C++. entrambi (gtk insieme eventualmente a glib) comunque ti offrono moooolte altre funzionalità oltre a quelle grafiche, e rimangono 100% portabili su altre piattaforme (windows, solaris, *bsd...).
ci sono altri linguaggi e altri "mezzilinguaggi", ma se hai intenzioni serie scegli uno dei 2 già citati.
quanto al programma che cerchi, di solito ci si riferisce come "ide", ossia "integrated development environment". i 2 + famosi e potenti su unix sono anjuta e kdevelop. il primo è basato su gtk e orientato al c, il secondo è parte di kde (quindi qt) e orientato al c++, ma entrambi possono essere utilizzati x entrambi i linguaggi (e molti altri). ad esempio io uso kdevelop x programmare in C.
il C++ è un linguaggio ad oggetti, quindi radicalmente diverso come mentalità, può essere che ti trovi meglio con questa, ma tieni presente che la programmazione ad oggetti è stata inventata x aumentare l'astrazione, scollegandosi dall'hardware. quindi scordati il basso livello.
se vuoi sviluppare interfacce grafiche, puoi sfruttare gtk in C e qt in C++. entrambi (gtk insieme eventualmente a glib) comunque ti offrono moooolte altre funzionalità oltre a quelle grafiche, e rimangono 100% portabili su altre piattaforme (windows, solaris, *bsd...).
ci sono altri linguaggi e altri "mezzilinguaggi", ma se hai intenzioni serie scegli uno dei 2 già citati.
quanto al programma che cerchi, di solito ci si riferisce come "ide", ossia "integrated development environment". i 2 + famosi e potenti su unix sono anjuta e kdevelop. il primo è basato su gtk e orientato al c, il secondo è parte di kde (quindi qt) e orientato al c++, ma entrambi possono essere utilizzati x entrambi i linguaggi (e molti altri). ad esempio io uso kdevelop x programmare in C.
Grazie per il consiglio, ma come mio solito approfitto della vs disponibilità e vi bombardo di domande.
In effetti avevo pensato anche io al C o al C++. Solo che mi avevavano consigliato il Python, per cui non sapevo cosa fare. Me lo sconsigliate sto Pitone? E quali sono le principali differenze tra C e C++?
Un'altra cosa: se io scrivo il sorgente in C o C++ nell'editor Kdevelop e lo compilo in Linux, come faccio poi ad installare il programma? E posso installarlo anche in altre piattaforme, come ad esempio Windows, compilandolo magari con qualche editor per Windows? E testi? Quali sono i migliori? Grazie
Aggiunta: mica bisogna conoscere l'hardware del pc per programmare? Io lo conosco, ma ad un livello molto elementare e non vorrei trovarmi in difficoltà. Che ne dite?
In effetti avevo pensato anche io al C o al C++. Solo che mi avevavano consigliato il Python, per cui non sapevo cosa fare. Me lo sconsigliate sto Pitone? E quali sono le principali differenze tra C e C++?
Un'altra cosa: se io scrivo il sorgente in C o C++ nell'editor Kdevelop e lo compilo in Linux, come faccio poi ad installare il programma? E posso installarlo anche in altre piattaforme, come ad esempio Windows, compilandolo magari con qualche editor per Windows? E testi? Quali sono i migliori? Grazie
Aggiunta: mica bisogna conoscere l'hardware del pc per programmare? Io lo conosco, ma ad un livello molto elementare e non vorrei trovarmi in difficoltà. Che ne dite?
Python lo conosco pochissimo e non posso fare commenti su di esso.
Quando crei un programma in C, tu per farlo funzionare devi compilarlo. Durante la compilazione, se non ci sono errori, ti verrà creato un file eseguibile: il programma vero e proprio. Per farlo girare ti basterà lanciare l'eseguibile.
comunque ti consiglio di prendere un buon libro di C e di partire con quello. Lì troverai risposte a tutte le tue domande, capirai cosa significa programmare e passerai interi pomeriggi (e a volte serate) a battere la testa sui puntatori doppi.
Quando crei un programma in C, tu per farlo funzionare devi compilarlo. Durante la compilazione, se non ci sono errori, ti verrà creato un file eseguibile: il programma vero e proprio. Per farlo girare ti basterà lanciare l'eseguibile.
comunque ti consiglio di prendere un buon libro di C e di partire con quello. Lì troverai risposte a tutte le tue domande, capirai cosa significa programmare e passerai interi pomeriggi (e a volte serate) a battere la testa sui puntatori doppi.
- useless
- Staff

- Messaggi: 3896
- Iscritto il: dom 12 ott 2003, 0:00
- Località: A place where the streets have no name
- Contatta:
forse hai le idee un po' confuse
. voler programmare a basso livello senza conoscere l'hardware è come voler costruire una macchina senza sapere niente di meccanica
. x programmare "normalmente" la conoscenza dell'hardware è relativa, ci sono i driver che ti permettono di usare tutte le periferiche in modo alquanto generico. programmare a basso livello in sostanza vuol dire scrivere un driver.
la differenza tra c e c++ è, come dicevo, che il secondo è un linguaggio orientato agli oggetti, mentre il primo no. spiegarti questa differenza non è banale, così come non lo è imparare a programmare in nessuno dei 2.
se vuoi imparare il c c'è la bibbia: "il linguaggio C", di kernighan/ritchie, che però forse non è il meglio se non hai idea di cosa sia la programmazione. quanto al c++, non me ne intendo assolutamente, ma consiglierei "thinking in c++", che forse puoi anche scaricare gratuitamente.
se usi ansi C il tuo codice compilerà praticamente dappertutto. ad esempio in windows lo puoi aprire col visual studio o qualunque editor e non dovresti avere problemi. installare sotto linux non è necessario x programmi di piccole dimensioni, basta che metti l'eseguibile in /usr/local/bin (ad esempio), ma sia anjuta che kdevelop ti aiutano a gestire i makefile, implementando anche un "make install" che fa tutto da sé, qualora ne avessi bisogno.
insomma, imparare a programmare non è x niente banale, tantomeno da soli, ma mattoncino dopo mattoncino si può arrivare là dove nessun uomo è mai giunto prima
.
la differenza tra c e c++ è, come dicevo, che il secondo è un linguaggio orientato agli oggetti, mentre il primo no. spiegarti questa differenza non è banale, così come non lo è imparare a programmare in nessuno dei 2.
se vuoi imparare il c c'è la bibbia: "il linguaggio C", di kernighan/ritchie, che però forse non è il meglio se non hai idea di cosa sia la programmazione. quanto al c++, non me ne intendo assolutamente, ma consiglierei "thinking in c++", che forse puoi anche scaricare gratuitamente.
se usi ansi C il tuo codice compilerà praticamente dappertutto. ad esempio in windows lo puoi aprire col visual studio o qualunque editor e non dovresti avere problemi. installare sotto linux non è necessario x programmi di piccole dimensioni, basta che metti l'eseguibile in /usr/local/bin (ad esempio), ma sia anjuta che kdevelop ti aiutano a gestire i makefile, implementando anche un "make install" che fa tutto da sé, qualora ne avessi bisogno.
insomma, imparare a programmare non è x niente banale, tantomeno da soli, ma mattoncino dopo mattoncino si può arrivare là dove nessun uomo è mai giunto prima
In realtà ho le idee ben confuse, questo lo si sapeva. Il fatto è che vorrei riprendere a livello amatoriale ed hobbystico, ma comunque non superficiale, gli studi di ing. elettronica che ho abbandonato l'anno scorso. Il C mi servirebbe per capire cosa significhi programmare (da noi in facoltà si usava il C++) per poi provare a programmare in Assembly i PIC (mooolto in futuro). Per ora però conosco poco a livello hardware sia del pc e sia di PIC, ma appunto dovrei studiare anche questo parallelamente al C. Nella fase iniziale, il C mi servirebbe solo per fare pratica. Ora se mi dici che può svolgere questo ruolo senza una conoscenza approfondita dell'hardware allora mi impegno, altrimenti, se me lo sconsigli perchè bisogna capire bene l'hw di un pc, allora lo lascio perdere. Grazie, useless (di nome, ma non di fatto).useless ha scritto:forse hai le idee un po' confuse. voler programmare a basso livello senza conoscere l'hardware è come voler costruire una macchina senza sapere niente di meccanica
. x programmare "normalmente" la conoscenza dell'hardware è relativa, ci sono i driver che ti permettono di usare tutte le periferiche in modo alquanto generico. programmare a basso livello in sostanza vuol dire scrivere un driver.
p.s. il libro che mi consigliavi è questo? http://hpe.pearsoned.it/site/show.php?c ... 887192200x
- useless
- Staff

- Messaggi: 3896
- Iscritto il: dom 12 ott 2003, 0:00
- Località: A place where the streets have no name
- Contatta:
sì, il libro è quello.
se sei iscritto a ing eln, allora vai a seguire dei corsi in programmazione in facoltà, sicuramente ti saranno molto utili, almeno a darti le basi, poi sono convinto che uno debba appassionarsi e sbattersi molto da solo x andare avanti, ma le basi si fanno prima ad imparare con una guida.
un pic è un controllore di interrupt? xké ti serve proprio fare questo? la programmazione ad oggetti va x la maggiore al momento, forse vale la pena di proseguire sulla strada del c++.
se comunque vuoi darti al c, un tempo scrissi una piccola guida alla programmazione, la trovi da qualche parte su http://www.nyft.org.
se sei iscritto a ing eln, allora vai a seguire dei corsi in programmazione in facoltà, sicuramente ti saranno molto utili, almeno a darti le basi, poi sono convinto che uno debba appassionarsi e sbattersi molto da solo x andare avanti, ma le basi si fanno prima ad imparare con una guida.
un pic è un controllore di interrupt? xké ti serve proprio fare questo? la programmazione ad oggetti va x la maggiore al momento, forse vale la pena di proseguire sulla strada del c++.
se comunque vuoi darti al c, un tempo scrissi una piccola guida alla programmazione, la trovi da qualche parte su http://www.nyft.org.
Ad ing.elettronica ero iscrittouseless ha scritto:sì, il libro è quello.
se sei iscritto a ing eln, allora vai a seguire dei corsi in programmazione in facoltà, sicuramente ti saranno molto utili, almeno a darti le basi, poi sono convinto che uno debba appassionarsi e sbattersi molto da solo x andare avanti, ma le basi si fanno prima ad imparare con una guida.
un pic è un controllore di interrupt? xké ti serve proprio fare questo? la programmazione ad oggetti va x la maggiore al momento, forse vale la pena di proseguire sulla strada del c++.
se comunque vuoi darti al c, un tempo scrissi una piccola guida alla programmazione, la trovi da qualche parte su http://www.nyft.org.
Mi serve sapere programmare PIC perchè ormai sono utilizzati in tutti i circuiti e, che io sappia, sono programmati spesso in Assembly. Ma, ripeto, per ora credo che imparare l'Assembly sia assurdo e soprattutto dia poche soddisfazioni, nel senso che credo sia più facile scriversi un piccolo programmino in C che in Assembly. Il C lo intendo usare inizialmente in questo modo, poi chissà (proprio ora un ex collega mi ha detto che si possono programmare anche in C, ma con risultati inferiori). Vado o cambio? La accendiamo?
- useless
- Staff

- Messaggi: 3896
- Iscritto il: dom 12 ott 2003, 0:00
- Località: A place where the streets have no name
- Contatta:
vai tranquillo con il c. alla fin fine non è che ci sia molto da programmare in un pic. sono gli interrupt handler che devono essere molto snelli, ma credo che te la puoi cavare x gran parte in c. comunque un po' di asm non fa male, anzi, ti insegna a capire meglio alcuni aspetti del c (qualcuno ha detto "puntatori"?
).
- Paoletta
- Staff

- Messaggi: 3975
- Iscritto il: lun 25 apr 2005, 0:00
- Slackware: 14.2 - 64 bit
- Desktop: fluxbox
- Località: Varese
caro Vlk,
se posso condigliarti un libro su C che non sia così ostico come quello di Kerningham e Ritchie, prendererei "C didattica e programmazione", che letteralmente ti insegna a programmare, portandoti poi ad un ottimo livello.
Una presentazione di questo libro é:
http://www.librinformatica.it/novita/li ... 922190.htm
Ciao!
Paola
se posso condigliarti un libro su C che non sia così ostico come quello di Kerningham e Ritchie, prendererei "C didattica e programmazione", che letteralmente ti insegna a programmare, portandoti poi ad un ottimo livello.
Una presentazione di questo libro é:
http://www.librinformatica.it/novita/li ... 922190.htm
Ciao!
Paola


