Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

IDE / MV integration - Rethinking the project(s)

152 views
Skip to first unread message

Tony Gravagno

unread,
Jun 18, 2018, 2:34:26 PM6/18/18
to Pick and MultiValue Databases
I'm rethinking how to approach the IDE topic. I'm OK with this not working out for lack of popularity. I just dont want it to fail for not being done properly. So your feedback on how a project like this should proceed is welcome, even if you aren't planning to participate in the project itself.

It's entirely possible that "MV awareness" in both Sublime Text and VSCode will consist of many of the same features. It doesn't make a lot of sense to have two independent projects where people discuss these topics separately, reason out what we expect fromt these tools, logically prioritize, etc.

Aside from the programming languages used from the client IDE, the interface(s) to MV should be the same. That is, the pipes should generally be agnostic of the client, in a sort of MVC fashion. Implementation-specific details should be separate, but not at the cost of the valuable exchanges which are common to all IDEs.

I’ve expressed a preference to focus on one project at a time, for my own inability to spread too thinly across projects. But now I'm thinking that the definition of an IDE initiative is one project on its own, and there are separate projects for each IDE-specific implementation. Consider that in the real world we don't start with an implementation, we usually start with a spec. We generally create the RFC for a protocol before we implement a protocol. While independent innovation is valuable, some consistency is extremely helpful as people transition between implementations with expectancy of some basic common functionality.

It's not like there's a whole lot to do here - but I don't want to start off with a mis-configured project no matter the size.
So I'm looking for opinions on the following concepts:

  1. Start with a small project that just tries to define what we (a) expect and (b) want from IDE integration. For now I'll label this as the MvIdeRfc.
  2. Soon, but later, kick off a project for an mvIdeRfC implementation with Sublime Text.
  3. Soon, but later, kick off a project for an mvIdeRfC implementation with VSCode.
  4. Give the implementations a generic name so that others are not discouraged. In other words, the Sublime project might be called SaTurn and the VSCode project might be called VenuS. This way there isn't one dominating project called mvSublimeText.
  5. Encourage participation from those who have already published commercial offerings, like Pete Schellenbach with AccuTerm wED, and Doug Averch with XLR8. They've already been down the path and have a lot of experience to offer.
    1. There's no expectation that the RFC will conform to existing products.
    2. There's no expectation that existing products will conform to a new RFC.
    3. Each FOSS and commercial option should be equally available, with selection left to the consumer.
  6. Collaboration
    1. Google Groups is not well suited to hierarchical projects, sub-projects, etc. (there's no such thing here as a subgroup).
    2. A new Slack Team might be better for this, with channels for each project, where references are easier.
    3. Working documents can be provided in Google Docs.
    4. We could host code in GitHub but since the FOSS4MV repo already exists that might be a better choice.

Someone could say "in the time you take to talk about this I could have it done". Sure, but IMO that doesn't help others, doesn't provide any sort of centralization or consistency, and one-off projects like that will probably disappear into the nether like others before it. So for this specific area I suggest more organization would be much better.

I'm also trying to help get individuals in this industry to think more like an industry, like a community. We have no well-recognized FOSS hubs, no globally acknowledged forum. People have been wondering for years why "MV" doesn't take off (again?) and I believe that's in large part because the DBMS providers don't position themselves as "an industry" and individual developers as so stuck in the DIY mentality that the concept of collaboration is a strong anathema.


Thanks.
T

grant...@prosol.co.za

unread,
Jun 18, 2018, 2:59:13 PM6/18/18
to Pick and MultiValue Databases
Hi Tony,

Thanks for your thoughts. We at ONGroup developed our VS code extensions primarily to improve our user base’s development experience. We also realized that these tools could benefit the entire MV marketplace and as such have made them available to all.

Our direction with these extensions will always be driven by our user base’s requirements and the functionality of MVON#, however we value the input of our community to improve what the extensions deliver to all. We will endeavor to add functionality for all MV flavors and have already had discussions about enabling adding Intellisense flags for all the differences in MV basic.

If anyone wants to create a specific fork of the software for their MV platform that will be great and Github tools are awesome for merging should we add functionality that a particular fork does not have.

Cheers

grant...@prosol.co.za

unread,
Jun 18, 2018, 3:41:38 PM6/18/18
to Pick and MultiValue Databases
Hi Tony,

On reflecting on your original post, I don’t have the time to be involved heavily involved in the project you propose. However I do have considerable experience in levers, parsers, compilers and linters. I would happily try and assist if anyone involved required help.

Cheers

Tony Gravagno

unread,
Jun 19, 2018, 2:03:53 PM6/19/18
to Pick and MultiValue Databases
Thanks Grant. Your expertise will be welcome when questions arise - but no obligations are implied.

This project has many facets beyond what appears on the screen so I'm hoping different people will find affinity with specific areas and just focus what short time they have available on those areas.

As stated in my OP here, this is now actually more than one project.
The first is purely the establishment of an RFC for what we expect and want from a MV IDE.
A separate project, after refinement of the RFC, will be an implementation of the RFC for Sublime.
Another project will be an implementation of the RFC for VS Code.

People can choose whichever project they wish, and whatever aspect of each project. Again in line with this thread, I think it's important to have that RFC first so that we have a spec for subsequent implementation projects, so that someone can go down a checklist of what's available and what's not.

Compare this to what we have now where every project is different, and the same suggestions need to be made for every project. Even in this tiny subdomain of a topic there is chaos, and I'd like to help address that.

So for anyone who is interested. Right now this is just about identifying what we want and need - no code or special knowledge required.
The initial RFC has been started and Ian Harper and I will beat it up a bit before opening it for peer review.

Regards,
T

Ian Harper

unread,
Jun 20, 2018, 11:09:14 AM6/20/18
to Pick and MultiValue Databases
For me the most important features are remote editing and code compilation. Appropriate syntax highlighting comes in second.

Things that are good to have but not essential to me are:
  • Browsing of remote file system.
  • Ability to set & release locks on remote system.
  • Ability to read & write MV data (not source code).
  • oconv/iconv utility
  • Automatic check for discrepancies between local and remote versions of files
  • Ability to customize compile command or execute arbitrary commands on server.

I thought of a lot more features but did not include them because they would/are be handled by the editor and aren't specific to developing MV code. 

Ian Harper

unread,
Jun 20, 2018, 11:17:26 AM6/20/18
to Pick and MultiValue Databases
Another must have feature is for the IDE to recognize MV basic structure (labels, goto, and gosub).

Ian Harper

unread,
Jun 20, 2018, 11:29:00 AM6/20/18
to Pick and MultiValue Databases
Also recognition of "." as a valid word character not a word separator.

Tony Gravagno

unread,
Jun 20, 2018, 1:36:10 PM6/20/18
to Pick and MultiValue Databases
Ian - As you'll see, I've added all of these items to page 3 of the RFC. Your other notes are really concepts that are already built-in to the tools so we'll absolutely have those, no special note required.
I was going to say "dude, you're the only other person who has write access to the doc, just update it. ;)"
But I won't say that. (huh?)
Seriously, I think it's valuable for people to post and discuss feature preferences in one or more threads, and I'll translate those notes into the doc.
So keep the ideas flowing!!
For those wondering "what is this RFC thing and how can I see it?" ... It's just a work-in-process now. I'd like to flesh it out a bit an then, very soon, actually offer it as a "Request For Comments".
Patience is requested.
Thanks.
T

On Wednesday, June 20, 2018 at 8:09:14 AM UTC-7, Ian Harper wrote:

Dick Thiot

unread,
Jun 20, 2018, 2:38:19 PM6/20/18
to mvd...@googlegroups.com
So Tony, you are saying that you want comments on the Request for Comments before the Request for Comments is released for comments.  Did I understand that correctly? ;-)

--
You received this message because you are subscribed to
the "Pick and MultiValue Databases" group.
To post, email to: mvd...@googlegroups.com
To unsubscribe, email to: mvdbms+un...@googlegroups.com
For more options, visit http://groups.google.com/group/mvdbms

Ian Harper

unread,
Jun 20, 2018, 4:14:32 PM6/20/18
to Pick and MultiValue Databases
"dude, you're the only other person who has write access to the doc, just update it. ;)"
HA! I wanted to last night but there was a payroll emergency which has given me reason to learn more about PROC...

Also I wanted to express my thoughts in public to help encourage discussion AND I'm pretty sure that I'd forget them all if I didn't write them down right then :)
 

Andrew Cole

unread,
Jun 20, 2018, 6:55:50 PM6/20/18
to Pick and MultiValue Databases
I would love to see this happen and would be willing to help out in some way. I currently use wED and while it's enabled me to comfortably program in PICK/BASIC (I cannot use ED without wanting to break something), it always leaves me wanting. I use IntelliJ IDEA for my Java and PHP development and if there was an IDE of similar caliber for MV that would be fantastic. 

Where is this RFC located? I just found this google group today...

Wols Lists

unread,
Jun 21, 2018, 1:08:02 PM6/21/18
to mvd...@googlegroups.com
On 20/06/18 19:38, Dick Thiot wrote:
> So Tony, you are saying that you want comments on the Request for
> Comments before the Request for Comments is released for comments. Did
> I understand that correctly? ;-)
>
And that's strange how?

Tony wants to release a formal RFC. And how is he going to know what
should be in it, unless he asks people for comments?

Isn't it normal to show draft documents to people for them to comment
on? I know - it's the fact that this particular draft document is of the
group of documents called RFCs. :-)

Cheers,
Wol

Dick Thiot

unread,
Jun 21, 2018, 2:10:57 PM6/21/18
to mvd...@googlegroups.com
Wol,

I was just trying to be funny.  I get what Tony is doing.

Dick

Reply all
Reply to author
Forward
0 new messages