Where are the screens in C# RRS feed

  • Question

  • I can program in a number of languages (VB, C, C#, Fortran).  Every languages has it's specific advantage.  For example FORTRAN is the language great for engineering using numerous mathematical calculations.  VB has been my language of choice when building business applications where you must deal with A/R, A/P, inventory control where the user needs screens for data analysis and input.  What other language other that VB can you have the User Screens displays that VB can easily provide? If VB is dead what language can you use to build complex screens where you need to see and evaluate lots of data. lots of data needs to be seen at the same instance to make decisions.

    Jim Willis

    Saturday, June 22, 2019 7:39 AM

All replies

  • If VB is dead, then VB.NET would not be a part of .NET Core the new boy on the block.

    And C# can do everything that VB.NET can do, everything, since both are OO languages  using the same .NET Framework, CLI and CLR. And as far as .NET is concerned,  C#, an ISO and ECMA standard, is more widely used than VB.NET with VB.NET being proprietary to MS.  

    • Edited by DA924x Saturday, June 22, 2019 9:56 AM
    Saturday, June 22, 2019 8:34 AM
  • When you say "VB" you appear to be thinking about the "old" VB that became dead when it reached version 6.0. The replacement is VB.NET, which is not dead in any way.

    VB.NET is only the language, not the environment. When you want to do screens in VB.NET, you reference one of the many sets of llibraries that provide such screens. The one that is most similar to your old VB is called "Windows Forms", but there are other newer such libraries such WPF or the ones involved in UWP or Xamarin.

    All these libraries can also be referenced from C#. You get exactly the same "screens", as you call them (most people tend ro call them "Forms"), but you simply call all the members of the libraries using a different language. Both VB.NET and C# provide the same end-user experience from this point of view.

    Saturday, June 22, 2019 11:52 AM
  • I think it is a shame that Microsoft emphasizes Beginner's All-purpose Symbolic Instruction Code (BASIC) as much as they do. By definition it is intended for beginners, not professionals. When IBM first designed their PC they wanted a third-party provider of a BIOS with an interpreter (DOS was released later). IBM chose Microsoft because they could provide the BASIC interpreter. Microsoft has emphasized BASIC since then. VB, including VB.Net, remains proprietary to Microsoft whereas C# is not. When Microsoft designed .Net, including VB.Net, they have however drastically improved the BASIC language and it now can be considered to be professional. The VB.Net language can use all of the .Net environment and has most of the OOP features of C# which has most of the OOP features of C++. Both VB.Net and C# can use the same screen environment.

    No one has mentioned XAML. XAML provides a way to create forms (screens) using a specified XML format. WPF and UWP use XAML. One disadvantage of XAML is that it does not have a mechanism for including sub-files, such as the #include feature of C and C++. So for large screens it can become cumbersome.

    .Net does provide Class Libraries, which are DLLs with .Net code. You can create something called a User Control which is essentially a way to create sub-forms. So you can split a screen into sub-forms and create a class library for each sub-form. It helps to understand and use OOP techniques for the interfaces among the Class Libraries and the main form.

    Sam Hobbs

    Saturday, June 22, 2019 5:35 PM