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
    With the "complete" code like above all the existing forms just work, today you can add About and Startup from Framework to a Core project and you will not get any errors. StartUp will not be called unless you do it yourself and there is no UI to set it. The one issue I have not worked around is there is "magic" loading your initial form to handle errors while loading your form. If you do something dumb and for example define a structure that is invalid but VS is happy with (don't ask) when you run your program nothing happens even under debug. The same program under Framework reports very clear errors while starting (which I how I found it).
    Cory Smith
    @DualBrain
    @paul1956 Good info; I'll have to dig into that more when I get a breather.
    Paul M Cohen
    @paul1956

    @DualBrain my C#ToVB application on GitHub is completely core 3.1 if you look at the source of the WinForms app you will find most of the workarounds are under MyProgram and in Form1 under

     #If Not netcoreapp5_0 Then

    Another issue is in Frameworks apps some of the stuff built-in to VB depends on Windows so it is easy to write a "portable" Class library that in fact depends on Windows. The split being done will make it explicate when you depend on WinForms.

    DuckHeadSoftware
    @DuckheadUK_twitter
    @KathleenDollard - Could you comment on the frequency of blogs in the official "Visual Basic Blog" from Microsoft. <Blog:Noun - a regularly updated website or web page> The last blog post was in 2018 (updated once in 2019) - It'd be great just to see activity, at the moment, it's abandoned. It doesn't have to be "breaking news", it's a blog, it could be "this is interesting", "did you know", or "how to guides". Thanks
    Cory Smith
    @DualBrain

    I agree that the lack of updates on the VB blog are disheartening; however, I also see that it is kind of a double-edged sword. Any comments regarding what is going on in the world of VB are met with a lot of hate and discontent; so, I somewhat understand why people are a bit reserved in offering up content. With that said, that kind of fuels the fire; basically, it's kind of a no-win situation. I know that sounds like I'm saying there isn't any hope; please don't take it that way. What I'm saying this that we need to rethink and come up with a new set of strategies. One of those is what we are using right now. We need to find a way to bring together those that are in favor of championing the merits of VB, those willing to speak publicly that they are all about VB and those willing to help in whatever capacity to ensure that things continue to march forward. In other words, those that aren't ashamed to be VB. We also need to come together as a community to find ways that we can enhance / augment what we do have instead of constantly beating the me too drum with regards about some other language(s). The blog you mention; unfortunately, is a target for much of this self-loathing... I've seen, repeatedly, the comments centered around either questioning the underlying meaning (which must be nefarious) or in the category of “this is great, but” where it becomes about something that isn’t related / doesn’t exist. With all of that out of the way, one thing we can definitely do here is come up with ideas that could potentially be on the blog, possibly write some of this content and submit it to be published. We just have to be prepared for the comments where we develop a bit of a thick-skin allowing us to let the negative wash on by.

    One (recent) area that I’d like to see right away on the blog is the inclusion of IntelliCode in VB (currently in the preview), how it works and how it helps us (from a VB dev point of view). I literally was working on a live-coding session in the preview and stumbled across it – didn’t even know anything about it until then. And, yes, I typically review the release notes… and, thinking that I missed something, I went to https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes-preview and there is no results for searching for “VB” or “basic”. This suggests that there are things happening, they just aren’t being discussed (see my previous comments). Maybe the blog isn’t the right place; however, I’d love to find a way that we could get some sort of stream of consciousness updates regarding were something being done benefits VB (even if it is in 160 characters or less – I’m not asking for much… a spark of a hint so we can investigate further).

    @KathleenDollard

    Paul M Cohen
    @paul1956
    @DualBrain @DuckheadUK_twitter I have repeatedly complained that the release note never mentioning VB and VB breaking changes, I have been able to get traction on the Breaking changes stuff and there are a lot of recent updates WRT VB. VB Core 3.1 WinForms Samples are being updated by community and accepted. There is now a VB editorConfig in Dotnet, DotNet/Samples and Roslyn(Roslyn needs VB line and some cleanup in general) but few know its there (actually all I had to do was move most of the stuff from C# to C#, VB and do a PR that was accepted. VB only really needed 1 line what was already there(except in Roslyn). There are a lot of new code fixes that apply to VB but only say C# in release note. There are 2 new features (UnconstrainedTypeParameterInConditional and CommentsAfterLineContinuation) in VB 16 that have never seen mentioned, the first I have no idea why it was done or even what it does. The one explanation theory I have is to release it all at once in a big splash when the designer is fully working, that is my glass 1/2 full theory.
    Paul M Cohen
    @paul1956
    In preview 3 the form designer looks very healthy. All my forms open, the area on the bottom for controls is there and you can click on them, so far that is all I have looked at.
    Cory Smith
    @DualBrain
    I think the only real answer at this point is that we will need to just share what we find here. ;-)
    Cory Smith
    @DualBrain
    OK... let's get this party started! Sound off with what "doesn't work" in .NET Core 3.1 (into .NET Core 5)? Let's please discuss this without complaining... what I'm looking to do is just identify a list of areas (technologies, techniques, api stacks, etc.), possible work arounds (what it takes to do (most) of it in #VisualBasic and, finally, discuss what we, as a community, might be able to do to address these shortfalls.
    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