Downvoting comes around 500 maybe? Not actually sure.
Anyways, lest you think my observation is just a "non-constructive comment":
The great thing about the browser is that it is free of a lot of garbage we have to deal with in C++. The antics required to make C++ work in the browser, while laudable, are absurd.
If you need cross-platform code, write in Java and avoid native extensions.
If you need cross-platform code that has to be fast (i.e., you actually need to have inline assembly), write in C or C++ and actually do your proper cross-platform work (proper abstraction of I/O, proper defines, proper selection of types, etc.).
If you need to draw shit in the browser, use the wonderful ecosystem of tools that have evolved using the standard affordances of Javascript and CSS.
Here are the bits I take issue with:
"write web applications in C++, reusing existing code and making porting of whole applications and games to the browser plausible."
Why? What type of code is worth reusing? What type of performance is this going to get me?
Most C++ codebases are janky and sad--game engines being some of the worst offenders.
" code both the frontend and the backend of a web application in the same language and codebase "
Why the fuck would you ever want to use C++ as that language? It's terrible, so much so in fact that it lost out to PHP and Perl.
Let that sink in for a second.
People said, "I would really like a language that's easier to work in!" and then picked PHP and Perl. PHP and Perl.
Moreover, go look at their docs:
http://www.leaningtech.com/duetto/examples/
" Duetto does not attempt at emulating numerical types which are not supported by JavaScript float is supported with 64-bit precision, like double. long long is defined as a 32-bit integer. 64-bit integers are not supported at all in JavaScript and duetto does not attempt to emulate them."
Well thank Christ we never will need numerical types not in Javascript--I mean, I've never used bit-twiddling in my engine code, or my decompression code, or my audio code.
~
Look, it's a really cool use of LLVM, but we don't need C++ in the browser.
Anyways, lest you think my observation is just a "non-constructive comment":
The great thing about the browser is that it is free of a lot of garbage we have to deal with in C++. The antics required to make C++ work in the browser, while laudable, are absurd.
If you need cross-platform code, write in Java and avoid native extensions.
If you need cross-platform code that has to be fast (i.e., you actually need to have inline assembly), write in C or C++ and actually do your proper cross-platform work (proper abstraction of I/O, proper defines, proper selection of types, etc.).
If you need to draw shit in the browser, use the wonderful ecosystem of tools that have evolved using the standard affordances of Javascript and CSS.
Here are the bits I take issue with:
"write web applications in C++, reusing existing code and making porting of whole applications and games to the browser plausible."
Why? What type of code is worth reusing? What type of performance is this going to get me?
Most C++ codebases are janky and sad--game engines being some of the worst offenders.
" code both the frontend and the backend of a web application in the same language and codebase "
Why the fuck would you ever want to use C++ as that language? It's terrible, so much so in fact that it lost out to PHP and Perl.
Let that sink in for a second.
People said, "I would really like a language that's easier to work in!" and then picked PHP and Perl. PHP and Perl.
Moreover, go look at their docs:
http://www.leaningtech.com/duetto/examples/
" Duetto does not attempt at emulating numerical types which are not supported by JavaScript float is supported with 64-bit precision, like double. long long is defined as a 32-bit integer. 64-bit integers are not supported at all in JavaScript and duetto does not attempt to emulate them."
Well thank Christ we never will need numerical types not in Javascript--I mean, I've never used bit-twiddling in my engine code, or my decompression code, or my audio code.
~
Look, it's a really cool use of LLVM, but we don't need C++ in the browser.