User bio
404 bio not found
Member since Nov 9, 2015
Replies:

It's titled "Success Stories with AI Copilots for ObjectScript"

Note - I'm coming from a highly skeptical perspective here. I'm a real engineer, not a vibe coder. I'm not quick to jump on the bandwagon. I'm relatively old-school on ObjectScript (not MUMPS old school, just "we had something right with Zen" old school). I'm equally likely to point fingers at AI garbage and laugh as I am to highlight something it did well. But I strongly believe that - with the right harness and skills - AI assisted coding tools are already mature enough to change IRIS / ObjectScript-based development deeply, and in ways more faithful to InterSystems history and our platform's core strengths than "just move everything to Python now, AI makes it easy."

I agree on basically all of what you said. I'm using Claude Code extensively but have also worked with GitHub Copilot a bit and tried out some other tools. (Claude is just the best though.)

Last year (Opus 4.5) was really an inflection point in frontier models being net helpful on ObjectScript OOTB and not making mistakes that would immediately confuse a newer developer. I still see some basic syntax issues (e.g., Quit with an argument from inside a Try block) but at least those flag on compilation.

I've found that the hardest things are:

  • Starting a new ObjectScript project where it can't just imitate the style and structure of the existing codebase.
    • Skills and a good scaffold can help
  • Giving the agent a good feedback loop - doing TDD, making sure it got basic ObjectScript stuff right, etc. - without token cost going through the roof.
    • Again, this is about skills / harness; we're working on making some of this better through tools in IPM.
  • Making sure that you as the developer stay in charge of architectural and design decisions rather than delegating to a junior developer - or even worse, a principal developer who assumes it knows everything but doesn't really get InterSystems tech.

I'll be presenting in more detail on these patterns at READY, and hopefully will have some Skills to share around that timeframe based on rollout of Claude Code to my team of ~12 developers working on IRIS-based non-healthcare applications.

Timothy Leavitt · Dec 8, 2025 go to post

Sure! I have this class (extending %JSON.Adaptor rather than using https://github.com/intersystems/isc-json would be almost as good):

Class pkg.isc.mcp.message.BaseRequest Extends (Ens.Request, %pkg.isc.json.adaptor)
{

/// This method is called by the Management Portal to determine
/// the content type that will be returned by the <method>%ShowContents</method>
/// Override to application/json for pkg.isc.mcp.types.BaseModel.cls extends both
/// %XML.Adaptor and %pkg.isc.json.adaptor but returns JSON
Method %GetContentType() As %String
{
  Quit "application/json"
}

Storage Default
{
<Type>%Storage.Persistent</Type>
}

}

With a subclass, pkg.isc.mcp.message.ToolCallRequest, that has a few more properties.

This shows up in the visual trace OOTB as:

Open Exchange applications:
Certifications & Credly badges:
Followers:
Following: