Hi,
first of all, thanks for reading! :-)
Most things I wrote so far, I got from several sources, like the Parrot
FAQ.
Joshua Hoblitt wrote:
This is because Parrot is implemented in C,
while developing a large program such as this could well
have been done in C++. This is for three reasons:
1. C is available everywhere
2. there is a large pool of C programmers
3. other languages are not fast enough
I think you've missed the most important reason as to why any project
would be implemented in C and not C++. C++ is still not as portable
between implementations as C (but it's gotten a lot better). I'm sure
Chip has some strong feelings on this point. ;)
These reasons are on the Parrot FAQ. But I think it's an important point
you mentioned.
3 For instance, C is not suitable for creating an object oriented
design.
I partially disagree with that. As examples: The first C++ 'compliers'
emitted C code, Linux kernel Kobjects, and Glib objects. Sure
polymorphism is hard in C (by definition, an OO language supports
polymorphism) but many simpler OO techniques are easily accessible in
C.
Yes, I think you're right a bit. However, if polymorphism and
inheritence are available, I think one would actually use it too in the
design (I'm not *that* familiar with the run-core, but I believe there
is at least an switch/case implementation (I think it's the "slow"
core), and this just _asks_ for a polymorphic implementation (on first
sight, anyway))
Intensive CPU users; these users care most about
performance, and not about Parrot internals or space
usage. Compatibility is important, as these users are
likely to use a particular (favorite) feature set.
I disagree with that too. Most HPC users don't really care about
compatibility (there are exceptions, like users that are dependent on
Fujitsu's compiler extensions so Fujitsu continues to it's niche
compiler series). An example of this is that the Itanic manages to sell
into this market space.
I got this point from the "model_users.pod" by Chip (got it from planet
parrot). I think his point is that power users use a particular feature
set, and so they are interested that this feature set is still available
in new versions. But I think I can rewrite that part (I think I should
rewrite most of it anyway, it's only a first draft)
Cheers,
-J
Thanks for reading! Next versions will be more complete, not as hacky as
this one.
klaas-jan