View Full Version : Quale linguaggio?
metallic
18-02-2006, 14:28
Ciao!!
Ho intenzione di entrare a far parte del magnifico mondo della programmazione, ma non avendo molto tempo voglio puntare su un linguaggio abbastanza semplice, ma COMPILATO, non mi piaciono i linguaggi interpretati...
in particolare pensavo a:
-Pascal (con compilatore FreePascal che permette di interagire con GTK e API)
-Delphi
-Kylix
Allora, so che il Pascal è abbastanza semplice, però che variante scegliere? Il compilatore FreePascal ha una sua variante del Pascal? Oppure, devo imparare l'Object Pascal o il TurboPascal? Non so con cosa è più compatibile...
Il Delphi, so che è il successore del Pascal, ma l'ho scartato perchè non è OpenSource, e perchè la licenza costa molto. Ma, tanto per sapere, è difficile?
Ho sentito di recente questo Kylix, un port di Delphi per Linux? È compatibile con Windows? È compilato? È compLicato?
Pensavo già di puntare sul Pascal, dato che FreePascal fa paura :D ma bisogna scegliere bene. Mi piacerebbe realizzare qualche GUI e qualche programma per la gestione della rete (pacchetti, ecc...) me lo permette?
Poi ho anche letto che è il linguaggio di apprendimento per eccellenza :D
Il mio sogno nel cassetto è il C, ma non ho ne tempo ne, francamente la voglia. In futuro, anche perchè come primo linguaggio...
Grazie, spero che mi rispondiate, ciao!!
P.S. Ada95 che è?
metallic
18-02-2006, 16:46
Nessuno?
Non è che pretendo una risposta a tutto :D
Però qualcuno che usa uno di questi linguaggi?
Non me lo può descrivere?
guarda che il C è il primo linguaggio di moltissima gente se pensi che all'università a informatica è il primo linguaggio che insegnano... :)
e a seguire viene il C++ o il Java (più frequentemente quest'ultimo).
comunque ti consiglio Delphi, semplicissimo, intuitivo, RAD, e allo stesso tempo abbastanza potente (dipende a che livello lo si usa).
si comincia sempre posizionando qualche controllo a cavolo in una form; poi ci si rende conto che i controlli da soli non fanno quasi nulla e che per fargli fare le cose bisogna scrivere gli handlers, e allora là ci si pone il problema: "e che cavolo ci scrivo io qui in mezzo a questa
procedure TForm1.Button1OnClick(Sender: TObject)
begin
end
?" e allora uno piglia l'help e si studia la sintassi dell'Object Pascal :D
dopodiché uno inizia a dichiarare qualche variabile e a scrivere qualche espressione, solo che neanche così si va molto lontano perché modificando variabili in memoria non si ottiene nessun output; e allora uno aripiglia l'help e si studia qualche cavolata sulla VCL ed è allora che inizia ad avere i primi feedback, a vedere il suo codice funzionare, e ad innamorarsi della programmazione. :D
per me quando ho iniziato 8 anni fa è stato precisamente così, e pensare che ho installato Delphi per la pura curiosità di capire che ca**o era :D
iniziando con Delphi per ottenere qualcosa di tangibile ci metti al massino un paio di giornate ;)
poi man mano di potrai perfezionare studiando altre classi della VCL e della RTL, poi magari imparerai che VCL ed RTL altro non sono che grossi frameworks basati sulle API del sistema operativo e che molte loro chiamate si traducono in chiamate Win32, e così piano piano farai esperienza e diventerai un grande programmatore :sofico:
ah a proposito, chiedevi di Kylix: purtroppo non so precisamente cosa sia alla fin fine questo kylix, ma so che per permetterti di sviluppare applicazioni dai sorgenti portabili sfrutta il fatto che nella programmazione Delphi solitamente non si usano direttamente le chiamate specifiche del sistema operativo, ma si usano appunto i frameworks della VCL e della RTL che possono essere realizzati cross-platform (cioè che possono essere implementati diversamente su Windows, su Linux, e su qualsiasi altro moderno sistema operativo grafico).
Borland ha implementato i suoi frameworks sia su Windows che su Linux, mantenendo però identiche le interfacce esterne, cioè il modo in cui questi frameworks si presentano al programmatore finale che usa Delphi; in tal modo un sorgente Delphi può usare le stesse chiamate ed essere compilato sia su Linux che su Windows, cosa che non sarebbe possibile utilizzando direttamente le syscall di Linux o le API di Windows.
metallic
18-02-2006, 17:37
Ti ringrazio dei chiarimenti... :cool:
Ma Delphi è a pagamento? Mi pare che costa una bella cifra...
Accidenti, mi ero quasi convinto di imparare il TP, mi hai messo il dubbio :cry:
Meglio così :D
Tu hai mai programmato in TP? È più facile o è uguale al Delphi?
È che mi piacerebbe un linguaggio OpenSource, ma se Delphi davvero mi permette di fare molto di più...
Permette tipo GUI, rete, ecc..?
Grazie :D
metallic
18-02-2006, 17:47
Esistono anche ambienti di sviluppo GNU come per esempio Lazarus che riproducono quasi in maniera speculare l'IDE di Delphi e che permettono di realizzare con la stessa facilità (anche se ancora con molti problemi) interfacce grafiche per applicazioni Linux.
Sono rimasto un pò perplesso da questo... :(
Sulla stessa strada sta lavorando Borland che ha già rilasciato la versione 1.0 del suo nuovo prodotto, il Kylix. Questo prodotto è a tutti gli effetti il porting di Delphi per Windows in ambiente Linux.
ah a proposito, chiedevi di Kylix: purtroppo non so precisamente cosa sia alla fin fine questo kylix, ma so che per permetterti di sviluppare applicazioni dai sorgenti portabili sfrutta il fatto che nella programmazione Delphi solitamente non si usano direttamente le chiamate specifiche del sistema operativo, ma si usano appunto i frameworks della VCL e della RTL che possono essere realizzati cross-platform (cioè che possono essere implementati diversamente su Windows, su Linux, e su qualsiasi altro moderno sistema operativo grafico).
Borland ha implementato i suoi frameworks sia su Windows che su Linux, mantenendo però identiche le interfacce esterne, cioè il modo in cui questi frameworks si presentano al programmatore finale che usa Delphi; in tal modo un sorgente Delphi può usare le stesse chiamate ed essere compilato sia su Linux che su Windows, cosa che non sarebbe possibile utilizzando direttamente le syscall di Linux o le API di Windows.
Pensavo che Kylix fosse OpenSource... Invece è della Borland, ed è a pagamento.
È che TP lo posso implementare con lo stesso codice su Windows e su Linux, usando le GTK (librerie di Gnome) che sono disponibili anche per Windows!
Ora non so se questo Kylix è Delphi per Linux o è un altro linguaggio... È che costa ancora e non voglio assolutamente installarne una versione illegale, mi piace che quando programmo lo faccio come si deve e con tutto in regola...
Lo so che alla fine è poi un fattore psicologico, ma è così...
Ah, ultima domanda (esagero con le domande :p ?), ma Delphi è un linguaggio orientato alla creazione di applicazioni Web? E TP?
Grazie, credo che domani mi scarico un bel manuale :D
P.S. Scusa la mia insistenza col TP, ma mi sono davvero "innamorato" di quel linguaggio :D
Però se continui a consigliarmi Delphi credo che imparerò quello :cool:
Guarda, io ti consiglio di iniziare proprio con il Pascal, soprattutto se non hai proprio alcuna esperienza con la programmazione! Io ho iniziato con quello. Di positivo c'è proprio che la sintassi è molto semplice da interpretare per un principiante e poi esistono molti libri che trattano di "algoritmi" che implementano in pascal (proprio perchè è tra i più chiari).
Poi imho quando avrai imparato il pascal, puoi già passare al C. ;)
metallic
18-02-2006, 19:03
Grazie del consiglio :D
Allora inizio col TurboPascal?
Ti chiedo un'ultima cosa: il Java? So che ci vuole la JVM, ma c'è un'estensione di GCC per compilarlo in linguaggio macchina! Poi non so su Windows... È semplice come linguaggio? In particolare mi piaciono i giochetti per il cellulare :)
Comunque credo che vado col TurboPascal e poi imparo le estensioni GTK/API del compilatore FreePascal, così posso fare qualche bella GUI :cool:
metallic
18-02-2006, 19:04
Scusa, ma TurboPascal o ObjectPascal?
Dannazione quanti ne esistono... :cry:
Il mio obbiettivo (in un remoto futuro ovviamente :p ) è di usare OpenGL e GTK, e so che con FreePascal è possibile... Ma che variante di Pascal devo imparare...?
metallic
18-02-2006, 20:11
var [...]: word
var [...]: byte
In ogni caso ora sto cominciando a dare uno sguardo al TP, ma qual'è la differenza tra questi due tipi di variabili?
Bhè, Delphi lo si può considerare il continuo di Turbo Pascal. Entrambi sono Object Pascal, ma mentre il Turbo Pascal era l'ambiente Dos, Delphi è stato l'ambiente nativo per Windows. Quindi se ci sono dubbi fra cosa scegliere, chiaramente la risposta cade su Delphi. Almeno imparare roba nuova :D
Io ho cominciato con il Pascal standard ANSI/ISO DIS 7185, l'ultima revisione dello standard, usando GPC (GNU Pascal Compiler). Il Free Pascal non mi è mai piaciuto. C'è poca roba per la didattica meglio di questo standard qui.
Se vuoi dedicarti alla programmazione e hai poco tempo, ti consiglio questo standard. Un libro su cui imparare l'ho dato nelle FAQ che è un thread in rilievo.
Sinceramente non penso che siano i tempi giusti per imparare Delphi...anche perchè lo sviluppo futuro è abbastanza incerto...
Sinceramente non penso che siano i tempi giusti per imparare Delphi...anche perchè lo sviluppo futuro è abbastanza incerto... non sono affatto d'accordo, secondo me per lui Delphi è un ottimo modo di iniziare (per come si è descritto e per le alternative che ha detto di avere) indipendentemente da cosa ne voglia fare Borland; se riesce a procurarsi una copia di Delphi 6 o 7 (pagando o no) i programmi che lui svilupperà su quella copia funzioneranno tranquillamente senza nessunissimo problema almeno per una decina d'anni ancora (più che sufficiente imho: in dieci anni si fa in tempo a diventare super esperti di Delphi e a scegliere eventualmente di cambiare).
Questo può valere per chi già conosce Delphi...mentre invece scegliere di iniziare un linguaggio proprietario di cui non si conosce ancora il futuro prossimo è un po' rischioso... IMHO ci sono altre strade ben più ripaganti ed istruttive...vedi Java...
Questo può valere per chi già conosce Delphi...mentre invece scegliere di iniziare un linguaggio proprietario di cui non si conosce ancora il futuro prossimo è un po' rischioso... IMHO ci sono altre strade ben più ripaganti ed istruttive...vedi Java... scusa eh, metti pure che Delphi non venga più venduto ne' supportato, a chi ha una copia installata gliene può fregare qualcosa?
EDIT: anche Java va benissimo per iniziare, ma non era nelle alternative che lui ha scritto :D
scusa eh, metti pure che Delphi non venga più venduto ne' supportato, a chi ha una copia installata gliene può fregare qualcosa?
A parte la "bruttezza" del linguaggio...ti metteresti ad imparare VB6 ? Un linguaggio arrivato alla fine del suo ciclo di vita non è sicuramente la scelta migliore... Poi, per carità, non è detto, non si sa come andranno le cose... Anche se Borland di casini ne ha combinati anche troppi in passato...
suppaman
20-02-2006, 08:30
in particolare pensavo a:
-Pascal (con compilatore FreePascal che permette di interagire con GTK e API)
-Delphi
-Kylix
[...]
Il mio sogno nel cassetto è il C, ma non ho ne tempo ne, francamente la voglia. In futuro, anche perchè come primo linguaggio...
Non mi sembra che il Pascal sia più semplice del C, se non ho capito male e devi comunque partire da zero per tutti e due ti consiglio di leggere il libro di Kernighan e Ritchie "Linguaggio C" della Jackson editore (ex ?), che è un ottimo libro per questo scopo.
Inoltre non sottovalutare la potenza e la versatilità dei linguaggi interpretati, ti consiglio di dare una chance a Python per esempio, vedrai che la sintassi è molto più immediata degli altri linguaggi che abbiamo citato.
http://www.python.org
http://www.python.it
P.S. Ada95 che è?
Dovrebbe essere l'aggiornamento orientato agli oggetti di Ada.
Non mi sembra che il Pascal sia più semplice del C, se non ho capito male e devi comunque partire da zero per tutti e due ti consiglio di leggere il libro di Kernighan e Ritchie "Linguaggio C" della Jackson editore (ex ?), che è un ottimo libro per questo scopo.
E' decrepito. Non serve piu' a nessuno. E' vecchissimo, descrive uno standard vecchio e non copre neanche tutta la libreria. Ci sono centinaia di alternative decisamente migliori a quel libro. Roba da museo. La Jackson da quello che mi risulta è andata fallita. Peccato perchè era uno dei pochi editori che tradiceva libri di spessore e li portava in italiano.
belinassu
21-02-2006, 15:17
da quel poco che ho visto e sto vedendo
mi sembra che valga le pena di imparare Java...
l'ideale sarebbe fare un corso OOL...
da quel poco che ho visto e sto vedendo
mi sembra che valga le pena di imparare Java...
l'ideale sarebbe fare un corso OOL...
Oh ma i linguaggi conviene saperli tutti. ;)
Il problema è scegliere quello giusto per imparare, soprattutto quando uno dice di aver poche pretese. Caratteristiche che non rendono Java il migliore per assolvere allo scopo. Per quanto riguarda le conoscenze da avere, invece, penso siamo tutti d'accordo che sarebbe buona cosa conoscere C, C++, Java e C# come base, piu' Delphi, Python per dare varietà al nostro bagaglio :D
suppaman
21-02-2006, 20:23
E' decrepito. Non serve piu' a nessuno. E' vecchissimo,
Aggiungerei anche un paio di sinonimi per calcare la mano, tipo è antiquato ed è datato.
descrive uno standard vecchio e non copre neanche tutta la libreria. Ci sono centinaia di alternative decisamente migliori a quel libro. Roba da museo.
A me comunque piace e glielo consiglio, non che debba essere l'unico libro che deve leggere, né lo proponevo come bibbia del C.
La Jackson da quello che mi risulta è andata fallita. Peccato perchè era uno dei pochi editori che tradiceva libri di spessore e li portava in italiano.
Si sembra anche a me sia fallita ed è davvero un peccato, la Jackson ha proposto delle cose molto interessanti anche in campo non informatico..
metallic
23-02-2006, 21:57
Non mi sembra che il Pascal sia più semplice del C
Azz se è più semplice :cool:
Inoltre non sottovalutare la potenza e la versatilità dei linguaggi interpretati, ti consiglio di dare una chance a Python per esempio, vedrai che la sintassi è molto più immediata degli altri linguaggi che abbiamo citato.
Ti ringrazio, il Python lo conosco già un po', ma non mi ci trovo proprio con i linguaggi interpretati... È sicuramente molto buono, ma io mi dico: perchè nessuno crea un compilatore? Non credo sia più difficile creare un compilatore Python rispetto ad un C, anzi... Bah
La Jackson da quello che mi risulta è andata fallita. Peccato perchè era uno dei pochi editori che tradiceva libri di spessore e li portava in italiano.
Ci sono i libri dell'Apogeo che sono stupendi :D
suppaman
24-02-2006, 14:33
Azz se è più semplice :cool:
Boh, la mia esperienza si limita al turbopascal 3 della borland, e non mi sembra fosse più semplice del C
Ti ringrazio, il Python lo conosco già un po', ma non mi ci trovo proprio con i linguaggi interpretati... È sicuramente molto buono, ma io mi dico: perchè nessuno crea un compilatore? Non credo sia più difficile creare un compilatore Python rispetto ad un C, anzi... Bah
Ma credo che il compilatore ci sia, cioé python usa un bytecode per la propria macchina virtuale, o sbaglio ?
Per iniziare parti con java o C# abbastanza facili da usare ed imparare e con un futuro certo, lascia stare i vecchi linguaggi tipo TP o altri tanto è solo tempo sprecato.
Per iniziare parti con java o C# abbastanza facili da usare ed imparare e con un futuro certo, lascia stare i vecchi linguaggi tipo TP o altri tanto è solo tempo sprecato.
Java e C# facili da imparare...
Java e C# facili da imparare...
:rolleyes:
:rolleyes:
Non ho capito se sei d'accordo con me o no. Io ero volutamente ironico. Nel senso che per me Java e C# come primi linguaggi sono un'oberazione assurda. Se consideriamo almeno il verbo "imparare" al pari di "imparare come si deve".
Chiaro che se uno deve fare solo il programmino che stampa la scrittina a video, allora pure l'assembly è facile da imparare... :D
Non ho capito se sei d'accordo con me o no. Io ero volutamente ironico. Nel senso che per me Java e C# come primi linguaggi sono un'oberazione assurda. Se consideriamo almeno il verbo "imparare" al pari di "imparare come si deve".
Chiaro che se uno deve fare solo il programmino che stampa la scrittina a video, allora pure l'assembly è facile da imparare... :D
concordo sul fatto che non son linguaggi semplici. Ma non è vero che non possono essere usati come linguaggi per iniziare, tralasciando inizialmente tuto cio che riguarda la programmazione ad oggetti; lavorare con stringhe, array, e riferimenti in java e sicuramente più facile che fare la stessa cosa in c
concordo sul fatto che non son linguaggi semplici. Ma non è vero che non possono essere usati come linguaggi per iniziare, tralasciando inizialmente tuto cio che riguarda la programmazione ad oggetti; lavorare con stringhe, array, e riferimenti in java e sicuramente più facile che fare la stessa cosa in c
Punti di vista, insomma. Sarà che io ho imparato a usare C dopo aver studiato già Pascal...
Punti di vista, insomma. Sarà che io ho imparato a usare C dopo aver studiato già Pascal...
anche io se è per questo
chi inizia con il pascal ha tutto un altro stile modestamente... :sborone: :D
byez
lnessuno
25-02-2006, 12:43
Ti ringrazio, il Python lo conosco già un po', ma non mi ci trovo proprio con i linguaggi interpretati... È sicuramente molto buono, ma io mi dico: perchè nessuno crea un compilatore? Non credo sia più difficile creare un compilatore Python rispetto ad un C, anzi... Bah
http://www.py2exe.org/ :fagiano:
la cosa negativa è che per far funzionare un programmino in python compilato bisogna portarsi dietro tutte le librerie del caso... rimane piuttosto pesante, i pacchetti di installazione che avevo fatto per un programma al lavoro, compressi, sono di 3.5 mb... con dei programmini in python da poche centinaia di kb :fagiano:
Ci sarà un motivo per cui all'università inziano con java...
lnessuno
25-02-2006, 14:09
Ci sarà un motivo per cui all'università inziano con java...
già, al poli di torino partono con il c infatti :D
Ci sarà un motivo per cui all'università inziano con java...
aggiungi anche il poli di milano e hai il quadro completo :D! comunque mi pare che a torino java lo insegnano addirittura al terzo anno.. a milano al secondo.. :rolleyes:
anche ad informatica a roma si fa c per tutto il primo anno. Ma una cosa è lo studio universitario e una cosa eè imparare un linguaggio per programmare. Comunque Java resta un linguaggio ottimo anche dal punto di vista didattico
Beh a Pisa insegnano java...
Beh a Pisa insegnano java...
A ingegneria a Pisa cominciano con il C++ ;)
Io parlavo d'informatica non di ingegneria informatica...
A Salerno si studia JAVA ... :D
Ho letto la discussione e vorrei dire la mia in proposito:
penso che java sia buono per cominciare. Non è semplice da imparare (per fare cose difficili) ma è completo ed è soprattutto Object Oriented.
Penso che se uno vuole iniziare a programmare, prima o poi si deve imbattere col mondo OOP, quindi è meglio iniziare direttamente da lì.
Certo non si comincia subito con le classi e robe del genere, ma è meglio studiare un linguaggio che li supporta (pure PHP 5 ora supporta la programmazione ad oggetti) così non si deve cominciare da capo quando si vuole apprendere la OOP. ;)
Saluti a tutti e... W LA PROGRAMMAZIONE (quante notti insonni però :cry: :cry: :cry: )
PS: parlo di java xkè programmo in java, ma vanno bene anche C++ o C#.
A Salerno si studia JAVA ... :D
Ho letto la discussione e vorrei dire la mia in proposito:
penso che java sia buono per cominciare. Non è semplice da imparare (per fare cose difficili) ma è completo ed è soprattutto Object Oriented.
Penso che se uno vuole iniziare a programmare, prima o poi si deve imbattere col mondo OOP, quindi è meglio iniziare direttamente da lì.
Certo non si comincia subito con le classi e robe del genere, ma è meglio studiare un linguaggio che li supporta (pure PHP 5 ora supporta la programmazione ad oggetti) così non si deve cominciare da capo quando si vuole apprendere la OOP. ;)
Saluti a tutti e... W LA PROGRAMMAZIONE (quante notti insonni però :cry: :cry: :cry: )
PS: parlo di java xkè programmo in java, ma vanno bene anche C++ o C#.
e chi ha detto che bisogna riniziare da capo con l'OOP??! prima di tutto già con PASCAL puoi vedere qualcosina di oggetti, e poi la programmazione a oggetti si aggiunge alle conoscenze che hai, non le sostituisce!
questo per quanto riguarda la programmazione seria (non lamer :D ) IMHO
prima di tutto già con PASCAL puoi vedere qualcosina di oggetti
ah si, io non me ne sono accorto...
ah si, io non me ne sono accorto...
qui http://www.geocities.com/SiliconValley/Park/3230/pas/pasl3001.html ce n'è qualche esempio :D
grazie... programmando pure il C e tutti gli altri linguaggio possono essere OO...
grazie... programmando pure il C e tutti gli altri linguaggio possono essere OO...
guarda che non ho detto che pascal è Object Oriented.. ma che permette di usare gli oggetti! il C può offire solo le struct invece, che non sono proprio oggetti
I linguaggi OO hanno solo il supporto nella sintassi per l'object orientation, non significa che un linguaggio che non ne ha non possa essere programmato in modo OO. La programmazione orientata agli oggetti infatti è solo una tecnica. Una tecnica che si basa sulla programmazione strutturata. Una tecnica che facilità la strutturazione del codice e la programmazione a componenti permettendo di scrivere grosse porzioni di codice riusabile. E' perfettamente possibile fare programmazione OO in C (sebbene con qualche difficoltà) ma una volta scritti i "tool" e capiti i concetti, non è poi cosi difficile. GTK+ per esempio è scritto completamente in C utilizzando gli oggetti. Il sistema a oggetti di GTK+, per esempio, è dato dalla libreria Glib, che implementa una classe GObject che consente la programmazione OO in C.
Devo decidermi a scrivere un tutorial un giorno o l'altro sulla programmazione OO in C. E' un argomento che mi è sempre interessato parecchio, penso che anche a voi possa interessare particolarmente...
Non è difficile come si può pensare... Pensate che in C++, per esempio, una classe è una semplice struttura C in grado di contenere metodi ... Detto molto terra terra ovviamente...
Ci sarà un motivo per cui all'università inziano con java...
Ed ecco perchè mi viene in mente che la cosa sia sbagliata... :D :sofico:
Devo decidermi a scrivere un tutorial un giorno o l'altro sulla programmazione OO in C. E' un argomento che mi è sempre interessato parecchio, penso che anche a voi possa interessare particolarmente...
Non è difficile come si può pensare... Pensate che in C++, per esempio, una classe è una semplice struttura C in grado di contenere metodi ... Detto molto terra terra ovviamente...
wow sarebbe davvero interessante! ma giusto per avere un'idea... per fare questa cosa si usano i puntatori a funzione?
wow sarebbe davvero interessante! ma giusto per avere un'idea... per fare questa cosa si usano i puntatori a funzione?
Di la verità, sei intelligente o l'hai letto da qualche parte? :D
Bravissimo, proprio i puntatori a funzione, sfruttando l'indirettezza multipla. Se tu in una struttura metti un puntatore a funzione (quindi la possibilità di richiamare una funzione) non ottieni forse il comportamento di una classe? ;)
Allocando memoria con una malloc() per quella struttura, non ottieni un comportamento simile all'instanziazione di un oggetto? ;)
Programmi una funzione new() (simile all'operatore new di C++) ad hoc per assolvere allo scopo. Poi ci sono tanti altri trucchetti per ottenere l'ereditarietà e altre cosette.
L'unico che richiede un supporto nativo del compilatore è il polimorfismo, ma ci sono stratagemmi anche per questo, solo che li andiamo nell'arcano delle calling conventions...
Il succo comunque è che l'OO è solo una tecnica della programmazione strutturata e che il supporto che danno i linguaggi object oriented è, appunto, solo un supporto. Non un mezzo esclusivo, come pensano molti.
Paradossalmente, puoi fare programmazione strutturata semplice anche in Java, utilizzando esclusivamente classi statiche... Anche se poi il linguaggio come strumenti ti mette a disposizione una libreria esclusivamente "a oggetti", quindi è piu' teoria che pratica, in questo caso.
Di la verità, sei intelligente o l'hai letto da qualche parte? :D
Bravissimo, proprio i puntatori a funzione, sfruttando l'indirettezza multipla. Se tu in una struttura metti un puntatore a funzione (quindi la possibilità di richiamare una funzione) non ottieni forse il comportamento di una classe? ;)
Allocando memoria con una malloc() per quella struttura, non ottieni un comportamento simile all'instanziazione di un oggetto? ;)
ihih :D giuro che non avevo mai sentito parlare di programmazione a oggetti in C! ma i puntatori a funzione mi avevano molto interessato a suo tempo e mi è sembrata l'unica soluzione plausibile :cool: davvero non ci avevo mai pensato prima! adesso qualche oggetto in C non me lo leva nessuno.. :Prrr:
Punti di vista, insomma. Sarà che io ho imparato a usare C dopo aver studiato già Pascal...
Io ho iniziato subito col C...che ho sbagliato? :p
Io ho iniziato subito col C...che ho sbagliato?
quanto ne sai di architettura dei pc?
quanto ne sai di architettura dei pc?
Che c'entra l'architettura dei calcolatori adesso?
mi spieghi come fai a programmare bene in C senza conoscere un minimo di anchitettura oppure programmi così a c_z_o senza capire cosa succede dentro?
mi spieghi come fai a programmare bene in C senza conoscere un minimo di anchitettura oppure programmi così a c_z_o senza capire cosa succede dentro?
Non serve assolutamente conscere l'architettura del calcolatore per programmare in C... Al massimo serve sapere un minimo come funziona la memoria...e basta... Non capisco a cosa serva conoscere l'architettira :boh:
mi spieghi come fai a programmare bene in C senza conoscere un minimo di anchitettura oppure programmi così a c_z_o senza capire cosa succede dentro?
Il Iinguaggio C è costituito, come tutti i linguaggi, da una sintassi e da una libreria. La libreria è costituita da funzioni abbastanza generiche (stringhe, caratteri, memoria, numeri). Non c'è affatto bisogno di conoscere l'architettura dei calcolatori per programmare in C. A parte casi specifici molto isolati.
L'unica cosa che vale la pena conoscere è come funzionano gli operatori logici sui bit. Ma qui definire questa cosa "architettura" è ancora un po esagerato.
Sarebbe molto piu' utile conoscere bene le strutture di dati, piu' che l'architettura, visto che di base la libreria non implementa tali funzionalità. ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.