PDA

View Full Version : Linguaggi di programmazione: come e dove impararli?


Giant Lizard
24-07-2007, 00:17
Ho visto che ci sono delle guide anche su questo stesso forum, ma sono troppe, qualcuno mi sa indirizzare con precisione sulle migliori guide per i vari linguaggi di programmazione? Che siano le più chiare, adatte anche ad un bambino di 3 anni :D

I linguaggi che mi interesserebbe approfondire in questo momento sono:

- PHP
- Java
- HTML
- XHTML
- SQL
- Visual C++

Si può fare qualcosa?

Un'altra cosa, se volessi imparare a creare qualcosa in flash?

mjordan
24-07-2007, 03:13
Ho visto che ci sono delle guide anche su questo stesso forum, ma sono troppe, qualcuno mi sa indirizzare con precisione sulle migliori guide per i vari linguaggi di programmazione? Che siano le più chiare, adatte anche ad un bambino di 3 anni :D

I linguaggi che mi interesserebbe approfondire in questo momento sono:

- PHP
- Java
- HTML
- XHTML
- SQL
- Visual C++

Si può fare qualcosa?


Le "migliori guide sui linguaggi di programmazione" sono i libri che si comprano in libreria, soprattutto se il tuo interesse va nel campo dell'approfondimento, come tu stesso hai detto. Le guide in rete, degli utenti, dei siti etc. etc. ti possono dare un'infarinatura generale e non sono adatte per la maggior parte ad uno studio serio ma solo ad avere una visione di concetto. Le guide scritte per introdurre qualche concetto, anche quelle vanno bene per chi ha già una visione completa della materia ma non per chi è a digiuno su un determinato linguaggio. Insomma, se vuoi imparare non cercare guide ma compra dei libri.

Io in genere, quando mi interesso a qualcosa, faccio cosi:
1) Vado su amazon.com
2) Inserisco nella ricerca una stringa generica che possa identificare quello che cerco.
3) Raffino la ricerca cliccando sulle proposte che amazon stesso mi fa in base all'item che sto consultando.
4) Leggo le recensioni degli utenti e la media dei voti che quel determinato libro ha preso.
5) Consulto anche il libro consigliato in alternativa a quello che mi interessa.
6) Fra i due, scelgo quello con il voto piu' alto, a parità di voto prendo quello piu' completo e che copre maggiori argomenti (in verità opto per la seconda scelta anche se il libro in questione ha un voto leggermente piu' basso).
7) Mi appunto titolo, autore, editore e ISBN.
8) Vado nella mia libreria universitaria di fiducia, lascio un'acconto e lo ordino.
9) Una volta arrivato, lo studio, annotando su dei fogli tutti i lati positivi e negativi che esso ha.
10) Torno su Amazon e lascio una recensione (non sempre perchè sono pigro e piuttosto che scrivere recensioni da 3 righe preferisco non farle per niente).

Forse ho un'approccio eccessivamente "totalitario" nei confronti dell'apprendimento di un linguaggio o di uno strumento, ma se devi imparare 20 linguaggi leggendo una guida da 20 pagine per ognuno, allora è meglio che ti compri un libro da 400 pagine su un solo linguaggio. Anche perchè anche con un solo libro, non puoi permetterti il lusso di poter dire "conosco questo linguaggio", figuriamoci con dei tutorial online.

Comunque, se ti interessa qualche titolo pronto, ho qui' sulla scrivania dei libri che ho letto e che considero sufficientemente chiari, adatti a un vasto pubblico e soprattutto sufficientemente completi e "self-contained". Ti do solo roba in italiano cosi puoi reperirli facilmente nel caso sei interessato:

Per il PHP:

Tim Converce, Joyce Park
Guida a PHP
McGrawHill Editore (questo in italiano).


Considerando quanto è grosso Java un solo libro ci vorrebbe per coprire ogni singola API, ma comunque per un'infarinatura "completa" io ho letto (e considero fra i piu' chiari in commercio):


Bruce Heckel
Thinking in Java
Pearson / Prentice Hall (Edizione italiana, Vol. I, II e III)


piu' che altro perchè oltre a impararti Java ti indica anche come scrivere programmi in Java.
Ho preso l'edizione italiana che è in tre volumi ed in "regalo" c'è una mappa gigante con i class diagram principali di JSE. Accertati di prendere l'ultima edizione (la quarta) e magari prendi il cofanetto da 3 volumi perchè è fantastico. Il primo volume copre le basi, "I fondamenti", il secondo "Tecniche avanzate" copre le collection e molta altra roba fra le API essenziali e il terzo volume "Concorrenza e interfacce grafiche" ti da una buona introduzione ai threads e all'API concorrente. Per la questione GUI è solo un'infarinatura generale, nulla da cui si possa imparare qualcosa di serio. L'edizione vecchia è disponibile online in formato PDF (sempre che tu riesca a leggere un libro del genere in PDF)

Sempre per Java, ho trovato fantastico il libro di Schildt:

Herbert Schildt
Guida Completa JSE 6
McGrawHill

Autore molto criticato in passato per degli errori che fanno tutti, personalmente ho tutti i suoi libri e trovo il suo stile molto sobrio ed elegante, nonchè diretto al punto. Dagli un'occhiata.

Per SQL, io ho trovato molto buono il libro:

Daniela Dorbolò, Andrea Guidi
Guida a SQL
McGrawHill


Usa un approccio "learn by doing" che male non fa con molti esempi e con la creazione guidata di un database, spiegando sempre chiaramente quando questo linguaggio assume un ruolo di DDL (Data Definition Language) e quando di DML (Data Modeling Language). Copre l'SQL ANSI, quindi per approfondimenti su un particolare database, poi, si rimanda alla documentazione specifica per quel database.

Per HTML, il titolo e l'autore non me lo ricordo ora e non posso vederlo perchè il libro in questione ce lo ha adesso mio fratello, come lo vedo se ti interessa te lo posto. Per XHTML, sappi che non sarebbe altro che il "nuovo" standard HTML, epurato da concetti ormai vecchi che hanno preso posto nei nuovi standard CSS e XML. Quindi io ti consiglierei di studiare i CSS e XML, ma non in modo troppo approfondito perchè si possono ottenere già dei bei risultati con "poco". Non ho libri specifici su questi argomenti, questi sono concetti per cui mi sento di consigliarti di cercare qualcosa online. Non serve niente di esaustivo, insomma.

Per C++, se sei a zero di nozioni, non ti consiglio di addentrarti direttamente in Visual C++ di Microsoft, ma di studiare il linguaggio standard, cosi come definito dal comitato ISO. Considera che C++ sta per subire una nuova revisione dello standard e l'API verrà espansa a dismisura, includendo molte delle funzionalità che fino ad adesso si implementava programmando con API non standard (come quelle di Microsoft). Il risultato è che a breve, studiando direttamente Visual C++, potrebbe diventare tutto obsoleto. Studiando il C++ standard, invece, le nozioni che apprendi le riuserai. Quindi ti consiglio il classico libro di Bjarne Stroustrup per il linguaggio C++:

Bjarne Stroustrup
Il linguaggio C++
Addison Wesley

e anche il corrispettivo libro di quello che ti ho consigliato per Java:

Herbert Schildt
Guida Completa C++
McGrawHill


Il secondo usa un linguaggio molto piu' comprensibile a un newbie, non per questo trascurando la completezza. Il libro di Stroustrup consideralo una specializzazione sul linguaggio e sullo stile da intraprendere per scrivere programmi in C++.


Un'altra cosa, se volessi imparare a creare qualcosa in flash?


Imparare Flash non credo sia diverso da imparare qualsiasi altra cosa su questo mondo. Si applicano i principi espressi precedentemente, nè piu' nè meno :D Per Flash non ho libri da consigliarti, mi spiace. E' l'ultima cosa che imparerei su questo mondo ed è una delle poche cose il cui uso lo considero di cattivo gusto. :sofico:
Tempo sprecato, insomma. Anche perchè se parliamo di Flash nella semplice definizione, allora si tratta di usare solo un programma. Se parliamo di Flash considerando ActionScript, allora è meglio imparare JavaScript/ECMAScript e restare in pace :D

Giant Lizard
25-07-2007, 13:02
Caspita...grazie!! :eek:

Direi che di materiale ce nè :D io comunque cercavo guide online perchè speravo di imparare i vari linguaggi senza spendere un soldo... :(

Ho parlato di approfondimento, ma a parte l'SQL del resto non so praticamente nulla (giusto le basi di Java) quindi dovrei impararlo da zero...anche se mi risulta che bene o male tutti i linguaggi di programmazione funzionano similarmente, no?

Come libri, io ho tenuto i libri scolastici di quando ho studiato informatica al liceo (Java, C++ e SQL), dici che vanno bene ugualmente o sono meglio libri non scolastici?


Imparare Flash non credo sia diverso da imparare qualsiasi altra cosa su questo mondo. Si applicano i principi espressi precedentemente, nè piu' nè meno :D Per Flash non ho libri da consigliarti, mi spiace. E' l'ultima cosa che imparerei su questo mondo ed è una delle poche cose il cui uso lo considero di cattivo gusto. :sofico:
Tempo sprecato, insomma. Anche perchè se parliamo di Flash nella semplice definizione, allora si tratta di usare solo un programma. Se parliamo di Flash considerando ActionScript, allora è meglio imparare JavaScript/ECMAScript e restare in pace :D

Umh, non ho ben capito...in che senso di cattivo gusto? :confused: personalmente mi piacerebbe imparare a programmare in flash per creare semplici giochi :D

mjordan
25-07-2007, 22:51
Se vuoi spendere pochi o niente soldi, sicuramente in rete c'è molto da spulciare. Tuttavia le tematiche di "approfondimento" si fanno piu' tediose. :D

Giant Lizard
25-07-2007, 22:59
Se vuoi spendere pochi o niente soldi, sicuramente in rete c'è molto da spulciare. Tuttavia le tematiche di "approfondimento" si fanno piu' tediose. :D

in che senso?

mjordan
25-07-2007, 23:27
in che senso?

Nel senso che le guide in genere coprono un argomento e basta (a parte quelle generiche). Quindi se vuoi approfondire qualcosa dovresti cercarne piu' di una.

71104
25-07-2007, 23:52
I linguaggi che mi interesserebbe approfondire in questo momento sono:

- PHP
- Java
- HTML
- XHTML
- SQL
- Visual C++ Visual C++ non è un linguaggio è un IDE (Integrated Development Environment), cioè un programma che assiste nello sviluppo del software, in questo caso software in C e/o C++. Visual C++ utilizza il compilatore Microsoft, che credo rispetti molto bene gli standard ufficiali del C e del C++; non al 100%, ma del resto credo che non esistano compilatori che lo facciano. di conseguenza per imparare a programmare in Visual C++ i linguaggi che devi apprendere sono appunto il C e il C++, ma è doveroso aggiungere che per concluderci realmente qualcosa di più complesso dei fattoriali e delle rubriche in CUI (Console User Interface) dovresti conoscere anche una tra le seguenti cose, in ordine (crescente) di difficoltà:
- Managed C++ e .NET
- MFC
- API Win32

o in alternativa potresti utilizzare un toolkit come wxWidgets che oltre a semplificarti la vita offrendoti delle interfacce di programmazione più semplici delle API Win32 ti permetterebbe anche di rendere il tuo sorgente più facilmente portabile su piattaforme diverse da Windows.

Giant Lizard
26-07-2007, 00:26
bel casino... :doh: non sapete indirizzarmi da nessuna parte, possibilmente gratuita, per permettere ad un n00b come me di apprendere l'arte della programmazione? :p

cdimauro
26-07-2007, 07:31
Se la tua intenzione è "soltanto" :p quella di imparare (quindi senza nessun altro vincolo oltre a questo) a programmare leggi questo http://www.hwupgrade.it/forum/showthread.php?t=1487400 thread. ;)

Giant Lizard
26-07-2007, 10:35
Se la tua intenzione è "soltanto" :p quella di imparare (quindi senza nessun altro vincolo oltre a questo) a programmare leggi questo http://www.hwupgrade.it/forum/showthread.php?t=1487400 thread. ;)

interessante :) ho letto di Phyton e Ruby, cosa sono? Due normali linguaggi di programmazione come lo possono essere Java e C++? Non li ho mai sentiti... :mbe: facendo una piccola ricerca ho visto che esiste anche Jython, che dovrebbe essere più simile a Java...potrei cominciare da quello?

Sono abbastanza confuso... :cry: forse dovrei veramente comprarmi i libri... Ma se me li prendessi troverei segnati dentro anche quali sw usare per programmare e compilare? :D

Ziosilvio
26-07-2007, 11:01
Se parti da zero, il mio suggerimento non può che essere quello di imparare Python.
Si tratta di un linguaggio di programmazione interpretato, ossia non hai bisogno di creare un eseguibile a partire dal codice, ma hai un software (l'interprete Python, appunto) che traduce "al volo" il programma Python in codice eseguibile.
La sintassi è molto semplice e chiara, e la libreria di funzioni è molto completa: puoi fare veramente di tutto, da semplici script di gestione del sistema, a programmazione Web lato server, a calcolo numerico --- dove, come spiegato QUI (http://www.37mm.no/math.html), "Python rompe il c##o a MATLAB in termini di velocità dell'interprete, chiarezza del linguaggio, scalabilità e prestazioni su piccoli array".
Trovi QUI (http://www.python.org/) l'interprete e la documentazione.

Come testo, oltre agli immancabili manuali, suggerisco QUESTO (http://www.ibiblio.org/obp/thinkCSpy/).

PGI-Bis
26-07-2007, 11:18
Jython è un motore di esecuzione per codice Python nella piattaforma Java. Tipo JRuby per Ruby o Rhino per JavaScript.

Se vuoi provare Java puoi scaricare questa roba qui:

http://java.sun.com/javase/downloads/netbeans.html

il primo link.

A prescindere dalla lingua, ricorda di usarla. Leggere libri e scrivere codice. Valanghe di codice. Personalmente se uno mi dice di conoscere un linguaggio e ha scritto meno di cinque milioni di righe non mi fido.

cdimauro
26-07-2007, 13:17
Quoto sia ZioSilvio che PGI-Bis. Per il resto:
interessante :) ho letto di Phyton e Ruby, cosa sono? Due normali linguaggi di programmazione come lo possono essere Java e C++? Non li ho mai sentiti... :mbe:
Sì, sono linguaggi come gli altri, e sono classificati come "di scripting" come diceva ZioSilvio, ma ci puoi fare di tutto (e MOLTO più velocemente rispetto a tanti altri linguaggi).
facendo una piccola ricerca ho visto che esiste anche Jython, che dovrebbe essere più simile a Java...potrei cominciare da quello?
Se vuoi cominciare (quindi da zero suppongo), ti suggerisco anch'io di partire direttamente con Python.

Una volta presa dimestichezza con Python, puoi anche provare Jython, che è basato su Python come linguaggio, ma ti dà la possibilità di compilare i sorgenti in bytecode Java, e quindi eseguibile in qualunque Java Virtual Machine (tra l'altro è possibile anche importare e utilizzare i package di Java, estendere classi, implementare interfacce, ecc. ecc. Insomma, hai il vantaggio di usare Python come linguaggio, ma di poter sfruttare anche le librerie disponibili per Java).

Comunque, ripeto, ci puoi pensare benissimo dopo. Il tuo obiettivo è imparare, e per far questo è meglio che ti concentri con una sola cosa e semplice. Dunque prova a "giocare" con Python. ;)
Sono abbastanza confuso... :cry: forse dovrei veramente comprarmi i libri... Ma se me li prendessi troverei segnati dentro anche quali sw usare per programmare e compilare? :D
Il link che ti ho passato prima è un thread interessante e se hai tempo ti suggerisco di leggertelo tutto. In ogni leggiti questo http://www.hwupgrade.it/forum/showpost.php?p=17427521&postcount=19 mio messaggio, che alla fine presenta anche il link al libro di testo suggerito da ZioSilvio, ma tradotto in italiano (non si sa mai se con l'inglese dovessi avere qualche difficoltà).

71104
26-07-2007, 13:58
@Giant Lizard: anche il tuo avatar suggerisce di iniziare con Python :D

Giant Lizard
26-07-2007, 14:39
Il link che ti ho passato prima è un thread interessante e se hai tempo ti suggerisco di leggertelo tutto. In ogni leggiti questo http://www.hwupgrade.it/forum/showpost.php?p=17427521&postcount=19 mio messaggio, che alla fine presenta anche il link al libro di testo suggerito da ZioSilvio, ma tradotto in italiano (non si sa mai se con l'inglese dovessi avere qualche difficoltà).

Grazie mille, utilissimo :)

in effetti stavo proprio cercando qualcosa in italiano, non sono assolutamente un genio dell'inglese e finirei col perdere un mucchio di tempo senza capirci nulla.

Se cominciassi con Python, riuscirei:

A) ad ottenere buoni risultati

B) ad imparare a programmare e a spostarmi quindi su un linguaggio più difficile, con meno problemi di apprendimento che se non conoscessi Python?

Ah, grazie ancora per tutti gli aiuti che mi state dando :)

@Giant Lizard: anche il tuo avatar suggerisce di iniziare con Python :D

lol

si ma quella è una lucertola, non un serpente :p

cdimauro
27-07-2007, 07:57
Grazie mille, utilissimo :)

in effetti stavo proprio cercando qualcosa in italiano, non sono assolutamente un genio dell'inglese e finirei col perdere un mucchio di tempo senza capirci nulla.

Se cominciassi con Python, riuscirei:

A) ad ottenere buoni risultati

B) ad imparare a programmare e a spostarmi quindi su un linguaggio più difficile, con meno problemi di apprendimento che se non conoscessi Python?
Penso di sì. L'importante, come sempre, è partire col piede giusto.

Tu attualmente devi partire da zero, e quindi ti serve imparare a programmare, per cui è meglio iniziare con linguaggi come Python che ti semplifica non poco la vita grazie alla sintassi semplice, elegante, comprensibile e senza tanti fronzoli (es: non devi pre-dichiarare le variabili né tanto meno il loro tipo).

Comunque non so se più avanti sentirai l'esigenza di imparare altri linguaggi di programmazione. E' chiaro che tutto dipende dal tipo di applicazioni, ma da quasi 3 anni ho iniziato a lavorare con Python, e non ho avuto praticamente necessità di usare qualcos'altro; questo perché è un linguaggio completo, che offre diversi paradigmi di programmazione e quindi si presta per le situazioni più disparate.

Soltanto di recente ho avuto la necessità di tornare a lavorare con Delphi per un progettino che sto realizzando (Delphi per realizzare applicazioni dotate di interfaccia grafica è a dir poco fenomenale), ma col progetto Python for Delphi ( http://mmm-experts.com/Products.aspx?ProductId=3 ) ho trovato la possibilità di "mischiare" i due linguaggi / mondi, e quindi prendere il meglio dei due (posso, ad esempio, utilizzare oggetti Python da dentro Delphi come se fossero istanze di classi Delphi, e viceversa utilizzare istanze di classi Delphi come se fossero nativi nei moduli Python; semplicemente fantastico, anche se soprattutto con l'incredibile facilità con cui si realizza questo connubbio :p ).
Ah, grazie ancora per tutti gli aiuti che mi state dando :)
E' un piacere cercare di aiutare chi vuole addentrarsi in questo fantastico mondo.

Giant Lizard
27-07-2007, 09:32
Comunque non so se più avanti sentirai l'esigenza di imparare altri linguaggi di programmazione.

Bè ma se dovessi poi cercare un lavoro in questo ambito? Suppongo che conoscere solo Python sia un pò poco, no?

Per questo volevo sapere se Python può essere una buona base da cui partire per poi imparare anche altri linguaggi... :)

mjordan
27-07-2007, 12:12
Bè ma se dovessi poi cercare un lavoro in questo ambito? Suppongo che conoscere solo Python sia un pò poco, no?


Tutto dipende dal lavoro. Ci sono lavori dove basta sapere un linguaggio e andare avanti con quello, lavori dove devi conoscerne altri, lavori in cui di un linguaggio devi avere una specializzazione in qualcosa in modo completamente esauriente, lavori che come requisito si richiede un diploma di perito informatico e lavori dove serve una laurea in Informatica. E lavori dove neanche con la laurea ci fai una mazza. :asd: Come dice Einstein, tutto è relativo. Anche perchè la programmazione non è solo conoscere uno o piu' linguaggi.


Per questo volevo sapere se Python può essere una buona base da cui partire per poi imparare anche altri linguaggi... :)

Tutti i linguaggi sono una buona base per imparare altri linguaggi. Il discorso che si sta facendo qui dentro è trovare quello giusto come primo linguaggio, quindi partendo con una base di conoscenza nulla. Nessuno ti vieta di cominciare con C, il problema è che cominciando con C avrai molti piu' problemi che non iniziando con Python. Quindi la risposta alla tua domanda è si, Python è una buona base da cui partire. Ti consente di concentrarti piu' sul problema che non sulle idiosincrasie del linguaggio in se. E programmare è proprio risolvere problemi. Il linguaggio è solo uno dei mezzi per arrivare a ciò.

ndakota
27-07-2007, 12:57
scusate ma nelle mia classe dell'anno appena terminato, terza superiore, abbiamo iniziato dal C in informatica e dall'assembly in sistemi.. e per di piu a scuola c'è un sacco di gente non interessata eppure ci si riesce. non vedo quindi perchè lui non potrebbe partire dal C. ;)

cdimauro
27-07-2007, 13:00
Giusto qualche nota visto che Renato ha già fornito ampie risposte. :p
Bè ma se dovessi poi cercare un lavoro in questo ambito? Suppongo che conoscere solo Python sia un pò poco, no?
Sì. Dipende dal tipo lavoro ovviamente, ma tante volte ti trovi ad avere a che fare con gente mentalmente tarata e che se non gli lavori in C, tanto per dirne una, non ti considera un programmatore o pensa che sei scarso.
Per questo volevo sapere se Python può essere una buona base da cui partire per poi imparare anche altri linguaggi... :)
Non è una buona, ma un'eccellente base per iniziare, ma pure per lavorare. ;)

Una volta imparato a programmare non ti sarà difficile apprendere altri linguaggi: all'inizio ti basterà studiarti la sintassi, e poi col tempo farai pratica e apprenderai la metodologia giusta per andare avanti col nuovo linguaggio.

cdimauro
27-07-2007, 13:05
scusate ma nelle mia classe dell'anno appena terminato, terza superiore, abbiamo iniziato dal C in informatica e dall'assembly in sistemi.. e per di piu a scuola c'è un sacco di gente non interessata eppure ci si riesce. non vedo quindi perchè lui non potrebbe partire dal C. ;)
Semplicemente perché per imparare a programmare si lavora molto meglio e più velocemente con Python che col C o addirittura l'assembly, che richiedono sforzi notevoli per essere "addomesticati" (e non parliamo poi per realizzare cose di una certa complessità).

Inoltre con questi linguaggi parti da un livello troppo basso, dovendo necessariamente apprendere dei concetti più difficili da digerire (puntatori & co) e informazioni legate alla piattaforma e/o al compilatore (es: endianess, ordine dei bit nei campi di bit, valutazione delle espressioni, ecc.).

Con Python, invece, ti concentri soltanto sul problema e sulla sua soluzione. Operi a un livello molto più alto, insomma. Non a caso per lui è stato coniato il termine "pseudocodice eseguibile". :p

mjordan
27-07-2007, 14:01
Python 3.0 is on the way.... :D

Giant Lizard
27-07-2007, 20:47
Bè penso di aver raccolto tutto il materiale possibile per il momento :) quando mi metterò giu magari chiedo altre info su Python, se non è di disturbo :p

cdimauro
27-07-2007, 21:18
Non c'è problema. ;)

x mjordan: vero, ma per un pascaliano come me sarà un colpo al cuore l'eliminazione dell'operatore <> per la valutazione dell'uguaglianza (rimarrà soltanto != ).
D'altro canto la comunità Python è abbastanza "settaria": ha una filosofia per lo sviluppo del linguaggio, e con la 3.0 ci sarà una generale rivisitazione eliminando tutto ciò che non è ritenuto "pythonic".

ndakota
28-07-2007, 12:27
- Managed C++ e .NET
- MFC
- API Win32


mi spieghi cosa si può fare e a cosa servono queste tre cose?

Mixmar
28-07-2007, 17:43
mi spieghi cosa si può fare e a cosa servono queste tre cose?

Sono collezioni di librerie per semplificare lo sviluppo in linguaggio C / C++ in ambiente Windows. Nel caso di .NET, più correttamente si può dire che si tratta di un framework (più o meno, di una collezione di librerie "sistematizzate", cioè raccolte e catalogate secondo un criterio, ed una nomenclatura "acconcia") che può essere fruito da un qualunque linguaggio compilabile sulla CLI di Microsoft (C++, C#, VisualBasic.NET, J#, Python, eccetera).

Come ha accennato 71104, con le librerie standard del linguaggio C da sole non si riesce ad ottenere granchè dai propri programmi: sono così nate librerie che, a vari livelli di astrazione (generalmente, a livello di astrazione crescente corrisponde facilità d'uso (intesa come "vicinanza dei concetti impiegati a controparti umane, minor legame con la specifica struttura della macchina")), forniscono già fatte tutta una serie di funzionalità necessarie.

Le API Win32 sono la base per programmare in Windows: aprire finestre, disegnare sullo schermo, ma anche aprire un file, o stamparlo, connettersi ad un sistema remoto, eccetera. Senza di esse, sarebbe necessario ogni volta che si vuole costruire un programma reimplementare "da zero" le funzioni più elementari.

Le MFC sono le Microsoft Foundation Classes, costruite a partire dalle API Win32 per venire incontro alle esigenze di chi considerava ancora troppo "di basso livello" le API di Windows.

Infine, .NET è una potente piattaforma per lo sviluppo di applicazioni, che fornisce allo sviluppatore una sorta di corrispettivo "simulato" e ad oggetti del funzionamento del sistema sottostante, in modo da poterne ignorare, grossomodo, gli aspetti non interessanti ai fini dello sviluppo: un altro livello di astrazione, come ti dicevo.

ndakota
28-07-2007, 19:57
ti ringrazio :)