Hi Tony:
Basic may be old, but for generating certain kinds of data, like your increasing pitch problem it works fine. I made cam programs in basic that you could input the starting degrees, ending degrees, starting radius, ending radius, desired angular step size(like .1 degree per step) for different types of cam motion; Cycloidal, Harmonic, Parabolic etc., and it would crank out the data in seconds. The X,Y coordinates in the case of a flat plate cam, or X, A if the cam was machined on a rotary table. This is sort of "brute force" generating every point of motion by actual G-code X, and A steps. You can compile the Basic program, and have a bunch of little programs for each specific machining need. I should add, the code generated is to the "center of the cutter", not the cam surface. Depending on the size of the part, the program could be several thousand lines long. There are formulas in the math books for such motions, as well a curve fitting.
In the case of my increment example earlier in this post, making a loop, using G91 takes only a few lines of code. Mach3 does all the work adding numbers to the constantly changing X axis motion per the loop, and moving the X and A axis in sync accordingly.
It certainly is possible to write a Basic program that would read user input of starting pitch, ending pitch, and total length of shaft, that would do all the math and output a working G-code, G91 incremental program. But, it is most likely a one time job.
Sometimes just thinking about a given machining problem for a while will let you see a simple solution.
Regarding the 24" screw with variable pitch, there were enough "known" values to derive the "unknown" variable (pitch increase per 1 REV).
One place the Basic has been very useful to me, was writing code to calculate the offset from a NON-Linear line "Normal" to the line. There are cases where G41 or G42 get goofy, and will wreck the part, thus being able to create a "brute force" machine pass offset from a line in which there may be X,Y,A all moving together. Then following that line with a G40 (no offset) cutter will be a perfect offset. I am sure there are CAD programs that will do that, but they can run into the multiple thousands of dollars.
At the end of the day, simple is better. However, there is really no easy way. It all takes time; programming, setting up, test cutting in air (sometimes), special cutters, fixtures, setting Zero's ....etc., and editing you code to fine tune the actual machining.
John