[Development] Fornux C++ Superset

Phil Bouchard philippeb8 at gmail.com
Tue Apr 24 07:35:36 CEST 2018


On 04/23/2018 10:34 PM, Thiago Macieira wrote:
> On Monday, 23 April 2018 18:46:05 PDT Phil Bouchard wrote:
>>>> - QML is an interpreted language thus it can be reverse engineered and
>>>> plagiarized quite easily.
>>>
>>> There's a QML compiler.
>>
>> Which is great but does it compile the Javascript code as well?
> 
> Yes, to an extent.

Okay but one way or the other it'll always use the garbage collector as 
a backend.

>> Remember when Wordperfect kept crashing in Windows 3.1 for some strange
>> reason back in the days? People ended up using MS Word. The same with
>> Netscape...
> 
> There are a lot of reasons why people chose MS Word, not just crashes on
> Wordperfect. Not to mention that Word crashes too.

Well crashes don't help either.

>>>> I have a solution that solves those problems and it's called: "Fornux
>>>
>>>> C++ Superset":
>>> I doubt it.
>>
>> As you know I have tested it with a much more complex software called:
>> "libarchive" and it works flawlessly:
>> https://github.com/philippeb8/libarchive/commit/5858b5c047301123ffdf05f247f7
>> d191829d5a9b
> 
> My point is: I doubt that you have solved all crashes. You have not. Your
> framework may be a huge improvement over a lot of techniques people use today,
> but your claims are not believable. You should be more precise in your
> wording.

Here are the different ways to make an application crash:
http://forum.codecall.net/topic/71995-understanding-memory-leaks-and-crashes-in-c/

- You are free to modify the provided headers to throw an exception on 
buffer overflows and the dereferencing of null pointers but I prefer to 
keep the provided headers free from exceptions to favor speed.

- Explicit free() or delete are ignored and handled implicitly by the 
generated code.

- The code that was modified by the parser interacts perfectly well with 
system headers or external libraries that weren't modified at all.

- There are minor rules you need to follow to make the code compile 
correctly, like nested structures aren't supported, etc. but you'll get 
the errors at compile-time thus when it runs then it cannot crash.

- You are free to write any kernel module, AI engine, etc. without any 
explicit call to free() and the parser will handle it correctly.

>>>> - Fornux C++ Superset harnesses the power of Clang.
>>>
>>> Does it mean other compilers are not supported? That's a showstopper.
>>
>> No it's just a Clang-based layer that injects complex C++ code into
>> existing C & C++98 projects. You can use any C++11 compiler to compile
>> the resulting code.
> 
> So I need Clang to parse my code. Will it parse Microsoft headers properly?

The generated code keeps headers that aren't part of your project as 
include statements so your compiler / cross-compiler will expand these 
headers normally.


Regards,
-Phil




More information about the Development mailing list