Anything for the ClassPad would have to be compiled for the SH processor, so it would have to be in C or C++. The CAS is actually written in C so this is the most efficient language to use if the goal is to integrate with the CAS.
My idea was to start out with an add-in, but anything that is put into an add-in can always end up in the OS. I don't have a lot of extra time so I'm just at the investigation stage right now. Still, I'm somewhat familiar with root finding algorithms and would enjoy the challenge of writing a better one in the ClassPad.
A C/C++ program can
contain pure Fortran code, and can be compiled without any problem (the gcc compilers work perfectly in this case; I assume that this is true for other C++/Fortran compilers). I cannot see why the executable will not work in ClassPad, despite the fact that the source code has been written in C++ and
Fortran. I have seen many applications written in mixed C++/Fortran code (but not applications for the ClassPad... yet). For example, the source code of Scilab, which is a large numerical analysis package (similar to Matlab), is written in Fortran and
C++, and it can be compiled on my PC without any problem. Mixed code permits to use the power of Fortran 95 in numerical analysis programming, together with the power of C++ in other tasks.
Anyway, it is obvious that you are an experienced C++ programmer, so you are able to rewrite the whole code in C++ from scratch. I offered to give you my Fortran code because I think that this will save a lot of time, and because I really love OpenSource projects
. Afterall, it is also a challenge to write ClassPad applications in mixed code, because there is a huge
collection of free numerical analysis programs written in Fortran. These programs are well-tested by many developers, and there is no need to rewrite them, especially in C++ (numerical analysis programming in C++ is a nightmare, compared to Fortran). Anyway, you are the ClassPad developer, not me, and the last word is yours. Good luck to your "root finder game" developing, I will really enjoy to "play" this game in ClassPad. If you succeed, ClassPad will be far beyond any other calc in root finding. Again, I will be happy to offer any help you may need.
Maybe to you, but not to a game developer, or college student, or for that matter a ClassPad developer . Stupid sounds a bit harsh coming from someone who was offended by the term nerd.
I never said that a game developer is stupid. Game programming is not
an easy task at all. I remember when I wrote "PAP man" (similar to pac man) in assembly language for the 8086 processor (yes, I'm that
old): it was hard, I needed a lot of time and coffee
, and I have learned many many things. A game developer is an experienced programmer, and he/she is definitely not stupid. But this does not means that the result, the game itself, is not stupid (my "PAP man", for example, was a stupid, boring game). Often, a game developer knows
that the game he is developing is stupid, but he writes it simply because it is a challenge.
Anyway, it should be obvious that I didn't wanted to offend anyone, and I have never called any game developer stupid or nerd.
Btw, I don't like the fact that many people write games for ClassPad, but this doesn't means that I don't like games in general (in StarCraft and Half-Life, for example, I'm very tough
). Still, ClassPad is not a game platform. I can see a challenge on writing games for ClassPad, but I cannot understand why almost everybody does that, while there is not even a single
numerical analysis add-in... yet.
I've wanted to add unit support for some time, at a level where units are just another object type in the CAS. This isn't that difficult to do, but there have been so many other things on my list. Still, I believe unit support is a critical feature and must be addressed in the very near future.
My personal opinion is that unit support is something marginally useful, not a "must". I cannot see why so many people in this forum ask for unit support in ClassPad. I think that many more important things are missing.