just curious - How much of XOJO is still written in C++ - and why ?
All the plugins like the compiler.
The IDE is written in Xojo.
The framework is partly Xojo and c++ code.
does it matter from a practical prospective?
other that “C” what would you expect (like) it to be written in.
other that “C” what would you expect (like) it to be written in.[/quote]
I understand the concept of bootstrapping compilers quite well, the more important part of my question is “why”
Why should XOJO waste precious resources to use XOJO to write a compiler for XOJO when a more than adequate solution is already avaliable and being used? This would do two things, neither of which is beneficial to XOJO or the developer community.
- it would reduce the resources XOJO has to fix the current issues, and expand the current product
- it would introduce a compiler that would not have the years of industry use behind it, and therefore could contribute to introducing more issues
So (my opinion) I would see ZERO benefit to this
From my point of view it was still interesting to see the advantages as enumerated in the wikipedia article
[quote]Bootstrapping a compiler has the following advantages:
it is a non-trivial test of the language being compiled.
compiler developers only need to know the language being compiled.
compiler development can be done in the higher level language being compiled.
improvements to the compiler’s back-end improve not only general purpose programs but also the compiler itself.
it is a comprehensive consistency check as it should be able to reproduce its own object code.[/quote]
There is something pretty magical about something being entirely being developed in itself, reminds me, somewhat bizarrely, of the vacuum cleaner in the pink panther cartoon intro that sucked itself up and disappeared.
off topic to the original question… but related to boot strap compilers… I am currently working (and have been for quite a while) on an application that will take code written in language “A” and translate it to language “B”, where my ultimate test will be to have the translator take a copy of itself (written in “A”) and be able to create a fully functional version of itself in “B”. While not a “compiler”, it still is a lexical puzzle to say the very least…
You have to bear in mind that different languages are better at doing different things. C is good at dealing with low level machine things. Xojo is very good at the higher level IDE and GUI. If every language was equally good at everything then there would be no need for more than one language.
You should try LISP if you’re looking for an otherworldly experience.
well except for evolution, fitness for a purpose (“C” was never intended to be a business language, it was to create operating systems, Cobol was for business, and Fortran was for Science)… plus the fact that languages are not developed by ONE world council (just standardized)… What about spoken language… is English better at conveying an idea or an emotion than French? or Spanish or Italian? (Is Latin to the spoken word, like Cobol is to computers?)
And if you speak with a LISP, people may have trouble understanding you
Actually, I look back fondly at my LISP programming days. It was far cheaper than buying psychedelic drugs.
Or Smalltalk where you can change how integer addition is defined - yeehaw !!!
One reason we still do a lot in C++ is that we use tools & libraries that are written in C++ and this allows us to leverage them easily.
Having to port LLVM to Xojo would never happen and we’d never get the benefits that brings.
Keeping it in C++ means we get lots of good things for the compiler from all the work being done by a lot of others who use it extensively.
Correct me if I’m wrong, but wasn’t Smalltalk the very first object oriented language?
… Simula is considered the first object-oriented programming language.
I think SmallTalk was supposed to be a big deal for the Apple Lisa computer back in the day.
I don’t mean to Hijack this thread, but why isn’t the language C++/Java/Basic a choice?
I have to admit the thing I like most about Xojo is the interface and how one creates classes, object, methods, properties etc…
There were others that had object orientation before that like Simula
[quote=270964:@Brian O’Brien]I don’t mean to Hijack this thread, but why isn’t the language C++/Java/Basic a choice?
A choice for ???
You mean for use in the IDE ?
Hey why not? It’s a beautiful environment. Why shouldn’t I be able to build Java & C++ in the IDE
I may be speaking out of turn, but it seems to me that would be a considerable undertaking. I imagine the IDE does quite a bit of parsing the language for the sake of autocomplete, etc. Throwing different syntaxes and vocabularies at it would put poor Norman into the loony bin.
Interesting endeavour. But is it not just as complex as automatic translation of natural languages ?
Just like Visual Studio, Yeah
@Tim Hare Sorry mate you seem to have missed that this conversation is already in the loony bin & Normans not here (yet)