Robert Batson, 07/13/2013
Back in 2002, I needed a good script editor that recognized and handled scripting of Windows Scripting Components (WSC) as COM objects. The company I worked for at the time was implementing a new Windows-based Client/Server document imaging and workflow system that used these XML wrapped VBScript components in their proprietary application server for specialized handling, processing and routing of document data and of the container record that was the primary workflow record.
After doing some research on Google, I determined that PrimalScript would probably be the first scripting editor that I should test. So I downloaded and installed the 30 day trial license however; after just a week of using PrimalScript, I knew that I had found the best tool and purchased a single license for myself. This tool was so powerful for handling all of the tasks that went along with WSC project files, easy debugging of code to the point of providing line/character number information and one of the handiest of all was registering/unregistering the WSC COM object inside PrimalScript, so I didn't have to jump back and forth to a command line to register/unregister these components.
Eventually, I ordered a site license for PrimalScript so that all five developers we had acquired over previous two years had a legal license and we had consistently paid annual maintenance on our license, so we were was getting updates from Sapien. This is annual maintenance purchase is essential due to all of the enhancements that Sapien adds to this product and its other products.
Now fast forward to 2013, after ten years at this previous company where I originally found and used PrimalScript, with the last five years in IT Management, I went back to my true love of software development because of the creative and at times, very challenging things we are asked to do. I re-entered the market as primarily a SQL Server DBA, T-SQL, VB.NET and ASP.NET programmer.
One of the first projects I had to do was a SQL Server Reporting Services (SSRS) 2008 (non-R2) report. It appeared to be a straight forward conversion from Crystal Reports until I found out that the Report Builder didn't include an RTFTextBox control. Well, the main report body was in RTF and after a number of attempts to make a square peg fit into a round hole, we, VP of IT and myself determined the best and quickest way to handle this limitation was to convert the RTF to an image file because they had to keep the RTF formatting. So we purchased a RTF conversion tool that had command-line conversion capabilities and then I started writing WSF and CMD scripts to run all of the processes from a console application.
Again, I needed a good script editor again that was able to handle WSF, CMD and SQL Scripts. I immediately downloaded the trial version of PrimalScript 2012 and was literally blown away at how far they along they had developed this application.
The original IDE that I was used to, had been improved dramatically. The number of out of the box programming languages with specific, predefined usage templates for each language must have easily quadrupled. Now you can select a specific programming template that saves me, the developer, literally tens of hours of pick and shovel development for each project. These templates (and other functionality described below) allow me to focus in on the task at hand and not have to concerned about class creations, object instantiations and other trivial but must have code, because with a click on checkbox, these can be built in or you can take the code they provide for this, copy it to its own file and easily modify it.
One of the absolute handiest items is the auto-scripting of the various tasks related to an OLE DB database table manipulation and it supports whatever OLE DB drivers you have installed. You connect your PrimalScript code to an OLE DB database and then PrimalScript Database Browser Window opens up to show you all the user stored procedures, user created views and all the tables, plus any OLE DB specific functionality that might be proprietary to that driver. Right click on any of these items and PrimalScript shows you a dialog box of all the available scripting items it can do for you.
Okay, so now you're probably thinking, ugh, a code generator. Well, hold your horses, because I'm not a fan of code generators either however; these developers have nailed it. You can pick and choose what you want to be auto-scripted for you and then decide how you want to use it. I've written over ten WSF scripts in the last three months using their Database Browser tool and told it to create a class to allow for edit, insert, update and delete for various tables. Here's the great part of this database feature, when you create a new Database connection, a Data Link Properties dialog pops up and you build your connection string without the need for ODBC (which by the way, will soon be unsupported and obsolete). Once connected, all of the auto-scripted code is placed inside a #Region block (which allows for quick hiding of that portion of the code) and they've implemented the TODO: feature for project tasks, similar to the Visual Studio interface but for a lot less money.
Their overall feature set has grown exponentially too over the years, as is readily apparent. Debugging has been streamlined and very, very good. All sorts of new or updated options at every turn and they are language specific too. As part of their Platform ribbon menu box, you can now specify processor options, 32 Bit and 64 Bit, which are new too.
Overall, I rate this product a solid nine on a ten scale and the only reason it's not a ten is because there is always room for improvement in some area or another. As a lifelong software developer (24+ years), I strongly recommend that you get the 30-day trial, which comes fully featured and experience what I and many other developers have found: A great tool for developing applications, from full blown Windows apps all the way down to batch files.
It is a must-have tool that all true developers should have in their personal or business toolkit!