Dumb VB and C++ fact of the Day
-
There's no Visual Basic 13.0 nor C++ 13.0. They went from VB 12.0 in VS 2013 to VB 14.0 in VS 2015, and Visual C++ 12.0 in VS 2013 to Visual C++ 14.0 in VS 2015. [Edited to add the C++ factoid. Yeah, this is my afternoon of productivity]
cheers Chris Maunder
-
Some facts: ;P 1. I am not a liberal or commie - in fact I think Atilla the Hun and Genghis Kahn were lily-livered pinko-liberal pooftahs. 2. I have written lots and lots of VB.NET - and got paid for it. :cool: 3, I have a 50 foot yacht in the marina. Sadly, the marine police have removed my small armoury therefrom until such time as I leave. Your move! :laugh: :laugh:
A fact you missed: 0) Real programmers know enumerated lists start with 0.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013 -
Another VB fact: I am retired on a tropical island in the Caribbean after 25 years of VB /VB.Net programming :) Who's next?
I'm not retired because I'm busy replacing VB-based crap-ware with C#.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013 -
I'm not retired because I'm busy replacing VB-based crap-ware with C#.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013 -
I'm curious to know why you feel that way about VB.NET, which can express virtually everything that C# can; and like other .NET languages can make use of (almost all of) the types in the .NET Framework. There are obviously various small differences (VB.NET allows inferring the delegate type, allows assigning a numeric string to a number, etc.) Generally, I have found only one reason to prefer C# over VB.NET -- VB.NET's syntax uses English words where C# would use symbols.
ZevSpitz wrote:
I'm curious to know why you feel that way about VB.NET
ZevSpitz wrote:
VB.NET allows ... assigning a numeric string to a number
I think you've just answered your own question there! :-D (
Option Strict
andOption Explicit
should always beOn
. IMO, there shouldn't even be an option to turn them off.)
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
-
A fact you missed: 0) Real programmers know enumerated lists start with 0.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013And 3 facts you missed: 0. Real programmers don't care what language they use; because they are able to solve the problem in any language. 1. Smart programmers solve the problem in the way it is the least work and pays the most. 2. Really good programmers won't be used on projects where they have to fix the crap of someone else (that's where juniors are for).
-
ZevSpitz wrote:
I'm curious to know why you feel that way about VB.NET
ZevSpitz wrote:
VB.NET allows ... assigning a numeric string to a number
I think you've just answered your own question there! :-D (
Option Strict
andOption Explicit
should always beOn
. IMO, there shouldn't even be an option to turn them off.)
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
-
ZevSpitz wrote:
I'm curious to know why you feel that way about VB.NET
ZevSpitz wrote:
VB.NET allows ... assigning a numeric string to a number
I think you've just answered your own question there! :-D (
Option Strict
andOption Explicit
should always beOn
. IMO, there shouldn't even be an option to turn them off.)
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
Richard Deeming wrote:
IMO, there shouldn't even be an option to turn them off.)
All of this is presuming that VB should be allowed to exist in the first place.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013 -
Richard Deeming wrote:
IMO, there shouldn't even be an option to turn them off.)
All of this is presuming that VB should be allowed to exist in the first place.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013 -
Then stop financing its makers - oh wait, they build C# too .... Oh wait again - its even the same compiler and toolset ....
I did stop funding them. The last thing I bought from Microsoft was a MSDN subscription a number of years ago. That got me Windows 7 and VS2013. Recently, I migrated almost completely away from Microsoft at home. I still have a VM running Win7 so I can write Windows code with VS2017 community), but that's it.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013 -
I did stop funding them. The last thing I bought from Microsoft was a MSDN subscription a number of years ago. That got me Windows 7 and VS2013. Recently, I migrated almost completely away from Microsoft at home. I still have a VM running Win7 so I can write Windows code with VS2017 community), but that's it.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013 -
I'm not retired because I'm busy replacing VB-based crap-ware with C#.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013 -
stepan hakobyan wrote:
Please don't be so harsh with VB.
VB sucks in all of its evil incarnations. That's as un-harsh as I can be.
stepan hakobyan wrote:
I'm working in business automation industry and my day to day languages are C#, TypeScript, VB.
I'd like to show some sympathy or your plight, but you've no doubt had plenty of opportunities to remedy that situation, but you persist in exposing yourself to VB, so I'm not sure how you think I should react.
stepan hakobyan wrote:
Imho VB is the most effective for writing business login.
That's just crazy talk right there.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013As a general rule, people showing the kind of hashness as you do, toward one tool (or standard, or whatever) tend to have a poor understanding of how to use it. Or they consider it out of its intended scope of usage. A number of years ago, I switched jobs, from a Solaris environment to a non-*nix-environment: I really never made friends with Solaris. Nor with the company standard editor emacs. I made both crash quite regularly. More than once, I demonstrated to my colleauges what I had been doing. They looked over my shoulder, and screamed out: Hey, you mustn't do THAT! What the h** did you do that for? Well, I did it to show you how I made Solaris crash (or emacs)... This happened several times, and every time they made me the cruel sinner who didn't know to behave, and ruined their concept of Solaris as the worlds most rock solid OS. Well, it was - as long as you didn't do anything that could make it crash... In my new job, they were running a different OS (this was before Windows became the only alternative; it was in mincomputer/supermini area), which crashed several times a day. The Unix educated sysops did everything to make Sintran III appear as if it were Unix. I happened to know Sintran III well, so, as a left hand job, I became sort of sysops supervisor, telling them the proper way to maintain a Sintran III machine. I spent a week or two cleaning up the procedures. Three months later, some people were still complaining about the frequent crashes, and I had to drag them over to show them the system logs: The system hadn't had a single stop for three months. Systems, languages, methods ... may be severely misused, abused, used in inappropriate ways or for inappropriate purposes. That doesn't mean the poor abused thing is evil, despisable or even bad. What you could say is that "X is not suitable for application Y, because it lacks a suitable way of doing A, B and C" (maybe it does have a provision, but for reasons 1, 2 and 3, that provision does not fulfill our requirements). Any system, language or method that is widely used, is well suited for a certain class of tasks. Otherwise it wouldn't have been widely used. There may be other tools that would also be satisfactory. If you went into those environments using the tool you hate, presenting your arguments, you might learn that you hate reasons are not valid there. E.g. lots of software people argue for open source, but lots of tool users would never ever consider looking at the source code of the tool. Or cost: You may
-
A fact you missed: 0) Real programmers know enumerated lists start with 0.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013Reminds me of a 16 bit mini I knew in the 1980s: Fortran arrays are 1 based. This machine had a 48 bit float format, three 16-bit words. The CPU had a special instruction for calculating the memory address of an element in a float array: MIX3 would add one to the accumulator and multiply it by 3. The instruction had no other use than for Fortran float array address calculations.
-
As a general rule, people showing the kind of hashness as you do, toward one tool (or standard, or whatever) tend to have a poor understanding of how to use it. Or they consider it out of its intended scope of usage. A number of years ago, I switched jobs, from a Solaris environment to a non-*nix-environment: I really never made friends with Solaris. Nor with the company standard editor emacs. I made both crash quite regularly. More than once, I demonstrated to my colleauges what I had been doing. They looked over my shoulder, and screamed out: Hey, you mustn't do THAT! What the h** did you do that for? Well, I did it to show you how I made Solaris crash (or emacs)... This happened several times, and every time they made me the cruel sinner who didn't know to behave, and ruined their concept of Solaris as the worlds most rock solid OS. Well, it was - as long as you didn't do anything that could make it crash... In my new job, they were running a different OS (this was before Windows became the only alternative; it was in mincomputer/supermini area), which crashed several times a day. The Unix educated sysops did everything to make Sintran III appear as if it were Unix. I happened to know Sintran III well, so, as a left hand job, I became sort of sysops supervisor, telling them the proper way to maintain a Sintran III machine. I spent a week or two cleaning up the procedures. Three months later, some people were still complaining about the frequent crashes, and I had to drag them over to show them the system logs: The system hadn't had a single stop for three months. Systems, languages, methods ... may be severely misused, abused, used in inappropriate ways or for inappropriate purposes. That doesn't mean the poor abused thing is evil, despisable or even bad. What you could say is that "X is not suitable for application Y, because it lacks a suitable way of doing A, B and C" (maybe it does have a provision, but for reasons 1, 2 and 3, that provision does not fulfill our requirements). Any system, language or method that is widely used, is well suited for a certain class of tasks. Otherwise it wouldn't have been widely used. There may be other tools that would also be satisfactory. If you went into those environments using the tool you hate, presenting your arguments, you might learn that you hate reasons are not valid there. E.g. lots of software people argue for open source, but lots of tool users would never ever consider looking at the source code of the tool. Or cost: You may
Member 7989122 wrote:
As a general rule, people showing the kind of hashness as you do, toward one tool (or standard, or whatever) tend to have a poor understanding of how to use it. Or they consider it out of its intended scope of usage.
Or like me, they simply want to trigger the commie hippies that love it.
Member 7989122 wrote:
A number of years ago ... blah f*ckin blah ... That the end users understand what's going on.
(yawn)
Member 7989122 wrote:
I never used VB,
Count your blessings. I've had to use VB, VBscript, VBA, and VB.net. I've been a programmer for almost 40 years, and I think that makes me qualified to identify crap when I see it. It's like the MS Access of computer languages.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013 -
Because 13 is an unlucky number. Note, however, that even actively avoiding v13 doesn't rescue VB from being a pile of crap.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013VB pile of crap? Really? Funny how we see things. When I look at all the {{{{{}}}}} and ;;;;;;;;; in other languages, I feel sorry for all that syntax crap they have been born with. A lot of people like that shit though, so it must be some sweet crap.. Functionality wise, VB and C# for example visite the same barbershop to get their new identical look, ready to be swallowed up by the machine. So if you are not talking about syntax, then C# is in this case a pile of crap too. I doubt that.
-
Because 13 is an unlucky number. Note, however, that even actively avoiding v13 doesn't rescue VB from being a pile of crap.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013When converting stringly typed data from a flat file into strongly typed data for database storage, nothing beats the built in conversion functions found in VB. In addition, VB.net's verboseness means I can look at the header of a function and know exactly what events and what objects those events tie to. In C# this wire-up is frequently hidden in another source file. Having keyword based blocking vs. {} for block controls also helps when working out the logical structure of code. Is that } going to the "if" or the "while" statement 30 lines up? In VB you'll see an End If or Loop so you don't have to guess when looking at the code on paper. Granted, VS's indent lines make this less of an issue now but prior to those indent lines it was an issue. Where C#'s syntax is better is in the implementation of Lambda (anonymous) functions and LINQ syntax. VB.Net's syntax is just awkward here. I also prefer C#'s <> for type declarations for Dictionaries and Lists as it highlights the actual typing without making the New parameters confusing.
-
This thread is about VB.NET, which can express virtually everything that C# can express, albeit with a wordier syntax. Do you mean that C# is not a real programming language? Or do you mean that VB6 / VBA is not a real programming language (which I could get behind, if not entirely agree with)?
I'd have to argue that VBA is a real programming language, but that it's limited by the host application. VBA in Excel is extremely powerful. VBA in Word has been lobotomized. VB6 was good for what it was intended to do and represents a completely different era of Windows programming.
-
Because 13 is an unlucky number. Note, however, that even actively avoiding v13 doesn't rescue VB from being a pile of crap.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013It takes manure to make things grow. Have you ever worked in VB? If not How can you criticize something you don't use? :sigh:
tired of the VB bashers …..
-
When converting stringly typed data from a flat file into strongly typed data for database storage, nothing beats the built in conversion functions found in VB. In addition, VB.net's verboseness means I can look at the header of a function and know exactly what events and what objects those events tie to. In C# this wire-up is frequently hidden in another source file. Having keyword based blocking vs. {} for block controls also helps when working out the logical structure of code. Is that } going to the "if" or the "while" statement 30 lines up? In VB you'll see an End If or Loop so you don't have to guess when looking at the code on paper. Granted, VS's indent lines make this less of an issue now but prior to those indent lines it was an issue. Where C#'s syntax is better is in the implementation of Lambda (anonymous) functions and LINQ syntax. VB.Net's syntax is just awkward here. I also prefer C#'s <> for type declarations for Dictionaries and Lists as it highlights the actual typing without making the New parameters confusing.
After using VB.Net for around 8 years, I have been using C#.Net exclusively for the past 5. There are two things I very much still miss about VB.Net - the first of which are those oh-so-hated-by-everyone-else verbose blocking keywords. ESPECIALLY when working at the end of a function or class... [ Next / End If / End Select / End With / End Function ] is instantly easier to understand which blocks you are leaving, than [ }}}}} ] - even when on separate lines. The second is the [ My. ] class - so much exposure to the underlying environment, user profile, settings, and resources... all in one API. At the end of the day, I use C# just to keep fluent in what is arguably the more-widely-used language of the two, but I very much miss the good ol' days.