Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Visual Basic needs more credit

Visual Basic needs more credit

Scheduled Pinned Locked Moved The Lounge
206 Posts 32 Posters 631 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Colborne_Greg

    I think that Visual Basic should be shown off for its beauty and elegance. Here is a sample of what it can do - that no other language can do:

    Private Sub AlbumListPopulate()
    Try
    AlbumsList.ItemsSource = New List(Of Image)

        For Each AlbumName In Pictures.Albums
            Try
                AlbumsList.ItemsSource.Add \_
                    (
                        New Image With
                        {
                            .Height = 150,
                            .Width = 150,
                            .Source = RotateStream \_
                            (
                                Pictures.Album(AlbumName).Picture,
                                Pictures.Album(AlbumName).Angle
                            )
                        }
                    )
            Catch
            End Try
        Next
    Catch
    End Try
    

    End Sub

    A Offline
    A Offline
    Adam Tibi
    wrote on last edited by
    #114

    You hang on there my friend and protect our beloved language. I used to be a VB.NET developer back in 2002 then I've seen the light (that would be C#), this is because I played with VB5 and VB6 during high school, because I played with QBasic during my early high school... C# pays more and is more respected by developers and generally the code written in C# tends to be higher quality as the VB.NET code tends to be written by old school guys with less OOP experience than those of C# (I am saying "tends" not all). Advice, move to C#

    Make it simple, as simple as possible, but not simpler.

    K C 2 Replies Last reply
    0
    • C Colborne_Greg

      I would not hire you sorry. The reason you can not use the with operator in such a fashion is scope

      Z Offline
      Z Offline
      Ziad Elmalki
      wrote on last edited by
      #115

      This is hilarious. This guy is straight out of dailywtf.

      1 Reply Last reply
      0
      • Richard DeemingR Richard Deeming

        Colborne_Greg wrote:

        its not a with block

        It's an object initializer, which is fully supported in C#, without needing an extra keyword. http://msdn.microsoft.com/en-us/library/bb384062.aspx[^]


        "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

        D Offline
        D Offline
        dave dolan
        wrote on last edited by
        #116

        You sir, win the internet.

        1 Reply Last reply
        0
        • C Colborne_Greg

          My employee cost vs performance says otherwise

          D Offline
          D Offline
          dave dolan
          wrote on last edited by
          #117

          Really? You have accurate data comparing those using 'with blocks' to those without? Those with C experience to those without? Those who know what a stack frame is compared to those who barely understand what a stack data structure is? Calls inside a 'with block' can either be accessing properties or local variables and it isn't immediately obvious which it is. You have to look up the page to see. Also, you're suppressing exceptions, which, if you're talking about cost of development, means your debugging cycle is a lot more intense because it doesn't blow up when something goes wrong.

          C 1 Reply Last reply
          0
          • A Adam Tibi

            You hang on there my friend and protect our beloved language. I used to be a VB.NET developer back in 2002 then I've seen the light (that would be C#), this is because I played with VB5 and VB6 during high school, because I played with QBasic during my early high school... C# pays more and is more respected by developers and generally the code written in C# tends to be higher quality as the VB.NET code tends to be written by old school guys with less OOP experience than those of C# (I am saying "tends" not all). Advice, move to C#

            Make it simple, as simple as possible, but not simpler.

            K Offline
            K Offline
            KLPounds
            wrote on last edited by
            #118

            I think the OP needs some credit.. The intestinal fortitude required to even try to hold dialog favoring VB in anyway here is incredible. VB is my first language, partly because I've grown up my whole life under BASIC.. Partly because my first professional programming job was to convert VB6 to VB.NET and nearly every job since has required VB in one way or another. Who am I to question my employer on the politics of language? Who am I do judge my employer based on their chosen language? I pulled the trigger and learned C# and have projects I still maintain. Its different, but it works and it makes me more marketable to be able to work in both. Right now, VB.NET is the required language and is what pays my bills. When it comes to new projects where language isn't a requirement I find that any classic WinForm or windows service projects stay in VB but I aim to use C# for anything else if possible. Is C# still "the better language" if my code pattern mimics VB.NET concepts? Of course, regardless of right or wrong, it's still not VB. Is VB.NET any better of a language if my code pattern mimics C# concepts? Doubtful, because it's still VB.. I don't buy into this culture.

            1 Reply Last reply
            0
            • B BobJanova

              The minimum you can have without with would be g.lineTo(), g.moveTo() etc.

              P Offline
              P Offline
              PIEBALDconsult
              wrote on last edited by
              #119

              Yep, looks good to me.

              You'll never get very far if all you do is follow instructions.

              1 Reply Last reply
              0
              • D dave dolan

                Really? You have accurate data comparing those using 'with blocks' to those without? Those with C experience to those without? Those who know what a stack frame is compared to those who barely understand what a stack data structure is? Calls inside a 'with block' can either be accessing properties or local variables and it isn't immediately obvious which it is. You have to look up the page to see. Also, you're suppressing exceptions, which, if you're talking about cost of development, means your debugging cycle is a lot more intense because it doesn't blow up when something goes wrong.

                C Offline
                C Offline
                Colborne_Greg
                wrote on last edited by
                #120

                The entire difference between C# and VB are involved in that factoring, suppressing exceptions is not an acceptable thing for my employee's to do, suppressing exceptions happens by my efficiency team; who decided that at this moment didn't need to know the error. In visual basic with block

                        With CameraControl.LastKnownTaken
                            DateTakenBlock.Text = .DateTaken
                            FileNameBlock.Text = .FileName
                            LatitudeBlock.Text = .Latitude
                            LongitudeBlock.Text = .Longitude 
                        End With 
                

                notice the period, if you cant figure out that the words with a period before them belong to the with block I wouldn't hire you

                D L 2 Replies Last reply
                0
                • A Adam Tibi

                  You hang on there my friend and protect our beloved language. I used to be a VB.NET developer back in 2002 then I've seen the light (that would be C#), this is because I played with VB5 and VB6 during high school, because I played with QBasic during my early high school... C# pays more and is more respected by developers and generally the code written in C# tends to be higher quality as the VB.NET code tends to be written by old school guys with less OOP experience than those of C# (I am saying "tends" not all). Advice, move to C#

                  Make it simple, as simple as possible, but not simpler.

                  C Offline
                  C Offline
                  Colborne_Greg
                  wrote on last edited by
                  #121

                  Visual basic 2013 is better then C#

                  1 Reply Last reply
                  0
                  • B BobJanova

                    It does not fail in C#.

                    class DataObj {
                    public int Height { get; set; }
                    }

                    class Starter {
                    public static void Main() {
                    int Height = 23;
                    DataObj obj = new DataObj { Height = Height };
                    System.Console.WriteLine("Set to " + obj.Height);
                    }
                    }

                    Compiles without warnings and gives the right answer. Once again, if you're going to make concrete statements about what is or isn't possible in a language, you need to check whether that statement is accurate first.

                    C Offline
                    C Offline
                    Colborne_Greg
                    wrote on last edited by
                    #122

                    As I have learned but there is no period before either height so now the reader of the code has to guess at the scope of the object Real genius

                    B 1 Reply Last reply
                    0
                    • G glennPattonWork3

                      No, for the love of something NO! It makes writing code easier for those that don't write code. It only exists as some one else pointed out (probably) in reaction to Borland's Delphi (Object Pascal) MS needed to make there Basic compiler have similar features to compete! Bad programmers can write bad code in any language, the language makes it easier (VB) compare to another (C#) but they compile to the same byte code, you can't tell the difference! :)

                      C Offline
                      C Offline
                      Colborne_Greg
                      wrote on last edited by
                      #123

                      People that don't already write code are -cheaper per hour -easier to train -get the job done faster -get the job done without added flare -almost half the cost overall as other programmers -they write in full words (no bad habits)

                      G 1 Reply Last reply
                      0
                      • L Lost User

                        Colborne_Greg wrote:

                        so not only do I not want it to fail for one error

                        It's wrong. If there's an unexpected error, then the loop should break. That's always better than hiding the exceptions.

                        Colborne_Greg wrote:

                        I don't want it to waste time trying to figure out anything related to that error.

                        You cannot be bothered to check your own code if it reports an error. I would recommend your users to make backups. Very frequent.

                        Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^]

                        C Offline
                        C Offline
                        Colborne_Greg
                        wrote on last edited by
                        #124

                        This is only for displaying data. Apparently you want the user to wait for typos for each action, instead for a daily report of problems you are not god, you do not know every angle to program.

                        L 1 Reply Last reply
                        0
                        • C Chris Quinn

                          As I frequently say - it's not the tool that is used that's the problem, but the tool that uses it.

                          ========================================================= I'm an optoholic - my glass is always half full of vodka. =========================================================

                          C Offline
                          C Offline
                          Colborne_Greg
                          wrote on last edited by
                          #125

                          That's why visual basic is great. I don't need to hire anyone who thinks they are a programmer. Its a tool that is easy to train people and allows me to pay them next to nothing.

                          S 1 Reply Last reply
                          0
                          • P Pualee

                            I took a job once, with no knowledge of VB (Visual Studio 6). Hey, I just wanted a well paying part time job to finish my master's degree. One of the 'best practices' of the company was to always add "On Error Resume Next" at the beginning of each and every function. I asked why, and the reply was that it just works better that way. The job paid the bills, I graduated, I got a new job, the company went under (not because I left, but I saw the writing on the wall ahead of time - they had too many people and no contracts lined up).

                            C Offline
                            C Offline
                            Colborne_Greg
                            wrote on last edited by
                            #126

                            On Error Resume Next Is from before the .net era and is a bad programming practice

                            1 Reply Last reply
                            0
                            • L Lost User

                              How often I have seen something like that. And then the criminal who wrote this thinks he's being treated unjustly and exclaims something like "But it always has worked!". And then try to explain to Mr. Pointy Hair that this mess only pretended to work at best, fell flat on its face and was more busy covering it up than anything else at worst, and that looking away will not solve anything or save us one single cent.

                              The language is JavaScript. that of Mordor, which I will not utter here
                              I hold an A-7 computer expert classification, Commodore. I'm well acquainted with Dr. Daystrom's theories and discoveries. The basic design of all our ship's computers are JavaScript.

                              C Offline
                              C Offline
                              Colborne_Greg
                              wrote on last edited by
                              #127

                              First off criminal? no learn English maybe Secondly if you understood English you would know that a sentence doesn't start with and.

                              1 Reply Last reply
                              0
                              • C Colborne_Greg

                                I think that Visual Basic should be shown off for its beauty and elegance. Here is a sample of what it can do - that no other language can do:

                                Private Sub AlbumListPopulate()
                                Try
                                AlbumsList.ItemsSource = New List(Of Image)

                                    For Each AlbumName In Pictures.Albums
                                        Try
                                            AlbumsList.ItemsSource.Add \_
                                                (
                                                    New Image With
                                                    {
                                                        .Height = 150,
                                                        .Width = 150,
                                                        .Source = RotateStream \_
                                                        (
                                                            Pictures.Album(AlbumName).Picture,
                                                            Pictures.Album(AlbumName).Angle
                                                        )
                                                    }
                                                )
                                        Catch
                                        End Try
                                    Next
                                Catch
                                End Try
                                

                                End Sub

                                U Offline
                                U Offline
                                User 4085378
                                wrote on last edited by
                                #128

                                Let us accept the fact that our whole logic is built around our natural language, that is the HUMAN language. Therefore, the programming language that is closer to the HUMAN language is more suitable for expressing algorithms. In other words, "IF... THEN... ELSE..." is far more clear and closer to the HUMAN language than if... {... }... Prof. E. J. Yannakoudakis

                                C 1 Reply Last reply
                                0
                                • C Colborne_Greg

                                  The entire difference between C# and VB are involved in that factoring, suppressing exceptions is not an acceptable thing for my employee's to do, suppressing exceptions happens by my efficiency team; who decided that at this moment didn't need to know the error. In visual basic with block

                                          With CameraControl.LastKnownTaken
                                              DateTakenBlock.Text = .DateTaken
                                              FileNameBlock.Text = .FileName
                                              LatitudeBlock.Text = .Latitude
                                              LongitudeBlock.Text = .Longitude 
                                          End With 
                                  

                                  notice the period, if you cant figure out that the words with a period before them belong to the with block I wouldn't hire you

                                  D Offline
                                  D Offline
                                  dave dolan
                                  wrote on last edited by
                                  #129

                                  Let's get one thing straight, I'm the guy that does the hiring these days. I wouldn't hire you -- someone who so vehemently defends unmaintainable crap and touts it as a feature.

                                  C 1 Reply Last reply
                                  0
                                  • F F Xaver

                                    I wouldn't write such empty Try's but.... still I like it over this here ^^

                                            }
                                         }
                                      }
                                    

                                    }
                                    }

                                    and this things aint better...

                                        } //For
                                    } //If
                                    

                                    } //Try

                                    C Offline
                                    C Offline
                                    Colborne_Greg
                                    wrote on last edited by
                                    #130

                                    My entire company is based around dealing with behavior's of errors. When nothing is done for an error it was meant to be that way

                                    R 1 Reply Last reply
                                    0
                                    • U User 4085378

                                      Let us accept the fact that our whole logic is built around our natural language, that is the HUMAN language. Therefore, the programming language that is closer to the HUMAN language is more suitable for expressing algorithms. In other words, "IF... THEN... ELSE..." is far more clear and closer to the HUMAN language than if... {... }... Prof. E. J. Yannakoudakis

                                      C Offline
                                      C Offline
                                      Colborne_Greg
                                      wrote on last edited by
                                      #131

                                      Yes also in C# there are two ways of writing an if statement such as If something do this result - only allows one line of code if something { do this result} - allows multiple lies of code if a coders places two lines of code in the first example the program fails...

                                      1 Reply Last reply
                                      0
                                      • D dave dolan

                                        Let's get one thing straight, I'm the guy that does the hiring these days. I wouldn't hire you -- someone who so vehemently defends unmaintainable crap and touts it as a feature.

                                        C Offline
                                        C Offline
                                        Colborne_Greg
                                        wrote on last edited by
                                        #132

                                        I own 3 companies.

                                        D 1 Reply Last reply
                                        0
                                        • Richard DeemingR Richard Deeming

                                          Colborne_Greg wrote:

                                          second one fails

                                          No, it doesn't. https://dotnetfiddle.net/J0N7Mm[^]

                                          using System;

                                          public class Program
                                          {
                                          public static void Main()
                                          {
                                          int height = 100;
                                          var image = new Image { height = height };
                                          Console.WriteLine("The image's height is {0}.", image.height);
                                          }
                                          }

                                          public class Image
                                          {
                                          public int height { get; set; }
                                          }

                                          Output: The image's height is 100.


                                          "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

                                          C Offline
                                          C Offline
                                          Colborne_Greg
                                          wrote on last edited by
                                          #133

                                          Height = height breaks readability rules Having the period in visual basic easily allows the reader of the code to know the scope of the object, which is not so obvious

                                          Richard DeemingR 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups