|
|
|
![]() |
|
Strumenti |
![]() |
#141 | |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
![]() Consiglio anche ad altri di provarlo, perché ne vale veramente la pena... .) Grazie tante!!! ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
![]() |
![]() |
![]() |
#142 |
Senior Member
Iscritto dal: Aug 2002
Città: Trento
Messaggi: 40877
|
mi fa piacere che ti piaccia
![]() sto lavorandoci su, voglio migliorarlo un poco soprattutto nei caricamenti delle pagine di firefox |
![]() |
![]() |
![]() |
#143 | |||||||||||||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Ho però visto un sorgente di questo "pacchetto", debbo dire che il codice era scritto MOLTO BENE: perfino le macro, che in genere sono particolarmente criptiche, erano molto leggibili e ben documentate / commentate (come tutto il resto del codice). Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quando agli inizi degli anni '80 spuntò WordStar, che permetteva di scrivere file di testo strutturati, la società che lo sviluppava introdusse un SUO formato (proprietario, quindi), che permettava di conservare le informazioni che gli servivano. Avremmo dovuto trucidare i programmatori per quest'affronto alla libertà personale? Non credo proprio: era un normale esigenza, risolta come s'è sempre fatto. MS, come ho già detto, è l'ultima arrivata, e ha rilasciato da parecchi anni le specifiche dei file prodotti con Office '97: con le versioni successive non ha fatto lo stesso, ma in ogni caso puoi: - farne a meno e usare quelli vecchi; - in qualsiasi momento puoi esportare i tuoi dati in parecchi formati. Quindi, come vedi, il problema non si pone. Tra l'altro erroneamente la gente considera come "liberi" formati come MP3, MPEG 1/2/4, ecc.: non è affatto vero! Diritti e licenze sono FORTEMENTE in mano alle varie società che li hanno sviluppati / ideati, o che ne hanno realizzato alcune parti. Anche qui ci sarebbe da discutere: perché usare MP3 anziché OGG Vorbis? Semplicemente perché all'epoca non c'era nulla di simile, OV non esisteva. MP3, quindi, s'è diffuso, e la gente è convinta che si tratti di un prodotto "libero". Per verificare questo, prova a vedere se con xmms, noatun, kaboodle, o altre applicazioni Linux, riesci ad ascoltare un file MP3: non ci riuscirai, e come minimo ti apparirà un avvertimento che si tratta di un formato proprietario e per problemi di licenza non hanno potuto integrare il relativo codec o plugin. Quote:
Quote:
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||||||||||||||
![]() |
![]() |
![]() |
#144 | |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
![]() Comunque, AI TEMPI, anche Windows 3.1 non era da buttar via... ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
![]() |
![]() |
![]() |
#145 | ||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
Dal 1998 a oggi siamo passati da Windows 98 a Windows XP SP2, e XP / 64 è dietro le porte (per non parlare di LongHorn, che il prossimo anno porterà un'altra, grande, rivoluzione).
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||
![]() |
![]() |
![]() |
#146 | |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Purtroppo ormai anche all'università si comincia a programmare in Java e, anzi, quasi sempre è l'unico linguaggio utilizzato e studiato per quanto riguarda la programmazione in generale, e a oggetti in particolare. Francamente preferirei il Pascal a oggetti, che è fortemente tipizzato (quindi obbliga a capire bene con quali strutture / tipi di dati si ha a che fare, e COME gestirli), e che richiede l'uso di costruttori E distruttori quando si comincia a lavorare con gli oggetti. Lo so: sono troppo di parte... ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
![]() |
![]() |
![]() |
#147 | ||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
Quote:
![]() Quote:
D'altra parte, da EONI è possibile attivare, ad esempio, il controllo sugli indici degli array, o addirittura sull'overflow delle operazioni, ma chi l'ha mai fatto? Si va sempre di fretta, e poi se ne pagano le conseguenze... ![]() ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||||
![]() |
![]() |
![]() |
#148 | ||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
![]() Quote:
![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||
![]() |
![]() |
![]() |
#149 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Scusatemi per gli orrori grammaticali: sono troppi da correggere e il tempo che ho è poco...
![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#150 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11782
|
Quote:
Riporto una frase di Don Box che riguarda proprio questo argomento, dove, piu' o meno, dice: "Ogni volta che un nuovo linguaggio o un nuovo paradigma alza il livello di astrazioni, c'e' qualcuno che si lamenta perche' non ha piu' il controllo che aveva prima. E' successo con con il passaggio dall'Assembly al C/C++ ed ora succede col passaggio da codice unmanaged a codice managed. I vantaggi derivati dall'aumento del livello di astrazione hanno sempre superato gli svantaggi dovuto al minore controllo". Don Box si riferisce al codice gestito (managed) dal framework .NET, ma il discorso e' identico per il codice gestito dalla JVM di Java. Entrambi gli ambienti innalzano il livello di astrazione, ad esempio eliminando il concetto di memoria, introducendo un raccoglitore di rifiuti che si occupi di liberare gli oggetti non piu' usati, astraggono dai concetti quali il Thread introducendo concetti quali l'esecuzione asincrona. Tutti questi cambiamenti limitano il programmatore come hai detto tu, gli danno un ambiente di lavoro piu' "controllato", "gestito" che limitano la possibilita' di commettere errori, rendono le applicazioni anche piu' sicure. Ma come hai aggiunto limitano anche l'espressivita' del programmatore nell'esprimere concetti richiesti da certi tipi di applicazioni. E non solo. Il punto e' che ogni aumento del livello di astrazione e l'aumento di produttivita' che ne deriva portano ad inefficienze nell'esecuzione del codice. La mia opinione e' che nel 99% dei casi l'aumento di produttivita' giustifichi ampiamente le inefficienze. Poi esistono applicazioni particolari quali il Kernel di un sistemi operativo, posso anche aggiungere il render loop di un motore 3d, dove gestire i puntatori in maniera nativa, oppure il ciclo di vita di un oggetto, o avere il massimo controllo possibile sull'ambiente sono fondamentali, ma queste sono eccezioni, non la norma. E non credo che le eccezioni dovrebbero penalizzare la produttivita' e la sicurezza nella maggior parte delle applicazioni. In sintesi sono totalmente a favore degli ambienti gestiti come Java e .NET. Credo sia solo una questione di strumenti ed usare gli strumenti adatti a risolvere un dato problema: devo scrivere il kernel di un sistema operativo, posso farlo in Java o C#? No, perche' non ho gli strumenti espressivi per esprimere determinati concetti. Devo scrivere un'architettura di streaming video peer to peer ( ![]()
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
![]() |
#151 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
D'accordo, e infatti ormai da mesi uso quasi esclusivamente Python come linguaggio / ambiente per lo sviluppo delle applicazioni dove lavoro, che offre un notevole livello di astrazione e permette di concentrare le energie sul problema da risolvere, piuttosto che perdere tempo in dettagli implementativi come l'allocazione o la liberazione della memoria...
I problemi sorgono per chi da questi linguaggi / ambienti "comodi" passa poi ad altri, che non offrono gli stessi meccanismi... ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#152 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11782
|
Quote:
![]()
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
![]() |
#153 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11782
|
Quote:
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
![]() |
#154 | ||||
Senior Member
Iscritto dal: Jun 2003
Città: vivo in Sicilia (tra la prov. di AG e Palermo)
Messaggi: 956
|
Quote:
![]() Quote:
![]() ![]() Quote:
A proposito di oggetti, la versione in Pascal non l'ho mai approfondita, ma non ho dubbi che sia fatta bene. Per quel che ne so, è un peccato che non abbia avuto altrettanto successo l'erede forse più diretto del Pascal standard, il Modula 2 (non vorrei dire castronerie, ma potrebbe essere stato opera di Wirth), che ne correggeva i difetti (tipo il mancato controllo sui bound di un intervallo) e introduceva la programmazione a oggetti. Probabilmente fu colpa del nome poco incisivo, chissa, lo avessero chiamato Perfect Pascal, Pascal Plus o Pascal 2... ![]() Quote:
![]() |
||||
![]() |
![]() |
![]() |
#155 | |
Senior Member
Iscritto dal: Jun 2003
Città: vivo in Sicilia (tra la prov. di AG e Palermo)
Messaggi: 956
|
Quote:
![]() ![]() |
|
![]() |
![]() |
![]() |
#156 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11782
|
Quote:
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
![]() |
#157 | |||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
![]() "Il teorema di Böhm-Jacopini, enunciato nel 1966 dagli informatici Corrado Böhm e Giuseppe Jacopini, afferma che qualunque algoritmo può essere implementato utilizzando tre sole strutture, la sequenza, la selezione ed il ciclo, da applicare ricorsivamente alla composizione di istruzioni elementari (ad es. di istruzioni eseguibili con il modello di base della macchina di Turing)." ... "In effetti esso ha contribuito alla critica dell'uso sconsiderato delle istruzioni go to e alla definizione delle linee guida della programmazione strutturata che si sono avuti intorno al 1970." Quote:
Quote:
![]() Quote:
Quote:
![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||||
![]() |
![]() |
![]() |
#158 | |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
![]() Le poche volte in cui mi cimento ancora con le classi in Delphi (Pascal), scrivo subito assieme costruttore/i e distruttore/i, codice che alloca e libera la memoria, codice che crea istanze di oggetti e che li distrugge, infarcendo il tutto con blocchi try/(except|finally). ![]() E' anche una questione di mentalità, che si acquisce col tempo lavorando con un linguaggio, e imparando a usarlo e sfruttarne le caratteristiche per scrivere codice "migliore".
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
![]() |
![]() |
![]() |
#159 | ||||||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
![]() - alcune zone di memorie "critiche"; - la gestione degli interrupt; - l'accesso alle porte di I/O. Con tutte le conseguenze che un approccio di questo tipo può portare. C'è da dire che, comunque, con Windows 98 e successori ho avuto ben pochi problemi legati a quest'approccio. Anzi, considerato in che modo ho "torturato" il sistema, direi che hanno svolto egregiamente il loro compito... ![]() Quote:
![]() Quote:
Però non è così comodo come con Python, ad esempio, dove liste, "dizionari", tuple e insiemi si possono utilizzare molto velocemente, con poco codice, e soprattutto in maniera molto leggibile e "intuitiva"... Se l'overloading degli operatori fosse supportato come si deve, non sarebbe certo difficile scrivere qualche modulo e classi per implementare questi utili strumenti in maniera similare, ma attualmente non è così... Quote:
L'estensione a oggetti del Pascal realizzata dall'ISO è molto elegante, come pure quella realizzata da Borland (ne ha fatte due: la prima è rimasta per compatibilità col passato, anche se ha delle interessanti caratteristiche). Quote:
![]() Quote:
Quote:
![]() Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||||||||
![]() |
![]() |
![]() |
#160 | ||
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11782
|
Quote:
![]() Molto semplicemente, nel 2005 mi sono stancato di dovere liberare la memoria esplicitamente. Quote:
![]()
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA Ultima modifica di fek : 14-04-2005 alle 11:26. |
||
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:30.