Stories
Slash Boxes
Comments

SoylentNews is people

posted by martyb on Sunday February 05 2017, @08:41AM   Printer-friendly
from the watch-your-language! dept.

Since their introduction in 2002, Microsoft's pair of .NET programming languages, C# and Visual Basic.NET, have been close siblings. Although they look very different—one uses C-style braces, brackets, and lots of symbols, whereas the other looks a great deal more like English—their features have, for the most part, been very similar. This strategy was formalized in 2010, with Microsoft planning coevolution, to keep them if not identical then at least very similar in capability.

But the two languages have rather different audiences, and Microsoft has decided to change its development approach. The company has made two key findings. First, drawing on the annual Stack Overflow developer survey, it's clear that C# is popular among developers, whereas Visual Basic is not. This may not be indicative of a particular dislike for Visual Basic per se—there's likely to be a good proportion within that group who'd simply like to consolidate on a single language at their workplace—but is clearly a concern for the language's development.

Second, however, Microsoft has seen that Visual Basic has twice the share of new developers in Visual Studio as it does of all developers. This could indicate that Visual Basic is seen or promoted as an ideal beginners' language; it might also mean that programmers graduating from Visual Basic for Applications (VBA) macros in programs such as Word, Access, and Excel are picking the option that is superficially most comfortable for them. Visual Basic developers are generally creating business applications using WinForms, or occasionally ASP.NET Web Forms; the use of WinForms in particular again suggests that developers are seeking something similar to Office macros.

Accordingly, the development of the two languages is set to diverge. C# is going to continue to pick up more complex features. C# 7.0, for example, is adding integrated support for tuples and pattern matching syntax, the latest language features showing significant influence from functional programming languages like ML and Haskell. Visual Basic 15 is adding some of these, such as tuples, but it isn't going to match every new feature in C# 7.0. Going forward, it will be maintaining readability and keeping the number of different concepts manageable.

Source:

https://arstechnica.com/information-technology/2017/02/microsofts-developer-strategy-c-for-fancy-features-visual-basic-for-beginners/


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by jimtheowl on Monday February 06 2017, @03:07PM

    by jimtheowl (5929) on Monday February 06 2017, @03:07PM (#463441)
    Importance is not relevant in laying out the enumeration order.

    The program is more important than the variable declarations, yet one declares the variable first so we can read the program with some established knowledge.

    In the same way, one establishes the type of the variables to be enumerated.

    ie: int x, y, loop, rval;

    There is nothing wrong about that except lack of familiarity due to programming only in BASIC.
    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: 0) by Anonymous Coward on Tuesday February 07 2017, @02:25AM

    by Anonymous Coward on Tuesday February 07 2017, @02:25AM (#463848)

    You seem to be mixing up 2 different problems. (Whether the second one is really a problem is another topic.) The order is for human readers, not the computer. The computer (compiler/interpreter) doesn't really care, as long as the rules of where to find stuff is clear.

    I've used both and find variable-first easier to read/digest/grok. If you have a different personal preference, so be it. People vary.

    • (Score: 0) by Anonymous Coward on Thursday February 09 2017, @06:33AM

      by Anonymous Coward on Thursday February 09 2017, @06:33AM (#464897)

      Addendum

      The main reason var-first is better is that it creates more of a columnar layout so that the one can scan the "variable" column or the "type" column with their eyes. This is largely because type length varies more than variable length, and least using my typical naming conventions. Example:

      // var first
      aaaa bbbbbbbb
      cccccccc dddddddddddddddddddd
      eeeee ffff
      gggggg hhhhhhhhhhhh
       
      // type first
      bbbbbbbb aaaa
      ddddddddddddddddd cccccccc
      ffff eeeee
      hhhhhhhhhhhh gggggg

      In the first, the "columns" are lined up better. They are more helter-skelter in the second.