-- Introduzione
-- Obiettivi
Implementazione pratica
-- Dichiarazione di classe
Ereditarietà

Progetto Yed
Tecniche di programmazione ad oggetti con il linguaggio C.

Obiettivi

Sviluppare oggetti mediante la tecnologia Yed significa sviluppare componenti software riutilizzabili che incapsulano totalmente le loro caratteristiche, nascondendo al contempo al mondo esterno l'implementazione di queste caratteristiche e permettendo di propagarle ad altri oggetti. Questo è uno dei principali assiomi dell'approccio Object Oriented, e molti linguaggi di programmazione, come il C++ e Java hanno raggiunto questo obiettivo.

La tecnologia Yed è invece basata sull'utilizzo del linguaggio C. Perchè dunque sviluppare componenti software object oriented usando il linguaggio C, che non è nato specificatamente per raggiungere questo obiettivo?

Le ragioni sono diverse:

  • sviluppare componenti software orientati agli oggetti permette facilmente il riutilizzo di questi componenti in altri scenari. Usando questo approccio, uno sviluppatore C può facilmente comprendere i vantaggi dell'approccio orientato agli oggetti, perchè può usarlo direttamente nel suo codice sorgente C senza dover utilizzare altri linguaggi di programmazione. Questo approccio facilita inoltre uno sviluppatore C nel comprendere questi concetti prima di passare ad un linguaggio di programmazione totalmente orientato agli oggetti, strutturato in un'altra sintassi.
  • Uno sviluppatore C coinvolto in un progetto software che utilizza questo linguaggio potrebbe non avere la possibilità di transitare direttamente e senza traumi dal C ad un linguaggio di programmazione orientato agli oggetti; un passaggio come questo, soprattutto in grandi progetti, necessita di programmazione temporale e di un tempo di assestamento non indifferenti, e necessita inoltre del pieno appoggio dell'intero gruppo di sviluppo, tutte situazioni che potrebbero minare alla base questo passaggio. Attraverso la tecnologia Yed, uno sviluppatore C può scrivere semplici oggetti mantenendo il punto di vista di questo linguaggio.
  • I linguaggi di programmazione orientati agli oggetti permettono lo sviluppo di oggetti in accordo a tutti o ad una larga parte degli assiomi di questa teoria: il polimorfismo, l'overload degli operatori, l'ereditarietà. Inevitabilmente, l'implementazione di questi assiomi causa il decrescere della performance del codice eseguibile o interpretato, se paragonata all'esecuzione o all'interpretazione di codice che esegue lo stesso task nella stessa macchina scritto in un linguaggio di programmazione non orientato agli oggetti. Se si ha la necessità di performance e si considera il polimorfismo non strettamente necessario, si possono sviluppare semplici oggetti utilizzando la tecnologia Yed e trarre vantaggio dalle performance intrinseche ad un codice C compilato. Del resto, l'approccio orientato agli oggetti, soprattutto nella totalità dei suoi assiomi, è il più vicino al pensiero umano di qualsiasi altro approccio a problemi software.

La tecnologia Yed permette di sviluppare oggetti senza l'utilizzo di tools esterni o particolari meccanismi di preprocessione. Tutto quello di cui si ha bisogno non è altro che i propri strumenti di lavoro: un compilatore C, un linker, e un semplice file header che definisca le macro fondamentali, la cui struttura e significato sono spiegati nei paragrafi successivi.

NOTA: l'analisi e la comprensione della teoria della programmazione orientata agli oggetti non è lo scopo del progetto Yed. Per comprendere al meglio i dettagli tecnici del progetto, occorre avere una conoscenza di base della terminologia object oriented, e una conoscenza media della programmazione in linguaggio C, in particolare nell'utilizzo dei puntatori.

 


Copyright (C) - Giulio A. - ynoxia(at)gmail(dot)com