----- Original Message ----- 
From: "Tony Lofthouse" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Saturday, March 24, 2007 10:19 AM
Subject: RE: [agi] My proposal for an AGI agenda


> ThatÂ’s a neat trick. So on a four processor box you can take control of
the
> processors and the OS and run your own multitasking system on top of this?

All four processors would be difficult for me to use at once in my current
version. I use 1 thread for the IDE, 1 thread to run all the internal events
and a separate thread for each connection to the internet.  This is not the
most efficient use of 4 processors but it makes my multi-tasking run rings
around multi-threading.

> I find this a little suspect. I could see how you could create your own
> timeslicing mechanism within an application but this wouldn't give you
> access to multiple CPU's and threads. It certainly wouldn't stop outside
> programs multitasking (on windows or Linux)

I could also run multi-copies of the C++ program and have them communicate
using sockets but this isn't implemented yet.  Normal multi-tasking could
occur while my system is running, as you say.  You could call my internal
multi-tasking a "timeslicing mechanism" if you like.

> First of all C# is not really a derivative of C. It has some common
reserved
> words but is a totally different language. And yes you can edit variables
in
> the IDE whilst the program is running. More impressive is the ability to
> dynamically start and stop class libraries whilst the program is running.
> This is of course a necessary requirement for 24/7 enterprise apps. You
> can't afford down time to upgrade them. You just do it on the fly. This
> enables you to update a class then dynamically change it with the older
> version whilst the app is running.

That feature sounds like something that I would want.

> That is the approach that C# takes. There is no memory allocation! It is
all
> automatic. The garbage collector is a very sophisticated three level
> algorithm, very similar in concept to the design of the Eiffel language if
> you are familiar with that.

I'm not familiar with Eiffel but my memory manager is fairly sophisticated
and of course I have the source to make it better if needed :).  My memory
manager doesn't have a periodic re-write mechanism so I will probably have
to add this in the future.  This is much easier that it would be in C#
because all my programs have a common structure.  Memory is recursively made
into bigger chunks as it is released.

> There is one caveat I need to mention. In order to provide the maximum
> flexibility for the developer C# provides something called unsafe mode.
This
> allows the programmer to use pointers and memory allocation if necessary.
In
> practice this is rarely used and needs to be explicitly declared.

This is definitely an improvement on C++.

-- David Clark


-----
This list is sponsored by AGIRI: http://www.agiri.org/email
To unsubscribe or change your options, please go to:
http://v2.listbox.com/member/?list_id=303

Reply via email to