Visual Basic needs more credit
-
I sincerely wish you all the best. I just think you're still wrong about VB.
What that it needs more credit? There are practically no differences between the two, and opinions for and against it being a better language then others suggest that I am right.
-
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
It's pretty obvious from context that one of those is a property name on the object you're setting, and one is a name in the local scope, and that's all the . tells you. It's no different from public Form Form (or Dim Form As Form or whatever you write in VB) and other places where you have the same word in two different contexts.
-
And this, in turn, is why I wouldn't hire you: you don't look past what is and see what could be. See, a simple rule that ambiguous member references within a With statement are not allowed (and are a compiler error) would sort out the scoping issues, produce something that has significantly more expressive power, and not make the language any more complicated. The fact that this is not part of the language is irrelevant: there are open-source visual basic compilers (eg, as part of the Mono project) that would be easily extended to support whatever extensions you like. This is not, of course, to say that I would advocate for such a feature to be added. It wouldn't result in any increase in code readability (rather, it would significantly decrease readability), and any given piece of code is likely going to be read far more times than it will be written.
I own 3 companies - do you own any? In order to get C# lines to fit into the viewable area of the screen it is common practice to use a short variable notation, in visual basic it is common to use full words like PictureNameTextBlock - so when variables are that long the lines of code stretch far out off the screen - making the with block extremely important, once we compare the differences at a management stand point we saw reading visual basic was like reading English while reading C# code in general was impossible and had to rely on comments. Visual basic saves a lot of money.
-
It's pretty obvious from context that one of those is a property name on the object you're setting, and one is a name in the local scope, and that's all the . tells you. It's no different from public Form Form (or Dim Form As Form or whatever you write in VB) and other places where you have the same word in two different contexts.
When dealing with multiple languages from multiple teams anything that makes you think twice about it has to go.
-
I have a habit of avoiding case sensitive languages as it creates more problems, then the advantage you gave
The way you are making this statement is theological, not theoretical. In this audience, if you want that statement to actually stand, you'll have to go into great detail as to WHY you think that. I've been working in case sensitive languages for 30 years, without any problems I can think of regarding the language itself. Humans can mess up any language, regardless of syntactic richness, protections, etc. That is because the language only enforces syntactic correctness.. and most issues with code lie in either algorithm design or overall architectural design, which no language can protect you from no matter how rich.
-
The way you are making this statement is theological, not theoretical. In this audience, if you want that statement to actually stand, you'll have to go into great detail as to WHY you think that. I've been working in case sensitive languages for 30 years, without any problems I can think of regarding the language itself. Humans can mess up any language, regardless of syntactic richness, protections, etc. That is because the language only enforces syntactic correctness.. and most issues with code lie in either algorithm design or overall architectural design, which no language can protect you from no matter how rich.
If you studied languages you would know that opinions are not religion but thanks. Here is am example a large amount of new programmers make int64 Height = 150; int64 width = 150; When the programmer uses Height and Width, the Width has a underline, and because of the number of lines in the file the programmer creates a new variable int64 Width = 150; While this one programmer is using the uppercase Width his peers are using the lowercase width. Is that clear enough for you, Sorry I assumed you had enough experience to know the issues with dealing with case sensitive variables.
-
I came from Cobol and JCL, with 25 years of experience. I own a start up software company. Anyone that has C experience or web experience I find are bad employees, they make great leaders, not great employees, unless your business in devoted to C and C type languages, then you probably have 20 programmers to my one.
Correlation is not causation. Maybe the reason the C programmers are necessary is the nature of the problem that cause C to be picked as the implementation language in the first place. I've spent most of the last 30 years programming very near the hardware level. VB would have been a huge inconvenience for the types of problems I was solving. This doesn't make C/C++ inherently better or worse then VB.. only suited to a different problem domain. As to good vs. bad employees.. there are lots of ways to get those.. I've seen my share of good VB programmers and bad C programmers.. and VICE VERSA. Again.. correlation does not equal causation.
-
Considering the missing connection between me knowing C# can get away without using the with word, proves its problems. The with keyword gets the coder in a mindset.
Nonsense. Mindsets in programming are about how we handle abstractions. Expression syntax is just that.. expression syntax. I find I use the same mindset for programming no matter what language I use.. and I've used a lot over the years. Basic, C, C++, Algol, Perl, Forth, 8086 assembler, 6502 assembler (yes.. I'm that old). I find this statement highly unconvincing.
-
Advertising your other post is spam
-
No better way to learn. I was told that C# and visual basic are the same language but I can find things in Visual Basic that are not in C# and things in C# that are not in Visual Basic
They use the same underlying IL machine. I don't think its said anywhere that they are exactly the same.. If you read the book on the IL assembler the author talks in great detail on the differences between VB and C# and how the IL abstractions express them both. That qualifies this argument as a strawman.
-
I own 3 companies - do you own any? In order to get C# lines to fit into the viewable area of the screen it is common practice to use a short variable notation, in visual basic it is common to use full words like PictureNameTextBlock - so when variables are that long the lines of code stretch far out off the screen - making the with block extremely important, once we compare the differences at a management stand point we saw reading visual basic was like reading English while reading C# code in general was impossible and had to rely on comments. Visual basic saves a lot of money.
Yes. Two, in fact, one of which has developers in 3 different countries, and produces provably secure software. I am also chief architect at a third. It has been some years since I've looked for a job, but you can look at an old CV of mine if you like. I program in many languages; I even speak BASIC as a native language, by linguistics standards (I learned it when I was 3, during the critical language acquisition period). Further, I regularly program in C#, Java, Python, Go, Postscript, Bourne shell, Prolog, Ocaml, Haskell, and Lisp, and have at other points been paid to program in everything from Brainfuck to VHDL. I could keep going, but I think you get the picture. Also, it turns out that, from a human processing perspective, our brains are far better equipped to handle things like tb_pic_name than PictureNameTextBlock; we recognize words by their shapes and so the shorter the word, the more efficient it is to read. Finally, management tends to like things like VB because they look like English... but they are not in so many critical ways that this is in fact a negative feature. At the end of the day, management doesn't need to read code. They only need somebody that they trust to review the code quality of their developers' code, and to make sure that they're getting good value for their money. VB may seem to save a lot of money, but really it's costing you far more than you can imagine.
-
Yes. Two, in fact, one of which has developers in 3 different countries, and produces provably secure software. I am also chief architect at a third. It has been some years since I've looked for a job, but you can look at an old CV of mine if you like. I program in many languages; I even speak BASIC as a native language, by linguistics standards (I learned it when I was 3, during the critical language acquisition period). Further, I regularly program in C#, Java, Python, Go, Postscript, Bourne shell, Prolog, Ocaml, Haskell, and Lisp, and have at other points been paid to program in everything from Brainfuck to VHDL. I could keep going, but I think you get the picture. Also, it turns out that, from a human processing perspective, our brains are far better equipped to handle things like tb_pic_name than PictureNameTextBlock; we recognize words by their shapes and so the shorter the word, the more efficient it is to read. Finally, management tends to like things like VB because they look like English... but they are not in so many critical ways that this is in fact a negative feature. At the end of the day, management doesn't need to read code. They only need somebody that they trust to review the code quality of their developers' code, and to make sure that they're getting good value for their money. VB may seem to save a lot of money, but really it's costing you far more than you can imagine.
A project lead is management. Accounting does not lie about the costs. The picture you gave a psychologist is that you are a lair.
-
They use the same underlying IL machine. I don't think its said anywhere that they are exactly the same.. If you read the book on the IL assembler the author talks in great detail on the differences between VB and C# and how the IL abstractions express them both. That qualifies this argument as a strawman.
Wrong. You just gave the exact details of the situation reinforcing their similarities.
-
Claiming spam doesn't make it so.. and arguing with folks like this only detracts from your position, it doesn't add to it.
Thanks for your opinion, do you have a diploma in sociology by any chance?
-
Nonsense. Mindsets in programming are about how we handle abstractions. Expression syntax is just that.. expression syntax. I find I use the same mindset for programming no matter what language I use.. and I've used a lot over the years. Basic, C, C++, Algol, Perl, Forth, 8086 assembler, 6502 assembler (yes.. I'm that old). I find this statement highly unconvincing.
Do you have a diploma in psychology by any chance?
-
Correlation is not causation. Maybe the reason the C programmers are necessary is the nature of the problem that cause C to be picked as the implementation language in the first place. I've spent most of the last 30 years programming very near the hardware level. VB would have been a huge inconvenience for the types of problems I was solving. This doesn't make C/C++ inherently better or worse then VB.. only suited to a different problem domain. As to good vs. bad employees.. there are lots of ways to get those.. I've seen my share of good VB programmers and bad C programmers.. and VICE VERSA. Again.. correlation does not equal causation.
25 years here, came up from cobol and JCL, and worked on switching systems for northern telecom. We are in the cell phone era, not the hardware layer. Anyways the topic is that VB needs more credit. I have seen my share of both as well, and when training people to program how I want them to program its easier to employ people that are not programmers and teach them what I need them to know in VB, if I tried this in C# it would not be possible.
-
Consider these two C# statements:
public delegate bool IsItSafe() ;
public event IsItSafe Probe ;they compile just fine and actually work as they should, but the VB.net equivalent:
Delegate Function IsItSafe() as Boolean
Event Probe As IsItSafeyields:
C:\Projects\Template.vb(26) : error BC31084: Events cannot be declared with a delegate type that has a return type.
Event Probe As IsItSafe ~~~~~
Not that it's something that is common, but I do use a few events that return bool values in an unusual project of mine.
You'll never get very far if all you do is follow instructions.
Interesting.
Wrong is evil and must be defeated. - Jeff Ello[^]
-
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
-
A project lead is management. Accounting does not lie about the costs. The picture you gave a psychologist is that you are a lair.
If your project lead doesn't code, then you have much bigger problems than we're discussing here. Also, your accountants will tell you exactly what things cost, this is true. However, this is all that they will tell you. They won't tell you what it would have cost had you taken a different course, what things would have cost if you could work at a higher level of abstraction. There is a point at which individual language features like "with" statements become irrelevant, and you need to think of your program in terms of composing Bayesian filters, simulated annealing, genetic algorithms, and other such high-level topics. VB, C#, and most other languages keep you at the level of writing for loops, when really you'd rather be calling in much higher-level building blocks. You can kind of achieve this by writing a domain-specific language and then interpreting it, but I challenge you to find even one VB programmer among your staff who can manage this. In fact, I'll put my money where my mouth is: I'll bet you $100 that you can't write an AIM-349 scheme interpreter with your hordes of programmers faster than I can write one by myself in Ocaml. And finally, everything that I have spoken is the truth. I am a fairly public person, and you should be able to verify everything that I have said, at least about myself, personally. (Really, though, what the hell does it matter how many companies I own? The real question is who is a better programmer. I'm going to go out on a limb here and say that that would be me. Show me your open source code and prove me wrong. Mine is here.)
-
If your project lead doesn't code, then you have much bigger problems than we're discussing here. Also, your accountants will tell you exactly what things cost, this is true. However, this is all that they will tell you. They won't tell you what it would have cost had you taken a different course, what things would have cost if you could work at a higher level of abstraction. There is a point at which individual language features like "with" statements become irrelevant, and you need to think of your program in terms of composing Bayesian filters, simulated annealing, genetic algorithms, and other such high-level topics. VB, C#, and most other languages keep you at the level of writing for loops, when really you'd rather be calling in much higher-level building blocks. You can kind of achieve this by writing a domain-specific language and then interpreting it, but I challenge you to find even one VB programmer among your staff who can manage this. In fact, I'll put my money where my mouth is: I'll bet you $100 that you can't write an AIM-349 scheme interpreter with your hordes of programmers faster than I can write one by myself in Ocaml. And finally, everything that I have spoken is the truth. I am a fairly public person, and you should be able to verify everything that I have said, at least about myself, personally. (Really, though, what the hell does it matter how many companies I own? The real question is who is a better programmer. I'm going to go out on a limb here and say that that would be me. Show me your open source code and prove me wrong. Mine is here.)
That reply is based on a lot of wrong assumptions