by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Paul M Cohen
    @paul1956
    As of the last time I checked there is no UI for setting Title (it is now stored in Project File) and StartupForm (code to support the form is in Core 5). The settings and resources have an unclear path from Framework -> Core, the files have reference for Framework in them. The current core UI in Visual Studio doesn't know how to edit them without errors but if you edit outside of VS, things seem to work. There are some changes around where defaults are stored (.config vs. .resx file) I have not seen any support for SingleInstance being worked on (to me this has the biggest impact to existing VB desktop applications. The designer keeps getting better, I assume it will eventually fully work.
    Paul M Cohen
    @paul1956
    I just posted a Prototype of Checked and Unchecked expressions and statements for VB based on current Roslyn. I would love someone to review it. It is on my GitHub page under a branch called UncheckedExpression even though there is more in there.
    Paul M Cohen
    @paul1956
    image.png
    image.png
    Above is running in a VS Experimental instance, Now we need to get Roslyn to accept a PR.
    Jeff Bowman
    @InteXX
    I'm having a problem getting the Watch and Immediate windows to recognize the Microsoft.VisualBasic namespace. More info here. Is anyone else experiencing this?
    Cory Smith
    @DualBrain
    @InteXX When did reporting issues become a popularity contest? I could understand if you got responses that stated something along the line of "unable to repro" where they ask for more details, a sample, something. Instead, the response is "...this issue didn't ahve much product team activity and a very small amount of new votes or comments. Based on this, its severity, and affected area, it's my experience that this issue is very likely to be fixed" or, given that the product team activity appears to be non-existent and the report clearly doesn't state anything about severity, little lone any quantitatively measure of affected area... let me translate... "we aren't going to do anything about this unless you can campaign for more votes and comments; in other words, prove that this is an issue that is severe enough and affects a large population -- otherwise, don't bother reporting any further issues". I get the desire to have issues that can be repro'd so that they can get resolved... but in what way does reporting an issue from a user ever truly state the severity and/or affected area... and, frankly, if it was working and now doesn't... shouldn't that be enough? With that said, you should have problably provided a sample project/solution- further said, they should have asked. But no... because there was no internal team activity and you didn't get enough visibility into your report... it most likely won't happen. Seriously... this is literally the definitation (encouragement) for the squeaky wheel gets the grease; in which, in my experience, means the customers you actually want to have get ignored.
    Jeff Bowman
    @InteXX
    @DualBrain ~ Good summation. Right on target.
    Adam Speight
    @AdamSpeight2008
    @paul1956 From what I have seen it look ok. On code style personally i'd extract the parsing of checked / unchecked into its own method.
    Paul M Cohen
    @paul1956
    @AdamSpeight2008 Thanks, making major changes to support Checked Statement will look at that change before I commit.
    Cory Smith
    @DualBrain
    I have to ask... what is everyone's general take-way after reading https://devblogs.microsoft.com/vbteam/visual-basic-in-net-core-3-0/? Positive, neutral or negative? (I'm asking because I stumbled into a twitter conversation where this post was pointed to as a reason for their particular point of view and resulting action(s)... so I'm curious what ya'll think.) I'll start off with my reaction is somewhere between neutral and positive... I'd like to see more going on, things moving more quickly and better commitment to supporting techology stacks; however, I also understand that it's not a simple problem to resolve (in a lot of cases) and a lot of the work being done "on the other sides" (note the s there) is being done my those communities - not just Microsoft. With that said, my ultimate takeaway is that there is interest in VB on .NET Core... but we have to basically "wait in line". (Also, I have resisted reading the comments until after I hear from ya'll.)
    Paul M Cohen
    @paul1956
    Doesn’t say much and it’s 6 months old. A better reference on activity is the WinForms repo. My issue around community doing anything VB goes into a black hole.
    rskar-git
    @rskar-git
    @DualBrain - I guess I have a big 4 part take-away, so here goes... Part I. The October 2019 update re: .NET Core 3 indicates the obvious: .NET 5 is the future; .NET 4.x and .NET Framework shall soon go zombie. Which means anyone generally satisfied with VB.NET on .NET 4.x will be fine for a while. In any case, I think Microsoft wants to stay on the good side of enterprise customers with VB.NET code-bases, and yet also encourage them to migrate to .NET 5 ASAP, so I believe they will flesh-out microsoft.visualbasic.dll as much as is reasonably doable (constrained as they are to keep things cross-platform). Per https://devblogs.microsoft.com/dotnet/update-on-net-core-3-0-and-net-framework-4-8/: "We will continue to make it easier to move applications to .NET Core ... we will keep porting APIs and features to help close the gap and make migration easier for those who chose to do so."
    Part II. The "Big If", after the release of .NET 5, is on whether synergy between the VB community and Microsoft/.NET Foundation might improve substantially. The "canaries-in-the-coal-mine" test of that may be when folks like @paul1956 or @AdamSpeight2008 report a more productive experience as contributors. However, VB doesn't have the "dogfooding" factor which C# does. VB looks to be more in an F# mode - which is to say that the very modest level of Microsoft focus is the new normal. We need to understand that the programming language business isn't what it used to be - the situation is now many customers that hardly pay for VB.NET or C# or F#. If this were the restaurant business, then languages would be like the ketchup, mustard, sugar, straws, and paper napkins - it's all just part of the service.
    Part III. But let's reflect: VB6 was something that had to be bought, yet VB.NET can be used commercially for free in organizations of up to five developers. Language design hardly changed from VB1 thru VB6 (and VBA too!) - it was mostly set in stone circa 1991. VB.NET language design has had an awesome path of evolution, especially after it could be had for free (as in free beer!) since sometime 2005 (remember Visual Studio Express?). So, yeah, things may have quickly slowed, and it took a few years to go from VB15 to VB16, but look at what you can do for free today (VB16) versus what you could do for a price way-back-when (VB6). And with .NET Core, a cross-platform system, your favorite language now has greater reach.
    Part IV. So the way forward is to get used to this new normal. We may simply have to endure the learning-curve of becoming contributors, figuring out the inner workings of the .NET Foundation, etc. I think the issue here is that the typical VB programmer wasn't doing DevOps on Linux-based server forests and open source software on git repositories, which I guess amounts to a cultural factor. We need to get good with this, and that this is the "price" for a "free" language. Finis :)
    Paul M Cohen
    @paul1956
    I am trying to add Checked and Unchecked (expressions based on work Adam started) and Statements, the issue with Vb and maybe C# is the lack of documentation on what needs to be done. Adding the new syntax, was "easy" based on my experience added _ ' comments, updating the binder had an excellent article, that took me a while to find, on the "Matt" operator Matt(x) = x, adding operations I was able to use NameOf as a sample and code generation just worked because VB already supported unchecked math as a compile switch (another thing that was very hard to learn about). All of that is language stuff and I now have a compiler that fully supports Dim x as Byte = Unchecked(CByte(255) + CByte(1)) without a compiler or run-time error but that isn't 1/2 the solution. It also turns out to be the easy part. Now I need to support new Classifications, Workspace.GetInfo and who knows what else for Visual Studio to work and there is little to copy from. VB will need on internal champion to help review and assist with new features and get past the LDM.
    Mohammad Hamdy Ghanem
    @VBAndCs
    Does anyone hear anything about VB team recently? I am worried about them :D. Is there any VB.NET team left?
    Paul M Cohen
    @paul1956
    After a long silence Kathleen Dollard did respond to VB PR last week. Also I did get a trivial VB PR approved in current Roslyn Master. There are new VB CodeFixes in every Preview that are not language independent (they work with both VB and C# but have at least partly separate implementations) and I am seeing bug fixes in Master, so someone is doing something but no release notes. On the downside there has not been anything changed in WinForms, specific to VB, for 3 months with nothing significant for 5 months and SingleInstance is still not supported. On the very positive side CoverLet now fully supports VB. As for the state of the team, I have no idea, but I never did know who was on the team.
    Mohammad Hamdy Ghanem
    @VBAndCs
    Thanks for the info
    Cory Smith
    @DualBrain
    @paul1956 Do you have the following working: Dim x = Unchecked(CByte(255) + CByte(1)); where x will determine to be a Byte (given the correct options are enabled)?
    Paul M Cohen
    @paul1956
    Yes
    Expressions work well. Statements work for compiler but crash VS. still a WIP.
    Mohammad Hamdy Ghanem
    @VBAndCs
    @VBAndCs
    They finally declared they will kill VB.NET:
    https://devblogs.microsoft.com/vbteam/visual-basic-support-planned-for-net-5-0/
    Going forward, we do not plan to evolve Visual Basic as a language.
    Paul M Cohen
    @paul1956
    @VBAndCs that is not the line that bothers me, it is lack of support for new Core API's that concerns me.
    Mohammad Hamdy Ghanem
    @VBAndCs
    They give the same meaning: VB.NET is frozen to death. It was obvious since 2017, and this is why I kept shouting in VB.NET repo: MS is killing VB! It would be grate if they did our XML literals proposals and the generic script interpolated string. If we can write other languages fragments in interpolated strings with a intillsense and compiler support, we will no more improvements to VB.NET. We can just embed some C# chunks in VB.NET to borrow the new features directly inline.
    I feel sad.
    Paul M Cohen
    @paul1956
    It is already possible to compile a C# program (in VB or C#) and get the result, it is used in tests, but it is not fast I am not sure what you are proposing with generic script interpolated string and why it needs to be in the language. Before I started with UncheckedExpression I created an Unchecked Library based on BigInt, it worked but it required odd looking code and wrapping every sub expression that would cause Overflow vs just wrapping expression with Unchecked(<Expression>) but if I can't call libraries in Core 6 because they use Ref Return I am dead.
    Mohammad Hamdy Ghanem
    @VBAndCs
    Another idea: dotnet/vblang#498
    Paul M Cohen
    @paul1956
    @VBAndCs because what I am learning is the parser is the easiest part, just parsing additional stuff does not generate code, create variables, help intellisence guide your input, make auto completion work... Today you can pass source as a string to a function and do anything, if you are recommending your parser is for the contends of the string that could make sense.
    Mohammad Hamdy Ghanem
    @VBAndCs
    I suggested to add Embedded unit tests. If you like the idea please vote for it: https://developercommunity.visualstudio.com/idea/956194/embedded-unit-tests.html
    Paul M Cohen
    @paul1956
    I just finished Checked/UnChecked expressions for VB the problem I was having was in Roslyn and when it was fixed and I merger Visual Studio now works correctly with my new expression if anyone want to try it https://github.com/paul1956/roslyn/tree/UncheckedExpression
    Mohammad Hamdy Ghanem
    @VBAndCs
    VB.NET programmers silence made MS think they don't exist. Please post about VB.NET on Facebook and Twitter on #I_love_VB_NET
    Mohammad Hamdy Ghanem
    @VBAndCs
    A hot discussion here regarding a logical comparison different behavior between C# and VB, which I reported as a VB bug but some VBers say otherwise. I hope I hear the decision prospective form C#, VB and Roslyn team.
    dotnet/vblang#507
    Mohammad Hamdy Ghanem
    @VBAndCs
    A full ASP .NET Core 3.1 app in VB .NET
    dotnet/vblang#510
    Jeff Bowman
    @InteXX
    @VBAndCs How's your VB.NET Razor implementation going? Are you seeing any adoption?
    Cory Smith
    @DualBrain
    @InteXX I suspect now that there is a published sample that might spur more interest.
    Mohammad Hamdy Ghanem
    @VBAndCs
    @InteXX I neglected the whole thing since Anthony Green evolved it to includ Xamarin and WPF. I found some talking about Vazor in the web, some listing Vazor Nuget amoung top ten nugets should VB developer have, but the sample written for Core 3.0 preview broke in later releases, so I imagine this drove away many VB developers. When they announced freezing VB, I updated the project, and published the complete VB version of eShopOnWeb for core 3.1. I hope I can get developers attention back, and wish .NET magazine speak about it. The next step is to write some VS extension to provide HTML5 intellisense in XML literals, which make it a productive and easy to use tool. I wish someone help in that, because I am not an expert in this area.
    Paul M Cohen
    @paul1956
    @VBAndCs take a look at Regex Intellisense in Roslyn as an example
    Cory Smith
    @DualBrain
    @paul1956 @VBAndCs Awesome idea!
    Jeff Bowman
    @InteXX
    @DualBrain I'm anxious to get some time to try it out
    @VBAndCs What great work you're doing. Keep it up if you can.
    Cory Smith
    @DualBrain
    I've been thinking about the recent MS announcement... and I'm not nearly as upset as I was orginally once I realized (and reflected) on all of the announcements over the past 15 years. I suspect that things will (and do) change with regards to the "current plan"... so I suspect the reality is that this is the plan between now and .NET 5.0. I don't have any sort of inside track... but, ultimately, I suspect this is most likely the case. Given the surface area and the pressure to "get things working" from the point of view of the current technologies that #VisualBasic devs are currently used to (minus, of course, WebForms) the plan seems to make sense (again, between now and .NET 5.0). Don't get me wrong, I'm absolutely interested in Blazor (as an example)... but, with that said, I'm definately not interested in another Silverlight, Windows Phone, Project Acropolis, etc. etc. In other words, I am kind of tired of "the next big thing"; maybe it would be a good idea to let the dust settle on some of this stuff. The landscape is changing all the time... some of us (speaking particularly, of course, about myself) desire some "stability" in the technology that we target so I don't blow the budget on "here we go... again". With that out of the way... I still don't understand why (as it's not a language thing) we still aren't included as part of Try.NET???
    While looking whether or not the Try.NET situation has changed... I stumbled across https://docs.microsoft.com/en-us/dotnet/ Scroll down to the programming languages... FINALLY... a description that doesn't sound like CRAP. "An approachable language with readable syntax" NICE! (The descriptions in the past didn't really impress me - or represent what I believe the language is. I also like the "A modern, object-oriented type-safe member of the C family" description for C#... WHAT A MOUTHFUL (and, for the record, #VisualBasic does all those things too...)
    Cory Smith
    @DualBrain
    @VBAndCs Out of curiosity... any idea what effort would be involved in doing the same sample treatment you did eShopOnWeb for https://github.com/madskristensen/Miniblog.Core ? Would you be able to put together a basic outline as to what would be necessary (beyond converting C# -> #VisualBasic)?
    Cory Smith
    @DualBrain
    How many of you utilize tuples as a return type on functions? How often and, more importantly, under what scenarioes do you find it beneficial to do so?
    Paul M Cohen
    @paul1956
    Often, usually when I want to return an object with a status without extending the Object or pairs of objects. Just a few examples
    Dim Braces As (LeftBrace As SyntaxToken, RightBrace As SyntaxToken) = node.Body.GetBraces
    
    Dim CompileResult As (Success As Boolean, EmitResult As EmitResult) = CompileVisualBasicString(TextToCompile, DiagnosticSeverity.Error, _resultOfConversion)
    
    If CompileResult.Success AndAlso CompileResult.EmitResult.Success Then
    
    ' In both cases the same Type is returned but I need to know if an error was in the original typeInfo.
    If (typeInfo.Type.IsErrorType) Then
        Return (PredefinedTypeObject, _Error:=True)
    ElseIf SymbolEqualityComparer.Default.Equals(typeInfo.Type, Model.Compilation.ObjectType) Then
        Return (PredefinedTypeObject, _Error:=False)
    End If
    Paul M Cohen
    @paul1956
    One other example that is different, Index is not unique or consecutive and StatementHandlingOption is an Enum.
    For Each StatementTuple As (Index As Integer, Statement As StatementSyntax, StatementHandling As StatementHandlingOption) In s_statementSupportTupleList
    Mohammad Hamdy Ghanem
    @VBAndCs

    @VBAndCs take a look at Regex Intellisense in Roslyn as an example

    would be helpful. Please give me the link. Thanks

    Mohammad Hamdy Ghanem
    @VBAndCs
    @DualBrain Don't relay on false hops. They made it clear that there will be no change in VB after .NET 5. Any additions to .net core that needs changes in VB will not work in VB! This is a kill statement.