Newsgroup: it.comp.lang.delphi
Titolo: R: Delphi o C++?


    Saluti!
--
______________________________________
Gian Luca Dalla Torre
E - Mail: 
gianluca....@casteo.net
______________________________________


    Guardate che creare un SO non č impossibile come sembra, ovviamente non
parlo di interfacce grafiche, ma soltanto di un qualcosa che permetta di far
girare i programmi e che controlli periferiche e hardware... Si deve avere
un bel po' di conoscenza di programmazione (sia a livello pratico che a
livello teorico come il multi - threading ecc.. ecc...) ma niente che un
buon programmatore non sia in grado di fare se pianifica un buon piano di
sviluppo!
    Saluti!

Se parliamo di sistemi operativi piuttosto semplici (vedi quelli degli home
computer degli anni '80) posso essere anche d'accordo (e quelli si, li si
potrebbe fare anche in Delphi), ma non mi si venga a raccontare che un
programmatore puo' essere in grado di realizzare un sistema operativo
modulare ad oggetti multithreading magari con la sua interfaccia grafica
ecc.ecc. e tutto questo da solo. Ci vogliono decisamente troppe conoscenze
(ed esperienza) per una persona sola.
Ciao, Sandro

 wrote in message news:89ctrg$biv$1...@serv1.iunet.it...

Personalmente non credo sia un problema di conoscenze, ma di tempo.
Parecchie persone hanno tutte le conoscenze necessarie per scrivere un
sistema operativo di piccola entità, ma da soli ci vorrebbero 3 vite :-)
Ciao,
Stefano

(ed esperienza) per una persona sola.
Linus Torvalds c'e' riuscito ! ;)
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------

Beh, magari č piů indicato il C++.
Linux e' scritto in C e assembly (come Unix, tra l'altro, 94% di C e
6% di assembly). E' stato scartato il C++, perche' troppo complicato
per la scrittura di sistemi operativi. I s.o. sono programmi che
devono interagire a basso livello con l'hardware e/o il BIOS (se ne
usano le funzioni) e c'e' bisogno di avere un buon controllo del
codice oggetto generato.
Questo controllo si riesce ad ottenerlo in modo ottimale sfruttando
l'assembly ed un linguaggio di livello intermedio come il C.
I linguaggi come il C++ servono ad astrarre da tutti questi aspetti ed
ostacolano la gestione manuale del codice generato.


 COBOL (GASP!).
Beh, qua in lombardia sia Cobol che Clipper sono ancora diffusi, insieme a
DBase...
Da quel che vedo qua nella mia zona sostanzialmente ci si imbatte in 2 tipi
di clienti:
- quelli che si affidano a te e ti chiedono "il programma" lasciando a te i
dettagli implementativi
- quelli che invece antepongono subito delle clausole sul linguaggio
(soprattutto se poi comprano anche i sorgenti...)
Poi ho visto gente pagare fior di soldi programmini idioti scritti in TP ma
questo è un altro discorso...
Ciao :-)
--
(¯`·.¸¸.·´¯`·.¸¸.-> Andrea <-.¸¸.·´¯`·.¸¸.·´¯)
AntiSpam: rimuovere il trattino basso dall'indirizzo per rispondere
AntiSpam: remove the underscore from the e-mail address to reply

Qualcuno potrebbe spiegarmi (brevemente al limite) cos'è l'overloading
per gli operatori ?
 Conosco quello per i metodi (la cui introduzione in D4, visto che ho fatto
la gavetta fin da D1...  sinceramente non mi fa nè caldo nè freddo).
Grazie a chi risponde [e a chi legge! (e anche a chi non!!)]
Ciao,
Davide DG

 (ed esperienza) per una persona sola.
    Concordo pienamente, infatti io mica intendevo un sistema operativo a
interfaccia grafica.
    Qui stiamo confondendo un po' la definizione di sistema operativo. Io
per sistema operativo intendo un programma che gestisca in modo decente le
risorse di un computer per far funzionare altri programmi al di sotto di
lui. Quindi deve essere in grado di gestire e sincronizzare processi di
qualunque tipo e farlo in maniera ottimale.
    Poi dipende dall'uso che se ne deve fare. Se devo scrivere un sistema
operativo che gestisce un PC in maniera decente dovrei fare come Linus
Torsvald e chiamare in mio aiuto un'intera comunità di persone...
    Se devo scrivere un sistema operativo per il gusto di veder girare
qualche programma, anche non eccellente, posso anche farlo da solo
(conoscenze permettendo).
    Saluti!


per gli operatori ?
L'overloading degli operatori e' una tecnica che consente di applicare
l'uso degli operatori alle classi.
Il C++ e' un linguaggio che pone l'accento fortemente sui tipi ed e'
quindi necessario avere un modo per poter trattare le classi create
come se fossero dei veri e propri tipi aggiuntivi a quelli che il
linguaggio possiede in modo predefinito.
Ad esempio, se io volessi crearmi una classe TComplesso come modello
di numero complesso e consentire di sommare due TComplesso, la cosa
piu' naturale sarebbe quella di avere un operatore + che venisse
"sovraccaricato" per svolgere la sua operazione anche tra classi di
questo tipo.


    Un esempio più chiaro di overloading di operatori esiste anche in Delphi
(è built - in e non definibile dall'utente): l'operatore +;
    Con i numeri esegue una somma.
    Con le stringhe non somma i codici ASCII, ma restituisce due stringhe
concatenate.
    Saluti!
--


 qualunque tipo e farlo in maniera ottimale.
Quindi piu' che un sistema operativo (che prevede anche l'interfaccia
utente) parliamo di kernel. C'e' un problema: il kernel da solo, senza i
device driver, non e' in grado di fare granche', e per creare i device
driver bisogna conoscere esattamente il funzionamento di tutti i circuiti,
periferiche e schede di cui si vuole fare uso (irq, indirizzi, funzioni del
bios delle schede, ecc.), bisogna avere una piattaforma di riferimento (es.
processori x86) e scrivere tutto il modulo di gestione in assembly (o al
massimo in un linguaggio non-ad-oggetti come C o TP compilato in linguaggio
macchina). E ancora, non c'e' abbastanza per far girare un eseguibile, dal
momento che bisognerebbe, ancora, creare un file system specifico per il
sistema operativo, un formato eseguibile, ecc.ecc.
Ciao, Sandro

thx!! E' veramente molto interessante!!! quasi quasi mi imparo (provo!!!)
anke il C ... :-)
Grazie a tutti,
Davide DG