Perhaps a wiki could be started to outline the specs and use the list to discuss things? Does someone have one available? I agree with your assessment of XML .. In addition, I would think multiuser access to XML text files would potentially slow down the system and create file locking issues .. using a standardized SQL database makes it a moot point anyway Jim Parker (hopeye@xxxxxxxxxx) wrote: > > >On 2003.05.12 16:29 Brian Johnson wrote: >> >> I appreciate the excitment, but what db and what language is going to >> be used > > >GtkCAD uses a PostgreSQL database and the SQL module is written using >ANSI C and ANSI embedded SQL. This was chosen for portability issues. >PostgresSQL also has proper transaction processing, which other popular >OSS DB's do not. Porting to, lets say, Oracle would be trivial, if it >does not compile out of the box. > >The frontend is written in C using the Gtk+ toolkit. Nothing wrong >with QT, I just don't use it. > >The graphics module was written in C interfacing with OpenGL. > >The math engine is the GNU Scientific Library. > >All my plug-ins will be written in C. Stuff like FEA/CFD, I will use >system calls to programs like FELT, and create a module to write the >proper input file, and to process output files. > >I do not know C++ and it is not worth it to me to learn it when I can >write object-oriented code in C. > >I do not trust XML, M$ is already on record as saying all thier data >formats will remain propietary with XML wrappers. IMO, XML is not the >godsend everyone is making out to be. > >cheers, >Jim Parker > > >> >> Perhaps a review (even if only a quick one) of the databases available >> and the >> creation of a desired feature list might be in order. MySQL seems to >> be the most >> popular and one of the fastest, but perhaps other desired features >> would dictate >> another db. Natixe XML handling might be a good thing for instance. >> Also some of >> the more advanced commit and rollback transaction abilities might be >> beneficial. >> Running on linux or windows or other OS a needed feature? Existing >> good db >> management software available? replication? >> >> Also, processing speed will be paramount for the main app. Is there >> anything faster >> than a C based system for that? Again, before we go too far, some >> consensus should >> be reached. >> >> >> Eric Wilhelm (ewilhelm@xxxxxxxxxxxxx) wrote: >> > >> > >> >> The following was supposedly scribed by >> >> Jim Parker >> >> on Monday 12 May 2003 02:42 pm: >> > >> >>Let me know if you want to take this discussion offline ... I am >> >>tempted to send my data format to you to allow a more detailed >> >>discussion of its merits. >> >> >> >I'm only a self-taught perl-hacker, so keep that in mind when >> throwing tech >> >stuff at me. Not that I can't understand it, but I likely won't have >> time >> >(especially in the coming weeks) to read through it all. I'd gladly >> review a >> >summary (diagrams good, C bad :) >> > >> >>I decided to leave Color/Stipple/Size information in the entity >> >>structs. I decided the computational overhead of looking >> >>searching/sorting the additional lists are not worth it. However, >> it >> >>should be noted that they are seperated out from the geometry data >> in >> >>the SQL database. So it should be trivial to extract just geometry >> >>data for any module that may need it. >> >> >> >This sounds good. The program would need the speed-optimized >> structs, but if >> >you can draw a clear boundary around ... (see below) >> > >> >>As for the family of formats, my compromise is to allow each module >> to >> >>extend the format as needed internally, but all external >> interactions >> >>will use the standard format. This is dubject to change, but is >> >>working well for the cases being tested. >> >> >> >If you can draw a clear boundary around each of the geometry and >> other >> >information types in your storage method, they could be translated >> into the >> >family of file-formats fairly easily. Each of the programs using a >> universal >> >kernel would of course load the data into memory in their own >> preferred >> >method, but a design like the one you are describing would be more >> easily >> >transferred into running on such a core. >> > >> >--Eric >> > >> >> >> > -- Brian Johnson This is where my witty signature line would be if I bothered to edit this line :)