by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Aaron Glover
    @aarondglover
    I thought Kathleen ruled it out. Said it wasn't going to happen.
    What IPC methods are available in Core? Named Pipes?
    Paul M Cohen
    @paul1956
    Named pipes and memory mapped files. In the repo updated Feb 20th it listed as core 5.0 milestone. It looks like < 100 lines of code in reference source and when I dropped it in as a trial there were only a few of unsupported functions most of which are in Repo except the actual remoting which has a workaround and 1 windows API call where source to call it is provided in C# but easily ports to VB. If someone want to partner that understands remoting it could be done in a day. Then it would need to a UI in Visual Studio as does many VB features that are already in WinForms but can’t be enabled.
    Mohammad Hamdy Ghanem
    @VBAndCs
    For willing contributors:
    I added a VbXmlCompletionProvider to this repo
    You can add these two files to your Roslyn fork, in the folder Completion/CompletionProviders in the project Microsoft.CodeAnalysis.VisualBasic.Features
    It will provide HTML5 auto completion in VB.NET XML Literals, but only inside the <vbxml></vbxml> tag.
    I did this for two reasons:
    1. not to mess with other xml literals that doesn't deal with html.
    2. to support Vazor.
      I will make a VSIX for this to allow install it as a VS extension (in progress now), but my aim from publishing this, is to allow contributors to build upon to provide a generic XML literals completion provider, based on the xsd that user supplies in the context as this missing feature was described in the docs
    Mohammad Hamdy Ghanem
    @VBAndCs

    I created the vbxml auto completion VSIX. It provides auto completion for HTML5 in VB.NET, but it is allowed only inside vbxml tags:

    <vbxml>
       <!—auto completion for HTML 5 is available here -->
    </vbxml>

    give it a try:
    https://github.com/VBAndCs/Vazor/blob/master/vbxmlCompletionProviderVSIX.zip?raw=true
    Feedback is appreciated:
    https://github.com/VBAndCs/Vazor/issues

    Aaron Glover
    @aarondglover
    Awesome work... I'll give it a go and let you know
    Mohammad Hamdy Ghanem
    @VBAndCs
    @aarondglover Thanks. Enjoy :)
    Hisham Bin Ateya
    @hishamco
    Hi Mohammed
    Mohammad Hamdy Ghanem
    @VBAndCs
    @hishamco Hi Hisham.
    Filippo Bottega
    @filippobottega
    Hi Mohammed, Vazor it's a really interesting project. I'm a VB programmer, VB is my first and favorite programming language. But after years of C# evolution and after a lot of C# to VB conversion tasks I have lost the faith and I have moved to C#. Moreover I'm moving my projects to .NET Core and .NET Standard with C#. I'm really tired to refresh my knowledge of 2 languages to produce the same output. It's a waste of time for me. Anyway I'll remember VB for my life.
    Mohammad Hamdy Ghanem
    @VBAndCs
    You can keep VB.NET code in .NET standard libraries, and use it from C#. In fact WinForms and WPF VB projects will run on .NET 5, so you don't want to convert to C#.
    Hisham Bin Ateya
    @hishamco
    Exactly all should work together
    Filippo Bottega
    @filippobottega
    Sure! You're right. For a mid-term solution it's possibile to mix VB projects and C# projects. For a long-term solution, I prefer to convert all to C#. The thing that convinced me to make the big step is how C# and VB treat the linq queries. There are some subtle differences that prevent online conversion tools to transparently translate linq queries from VB to C# and viceversa. The time I needed to convert C# snippets found on internet into VB grew longer and longer. At the end I have realized that C# is the .NET Esperanto. It's only my opinion but there are two community of programmers that make same things and spent a lot of time to translate between C# and VB what they are thinking. We are one people, the .NET people, and we waste our time because we speak 2 different languages to make the same thinks. And nobody admit that, everyone doesn't accept to change his programming language. But Microsoft has made the choice to focus the effort to improve C# better than VB and I, painfully, have accepted that.
    Hisham Bin Ateya
    @hishamco
    This broke the language parity that Microsoft talked about long time ago
    Filippo Bottega
    @filippobottega
    Exactly! It's the Darwinian selection. Tremendous to feel like the losing species...
    And I finally swallowed the bitter bite: { } ;
    Mohammad Hamdy Ghanem
    @VBAndCs
    So, we are after all the machine code people and should have only one operating system, one web browser and one programming language so we have one big happy planet with no compatibility issues , no need for any code conversion, and the best sells ever :)
    Filippo Bottega
    @filippobottega
    Ash nazg durbatulûk, ash nazg gimbatul,
    ash nazg thrakatulûk agh burzum-ishi krimpatul.
    :D
    Aaron Glover
    @aarondglover
    I'm hearing you Filippo... I'm also feeling battle weary and you're right about Linq expression conversions being the bane of conversion
    @filippobottega
    Mohammad Hamdy Ghanem
    @VBAndCs
    Mohammad Hamdy Ghanem
    @VBAndCs
    Cory Smith
    @DualBrain
    (RANT) Abandoning #VisualBasic for something else is EXACTLY the reason why more people are jumping ship... think about it... what effort is there to support it if you just wait them out so they give up and you don't have to. This is exactly what certain people want to have happen... why... because building software shouldn't be easy. This isn't a #VisualBasic thing. This isn't a .NET thing. This is a reality that has existed for, well, over 50 years. And #VisualBasic isn't the only language that suffers (or suffered) from this... look at COBOL or Delphi. Everyone should be able to build software. Additionally, all languages shouldn't look, basically, the same. Since when did C become the right way to write code? In the end, it's up to us as a community to build a stronger community so that we can have a voice. We can no longer "vote with our wallet" (as the product is pretty much free at this point)... so we have to find a way to *vote with our voice, vote with our action". This means we have to invest time and effort instead of simply handing over our hard earned cash to the product vendor. What does that actually all mean in the end... that is what we need to figure out. The answer to this certainly isn't... "oh well, guess I'll give up, join the other crowd and be miserable using something that isn't even my second choice"... especially if it is possible that we can address (as a community) the reasons why one might feel the need to have to make a choice.
    Cory Smith
    @DualBrain
    Now... what is one thing that we could all do to "force" action? I'll give you one simple target space... AZURE. What, if anything, is preventing us from fully leveraging AZURE as a #VisualBasic developer? (I can't answer this as the only thing I use in AZURE is AzureSQL which has nothing to do with language choice.) So what is the "killer app" that prevents us, as #VisualBasic devs to do "stuff" in AZURE? Does anyone know? Once this is known... how do we convince a ton of #VisualBasic devs that they NEED this and we, as a community, start shouting to Microsoft saying... "hey, we'd love to spend our money on AZURE, but... ummm, you apparently don't want our money because __ doesn't work with #VisualBasic... and NO!, we don't want to have to build that in __". I can bet money that if something like this were to happen, you'd see a change in the tide. Why? Because AZURE is WAY!!!! MORE!!!! IMPORTANT!!! than Visual Studio, F#, C#, #VisualBasic and even Windows to the bottom line of Microsoft and anything that can clearly impact that bottom line is going to be addressed.
    (DISCLAIMER: I do own a very, very, very small number of shares in Microsoft and I can clearly see that, as a shareholder, they are clearly focused on Azure. Because I have such an insignificant number of shares... my voice doesn't mean jack diddly at any shareholder meeting. ;-) )
    Filippo Bottega
    @filippobottega
    Sorry but my approach is more pragmatic: I don't care about a specific language. I have developed using C, C++, C#, VBA, VB.NET, ABAP, SQL (Sql Server and Oracle), MATLAB and so on. Recently I have tried to study GO. What I need is the best path to solve what customers ask me to solve. And the best path is a mix of language simplicity, tools, frameworks, tutorials, documentation, samples, and communities. Sometimes I prefer to suggest a product already done instead of develop a new one. For my work using VB or C# is equivalent because other factors of the mix are more o less the same. But there are a lot of examples written in C# instead VB and I need to avoid to loss time to translate from C# to VB. For the moment I don't see any killer application or use case where VB could be better than C#.
    Filippo Bottega
    @filippobottega
    More over VB is case insensitive and some times I have had interoperativity issues with C# libraries because C# is case sensitive.
    Aaron Glover
    @aarondglover
    @DualBrain I agree with you on some levels... But product teams actively exclude visual basic
    Azure Functions is a prime example. No native support although I know some have managed to achieve it despite it not being officially supported...
    I use azure all the time and most recently with AKS which doesn't care what language I use ... I wrote ASP.NET core web API microservices, bundle them into a container... I am now using DAPR too which is a fantastic language agnostic platform open source from Microsoft.
    Aaron Glover
    @aarondglover
    But as to killer app.... Not sure there is anything you can't really do in Azure in visual basic... It's just made sooo much damn easier because project templates, documentation and samples are for C# only (occasionally F#) and rarely for VB
    I think getting new templates into visual studio out of the box is the biggest thing in making VB devs understand these project types and azure platforms services are available to them
    The biggest killer for VB though was made years ago when it was excluded from .NET Core MVC/RAZOR etc
    Aaron Glover
    @aarondglover
    I watched VB.net support languish on the asp.net core roadmap for years only for it to be unceremoniously dumped and told that most VB devs dont write web apps!!! 😩
    rskar-git
    @rskar-git
    @VBAndCs Thumbs-up for Vazor and getting on VS Magazine!
    rskar-git
    @rskar-git
    @DualBrain Re: #VisualBasic, I think there's just one thing left for us to do: “Don’t just stand there, do something!” Like @tverweij and @VBAndCs. If this "Walter Mitty" type (i.e. me) may suggest, we need to rally around a specific Github fork that makes real all that we desire of VB on .NET (and Azure and MVC and Internet-Of-Things, etc.). But for that to work, then there needs to be a few somebodies who can, and will, regularly spare maybe 20 hrs per week for several years. If it's going to be volunteers, then the odds for success are linked to their having real needs to address; this would provide natural motivation for timeliness of enhancements and bug fixes. Once they reach a point of having something stable, useful, and interesting, can they then easily attract other volunteers who can help out with documentation, wikis, and otherwise provide feedback, alpha testing, and beta testing.
    Mohammad Hamdy Ghanem
    @VBAndCs
    @rskar-git Thanks.
    I agree with your practical approach. And I add: we need to convince regular VB.NET developers to publish VB samples and small apps and libraries on GitHub. VB is nearly vanished from Stackoverflow and rarely exist on Github. MS is convinsed that All vb developers can use C# to ask, read sources, and write new apps, so what is the need for VB?
    Mohammad Hamdy Ghanem
    @VBAndCs
    VB developers seem to be either lazy or selfish. Or all they need is already there in C# so, there is nothing to add! This ended up killing VB
    Mohammad Hamdy Ghanem
    @VBAndCs
    I am trying now to write Blazor app in VB.NET. I found out the Mono translates CIL to webasm, so VB.NET can run on broswer if we just created the assembly that mono expects. My big issue now is to use a virtual file provider with Blazor. Another issue that may appear, is that Blazor auto generates C# classes based on the .razor files. I added those in the VB project as a Vazor code behind class, but I am not sure this will until I provide the .razor file virtually to Blazor. If the trial succeeded and VB worked on the browser, we can start creating web controls like main and context menus in VB.NET to make writing asp.net apps much like wpf and silver light. If the trial failed, I will look at the Blazor source code to find a suitable point to plug VB in.
    Cory Smith
    @DualBrain

    If someone were to make a sample that could provide me the following:

    • a drawing surface, or possibly an "image" surface where I could create a image/bitmap in memory and update the display surface - using system.drawing.
    • a way to capture keyboard/mouse input

    In as pure of a VB model as possible... I'd be all over WASM.

    Some nice things to have would be to have events/api for:

    • startup
    • shutdown
    • surface resize
    • focus state

    From here it would be possible, in theory, to write a simple 2D game... from there... we could start implementing line-of-business type display components.

    Unfortunatly, I haven't been able to find a simple, straight forward sample that shows how to do any of this (even in C#) - and I haven't had time to dig into the specifics of WASM and/or Blazor. You'd think this would be something that would already exists... it's basically a "hello world" for a graphics based interface. If anyone does know how to create a sample (even in C#) of how to do the above... I would then be very interested in continuing forward with several ideas that I have (and a couple of projects that I think would be perfect to demonstrate this). I have one project right now that is literally a WinForms application with nothing but a PictureBox for the display -- where I draw to an image in memory and then update the "display" by updating the Image of the PictureBox... all UI is done through code - buttons, popups, text entry, menus, etc.

    Even if a sample was a raw as initializing a display and drawing (and able to redraw) a single pixel... I could then take the ball and run. ;-)

    (Note, it would also need to be able to have multiple assemblies. ;-) )
    Mohammad Hamdy Ghanem
    @VBAndCs
    this is the tool.. Dig around https://github.com/BlazorExtensions/Canvas
    Paul M Cohen
    @paul1956
    @DualBrain there are at least 2 VB - Core 3.1 demo's that do most of what you want under https://github.com/dotnet/samples (Conrad's Game of Life and Sudoku).
    Cory Smith
    @DualBrain
    But these are for WinForms, right? I'm looking for something similar that is VB targetting WASM as the execution engine.
    @paul1956 (With or without Blazor... for what I want to do, the Blazor components are of little-to-no-interest to me.) @VBAndCs Thanks for the link... I'll have to try to find some time to carve out to explore that more.