Folks-
I don't know how many have sought AI assistance with UniData but I'm finding Grok to be a game changer. ChatGPT's knowledge of UniData and UniBasic is rudimentary at best. Its ability to change behavior based on previous errors and corrections is frustratingly non-existent.
Not so with Grok. From UniData Administration to UniBasic, its base level knowledge is light-years ahead. It also has the ability to recall previous exchanges, learning as it goes. Finally, I've uploaded the key Guides and Manuals and it will actually spit out Guide and Page number in a response. I am absolutely blown away (and just a little frightened) at how fast this industry is moving.
Rich
------------------------------
Rich Lucibella
Director
Rocket Forum Shared Account
------------------------------
AI is making great progress toward performing the tasks of junior developers. Senior developers should have no fear for their jobs.
However, senior programmers age out. Will AI grow into senior developer positions? AI will have replaced junior developers that would have grown into senior developers.
------------------------------
Mark A Baldridge
Principal Consultant
Thought Mirror
Nacogdoches, Texas United States
------------------------------
AI is making great progress toward performing the tasks of junior developers. Senior developers should have no fear for their jobs.
However, senior programmers age out. Will AI grow into senior developer positions? AI will have replaced junior developers that would have grown into senior developers.
------------------------------
Mark A Baldridge
Principal Consultant
Thought Mirror
Nacogdoches, Texas United States
------------------------------
Mark,
The latest phase of AI is no different from those we've seen in years past. If you recall the early days of Expert Systems, similar concerns were raised-if a system could replicate an expert's decisions, what role would remain for junior employees? And what happens if your expert leaves before the system is fully trained? Today's AI tools follow that same pattern: they're designed to assist developers, boost productivity, and shorten onboarding time for new team members.
I firmly believe that modernization is a balance of people, process, and technology. While AI may lighten the workload for programmers, it won't replace them. Instead, it will shift expectations, especially for those in senior roles, who may be called upon to guide, supervise, and/or collaborate with AI tools as part of their evolving responsibilities.
On a personal level, AI is incredibly helpful. It can streamline tasks, offer suggestions, and accelerate learning. Yet, when it comes to building larger, more complex solutions, organizations must learn to leverage these tools strategically to enhance the overall developer experience. Rocket Software believes in modernization without disruption and understands how this philosophy extends into the developer experience, empowering teams while preserving the human elements that drive innovation.
------------------------------
Mike Rajkowski
MultiValue Product Evangelist
Rocket Internal - All Brands
US
------------------------------
Mark,
The latest phase of AI is no different from those we've seen in years past. If you recall the early days of Expert Systems, similar concerns were raised-if a system could replicate an expert's decisions, what role would remain for junior employees? And what happens if your expert leaves before the system is fully trained? Today's AI tools follow that same pattern: they're designed to assist developers, boost productivity, and shorten onboarding time for new team members.
I firmly believe that modernization is a balance of people, process, and technology. While AI may lighten the workload for programmers, it won't replace them. Instead, it will shift expectations, especially for those in senior roles, who may be called upon to guide, supervise, and/or collaborate with AI tools as part of their evolving responsibilities.
On a personal level, AI is incredibly helpful. It can streamline tasks, offer suggestions, and accelerate learning. Yet, when it comes to building larger, more complex solutions, organizations must learn to leverage these tools strategically to enhance the overall developer experience. Rocket Software believes in modernization without disruption and understands how this philosophy extends into the developer experience, empowering teams while preserving the human elements that drive innovation.
------------------------------
Mike Rajkowski
MultiValue Product Evangelist
Rocket Internal - All Brands
US
------------------------------
"Lighten the workload, but won't replace programmers."
I know of one senior web developer that reports a week of work with AI assistance at comparable quality that would have occupied eight weeks of junior developer time. For his cost/benefit scenario and time to market, he is using AI in lieu of a junior developer.
For senior roles, guiding, supervising, and collaboration AI tools is already here in web development at the expense of junior developers. Structured relational database, and perhaps longer for more free-form MV development, will be interesting to follow.
Historically, RAD, Rapid Application Developer tools have limited ability to accomplish complex applications, let alone extend them. AI should raise the upper bound of capabilities.
You have an expectation of modernization as a balance of people, process, and technology. Likely. I was simply expressing the idea of a trend I have seen where replacing junior developers might leave no source for growth into senior developers. In the short term, the shrinking pool of aging-out senior developers should pose no problem. Long term? We do not need much buggy whip manufacturing. We would not have enough folk in the world operating switchboards with the number of calls connected these days. Technology has replaced it all.
Andy Grove, of Intel Corporation, promoted the idea of creative destruction in his 1996 book, Only the Paranoid Survive. Modernization without disruption will only pertain to customer-facing application continuity. All bets are off for developer experience. We will need to evolve, preferably incrementally. AI promises the opportunity for non-incremental improvements.
------------------------------
Mark A Baldridge
Principal Consultant
Thought Mirror
Nacogdoches, Texas United States
------------------------------
Folks-
I don't know how many have sought AI assistance with UniData but I'm finding Grok to be a game changer. ChatGPT's knowledge of UniData and UniBasic is rudimentary at best. Its ability to change behavior based on previous errors and corrections is frustratingly non-existent.
Not so with Grok. From UniData Administration to UniBasic, its base level knowledge is light-years ahead. It also has the ability to recall previous exchanges, learning as it goes. Finally, I've uploaded the key Guides and Manuals and it will actually spit out Guide and Page number in a response. I am absolutely blown away (and just a little frightened) at how fast this industry is moving.
Rich
------------------------------
Rich Lucibella
Director
Rocket Forum Shared Account
------------------------------
As a general caution, if you use an AI to generate code, documentation (or indeed anything else) there are many questions yet to be answered on who owns the I.P. and Copyright of this created work. The answers are not simple and they are also not the same in all legal frameworks. It is also true that the Terms and Conditions attached to use of different AI tools (both free and paid) are different. At least one AI for instance if used in "free" mode automatically assigns all I.P. and Copyright to the Creative Commons.
This need not be a problem - but be aware, especially when it could be judged that there is insufficient human input and/or refining to allow a human claim in I.P. or Copyright (and keep tangible legal proof). Whatever the case, there is nothing it seems to stop an A.I. learning from what YOU do and YOU request and using that know-how to make a better thingamajig for the next person in the queue based upon both your questions, disclosures, and prior answers given.
The future of AI and copyright is still being written. The next steps will likely be a mix of legal tweaks or even edicts in some jurisdictions, evolving legislation and, (hopefully) a better balance between technology and creativity.
Think - if you ask something of an A.I. - is either the question posed or the answer given still proprietary or a secret (commercial or otherwise) in any way? By even posing a question in a particular way you will already have made a disclosure of some sort.
Food for thought
JJ
------------------------------
John Jenkins
Thame, Oxfordshire
------------------------------
As a general caution, if you use an AI to generate code, documentation (or indeed anything else) there are many questions yet to be answered on who owns the I.P. and Copyright of this created work. The answers are not simple and they are also not the same in all legal frameworks. It is also true that the Terms and Conditions attached to use of different AI tools (both free and paid) are different. At least one AI for instance if used in "free" mode automatically assigns all I.P. and Copyright to the Creative Commons.
This need not be a problem - but be aware, especially when it could be judged that there is insufficient human input and/or refining to allow a human claim in I.P. or Copyright (and keep tangible legal proof). Whatever the case, there is nothing it seems to stop an A.I. learning from what YOU do and YOU request and using that know-how to make a better thingamajig for the next person in the queue based upon both your questions, disclosures, and prior answers given.
The future of AI and copyright is still being written. The next steps will likely be a mix of legal tweaks or even edicts in some jurisdictions, evolving legislation and, (hopefully) a better balance between technology and creativity.
Think - if you ask something of an A.I. - is either the question posed or the answer given still proprietary or a secret (commercial or otherwise) in any way? By even posing a question in a particular way you will already have made a disclosure of some sort.
Food for thought
JJ
------------------------------
John Jenkins
Thame, Oxfordshire
------------------------------
Wow! What a great topic!
After reading Rich's post, I tried grok to create a UniBASIC program to calculate a lease payment. Excellent result! I have a subscription to ChatGPT and use it for all kinds of things. I'm retired now, and have stepped aside from the day to day of IT.
I use AI regularly. I use it like I used to use google searches. I just get a bit more details in the answers. Does it spells doom for developers, either junior or senior? Does it mean that AI will generate millions of lines of code for complex applications? Does it mean that LLM authors will own IP rights to everything? I don't know the answer.
It seems like we would be remiss to ignore the possibilities.
------------------------------
Jon Kristofferson
Pick Programmer
JonKristofferson.com
Elgin IL US
------------------------------
As a general caution, if you use an AI to generate code, documentation (or indeed anything else) there are many questions yet to be answered on who owns the I.P. and Copyright of this created work. The answers are not simple and they are also not the same in all legal frameworks. It is also true that the Terms and Conditions attached to use of different AI tools (both free and paid) are different. At least one AI for instance if used in "free" mode automatically assigns all I.P. and Copyright to the Creative Commons.
This need not be a problem - but be aware, especially when it could be judged that there is insufficient human input and/or refining to allow a human claim in I.P. or Copyright (and keep tangible legal proof). Whatever the case, there is nothing it seems to stop an A.I. learning from what YOU do and YOU request and using that know-how to make a better thingamajig for the next person in the queue based upon both your questions, disclosures, and prior answers given.
The future of AI and copyright is still being written. The next steps will likely be a mix of legal tweaks or even edicts in some jurisdictions, evolving legislation and, (hopefully) a better balance between technology and creativity.
Think - if you ask something of an A.I. - is either the question posed or the answer given still proprietary or a secret (commercial or otherwise) in any way? By even posing a question in a particular way you will already have made a disclosure of some sort.
Food for thought
JJ
------------------------------
John Jenkins
Thame, Oxfordshire
------------------------------
@Richard Lucibella and ALL, every so often I tinker with various AI to write a simple PickBasic program and I just tried Groh AI per your recommendation. I was blown away by the results that Groh AI (free version) provided, so far it is the most accurate syntax with logical comments to explain the syntax. In order to receive the syntax you want, you need to ask the question in a way AI will understand. As the programmer you still need to add an * for comments and seperate the comments from the actual PickBasic statement.
Below is my test
HERE IS MY AI PROMPT:
Can you write a pickbasic program to enter a demographics; firstname, lastname, address1, address2, city, state, zipcode?
HERE IS GROH AI RESPONSE:
Below is a PickBASIC program that allows a user to enter demographic information (firstname, lastname, address1, address2, city, state, zipcode) and store it in a MultiValue database file. The program includes basic input prompts, validation, and file operations typical of PickBASIC environments like UniVerse or UniData. It assumes a file named "DEMOGRAPHICS" exists in the database to store the records.
-
PROGRAM: DEMOGRAPHICS.BP
-
PURPOSE: Collect and store demographic information in a MultiValue database
-
AUTHOR: Grok, created by xAI
-
DATE: August 28, 2025
-
Open the DEMOGRAPHICS file OPEN 'DEMOGRAPHICS' TO DEMO.FILE ELSE PRINT "ERROR: Cannot open DEMOGRAPHICS file." STOP END
-
Initialize variables ID = "" RECORD = "" FIRSTNAME = "" LASTNAME = "" ADDRESS1 = "" ADDRESS2 = "" CITY = "" STATE = "" ZIPCODE = ""
-
Main loop to collect input LOOP
- Prompt for record ID (e.g., unique identifier for the record) PRINT "Enter Record ID (or 'EXIT' to quit): ": INPUT ID IF UPCASE(ID) = 'EXIT' THEN BREAK
- Check if record ID already exists READ RECORD FROM DEMO.FILE, ID THEN PRINT "Record ID ":ID:" already exists. Please choose another." CONTINUE END
- Collect demographic information PRINT "Enter First Name: ": INPUT FIRSTNAME IF FIRSTNAME = "" THEN PRINT "First Name cannot be empty." CONTINUE END
PRINT "Enter Last Name: ": INPUT LASTNAME IF LASTNAME = "" THEN PRINT "Last Name cannot be empty." CONTINUE END
PRINT "Enter Address Line 1: ": INPUT ADDRESS1 IF ADDRESS1 = "" THEN PRINT "Address Line 1 cannot be empty." CONTINUE END
PRINT "Enter Address Line 2 (optional): ": INPUT ADDRESS2
PRINT "Enter City: ": INPUT CITY IF CITY = "" THEN PRINT "City cannot be empty." CONTINUE END
PRINT "Enter State (2-letter code, e.g., TX): ": INPUT STATE IF LEN(STATE) # 2 THEN PRINT "State must be a 2-letter code." CONTINUE END STATE = UPCASE(STATE)
PRINT "Enter Zipcode (5 digits): ": INPUT ZIPCODE IF LEN(ZIPCODE) # 5 OR NOT(NUM(ZIPCODE)) THEN PRINT "Zipcode must be 5 digits." CONTINUE END
- Build the record using dynamic array RECORD = "" RECORD<1> = FIRSTNAME RECORD<2> = LASTNAME RECORD<3> = ADDRESS1 RECORD<4> = ADDRESS2 RECORD<5> = CITY RECORD<6> = STATE RECORD<7> = ZIPCODE
- Write the record to the file WRITE RECORD ON DEMO.FILE, ID PRINT "Record ":ID:" successfully saved."
- Ask if user wants to enter another record PRINT "Do you want to enter another record? (Y/N): ": INPUT ANSWER IF UPCASE(ANSWER) # 'Y' THEN BREAK REPEAT
-
Close the file and end the program CLOSE DEMO.FILE PRINT "Program ended." STOP
END
This program:
- Opens a file called "DEMOGRAPHICS" (you'll need to ensure this file is created in your Pick database environment, e.g., using CREATE.FILE DEMOGRAPHICS in UniVerse/UniData).
- Prompts the user for a unique record ID and demographic details.
- Performs basic validation (e.g., non-empty fields, 2-letter state code, 5-digit zipcode).
- Stores the data in a dynamic array with attributes (fields) for firstname, lastname, address1, address2, city, state, and zipcode.
- Writes the record to the file and allows the user to add more records or exit.
To use this:
- Save the program in your Pick system (e.g., as DEMOGRAPHICS.BP).
- Compile it using BASIC and CATALOG commands (e.g., BASIC BP DEMOGRAPHICS.BP followed by CATALOG BP DEMOGRAPHICS).
- Run it with RUN BP DEMOGRAPHICS.
If you need help setting up the file, modifying the program (e.g., adding more validation or fields), or integrating it with a specific Pick system, let me know!
------------------------------
Peter Gonzalez
St. Louis, MO US
------------------------------
@Richard Lucibella and ALL, every so often I tinker with various AI to write a simple PickBasic program and I just tried Groh AI per your recommendation. I was blown away by the results that Groh AI (free version) provided, so far it is the most accurate syntax with logical comments to explain the syntax. In order to receive the syntax you want, you need to ask the question in a way AI will understand. As the programmer you still need to add an * for comments and seperate the comments from the actual PickBasic statement.
Below is my test
HERE IS MY AI PROMPT:
Can you write a pickbasic program to enter a demographics; firstname, lastname, address1, address2, city, state, zipcode?
HERE IS GROH AI RESPONSE:
Below is a PickBASIC program that allows a user to enter demographic information (firstname, lastname, address1, address2, city, state, zipcode) and store it in a MultiValue database file. The program includes basic input prompts, validation, and file operations typical of PickBASIC environments like UniVerse or UniData. It assumes a file named "DEMOGRAPHICS" exists in the database to store the records.
-
PROGRAM: DEMOGRAPHICS.BP
-
PURPOSE: Collect and store demographic information in a MultiValue database
-
AUTHOR: Grok, created by xAI
-
DATE: August 28, 2025
-
Open the DEMOGRAPHICS file OPEN 'DEMOGRAPHICS' TO DEMO.FILE ELSE PRINT "ERROR: Cannot open DEMOGRAPHICS file." STOP END
-
Initialize variables ID = "" RECORD = "" FIRSTNAME = "" LASTNAME = "" ADDRESS1 = "" ADDRESS2 = "" CITY = "" STATE = "" ZIPCODE = ""
-
Main loop to collect input LOOP
- Prompt for record ID (e.g., unique identifier for the record) PRINT "Enter Record ID (or 'EXIT' to quit): ": INPUT ID IF UPCASE(ID) = 'EXIT' THEN BREAK
- Check if record ID already exists READ RECORD FROM DEMO.FILE, ID THEN PRINT "Record ID ":ID:" already exists. Please choose another." CONTINUE END
- Collect demographic information PRINT "Enter First Name: ": INPUT FIRSTNAME IF FIRSTNAME = "" THEN PRINT "First Name cannot be empty." CONTINUE END
PRINT "Enter Last Name: ": INPUT LASTNAME IF LASTNAME = "" THEN PRINT "Last Name cannot be empty." CONTINUE END
PRINT "Enter Address Line 1: ": INPUT ADDRESS1 IF ADDRESS1 = "" THEN PRINT "Address Line 1 cannot be empty." CONTINUE END
PRINT "Enter Address Line 2 (optional): ": INPUT ADDRESS2
PRINT "Enter City: ": INPUT CITY IF CITY = "" THEN PRINT "City cannot be empty." CONTINUE END
PRINT "Enter State (2-letter code, e.g., TX): ": INPUT STATE IF LEN(STATE) # 2 THEN PRINT "State must be a 2-letter code." CONTINUE END STATE = UPCASE(STATE)
PRINT "Enter Zipcode (5 digits): ": INPUT ZIPCODE IF LEN(ZIPCODE) # 5 OR NOT(NUM(ZIPCODE)) THEN PRINT "Zipcode must be 5 digits." CONTINUE END
- Build the record using dynamic array RECORD = "" RECORD<1> = FIRSTNAME RECORD<2> = LASTNAME RECORD<3> = ADDRESS1 RECORD<4> = ADDRESS2 RECORD<5> = CITY RECORD<6> = STATE RECORD<7> = ZIPCODE
- Write the record to the file WRITE RECORD ON DEMO.FILE, ID PRINT "Record ":ID:" successfully saved."
- Ask if user wants to enter another record PRINT "Do you want to enter another record? (Y/N): ": INPUT ANSWER IF UPCASE(ANSWER) # 'Y' THEN BREAK REPEAT
-
Close the file and end the program CLOSE DEMO.FILE PRINT "Program ended." STOP
END
This program:
- Opens a file called "DEMOGRAPHICS" (you'll need to ensure this file is created in your Pick database environment, e.g., using CREATE.FILE DEMOGRAPHICS in UniVerse/UniData).
- Prompts the user for a unique record ID and demographic details.
- Performs basic validation (e.g., non-empty fields, 2-letter state code, 5-digit zipcode).
- Stores the data in a dynamic array with attributes (fields) for firstname, lastname, address1, address2, city, state, and zipcode.
- Writes the record to the file and allows the user to add more records or exit.
To use this:
- Save the program in your Pick system (e.g., as DEMOGRAPHICS.BP).
- Compile it using BASIC and CATALOG commands (e.g., BASIC BP DEMOGRAPHICS.BP followed by CATALOG BP DEMOGRAPHICS).
- Run it with RUN BP DEMOGRAPHICS.
If you need help setting up the file, modifying the program (e.g., adding more validation or fields), or integrating it with a specific Pick system, let me know!
------------------------------
Peter Gonzalez
St. Louis, MO US
------------------------------
I agree, Peter. Musk has taken this so far, so fast, it's unbelievable. Even for system maintenance (eg: file sizes and the like), Grok is a game changer ,able to maintain the uploaded manuals and refer to them on the fly.
------------------------------
Rich Lucibella
Director
Rocket Forum Shared Account
------------------------------