sciBASIC icon indicating copy to clipboard operation
sciBASIC copied to clipboard

Can SciBasic be the VB.NET alternative?

Open VBAndCs opened this issue 3 years ago • 2 comments

Hi @xieguigang Congratulations on this great effort. I am wondering if SciBasic can step up to be the VB.NET alternative. This is not necessarily be a huge thing, since VB.NET is stable, but it has to add some new features once and a while to be compatible with C# and ,NET Core changes. I think you'll eventually need to evolve SciBasic to be up to date. For example, We may need VB.NET to create Records, init-Only properties and Ref structs (I myself don't make records in VB exactly the same as C#). Currently, VB.NET going to support consuming records, init-only properties, and interface self implemented methods (which you may need to support to). If you are considering this idea, some of VB.NET community can contribute to SciBasic, and pickup the most wanted features from VBlang repo, and discuss about how it can be done here. Of course SciBasic must grantee backward compatibility with VB.NET so, we can easily migrate our projects. If this is a problem, maybe you can create a new VB alternative for that. There is already Mercury now, and it is compatible to VB.NET and added more features to it, but it is not Roslyn-based, and it is a closed-source. You can have an advantage to be on top of Roslyn. If you are not willing to carry this responsibility, you may know some company or team excellent enough with Roslyn and VB compiler to carry on. Eventually someone will step up to fork VB.NET and fill MS vacuum. Thanks.

VBAndCs avatar May 17 '21 01:05 VBAndCs

Hi, @VBAndCs,

Thank you very much for your interest in sciBASIC project. At present, my main work in the sciBASIC project is address the development of libraries that related to the mathematical computing functions. I am more positioned the sciBASIC project as a scientific computing software development framework, rather than a VB language evolutionary branch. Because I am very unfamiliar with working on VB compiler development by using Roslyn and VisualStudio plugin development. If you would love to be able to develop a new branch of the VB language through the sciBASIC project, I would be happy to help with your new language development work.

My main concern for develop a new branch of the VB language is:

  • the compatibility of the new VB language with the future new versions .NET core environment,
  • compatibility with libraries in other languages on the .NET Framework,
  • running on Linux environment,
  • especially the compatibility issues for project development in future versions of VisualStudio using the new language: Because the new language's code highlights in VisualStudio, code intelligence, and project compilers require a lot of work to write and maintain the related plugin for VisualStudio and VSCode.

xieguigang avatar May 23 '21 15:05 xieguigang

@xieguigang Thanks for your response. Forking VB.NET is a necessary step. but I am waiting to see what Anthony D. Green is working on to combine the efforts. Let's focus now on your issues with intellisense. You can crate a language server for SciBasic, and it will be supported in many editors once you create the language client for them. This will make it easy for you to support new language features in many IDs. You can read about this here: https://microsoft.github.io/language-server-protocol/

VBAndCs avatar May 23 '21 21:05 VBAndCs