![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||||||||||
| |||||||||||
|
|
I've tried to use the Wiki discussion page with no avail so here are some observations and opinions as e-mail. |
|
I've looked over the "Programmer's Manual" and over "Unorganized notes..." only. From my very limited reading results that from a BASIC programmer perspective, things are not quite strait forward. Looks like what you offer is a collection of subroutines that emulate multivalue BASIC statements and functions. |
|
If my understanding is correct then the audience should be C++ and PostgreSQL programmers who want to emulate existing multivalue applications. |
|
Looking at the programming examples it is apparent that a conversion to Exodus is far from trivial. BTW, jBASE has C++ at its core too so theoretically they can come to the market with a similar product. |
|
Some notes: 1) "For example, traditional multivalue basic has a TRIM() function which returns a new string. However there was no TRIM X statement which would modify the string in-place which in many cases would be much faster." This statement is not true. If the destination is the same as the source TRIM executes in place. If there are characters to TRIM there is no difference between TRIM in place and trim in a new variable except for the space allocation. If you trim, data has to move anyway. Same goes for CONVERT etc. |
|
2) It is not clear if the user is required to manage memory allocation. For example if I use replacer(...) and I replace something with something much bigger am I required to do anything special such as reallocate the space ? |
|
3) Why not add the default functions to your include; less worries for the programmer. #include <exodus/program.h programinit() <---- |
|
4) Because you use the C++ compiler directly, you have to use functions instead of the classical syntax such as extract(A...) instead of A<..>. In my opinion this is a step backward and may result in cryptic code. Earlier implementations of the Nelson database used functions and evolved to the current speech like syntax. |
|
5) It is not clear if Exodus is type-less or not. |
|
6) You should include a list of reserved words. |
|
P.S. I had once to convert a system from PICK to JBASE and even thou these systems are very similar it took almost a year to get it live. The syntactic and semantic differences were minor but in too many places for comfort. Now I imagine myself having to rewrite all those programs in a C++ dialect. Different reserved words, different name conventions (cannot use period in names etc.) different syntax and probably semantic differences too. To convert an existing multivalue BASIC system to C++ is possible but, in my opinion, in many cases impractical. |
#3
| ||||
| ||||
|
|
So Steve let me see if I understand you... Exodus allows you to code in a language that is similar to Pick basic and |
|
then it generates C++ code. |
|
It also uses a SQL DBMS that emulates MV. |
|
Is that right? Jeff PS - I am not minimizing this by any means. *I just am trying to rephrase it for my own understanding. |
#4
| |||
| |||
|
|
...Post of the year? Sorry to be dense, but what's the c for? "Candidate." |
|
...Does this mean you agree that the opposite of MV is the right direction? It means "that's a great post... one of teh year's best." |
#5
| |||
| |||
|
#6
| |||
| |||
|
#7
| |||
| |||
|
|
I'm not participating in this Exodus discussion because it's still in development, and while I don't have a lot of confidence that it will take off, |
|
I also don't think adoption would be any more radical than when any of us adopt any other MV platform. |
|
2 devaluated cents. T |
#8
| |||
| |||
|
|
PMJI - Martin, as I see it, MV is not as standard as we'd like either. The issues you've described for Microsoft changes are trivial compared to issues during a MV>MV migration. *I'm not speaking up for Microsoft. *Rather, I'm pointing out that we frequently talk about migration from one MV environment to another as though it's all just MV, and yet it can take months to actually do a migration. *The learning curve is huge and once someone does it once they really don't want to do it again. *Maintaining cross-platform BASIC code is non-trivial despite the fact that it's "all BASIC". I'm not participating in this Exodus discussion because it's still in development, and while I don't have a lot of confidence that it will take off, I also don't think adoption would be any more radical than when any of us adopt any other MV platform. 2 devaluated cents. T |
#9
| |||
| |||
|
|
On Nov 2, 2:14*pm, Tony Gravagno <nos... (AT) nospam (DOT) invalid> wrote: PMJI - Martin, as I see it, MV is not as standard as we'd like either. The issues you've described for Microsoft changes are trivial compared to issues during a MV>MV migration. *I'm not speaking up for Microsoft. *Rather, I'm pointing out that we frequently talk about migration from one MV environment to another as though it's all just MV, and yet it can take months to actually do a migration. *The learning curve is huge and once someone does it once they really don't want to do it again. *Maintaining cross-platform BASIC code is non-trivial despite the fact that it's "all BASIC". I'm not participating in this Exodus discussion because it's still in development, and while I don't have a lot of confidence that it will take off, I also don't think adoption would be any more radical than when any of us adopt any other MV platform. 2 devaluated cents. T Tony makes very good points. Nobody likes to port a good, complete project. *But there often is no choice. *And porting R83 to Unidata is a lot easier for a Pickie than would be porting R83 to VB or C++ or QBasic. *Not trivial, but not impossible. *So the bottom line is that Martin is a little closer to the mark in the real world. *At least in the real world in which most of us who have been Pickies for many years live and work. And FWIW in that real world it's very difficult to see why anyone would consider porting from an old Pick to anything except QM. *Not to downgrade the truly magnificent systems like Cache but rather to consider the cost versus benefits of the trip to QM versus the trip to Cache for instance. Completely new development may be another story but completely new development in Pick is as rare as Great French Army Victories. BobJ |
#10
| |||
| |||
|
![]() |
| Thread Tools | |
| Display Modes | |
| |