xieguigang / sciBASIC

sciBASIC# is a kind of dialect language which is derive from the native VB.NET language, and written for the data scientist.
http://sciBASIC.NET/
GNU General Public License v3.0
74 stars 35 forks source link

Can SciBasic be the VB.NET alternative? #247

Open VBAndCs opened 3 years ago

VBAndCs commented 3 years ago

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.

xieguigang commented 3 years ago

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:

VBAndCs commented 3 years ago

@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/