Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565

    [OT][C++] Domande approfondite sul C++ e sui sistemi operativi

    Salve ragazzi.
    Per caso sapete se uscirà un nuovo standard del C++ prima o poi? Che includa una GUI automatica? Che supporti le stringhe in modo nativo e altri miglioramenti?

    Quando Bjarne Stropouts (il cognome non me lo ricordo bene) ha creato il C++, ha fatto un compilatore oppure ha creato solo la sintassi? Insomma noi oggi vediamo il gcc, Borland, il Visual C e sono vari compilatori...ma Bjarne ne avrà creato uno suo originale che poi è stato sostituito da quelli nuovi piu' potenti? Oppure ha creato la sintassi e ha detto "Tenete brutti gay, lavorateci sopra"??

    Poi avevo qualche domanda sui sistemi operativi.

    Anche un compilatore è un programma, scritto in C++, Asm, in C o in quello che volete.
    Però un compilatore su windows e uno su linux lavorano in modo diverso, poichè VisualC farà un assembly per windows, e gcc ne farà un assembly diverso. E fin qui ok. Leggo che TUTTI i sistemi operativi di windows sono stati scritti in C++. Un sistema operativo però è scritto da 0, cio è con un pc che non ha niente dentro, e quindi nemmeno un compilatore. Una volta scritto tutto il codice sorgente del sistema operativo, come lo compilano? Scrivono un compilatore asm in codice binario, poi un compilatore C in asm, poi un compiatore C++ in C e poi compilano? Ma come fanno a funzionare senza il sistema operativo??
    Ho molti dubbi...

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466

    Re: [OT][C++] Domande approfondite sul C++ e sui sistemi operativi

    Originariamente inviato da XWolverineX
    Salve ragazzi.
    Per caso sapete se uscirà un nuovo standard del C++ prima o poi? Che includa una GUI automatica? Che supporti le stringhe in modo nativo e altri miglioramenti?
    Piu' che un nuovo standard (non avrebbe senso, lo standard c'e'), potrebbero essere rese standard alcune librerie.

    Per le stringhe, sono gia' supportate con STL (che fa parte dello standard C++).

    Per la GUI, non comprendo a cosa ti riferisci.

    Originariamente inviato da XWolverineX
    Quando Bjarne Stropouts (il cognome non me lo ricordo bene)
    Bjarne Stroustrup
    Il suo sito ... http://www.research.att.com/~bs/

    Originariamente inviato da XWolverineX
    ha creato il C++, ha fatto un compilatore oppure ha creato solo la sintassi? Insomma noi oggi vediamo il gcc, Borland, il Visual C e sono vari compilatori...ma Bjarne ne avrà creato uno suo originale che poi è stato sostituito da quelli nuovi piu' potenti?
    Ha definito le "regole" ma anche una "implementazione".
    Ha quindi scritto un compilatore ma ovviamente, a fini "didattico/dimostrativi" ...

    Originariamente inviato da XWolverineX
    Oppure ha creato la sintassi e ha detto "Tenete brutti gay, lavorateci sopra"??
    Queste battute non sono di buon gusto ...

    Originariamente inviato da XWolverineX
    Poi avevo qualche domanda sui sistemi operativi.

    Anche un compilatore è un programma, scritto in C++, Asm, in C o in quello che volete.
    Però un compilatore su windows e uno su linux lavorano in modo diverso, poichè VisualC farà un assembly per windows, e gcc ne farà un assembly diverso. E fin qui ok. Leggo che TUTTI i sistemi operativi di windows sono stati scritti in C++.
    Non solo in C++. Anche in C e Asm (probabilmente, maggiormente in C).

    Originariamente inviato da XWolverineX
    Un sistema operativo però è scritto da 0, cio è con un pc che non ha niente dentro, e quindi nemmeno un compilatore. Una volta scritto tutto il codice sorgente del sistema operativo, come lo compilano? Scrivono un compilatore asm in codice binario, poi un compilatore C in asm, poi un compiatore C++ in C e poi compilano? Ma come fanno a funzionare senza il sistema operativo??
    I software possono essere scritti anche su altri sistemi.
    Su un sistema UNIX si puo' tranquillamente scrivere il core di un sistema operativo che venga eseguito su altre macchine (ovviamente con CPU dello stesso tipo). Una volta scritto il kernel, dotandosi di un minimo macroassembler, si fa tutto il resto.

    Originariamente inviato da XWolverineX
    Ho molti dubbi...
    Chi non ne ha ...

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,310
    Non capisco onestamente il legame tra GUI e linguaggio, forse perchè in effetti non c'è un legame: ciò che è il linguaggio e il compilatore è un aspetto, ciò che sono le librerie che eventualmente ci si vogliono costruire sopra è un altro.

    Lo standard C++ definisce appunto uno standard che può essere preso ed esteso da altri produttori, come Borland che hai citato, per costruire propri compilatori e versioni leggermente differenti del linguaggio, magari per integrarlo con strumenti già esistenti (Delphi, ad esempio) realizzando anche librerie per la creazione di interfacce grafiche e così via, magari con strumenti RAD e tutto il resto.

    Tutte queste risorse però sono "extra" che non hanno a che vedere con il linguaggio ma sfruttano il linguaggio per implementare funzionalità, richiamare funzioni, per fornire insomma codice utilizzabile che non deve scrivere lo sviluppatore ma è già disponibile per la gestione di GUI, l'accesso ai database e così via.

    Per il resto, ma anche per questo argomento, quoto essenzialmente quello che ha scritto Oregon.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4

    Re: [OT][C++] Domande approfondite sul C++ e sui sistemi operativi

    Originariamente inviato da XWolverineX
    Per caso sapete se uscirà un nuovo standard del C++ prima o poi?
    Si, e` previsto un aggiornamento (in tempi ragionevoli voglio dire). Si parla di includere nello standard parte delle librerie boost (http://www.boost.org)

    Che includa una GUI automatica? Che supporti le stringhe in modo nativo e altri miglioramenti?
    A questo ha gia risposto oregon, c'e` la classe string gia` nello standard del 98. Per le GUI non credo ci sara` mai quel che intendi.

    Però un compilatore su windows e uno su linux lavorano in modo diverso, poichè VisualC farà un assembly per windows, e gcc ne farà un assembly diverso.
    L'assembly quello e`, per quel che ne so.
    Per dire, una JMP sara` rappresentata nello stesso modo sia su linux che su windows, se entrambi girano su i386.
    Quel che cambia e` casomai tutto il resto, ovvero formato del file oggetto, il layout dell'eseguibile etc. etc.

    E fin qui ok. Leggo che TUTTI i sistemi operativi di windows sono stati scritti in C++.
    Sono abbastanza sicuro che il primi NT almeno, ma probabilmente anche i windows precedenti e contemporanei, fossero fatti in C, passando in seguito a C++/C#/quelchee`.

    Una volta scritto tutto il codice sorgente del sistema operativo, come lo compilano? Scrivono un compilatore asm in codice binario, poi un compilatore C in asm, poi un compiatore C++ in C e poi compilano?
    Sostanzialmente si

    Ma come fanno a funzionare senza il sistema operativo??
    Crosscompilazione e` la chiave. Ci si appoggia sempre a qualcosa di gia` fatto, a meno di risalire davvero agli albori dell'informatica.
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.