Results 1 to 29 of 29

Thread: [RESOLVED] VB6 QUESTION: LSP server implementation for VB6

  1. #1

    Thread Starter
    Frenzied Member
    Join Date
    Feb 2014
    Location
    Norfolk UK (inbred)
    Posts
    2,022

    Resolved [RESOLVED] VB6 QUESTION: LSP server implementation for VB6

    Why do we not have a LSP server implementation for VB6? (I know the answer to this question, it is more or less rhetorical and designed to test the water and stimulate debate).

    Other languages that have almost zero footprint in the programming world seem to have an LSP server implementation. It seems to be becoming a right of passage to have your own LSP implementation for your own language. Without it, our languages' lack of a place in the pantheon of modern programming technologies is highlighted.

    Even visualBasic.FRED does not yet have such an implementation and I understand the reason for that - but it would seem necessary to add VB6 to ensure the longevity of VB6's distinct dialect and increase its exposure to the world and to help regain a tiny part of its place under the sun.

    https://docs.microsoft.com/en-us/vis...n?view=vs-2019

    Other implementations of some sort of future VB6 replacement could benefit from this, it if existed. Users of VBscript/VBA as well as VB6ers are those that could potentially benefit from having such a resource. It at least shows there is some life in the old dog yet. If it had existed already I am sure it would have been useful for RADBasic/TwinBasic development.

    Not having a LSP server implementation for VB6 does imply that the languages only future lies in the old IDE alone and there is more or less no potential for it outside.

    IS this the sort of project that could unite this fractured community to help create?
    PS. At this point in the conversation, Niya would normally appear.

    https://github.com/yereverluvinunclebert

    Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.

    By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.

  2. #2
    PowerPoster wqweto's Avatar
    Join Date
    May 2011
    Location
    Sofia, Bulgaria
    Posts
    4,762

    Re: VB6 QUESTION: LSP server implementation for VB6

    It has to be an LSP server for VB6 implemented in VB6 too.

    TwinBasic is using ANTLR4 grammar, probably inherited from RubberDuck's VBx one with (numerous) fixes/enhancements as TB language evolved.

    IMO, anything short of manually written (in VB6) recursive-descent parser would be sub-optimal for the reputation of the language and the community :-))

    cheers,
    </wqw>

  3. #3
    Banned
    Join Date
    Nov 2011
    Posts
    8,510

    Re: VB6 QUESTION: LSP server implementation for VB6

    I think sometimes you guys forget that VB6 hasn't been updated in 20+ years and outside of our little community here, no one even knows it exists and those who do know it exists don't care about it. The world is run by Python, Java, Javascript and C#.
    Last edited by Niya; Nov 4th, 2021 at 06:52 AM.

  4. #4

    Thread Starter
    Frenzied Member
    Join Date
    Feb 2014
    Location
    Norfolk UK (inbred)
    Posts
    2,022

    Re: VB6 QUESTION: LSP server implementation for VB6

    Quote Originally Posted by Niya View Post
    I think sometimes you guys forget that VB6 hasn't been updated in 20+ years and outside of our little community here, no one even knows it exists and those who do know it exists don't care about it. The world is run by Python, Java, Javascript and C#.
    Don't bring negativity here please Niya, we have enough of that without you using your scattergun approach to denigrating VB6.

    Note that the work done to implement a LSP server for VB6 would naturally benefit VB.NET too as a lot of the syntax is similar. It could form a basis for that.
    PS. At this point in the conversation, Niya would normally appear.

    https://github.com/yereverluvinunclebert

    Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.

    By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.

  5. #5
    Addicted Member
    Join Date
    Dec 2020
    Posts
    197

    Re: VB6 QUESTION: LSP server implementation for VB6

    Quote Originally Posted by wqweto View Post
    It has to be an LSP server for VB6 implemented in VB6 too.

    TwinBasic is using ANTLR4 grammar, probably inherited from RubberDuck's VBx one with (numerous) fixes/enhancements as TB language evolved.

    IMO, anything short of manually written (in VB6) recursive-descent parser would be sub-optimal for the reputation of the language and the community :-))

    cheers,
    </wqw>
    Just FYI, twinBASIC has always used a brand new parser, written from scratch in C++. Nothing is used from RubberDuck, and we don't use ANTLR. Naturally, it does have its own LSP server too, which it exposes to VS Code.

  6. #6
    PowerPoster
    Join Date
    Feb 2006
    Posts
    24,402

    Re: VB6 QUESTION: LSP server implementation for VB6

    VB6 is not a lower-tier 3GL "dark world" (command line) scripting language of the sort VS Code was designed for.

    Stop posting irrelevant threads here. That's what "Other Basic" is for.

  7. #7
    Addicted Member
    Join Date
    Dec 2020
    Posts
    197

    Re: VB6 QUESTION: LSP server implementation for VB6

    Quote Originally Posted by dilettante View Post
    VB6 is not a lower-tier 3GL "dark world" (command line) scripting language of the sort VS Code was designed for.

    Stop posting irrelevant threads here. That's what "Other Basic" is for.
    If your comment was aimed at me... it was quite clear that I was correcting mis-information, and I will continue to do so.

  8. #8
    Banned
    Join Date
    Nov 2011
    Posts
    8,510

    Re: VB6 QUESTION: LSP server implementation for VB6

    Quote Originally Posted by yereverluvinuncleber View Post
    Don't bring negativity here please Niya, we have enough of that without you using your scattergun approach to denigrating VB6.

    Note that the work done to implement a LSP server for VB6 would naturally benefit VB.NET too as a lot of the syntax is similar. It could form a basis for that.
    Some one has to keep it real. You guys keep wanting VB6 to be something it's not. VB6 is for all intents and purposes a dead language. Olaf has extended it somewhat with his powerful RichClient library but that only goes so far. All I'm saying is that at a certain point, you have to be realistic. If you're interested in all these new toys modern developers get with modern languages, you'd be better served by moving to those languages instead of irrationally sticking to VB6.

  9. #9
    Banned
    Join Date
    Nov 2011
    Posts
    8,510

    Re: VB6 QUESTION: LSP server implementation for VB6

    Quote Originally Posted by WaynePhillipsEA View Post
    If your comment was aimed at me... it was quite clear that I was correcting mis-information, and I will continue to do so.
    He was directing it at the OP I believe.

  10. #10
    Addicted Member
    Join Date
    Dec 2020
    Posts
    197

    Re: VB6 QUESTION: LSP server implementation for VB6

    Quote Originally Posted by Niya View Post
    He was directing it at the OP I believe.
    I thought that may be the case. I was the only one who mentioned VS Code, so wasn't sure.

  11. #11
    Banned
    Join Date
    Nov 2011
    Posts
    8,510

    Re: VB6 QUESTION: LSP server implementation for VB6

    Quote Originally Posted by WaynePhillipsEA View Post
    I thought that may be the case. I was the only one who mentioned VS Code, so wasn't sure.
    Well the topic is about an LSP implementation for VB6 and where LSP is mentioned, VSCode also becomes relevant. Dilettante is basically saying something to the effect of VB6 not being suited to VSCode which is why a VB6 LSP implementation isn't really a worthwhile topic.

  12. #12
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    38,496

    Re: VB6 QUESTION: LSP server implementation for VB6

    Quote Originally Posted by WaynePhillipsEA View Post
    If your comment was aimed at me... it was quite clear that I was correcting mis-information, and I will continue to do so.
    No, it wasn't directed at you. Don't worry about it.
    My usual boring signature: Nothing

  13. #13
    PowerPoster
    Join Date
    Feb 2006
    Posts
    24,402

    Re: VB6 QUESTION: LSP server implementation for VB6

    VB6 and classic VB in general was a 4GL (or maybe a "3.5th" generation language) much like its contemporary competitor PowerBuilder.

    These are primarily "designer first" GUI-based development systems with code-behind. A model Delphi and .Net languages in an altered Visual Studio emulated with varying degrees of success. VB's precursor, Alan Cooper's Tripod didn't even have any code-behind language at all. Then came the Ruby UI designer/generator, which was soon paired with the EB engine which brought Basic into the picture for the first time.

    Trying to work from the rear toward the front by focusing on writing yet another QuickBasic clone first is doomed. We already have FreeBASIC for that, and it is still stuck in the dark world over a decade later. If you want to create another one... well, more power to you.

    VSCode is basically a fancy text editor that can call "make" and "debug" macros. It's great for that but completely lacks the plumbing to become a replacement for VB6's IDE.


    I just can't see how VB programmers are going to have much to add to these unrelated efforts. If they decide to leave VB there are plenty of other choices available already.

  14. #14
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    38,496

    Re: VB6 QUESTION: LSP server implementation for VB6

    Quote Originally Posted by Niya View Post
    All I'm saying is that at a certain point, you have to be realistic.
    I don't agree with this. Ultimately, what you are getting to is, "at some point you have to follow the herd." Whether or not that is even true is debatable, but whether or not it is good advice is a much more difficult debate.

    If you work for somebody, you often don't get to choose which language you will be using, or the tools you will be using. So, we can rule out anybody in that situation: It's not up to them, so they either change where they work or they live with what they are required to use.

    For the rest, there are the self employed and the hobbyists. There's a theoretical category that is between those two, which I fall into much of the time, but I don't think it's a real category. I suppose the category would be those who work for somebody else, but have few, or no, requirements as to what tools they use. Those folks are essentially the same as hobbyists, or the self employed, as they follow the same rules.

    For people in those categories, if they always just follow the herd, they are generally safe (as long as the herd isn't running off a cliff), but they may miss out on things. Also, in this field, the direction is always changing. Any language WILL be abandoned if everybody stops using it. Any language will NOT be abandoned if everybody keeps using it.

    There is no facing reality outside of that. It's just guessing at which way the tide will run. You might be right, you might be wrong, and even if you are right, you might miss out on something good. Also, if EVERYBODY went with the tide, the world would become homogenized. There would be no Linux, no TwinBasic, no VB6, no C++, and so on. At one point, all were swimming against the tide. That's reality. Face reality: The future can only be guessed at. The collective guesses will have a big hand in shaping it.
    My usual boring signature: Nothing

  15. #15
    PowerPoster wqweto's Avatar
    Join Date
    May 2011
    Location
    Sofia, Bulgaria
    Posts
    4,762

    Re: VB6 QUESTION: LSP server implementation for VB6

    Quote Originally Posted by WaynePhillipsEA View Post
    Just FYI, twinBASIC has always used a brand new parser, written from scratch in C++. Nothing is used from RubberDuck, and we don't use ANTLR. Naturally, it does have its own LSP server too, which it exposes to VS Code.
    Thanks for the info!

    TwinBasic effort never stops amazing me :-))

    cheers,
    </wqw>

  16. #16
    Banned
    Join Date
    Nov 2011
    Posts
    8,510

    Re: VB6 QUESTION: LSP server implementation for VB6

    Quote Originally Posted by Shaggy Hiker View Post
    I don't agree with this. Ultimately, what you are getting to is, "at some point you have to follow the herd." Whether or not that is even true is debatable, but whether or not it is good advice is a much more difficult debate.

    If you work for somebody, you often don't get to choose which language you will be using, or the tools you will be using. So, we can rule out anybody in that situation: It's not up to them, so they either change where they work or they live with what they are required to use.

    For the rest, there are the self employed and the hobbyists. There's a theoretical category that is between those two, which I fall into much of the time, but I don't think it's a real category. I suppose the category would be those who work for somebody else, but have few, or no, requirements as to what tools they use. Those folks are essentially the same as hobbyists, or the self employed, as they follow the same rules.

    For people in those categories, if they always just follow the herd, they are generally safe (as long as the herd isn't running off a cliff), but they may miss out on things. Also, in this field, the direction is always changing. Any language WILL be abandoned if everybody stops using it. Any language will NOT be abandoned if everybody keeps using it.

    There is no facing reality outside of that. It's just guessing at which way the tide will run. You might be right, you might be wrong, and even if you are right, you might miss out on something good. Also, if EVERYBODY went with the tide, the world would become homogenized. There would be no Linux, no TwinBasic, no VB6, no C++, and so on. At one point, all were swimming against the tide. That's reality. Face reality: The future can only be guessed at. The collective guesses will have a big hand in shaping it.
    If someone wants to use VB6 or has to use it, I say go ahead and use it. But it hasn't been updated in 20+ years and only like 12 people still use it. There is really no point in wondering why it doesn't have the same modern amenities modern languages and frameworks enjoy. It should be obvious why. Enjoy it for what it is and if you see some things in other languages that you like, then use that language. VB6 is VB6 and it's not going to change. It's not VB.Net. It's not Python. It's not JavaScript. Microsoft abandoned it decades ago and so did the rest of the world. What remains is what you have to work with.

    This idea of trying to fit a square peg in a round hole is unwise and a huge waste of time unless the effort is a hobby you enjoy like the efforts of Olaf or Krool with their respective libraries.
    Last edited by Niya; Nov 4th, 2021 at 10:57 AM.

  17. #17
    PowerPoster
    Join Date
    Feb 2006
    Posts
    24,402

    Re: VB6 QUESTION: LSP server implementation for VB6

    Quote Originally Posted by Niya View Post
    only like 12 people still use it.
    That must be why it ranks as #11 even on the highly biased Tiobe Index, hmm?

    I actually think most of that is Office VBA, but Tiobe is a can of worms at best anyway.

  18. #18
    Banned
    Join Date
    Nov 2011
    Posts
    8,510

    Re: VB6 QUESTION: LSP server implementation for VB6

    TIOBE is regarded as unreliable at best and garbage at worst. Use PYPL instead. The Visual Basic family ranks 18th on that list.

    Quote Originally Posted by dilettante View Post
    That must be why it ranks as #11 even on the highly biased Tiobe Index, hmm?
    As far as I'm concerned, only the top 5 matter for any serious discussion. Maybe even top 10 if you want to let loose a little. We here all love Visual Basic(VB6, VB.Net, VBA etc) for various reasons but the truth is, the world doesn't care about Visual Basic. We should just be thankful for whatever little scraps thrown our way and when we are ready to get serious, we should leave it and go live in the top 5.

  19. #19
    Banned
    Join Date
    Nov 2011
    Posts
    8,510

    Re: VB6 QUESTION: LSP server implementation for VB6

    BTW Wayne if you're still here, does the TwinBASIC compiler support modern x86 instruction sets like AVX, or even older SSE instruction sets?

  20. #20
    Member
    Join Date
    Nov 2018
    Posts
    56

    Re: VB6 QUESTION: LSP server implementation for VB6

    Bringing this back to the question asked in the OP...

    LSP can't be retrofitted to the VB6 compiler. LSP is just just a protocol, a way to expose language comprehension in a standardised format to front-ends like VSCode. The VB6 compiler makes none of its internal data structures available, so there's nothing to expose.

    So there are a couple of options. You can ignore the VB compiler entirely, and write your own system to lex, parse, and comprehend the VB source (which is exactly what Rubberduck does). Potentially you can then expose this parallel system as an LSP server, and indeed there's an issue to discuss that: https://github.com/rubberduck-vba/Ru...ck/issues/5176

    Or you can reimplement your own compiler for VB (/compatible) source code, and expose an LSP server. TwinBASIC has done that.

  21. #21
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    38,496

    Re: VB6 QUESTION: LSP server implementation for VB6

    Quote Originally Posted by dilettante View Post
    That must be why it ranks as #11 even on the highly biased Tiobe Index, hmm?

    I actually think most of that is Office VBA, but Tiobe is a can of worms at best anyway.
    VB6 is NOT found on the Tiobe Index. What IS found is Visual Basic, but if you look at the methodology that Tiobe publishes, you will see that, while it includes VB6, it includes three other things, as well, one of which is VBA, and the other two end up being a mix of VB6 and VB.NET. They decided to assign 50% of those two to the Visual Basic category and 50% to VB.NET, but if you repeat their steps, it should have been 95% to VB.NET and 5% to this category, and that 5% is still not VB6. You will also see that VBA makes up half the ranking.

    If you used their methodology and split out VB6, it would be down with the also ran languages.

    And for anybody who is curious: Yes, it annoys the heck out of me that Tiobe publishes their methodology such that any person could repeat their work, and folks STILL think that Visual Basic category means VB6. It's been YEARS folks.
    My usual boring signature: Nothing

  22. #22
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    38,496

    Re: VB6 QUESTION: LSP server implementation for VB6

    It takes two to tango...and you two always find a dance partner. Just stop.
    My usual boring signature: Nothing

  23. #23
    PowerPoster
    Join Date
    Jun 2013
    Posts
    6,947

    Re: VB6 QUESTION: LSP server implementation for VB6

    ...removed (thanks to the Mod who was stepping in).

    Though have to say, that: "It takes two to tango..." -
    is one of the most idiotic idioms I know of.

    If somebody walks into your living-room and then defecates all over your table at dinner-time,
    would you like it, when the judge is letting him off - and tells *you*: "It takes two to tango"?

    Olaf
    Last edited by Schmidt; Nov 4th, 2021 at 05:15 PM.

  24. #24
    Banned
    Join Date
    Nov 2011
    Posts
    8,510

    Re: VB6 QUESTION: LSP server implementation for VB6

    Quote Originally Posted by Shaggy Hiker View Post
    VB6 is NOT found on the Tiobe Index. What IS found is Visual Basic, but if you look at the methodology that Tiobe publishes, you will see that, while it includes VB6, it includes three other things, as well, one of which is VBA, and the other two end up being a mix of VB6 and VB.NET. They decided to assign 50% of those two to the Visual Basic category and 50% to VB.NET, but if you repeat their steps, it should have been 95% to VB.NET and 5% to this category, and that 5% is still not VB6. You will also see that VBA makes up half the ranking.

    If you used their methodology and split out VB6, it would be down with the also ran languages.

    And for anybody who is curious: Yes, it annoys the heck out of me that Tiobe publishes their methodology such that any person could repeat their work, and folks STILL think that Visual Basic category means VB6. It's been YEARS folks.
    I don't know why people still use TIOBE. The general consensus is that it's garbage. PYPL is way more accurate.

  25. #25
    Banned
    Join Date
    Nov 2011
    Posts
    8,510

    Re: VB6 QUESTION: LSP server implementation for VB6

    Quote Originally Posted by Shaggy Hiker View Post
    It takes two to tango...and you two always find a dance partner. Just stop.
    Did you mean to say find each other as dance partners? That would make more sense

  26. #26
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    38,496

    Re: VB6 QUESTION: LSP server implementation for VB6

    Quote Originally Posted by Niya View Post
    I don't know why people still use TIOBE. The general consensus is that it's garbage. PYPL is way more accurate.
    Tiobe is a company that does a variety of things. That index is nothing more than one way of processing data, and an interesting way, at that. It's simple, repeatable, applicable to a variety of questions, and has intriguing built-in sources of bias. PYPL will also have built-in sources of bias.

    For those who are interested in methodology, Tiobe is interesting. For those interested in sampling systems and their biases, Tiobe is interesting and accessible. PYPL may be, as well, though I have no experience with that one, nor do I care that much.

    However, for those looking for TRUTH!!! Well, neither one has THAT. So, saying one is better than the other is kind of pointless.
    My usual boring signature: Nothing

  27. #27
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    38,496

    Re: VB6 QUESTION: LSP server implementation for VB6

    Sorry that my casually selected phrase caused such a kerfuffle.
    My usual boring signature: Nothing

  28. #28

    Thread Starter
    Frenzied Member
    Join Date
    Feb 2014
    Location
    Norfolk UK (inbred)
    Posts
    2,022

    Re: VB6 QUESTION: LSP server implementation for VB6

    You can toast a kerfuffle but you have to catch it first.

    Shall we get back on topic?
    PS. At this point in the conversation, Niya would normally appear.

    https://github.com/yereverluvinunclebert

    Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.

    By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.

  29. #29
    Member
    Join Date
    Nov 2018
    Posts
    56

    Re: VB6 QUESTION: LSP server implementation for VB6

    Quote Originally Posted by yereverluvinuncleber View Post
    Shall we get back on topic?
    Heh, I did try
    Last edited by mansellan; Nov 5th, 2021 at 02:55 PM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width