----- 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
