Monday I'm going to buy this $160 IDE (more than the cost of my PowerBASIC compiler) from a Canadian website that doesn't appear to have any activity for about two years and offers no contact information.
Wish me well.
Also I've got a Btree program that doesn't install. Although my understanding is if I can get it installed on an older version of windows I can just copy the files over and that will work.
I really need this IDE. I don't know if it has a drill down function (probably not and sorely missed) but everything else in the demo looks pretty good. It will save me years of not having to search for how to do basic things so I can focus just on my code.
Just downloaded SQLitening 1.7 written in PowerBASIC and includes source. They claim it's fast. I haven't got the demos working but if it works it will be much better than working with Btree. Just a single DB file to work with instead of auxiliary index files. Since I have the source I can create static link libraries instead of DLL's removing that support issue. On the server DLL's are fine, but not for clients when I don't want the support headache.
Update : 4 am
I'm digging deeper into the IDE demo and believe I'm detecting some problems. The demo doesn't allow me to save code to do test compiles... except I can cut and paste to accomplish the same thing. The problem is it doesn't appear to create correct code. It creates individual callback routines for each control attempting to imitate VB. However it doesn't seem to produce form creation code or the callback function for forms either. I could work around that (but should not have to.) Then there's new menu defaults which are fine if those are the one's you want, but deleting a menu item leaves the orphaned event code in your file. That could be corrected if I can remove the defaults other than FILE/EXIT which would be fine. With no contact info... well they do have a forum. I'll try that.
I don't expect PowerBASIC will come out with a version for Linux (although they may?) so my choice to use PB was not an easy one. It's not a great tool to work in. VB6 spoiled me but it also hid things that shouldn't have been. The end product with VB6 was always a compromise but it had the SQL performance (w/ ADO) that kept my customers satisfied with my work. PB produces tight, fast code which was the deciding factor for me. I'm going to keep working with the IDE demo because I found it was splitting code between files and may work after all. I'd just like to confirm that before I go a few weeks without food? It really would be worth such a sacrifice if it does work.
Different languages steal ideas from one another and they are not always good ideas. I never liked C header files because it meant you had to look in two different places to know how a thing might work (or not work if you change one without the other.) Basic steals that with it's include files. Declaring a function makes sense for an outside DLL call but no sense for the purpose it is otherwise used for... languages whose identifiers are sequence dependent. Functions should be atomic with no sequence dependency (something the OpenEuphoria crowd is belatedly discovering.) Includes, preprocessors and macros are all mistakes for similar reasons. They were solutions whose time has expired. A programmer needs to be humble and let the computer do the work it is better suited for (leaving the programmer to do the things a computer can't.) Namespaces seems like a really cool idea, but again is a mistake. It's an attempt to tighten scope but in a mistaken way because again it makes things less atomic. If you have file scope, namespaces become superfluous. You should never have to look beyond the passed in parameters to figure out what a function does. Hunting down code is a waste of the programmers time and a lack of humility by relying on human memory where it isn't required. Being able to drill down to called functions (two clicks in VB) is also a great time saver for the humble programmer. I could have never handled well over a million lines of code by myself without it.