C++ Eseguire "Hello World" nel browser

Pubblicità

wfly10

Nuovo Utente
Messaggi
8
Reazioni
1
Punteggio
20
Ciao!
sto imparando da pochi giorni C++, da autodidatta, che metodo si usa per poter vedere il classico "Hello world!" in un browser?
Quello che so (sicuramente sbagliato): il mio file hello.cpp dovrebbe essere compilato o convertito per essere eseguito in una pagina html o php, oppure si usa un "interprete".
Le prove le posso fare su un server Linux con Apache.
Ho letto di asm.js ma non ci ho capito molto

Qualsiasi aiuto, spiegazioni, link, guide, lo apprezzo moltissimo, grazie!
 
Quando inizi con un linguaggio come C++, o Java, prima di arrivare al browser si fanno i primi test sul terminale.

Sei riuscito ad avere Hello World stampato su un terminale?
 
Ciao!
sto imparando da pochi giorni C++, da autodidatta, che metodo si usa per poter vedere il classico "Hello world!" in un browser?
Quello che so (sicuramente sbagliato): il mio file hello.cpp dovrebbe essere compilato o convertito per essere eseguito in una pagina html o php, oppure si usa un "interprete".
Le prove le posso fare su un server Linux con Apache.
Ho letto di asm.js ma non ci ho capito molto

Qualsiasi aiuto, spiegazioni, link, guide, lo apprezzo moltissimo, grazie!

Sono molto perplesso. Stai studiando da autodidatta e va bene. Ma da quali risorse? Lo dico perchè trovo strano che ci siano tutorial che mischiano c++ con html e php e addirittura asm.js. E che ti dicono di compilare e far girare un programma c++ nel browser!

Intanto rimuovi html, php e asm.js che non c'entrano niente con c++. E leva pure il browser, perchè i compilatori c++ normalmente s'installano sul tuo computer e si usano da lì.
 
Sei riuscito ad avere Hello World stampato su un terminale?

Si certo! Ho anche imparato a calcolare l'area di un rettangolo, sono avanti! :D

C:
// Calcolo area rettangolo
#include <stdio.h>
int main()
{
   // dichiarazione variabili
   int base;
   int altezza;
   int area;

   base = 7;
   altezza = 10;
   area = base*altezza;

// stampa a video il risultato
    printf("\n\n Se la base è %d", base);
    printf(" centimetri");
    printf("\n e l'altezza è %d", altezza);
    printf(" centimetri");
    printf("\n\n il risultato è il prodotto base * altezza, ovvero %d", area);
    printf(" centimetri");
    printf("\n\n\n");

    return 0;
}

Vabbè è da principianti... e senza input.. ma ci sto lavorando man mano che proseguo.
--- i due messaggi sono stati uniti ---
Sono molto perplesso. Stai studiando da autodidatta e va bene. Ma da quali risorse? Lo dico perchè trovo strano che ci siano tutorial che mischiano c++ con html e php e addirittura asm.js. E che ti dicono di compilare e far girare un programma c++ nel browser!

Intanto rimuovi html, php e asm.js che non c'entrano niente con c++. E leva pure il browser, perchè i compilatori c++ normalmente s'installano sul tuo computer e si usano da lì.

Ok, ma questo mi era chiaro fin da subito, solo che la mia curiosità si è fatta più forte leggendo oltre che la storia di c anche che questo linguaggio viene usato anche nel web.
Per fare un esempio, studiano PHP viene meno spontaneo chiedersi come fare apparire Hello world in un browser, con c ho pensato fin da subito che dev'essere molto più complesso e mi piacerebbe sapere come e quanto è complesso.
Per questo motivo ho pensato a una specie di "interprete".
 
Ultima modifica:
Potresti fargli scrivere un file di testo chiamandolo home.html e dentro ci scrivi brutale
Hello World!
poi il file lo apri con il browser, magari chiamandolo tu.
 
Ok, ma questo mi era chiaro fin da subito, solo che la mia curiosità si è fatta più forte leggendo oltre che la storia di c anche che questo linguaggio viene usato anche nel web.
Per fare un esempio, studiano PHP viene meno spontaneo chiedersi come fare apparire Hello world in un browser, con c ho pensato fin da subito che dev'essere molto più complesso e mi piacerebbe sapere come e quanto è complesso.
Per questo motivo ho pensato a una specie di "interprete".

Per C++ esiste qualcosa per il web, ma per i siti dinamici o le web app sono linguaggi che non si usano, il rapporto costi/benefici non li rende i linguaggi più appropriati.

Quello che so (sicuramente sbagliato): il mio file hello.cpp dovrebbe essere compilato o convertito per essere eseguito in una pagina html o php, oppure si usa un "interprete".
Le prove le posso fare su un server Linux con Apache.
Ho letto di asm.js ma non ci ho capito molto

sono cose distinte: un conto è usare C/C++ come linguaggio di backend, un altro conto è invece richiamare il file eseguibile prodotto da PHP o un altro linguaggio. Questo puoi farlo con una maggior facilità.
Il file cpp che compili viene tradotto in linguaggio macchina, è un file direttamente eseguibile, senza bisogno di un tramite (PHP ha bisogno invece dell'interprete).

asm.js ti consente di portare un'applicazione in C/C++ in JavaScript non di eseguire e interagire con un programma in C++. Asm.js è un subset di JS.
Comunque lascia perdere tutta questa parte. Prima devi imparare un linguaggio, e concentrarti su quello, quindi prosegui con C++. ?
 
Non esiste “il” metodo per fare quello che chiedi. Si può fare, ma nessuno lo fa perché non è pratico e richiede un sacco di codice. Se vuoi saperne di più devi cercare documentazione su cosa sia e come funzioni CGI (Common Gateway Interface). Certamente C e C++ sono usati pesantemente (come in tutte i casi) anche in internet, ma solo per costruire il backhand (ossia la parte dei programmi che si interfaccia con il hardware) per motivi di efficienza, e ovviamente per scrivere applicazioni webserver.
Poiché tu stai imparando a programmare ti consiglio solo di stare alla larga da tutto ciò, sarebbe come entrare nell’ abitacolo di una Formula Uno senza sapere guidare. Tieni anche presente che sia C che C++ non sono fatti per creare interfacce utente. Inizia quindi a imparare il linguaggio e limitati ad applicazioni che girano su terminale.

Cross posted con @DispatchCode
 
asm.js ti consente di portare un'applicazione in C/C++ in JavaScript non di eseguire e interagire con un programma in C++. Asm.js è un subset di JS.
Comunque lascia perdere tutta questa parte. Prima devi imparare un linguaggio, e concentrarti su quello, quindi prosegui con C++. ?

Forse credo di aver capito, il massimo che potrei fare si avvicina al consiglio di @Dumah Brazorf, cioè detto in modo semplice potrei creare in c un programmino che crea un file di testo e che richiamerò da una pagina HTML o PHP. In poche parole una cosa che non serve a nulla :D ma che potrebbe servire se il mio programma leggesse (per esempio) lo spazio disponibile sul disco del server, o la sua temperatura, o addirittura il mio calcolo area rettangolo con gli input da inserire, in entrambi i casi sarebbe qualcosa di estremamente complesso, almeno per me.
Grazie mille!!!
 
Poiché tu stai imparando a programmare ti consiglio solo di stare alla larga da tutto ciò, sarebbe come entrare nell’ abitacolo di una Formula Uno senza sapere guidare. Tieni anche presente che sia C che C++ non sono fatti per creare interfacce utente. Inizia quindi a imparare il linguaggio e limitati ad applicazioni che girano su terminale.

Ti ho letto adesso, si infatti credo di aver pensato in modo troppo superficiale, probabilmente mi sono lasciato condizionare da discorsi che raccontavano di c come un linguaggio comunemente usato nel web da tutti.
Ok faccio un passo indietro e torno alla mia area del rettangolo e imparare a fare in modo che sia l'utente a inserire i dati :D
Grazie!
 
C e' tutto meno che comunemente usato sul web :)

Si puo' tuttavia fare (e non solo con C), il beneficio principale e' avere un codice che esegue con prestazioni simili a quelle native.
Non e' proprio una passeggiata di salute, qualche tempo fa provai a giocarci per creare un service worker in grado di eseguire lo smoothing di un'immagine disegnata su un canvas... Alla fine ho deciso che le prestazioni di javascript dopotutto andavano anche bene :)

E' un argomento molto interessante ma utile in contesti specifici, in particolare quando hai a che fare con operazioni molto "pesanti" dal punto di vista computazionale. Se un giorno vorrai approfondire qui trovi spunti interessanti. Per un neofita mi sento di sconsigliarlo caldamente.
 
C o C++ è un linguaggio a basso livello, escludendo tutto ciè che riguarda il web dovrei consideralo adatto pere esempio a creare un programma per controllare hardware come per esempio Arduino. E' giusto il mio ragionamento?
 
C o C++ è un linguaggio a basso livello, escludendo tutto ciè che riguarda il web dovrei consideralo adatto pere esempio a creare un programma per controllare hardware come per esempio Arduino. E' giusto il mio ragionamento?

No. C e C++ sono linguaggi Turing completi, cioè si possono usare per fare TUTTO.

Inoltre l'ABI del C è lo standard de facto per l'interfacciamento con le librerie esterne. Ed è per questo che troverai spesso, parlando di linguaggi a "più alto livello", i termini bindings e FFI e noterai che si tratta di rendere possibile usare l'ABI del C per usare librerie di terze parti.

E' vero però che esistono linguaggi che posseggono costrutti, workflow e librerie di codice già pronte per lo sviluppo di particolari tipologie di programmi. Si risparmia tempo, si hanno meno mal di testa, spesso meno bug. Tutto qui.

Non esiste che non si possa creare una webapp in C++, per esempio. E infatti esistono framework C++ per creare siti web e webapp. Per esempio https://oatpp.io/

E stanno emergendo nuovi linguaggi ( Go, Rust ) che puntano ad offrire la "potenza" di C e C++ ma con la convenienza di linguaggi come Python, PHP, Javascript.

Se parliamo di microcontrollori ed embedded, il problema è che (1) è hardware relativamente poco potente, (2) talvolta nemmeno esistono implementazioni di linguaggi ad "alto livello". Quindi hai solo i soliti linguaggi a "basso livello". Anche se sia Javascript che Python hanno implementazioni per svariate board hobbystiche e meno hobbystiche.

Per esempio


 
Pubblicità
Pubblicità
Indietro
Top