• (cs) in reply to noname
    Anonymous:
    dhromed:
    ammoQ:
    R.Flowers:
    Funny. I'm pretty sure that it took longer to write the FAQ article than it would have to correct the bug.

    The FAQ was probably not written by the programmer(s).

    That wouldn't make the point less valid.
    The following could have happened:
    (snip)


    To be fair you left some parts out of option 2.
    • ...
    • (more snip)
    • The change request is finally approved after several minor typos are fixed.
    • Weeks later, the product is shipped.


    You left out the most important part:
    • The customer decides not to upgrade to the latest version because they're worried about stability issues (or other IT bugaboos, as appropriate).




  • (cs) in reply to RatDancr
    RatDancr:
    Personally, I think that VB can, and often does, instill a lot of bad habits in new programmers.  It's only after gaining some experience in other languages that they can become well-rounded in their skills.

    "It is practically impossible to teach good programming style to students that have had prior exposure to Basic; as potential programmers they are mentally mutilated beyond hope of regeneration." —Edsger Dijkstra <o:p></o:p>


    BASIC has changed considerably since that quote.  It may no longer be valid.  You might want to find out why.

    Sincerely,

    Gene wirchenko

  • Jon (unregistered) in reply to Paula
    Anonymous:
    On Spelling Error Resume Next
    Lol, that's great. :-)
  • (cs) in reply to marvin_rabbit

    marvin_rabbit:
    "Your data is invalid.  You might want to find out why."

    Or even worse:

    "Your data is valid. You might want to find out why"
    --------------    ------------------
    |     OK     |    | File Not Found |
    --------------    ------------------
    
  • original_intent (unregistered) in reply to iwpg
    iwpg:
    The Real WTF™ is the Selective "Service" exists in the first place.


    Damn straight.  See the 13th Amendment to the U.S. Constitution, for example.

    "1. Neither slavery nor involuntary servitude, except as a punishment for crime whereof the party shall have been duly convicted, shall exist within the United States, or any place subject to their jurisdiction."

    Okay, maybe that's just a little off-topic.  Or maybe only the worst programmers would work for an illegitimate agency?
  • (cs) in reply to Bus Raker

    GoatCheez:
    On the second error.....

    I think the term you were looking for is 'Beginning programmer that has only programmed in VB'.  There's no such thing as an 'advanced VB programmer' because at that point they wouldn't be using VB except to support legacy applications.  Does anyone really start new projects in VB.Net rather than C#.Net?

    I do, if I have to write desktop applications, for a real quicky app I will even write in classic VB as I can obtain results much faster, unless I need some of the new features of .NET.  But as I am mostly doing web, I still prefer good old fashioned ASP to ASP.NET.  I hate ASP.NET's approach to completely separate code and HTML, ASP's approach (just like PHP, I know that one as well) is much clearer as I see the HTML where my code executes.

    And to answer someone else, we VB/ASP programmers don't usually use VBScript for client-side, we know it limits to IE.  Javascript is a must for any web programmer, no matter what server-side language is used.

  • Rowan (unregistered)

    The real WTF is the middle-endian date format you USians use!

  • (cs) in reply to Rowan
    Anonymous:
    The real WTF is the middle-endian date format you USians use!


    the real WTF is that people in Europe make fun of the United States for being differenct than them (ie. metric, date format) when their just jelous that we had to win WWII for them. ;)
  • Dazed (unregistered) in reply to byrmol
    Anonymous:
    This is the whole issue with putting all the 'business logic' into stored procedures.  The knowledge of the logic often needs to be known on all levels of an application, and once it sits in the database, it's pretty much lost to everything else.  Sure you can build table after table in some crazy attempt to capture logic in tables and rows, but then you are almost putting code into tables.

    What a great way to waste the most expensive component in your enterprise. After 30 years of theory and impementation, we'll just throw it all away and jam the data logic into some busted arse middle tier.....

    My irony-meter really struggles in this forum. But as you seem to be serious ...

    Anything the business owner of the application is likely to need to change at a day's notice, or which will be subject to regular change, you put in tables. Any logic (s)he's likely to want to change at a month or two's notice you put in the business logic. And anything which is intrinsic to the data and not subject to the owner's whim (e.g. end-date can't be before start-date) you put in your stored procedures.

    (And yes occasionally you might need to transfer something to a stored procedure to improve performance, but see past threads on this site for appalling examples of premature optimisation.)

    I hope that no-one seriously thinks the price of the database is a design parameter here.

  • Holger Friedrich (unregistered) in reply to awefwafwaewaefsadf
    awefwafwaewaefsadf wrote the following post at 06-06-2006 3:58 PM:
     
    Yeah, they ask for a specific date format.  That's because people like to write stuff like:
    Yesterday
    Today
    Tomorrow
    June 12
    Ju 12 06
     
    12/06/2006
    06/12/2006
     
    in date fields.
     
    The real WTF is that you don't realize just how ambiguous dates can be...

    Yesterday?  In  a date-of-birth field?

    There are people who actually admit they were born yesterday?

  • (cs)

    <FONT face=Arial>All your field are belong to us?</FONT>

  • Bored (unregistered) in reply to Poultine

    Poultine:
    Sadly, anyone who has dealt with the FAFSA or paid student loans online has undoubtedly noticed that they require DOB in MMDDYYYY format. Because, lord knows, modern languages are completely unable to parse human-readable dates.

    Modern is not always needed. When something works perfectly fine and would cost a lot of money, time & effort to replace, especially for a gov/state/council run department.....

  • Chris (unregistered)

    It even has the 'error exclamation'. It seems a common thing that error messages (especially crappy ones like this) to end in !.

    I don't really follow why programmers do it - are they somehow suprised that the error happened?

    There is a field that it doesn't fit the field size or type! OMG!

    At least they didn't use more than one of them - "Database error!!!!!!!!"

  • Justin (unregistered) in reply to GoatCheez

    Wow.

    I thought everyone knoew to convert form c# to vb.net that you just take out the curly brackets.......

  • Claus Diff (unregistered) in reply to zebedee
    Anonymous:
    Anonymous:
    Poultine:
    Sadly, anyone who has dealt with the FAFSA or paid student loans online has undoubtedly noticed that they require DOB in MMDDYYYY format. Because, lord knows, modern languages are completely unable to parse human-readable dates.

    FWIW, in Connecticut (and elsewhere, I would imagine) entering dates into crime information searches is still largely done in this format. I assume that this is so deeply entrenched in Gub'ment
    functioning that they don't even realize it's a WTF.
    Tell me what this date is:
     
    12062006
     
    Is that:
     
    Dec 6, 2006
    June 12, 2006
    June 20, 1206
    simply invalid, because there is no 20th month?
     
    Yeah, they ask for a specific date format.  That's because people like to write stuff like:
    Yesterday
    Today
    Tomorrow
    June 12
    Ju 12 06
     
    12/06/2006
    06/12/2006
     
    in date fields.
     
    The real WTF is that you don't realize just how ambiguous dates can be...

    $ cvs diff -D "1 hour ago" foo.c

    Magic.



    $ echo "Time for a cuppa" | at teatime

    ==
    captcha=craptastic

  • Paul (unregistered) in reply to iwpg
    iwpg:
    The Real WTF™ is the Selective "Service" exists in the first place.

    Selective is defintely the key word there!

  • schwa-sticker (unregistered) in reply to fuzzylollipop
    Anonymous:
    I guess it goes without saying, you get what you pay for with off shoring, you would think people would understand this by now. And this HAS to be something from off shore, even victims of the public school system in the US have better grammar than that dialog box!

    You haven't met a lot of Americans, have you?

  • (cs) in reply to Scott
    Anonymous:

    VB is a great language.  So is C#.  So is Java.  That's as moronic as saying "It surprises me that people drive blue cars.  It is simply not a good idea."


    Actually, VB is not a great language, nor is C#, and nor is Java. Nor is Perl, PHP, Ruby, or Python. Nor is C++, C, or Delphi.

    Programming is conducted in one stinking miasma of bad languages, each with its own buzzing cloud of coprophilic fanboys who pick on insignificant syntactic differences and wage holy wars over them.

    Come back COBOL.  At least we all knew you sucked.
  • (cs) in reply to Bus Raker
    Bus Raker:

    All of the signs coming from Microsoft are VB out C# in.



    Right.  That's why Microsoft is wasting hundreds of thousands of dollars developing VB 9 - because they're planning to drop the language and promote C#!

    That's why Microsoft has hired some of the smartest people in computer science, like this guy - who was an expert in Haskell, a language so advanced and complex that very few people even grasp its fundamentals, before recently becoming a VB 9 evangelist - to work on enhancing VB even more.

    Er... wait, why are they wasting so much money on a language that's "out"?
  • (cs) in reply to Bus Raker
    Bus Raker:
    Jeff S:
    Bus Raker:

    GoatCheez:
    On the second error.....

    For some reason, VB programmers don't know how to properly trap errors. Somehow they all know about "On Error Resume Next", but ask them what it actually does and they stare at you with a blank look as if they don't need to know.

    I think in this day and age it's not really appropriate to associate a programmer with a language, given that 95% of us have probably developed in at least 3 languages.

    I think the term you were looking for is 'Beginning programmer that has only programmed in VB'.  There's no such thing as an 'advanced VB programmer' because at that point they wouldn't be using VB except to support legacy applications.  Does anyone really start new projects in VB.Net rather than C#.Net?



    Sure, I do now and then?   Why not?  Because I should be afraid that people like Goat Cheeze will laugh at me?  I think I can handle it.

    It's funny, we often think of programmers as "independant thinkers", those who "don't conform" or who don't worry about what other people think .... but it seems that this fear of using VB or even  considering it to be worthy is the equivalent of peer pressure and the need to be accepted and to avoid being labelled a certain way by others that might not be "cool".  Kind of ironic.  

    All of the signs coming from Microsoft are VB out C# in.  Analyzing the supply and demand will demonstrate why C# coders get paid much more.  Maybe that's why my senior programmer spent $1000's to send me to a 'C# for experienced VB Programmers' class three states away.

    It's your own problem if you are looking for a job in 5 years and you only are confortable in VB, and speak only Latin for that matter.


    Thanks!  That was a close one. I did not realize that if I start a new project in VB.NET it will end up being the only language I am comfortable in and I will end up forgetting any other language that I know and being jobless and wandering the streets speaking only latin in 5-years!   It's a shame that Vb and C# don't share any common libraries or programming concepts...
  • (cs) in reply to Iago
    Iago:
    Haskell, a language so advanced and complex that very few people even grasp its fundamentals

    Few people even graps Haskell's fundamentals because very few people try to, or try to discover functional languages in general. Procedural Programming is still the most popular programming paradigm by far, yes even in Java or in C#.

    When faced with functional programming, most "programmers" shrug, ask how much that'll increase their monthly pay (answer: it probably won't) and forget about it.

    And that's if they even come close to functional programming, which requires a fairly broad mind and not being stuck in the Java/C#/Vb is all i'll ever need" mindset.

  • (cs) in reply to Jeff S
    Jeff S:

    Thanks!  That was a close one. I did not realize that if I start a new project in VB.NET it will end up being the only language I am comfortable in and I will end up forgetting any other language that I know and being jobless and wandering the streets speaking only latin in 5-years!   It's a shame that Vb and C# don't share any common libraries or programming concepts...


    Jeff: Your logic is backwards. You are taking "If a Then b" to also mean "If b Then a". Basic logic taught in basic geometry. I can see now why you are getting so upset.
  • (cs) in reply to GoatCheez
    GoatCheez:
    Jeff S:

    Thanks!  That was a close one. I did not realize that if I start a new project in VB.NET it will end up being the only language I am comfortable in and I will end up forgetting any other language that I know and being jobless and wandering the streets speaking only latin in 5-years!   It's a shame that Vb and C# don't share any common libraries or programming concepts...


    Jeff: Your logic is backwards. You are taking "If a Then b" to also mean "If b Then a". Basic logic taught in basic geometry. I can see now why you are getting so upset.


    uh. ... no.  I asked "why not start a new project in VB".  he gave his answer.  I responded to his answer.  My point was that his answer is not a good one and makes no sense.  You need to pay a little more attention.  If you want to address a "flaw in my logic", please be little more specific, I don't see what your example has to do with anything I wrote. Then again, I do use VB occasionally so I am little simple. :)

    By the way -- in case my lame attempt at humor was missed, the first part was kind of a joke. The last sentence, however, was my main point .  And to clarify:  VB.NET and C# don't just share *some* concepts and libraries, they share *all* of them.  A truly excellent VB.NET programmer, who leverages the .net framework and makes good use of OOP and other .net concepts, who has never even once looked at C# or C++ or JAVA, will be an excellent C# programmer about 2 days after making the switch -- occasional syntax typos and occasional help file lookups notwithstanding.  *That* is the point that everyone seems to ignore and/or not understand.
  • (cs) in reply to Jeff S
    Jeff S:

    Thanks!  That was a close one. I did not realize that if I start a new project in VB.NET it will end up being the only language I am comfortable in and I will end up forgetting any other language that I know and being jobless and wandering the streets speaking only latin in 5-years!   It's a shame that Vb and C# don't share any common libraries or programming concepts...


    It was stated that:
    "if you are only comfortable in VB, and only speak latin, it is your own problem if you are looking for a job in 5 years"

    You took that to mean:
    "If i start a project in VB.net, then I will only be comfortable programming in VB.NET in 5 years, and will be jobless, only speaking latin, and will be wandering the streets.

    That, my friend, is texbook backwards logic.
  • (cs) in reply to Iago
    Iago:
    Bus Raker:

    All of the signs coming from Microsoft are VB out C# in.



    Right.  That's why Microsoft is wasting hundreds of thousands of dollars developing VB 9 - because they're planning to drop the language and promote C#!

    That's why Microsoft has hired some of the smartest people in computer science, like this guy - who was an expert in Haskell, a language so advanced and complex that very few people even grasp its fundamentals, before recently becoming a VB 9 evangelist - to work on enhancing VB even more.

    Er... wait, why are they wasting so much money on a language that's "out"?

    Yeah, I read some articles about it last night.  It seems that C# was more of an attempt to win over the Java crowd then replace VB ... though I'm still fairly convinced C# is getting much more R&D money (aside from the framework R&D).  I'm going to kick the senior programmer in the face for making me switch over cold turkey (then thank him afterwards).

    Iago1 , Bus Raker 0

  • (cs) in reply to Hectore
    Anonymous:

    <FONT face=Verdana size=2>The Language is just a matter of syntaxis...</FONT>

    Uh, yeah, because Haskell and Prolog are just like assembly language but with different syntax. :rolleyes:

  • (cs) in reply to GoatCheez
    GoatCheez:
    Jeff S:

    Thanks!  That was a close one. I did not realize that if I start a new project in VB.NET it will end up being the only language I am comfortable in and I will end up forgetting any other language that I know and being jobless and wandering the streets speaking only latin in 5-years!   It's a shame that Vb and C# don't share any common libraries or programming concepts...


    It was stated that:
    "if you are only comfortable in VB, and only speak latin, it is your own problem if you are looking for a job in 5 years"

    You took that to mean:
    "If i start a project in VB.net, then I will only be comfortable programming in VB.NET in 5 years, and will be jobless, only speaking latin, and will be wandering the streets.

    That, my friend, is texbook backwards logic.


    I give up. I suppose any time you ignore the context of any sentence in any conversation you can blindly draw whatever logical conclusions you want for your own self-satisfaction.
  • DoRo (unregistered)

    Not to ruin all the fun, but to inform, I would inject a quick dose of corporate reality into this thread.

    It is not at all unusual that this type of seemingly obtuse (by modern UI standards) form of input is often a business requirement in high transaction volume applications (i.e. the customer call center for Fortune 100 service mega-corporation). Of course in this event I am also making the assumption that you are dealing with a user group that has had proper training on the usage of the application. Though it does not seem obvious, there are concerns that over a long enough time period all those extra keystrokes (consider that entering '06072006' vs '06/07/2006' actually represents a 20% decrease in effort) subtract profit from the bottom-line.

    Though this sounds like something written by a bean-counter I actually am a software guy. But, I do think this is an excellent example of considering the differences between what have been recently been coined as 'transient' vs 'sovereign' applications.

    In this particular case, however, my instincts tell me that this is just poorly written code by an incompetent contractor who submitted the lowest bid and never tested their own work (which is another corporate reality... sigh).

  • Hectore (unregistered) in reply to iwpg
    iwpg:
    Anonymous:

    <FONT face=Verdana size=2>The Language is just a matter of syntaxis...</FONT>

    Uh, yeah, because Haskell and Prolog are just like assembly language but with different syntax. :rolleyes:

    <FONT face=Verdana size=2>I think we all agreed on the scope and abstraction level of the discussion (Procedural, high level languages)...

    But hell, lets all be sma*t*sses lets talk about RPG too right? </FONT>

     

  • Harsh (unregistered)

    I have a awesome idea!  Let's take every single WTF that there has ever been and turn it into a debate over whether VB is good language or not.

  • (cs)

    It sounds like, in addition to error handling, the SS programmers haven't hear about session identifiers:
    --

    Q   I registered over the Internet and a screen told me that I had successfully registered, only it did not list my name, #, or date. There were dashes "--" in the Selective Service Number field and slashes "//" in the Date of Registration field. What is the problem? Am I registered?

    A   Yes, you are registered and should be receiving an acknowledgment card within 2 weeks. The browser that you are using is not enabled for the use of "cookies" or does not support "cookies". ...<why cookies are so great>
    ---


    And why is it that every warning page on the Net recommends turning on cookies rather than telling users that they can add the site as an exception.

  • xix (unregistered) in reply to Jeff S
    Jeff S:
    GoatCheez:
    Jeff S:

    Thanks!  That was a close one. I did not realize that if I start a new project in VB.NET it will end up being the only language I am comfortable in and I will end up forgetting any other language that I know and being jobless and wandering the streets speaking only latin in 5-years!   It's a shame that Vb and C# don't share any common libraries or programming concepts...


    It was stated that:
    "if you are only comfortable in VB, and only speak latin, it is your own problem if you are looking for a job in 5 years"

    You took that to mean:
    "If i start a project in VB.net, then I will only be comfortable programming in VB.NET in 5 years, and will be jobless, only speaking latin, and will be wandering the streets.

    That, my friend, is texbook backwards logic.


    I give up. I suppose any time you ignore the context of any sentence in any conversation you can blindly draw whatever logical conclusions you want for your own self-satisfaction.


    Off topic, but I've learned that nothing is more fun, and more irritating, than accussing the other party of some logic based fallacy.  To that end, you're all beating the dead horse, Tu Quoque, straw man begging the question of the slippery slope, a implies b except after c.

    captcha=paste
  • (cs) in reply to Jeff S
    Jeff S:
    GoatCheez:
    Jeff S:

    Thanks!  That was a close one. I did not realize that if I start a new project in VB.NET it will end up being the only language I am comfortable in and I will end up forgetting any other language that I know and being jobless and wandering the streets speaking only latin in 5-years!   It's a shame that Vb and C# don't share any common libraries or programming concepts...


    It was stated that:
    "if you are only comfortable in VB, and only speak latin, it is your own problem if you are looking for a job in 5 years"

    You took that to mean:
    "If i start a project in VB.net, then I will only be comfortable programming in VB.NET in 5 years, and will be jobless, only speaking latin, and will be wandering the streets.

    That, my friend, is texbook backwards logic.


    I give up. I suppose any time you ignore the context of any sentence in any conversation you can blindly draw whatever logical conclusions you want for your own self-satisfaction.


    Ummmmm you did exacly what you just described (except for the logic error)... That's all I was pointing out. You took the statement out of context, and formed an illogical conclusion.

    Question:
    Does anyone start a new project in VB.NET as opposed to C#? (assuming they know both)

    What was given (in 5 years time):
    If (personal knowledge of programming is limited to Visual Basic)
       If(personal language is limited to latin)  //(this is kinda beside the point)
            If (personal emplyment is none)
                   Fault of Unemployment = self


    You said:
    If (project is started in VB.NET)
       in (5 years)
          personal knowlege of programming = limited to Visual Basic
          employment = none
          personal language = limited to latin

    BACKWARDS LOGIC

    How can you NOT see this and call yourself a programmer? I think you might need to revisit a class in basic logic.

    Also... If a conclusion is logical, how can it be blindly drawn?
  • (cs) in reply to GoatCheez
    GoatCheez:

    Ummmmm you did exacly what you just described (except for the logic error)... That's all I was pointing out. You took the statement out of context, and formed an illogical conclusion.

    Question:
    Does anyone start a new project in VB.NET as opposed to C#? (assuming they know both)

    What was given (in 5 years time):
    If (personal knowledge of programming is limited to Visual Basic)
       If(personal language is limited to latin)  //(this is kinda beside the point)
            If (personal emplyment is none)
                   Fault of Unemployment = self


    You said:
    If (project is started in VB.NET)
       in (5 years)
          personal knowlege of programming = limited to Visual Basic
          employment = none
          personal language = limited to latin

    BACKWARDS LOGIC

    How can you NOT see this and call yourself a programmer? I think you might need to revisit a class in basic logic.

    Also... If a conclusion is logical, how can it be blindly drawn?


    As I said, I give up.  You got me.  That was very much the argument that I was making.  Clearly you have captured the essence and meaning very accurately of what I was communicating and you have taught me a lesson about both logic and programming that I will not soon forget.  You must be quite a hit at cocktail parties! :)

    It is a shame, though, that I apparently never got an answer to my question ("why not start a new project in VB?")...
  • (cs)

    Unable to save the registration data... you may want to find out why.

  • (cs) in reply to Jeff S
    Jeff S:
    GoatCheez:

    Ummmmm you did exacly what you just described (except for the logic error)... That's all I was pointing out. You took the statement out of context, and formed an illogical conclusion.

    Question:
    Does anyone start a new project in VB.NET as opposed to C#? (assuming they know both)

    What was given (in 5 years time):
    If (personal knowledge of programming is limited to Visual Basic)
       If(personal language is limited to latin)  //(this is kinda beside the point)
            If (personal emplyment is none)
                   Fault of Unemployment = self


    You said:
    If (project is started in VB.NET)
       in (5 years)
          personal knowlege of programming = limited to Visual Basic
          employment = none
          personal language = limited to latin

    BACKWARDS LOGIC

    How can you NOT see this and call yourself a programmer? I think you might need to revisit a class in basic logic.

    Also... If a conclusion is logical, how can it be blindly drawn?


    As I said, I give up.  You got me.  That was very much the argument that I was making.  Clearly you have captured the essence and meaning very accurately of what I was communicating and you have taught me a lesson about both logic and programming that I will not soon forget.  You must be quite a hit at cocktail parties! :)

    It is a shame, though, that I apparently never got an answer to my question ("why not start a new project in VB?")...


    My PERSONAL opinions on when to use VB.NET as opposed to C#:
    1. The manager of the project knows no other language other than VB, and that person needs to review the code.
    2. The people you are working with know no other languages other than VB (6 or .NET).

    My PERSONAL opinions on when to use VB6 as opposed to anything else:
    1. You need a quick interface that may change, and you cannot use .NET for whatever reason. Note, that even though the interface would be in VB6, the backend should be in something else.
    2. You are working with someone who has never used any other language other than VB6.

    Sure, I realize that I kinda answered the opposite question. I did it so that I wouldn't have to writeup the millions of cases otherwise. I'm sure if I thought long and hard I could think of more reasons to use VB, but the ones I have listed are the main ones.

    Fortunately for me, the cocktail parties I goto don't involve programming or logic ;-P.
  • byrmol (unregistered) in reply to Dazed

    My irony-meter really struggles in this forum. But as you seem to be serious ... Anything the business owner of the application is likely to need to change at a day's notice, or which will be subject to regular change, you put in tables. Any logic (s)he's likely to want to change at a month or two's notice you put in the business logic. And anything which is intrinsic to the data and not subject to the owner's whim (e.g. end-date can't be before start-date) you put in your stored procedures. (And yes occasionally you might need to transfer something to a stored procedure to improve performance, but see past threads on this site for appalling examples of premature optimisation.) I hope that no-one seriously thinks the price of the database is a design parameter here.

    I was being serious... but not amount the money...

    Are you being serious when you suggest that business rules are intergrated into various tiers based on the likely timespan between changes?  Shudder....

    What is the difference between "business logic", "business rules" and "data integrity"?

    I'll give you a hint... Nothing...

  • taryn (unregistered) in reply to Hectore
    Anonymous:
    iwpg:
    Anonymous:

    <font face="Verdana" size="2">The Language is just a matter of syntaxis...</font>

    Uh, yeah, because Haskell and Prolog are just like assembly language but with different syntax. :rolleyes:

    <font face="Verdana" size="2">I think we all agreed on the scope and abstraction level of the discussion (Procedural, high level languages)...

    But hell, lets all be sma*t*sses lets talk about RPG too right? </font>

     


    Ah, so you're saying that COBOL is the same as Ruby... except for the syntax?

  • (cs) in reply to GoatCheez
    GoatCheez:

    My PERSONAL opinions on when to use VB.NET as opposed to C#:
    1. The manager of the project knows no other language other than VB, and that person needs to review the code.
    2. The people you are working with know no other languages other than VB (6 or .NET).

    My PERSONAL opinions on when to use VB6 as opposed to anything else:
    1. You need a quick interface that may change, and you cannot use .NET for whatever reason. Note, that even though the interface would be in VB6, the backend should be in something else.
    2. You are working with someone who has never used any other language other than VB6.

    Sure, I realize that I kinda answered the opposite question. I did it so that I wouldn't have to writeup the millions of cases otherwise. I'm sure if I thought long and hard I could think of more reasons to use VB, but the ones I have listed are the main ones.

    Fortunately for me, the cocktail parties I goto don't involve programming or logic ;-P.


    Thanks .... but, it's still a shame that I still don't have an answer to my question ("why not start a new project in VB?")...
  • (cs) in reply to Jeff S
    Jeff S:
    GoatCheez:

    My PERSONAL opinions on when to use VB.NET as opposed to C#:
    1. The manager of the project knows no other language other than VB, and that person needs to review the code.
    2. The people you are working with know no other languages other than VB (6 or .NET).

    My PERSONAL opinions on when to use VB6 as opposed to anything else:
    1. You need a quick interface that may change, and you cannot use .NET for whatever reason. Note, that even though the interface would be in VB6, the backend should be in something else.
    2. You are working with someone who has never used any other language other than VB6.

    Sure, I realize that I kinda answered the opposite question. I did it so that I wouldn't have to writeup the millions of cases otherwise. I'm sure if I thought long and hard I could think of more reasons to use VB, but the ones I have listed are the main ones.

    Fortunately for me, the cocktail parties I goto don't involve programming or logic ;-P.


    Thanks .... but, it's still a shame that I still don't have an answer to my question ("why not start a new project in VB?")...


    If the above doesn't apply, then choosing VB is a poor choice imho. It's a poor choice for many reasons.

    1. The semantics of VB changed from 6 to .NET (might've also changed from earlier versions as well). Pretty sure that never happens to other languages. Since they've changed once, who's to say that they'll never be changed again?
    2. Microsoft maintains control of VB, because of this VB is pretty much Windows only.
    3. If a person doesn't know VB, and you want them to do a project in VB, that's like telling a skilled construction worker to build a window frame out of legos as opposed to wood.
    4. Because Microsoft owns VB, you are pretty much limited to their IDE and compiler (this has changed somewhat with .NET)
    5. If you are doing driver development........ (I think I can leave WHY out)
    6. If you want to support systems that don't have the visual basic runtime library installed, then you can't use VB.
    7. If you are programming algorithms that need to execute as fast as possible, then VB is the worst choice (even in .NET... it's surprising but IL generated from VB code just isn't as fast as C#'s... You CAN make it as fast, but you are required to know all of the optimization techniques to do so, whereas in C#, as long as you know C# you get all of the speed benefits. Granted, the advantage is minimal and will only really manifest iteself in certain situations).
    8. If you plan on using any "advanced" language features (inheritance, interfaces, overriding, shared members, and overloading), then note that they were only just introduced to VB in 2005. (So if you need to use an earlier versino of .NET, you are out of luck).

    I'm sure I can continue to keep coming up with more reasons, but I think I have enough. IMHO, VB is just a poorly designed language. Significant features keep getting tacked onto it, and steps in the compiler are taken to retain backwards compatibility. Because of this, the language is held back. It could be a truely great language, but the powers at be want to make sure that programmers can convert their code as easily as possible between versions. How many VB programmers really know that when comparing strings in VB, it's faster to do s1.Equals(s2) as opposed to (s1 = s2) (although they are technically different in function as well!). It's the little things that kill.

    Well, there it is. I spelled it out. All it takes is a little research.
  • (cs) in reply to GoatCheez

    GoatCheez:

    8. If you plan on using any "advanced" language features (inheritance, interfaces, overriding, shared members, and overloading), then note that they were only just introduced to VB in 2005. (So if you need to use an earlier versino of .NET, you are out of luck).

    Actually VB.NET 1.0 generally released in 2002 had inheritance, interfaces, overriding, shared members and overloading.  VB.NET 2.0 introduced in 2005 does add several new features, but most of those are to .NET versus a specific language like VB.NET. 

  • (cs) in reply to GoatCheez
    GoatCheez:

    If the above doesn't apply, then choosing VB is a poor choice imho. It's a poor choice for many reasons.

    1. The semantics of VB changed from 6 to .NET (might've also changed from earlier versions as well). Pretty sure that never happens to other languages. Since they've changed once, who's to say that they'll never be changed again?
    2. Microsoft maintains control of VB, because of this VB is pretty much Windows only.
    3. If a person doesn't know VB, and you want them to do a project in VB, that's like telling a skilled construction worker to build a window frame out of legos as opposed to wood.
    4. Because Microsoft owns VB, you are pretty much limited to their IDE and compiler (this has changed somewhat with .NET)
    5. If you are doing driver development........ (I think I can leave WHY out)
    6. If you want to support systems that don't have the visual basic runtime library installed, then you can't use VB.
    7. If you are programming algorithms that need to execute as fast as possible, then VB is the worst choice (even in .NET... it's surprising but IL generated from VB code just isn't as fast as C#'s... You CAN make it as fast, but you are required to know all of the optimization techniques to do so, whereas in C#, as long as you know C# you get all of the speed benefits. Granted, the advantage is minimal and will only really manifest iteself in certain situations).
    8. If you plan on using any "advanced" language features (inheritance, interfaces, overriding, shared members, and overloading), then note that they were only just introduced to VB in 2005. (So if you need to use an earlier versino of .NET, you are out of luck).

    I'm sure I can continue to keep coming up with more reasons, but I think I have enough. IMHO, VB is just a poorly designed language. Significant features keep getting tacked onto it, and steps in the compiler are taken to retain backwards compatibility. Because of this, the language is held back. It could be a truely great language, but the powers at be want to make sure that programmers can convert their code as easily as possible between versions. How many VB programmers really know that when comparing strings in VB, it's faster to do s1.Equals(s2) as opposed to (s1 = s2) (although they are technically different in function as well!). It's the little things that kill.

    Well, there it is. I spelled it out. All it takes is a little research.


    I guess I should have re-established the context of my original question ... of course I am not talking about VB <=6.  and the topic was why it would be a bad idea to start a new project in VB as opposed to C#.

    It is hard to take your opinions seriously since you are failing to recognize that MS made *huge* strides when developing VB.NET when it came to abandoning the old "BASIC" stuff, breaking compatability, and essentially re-inventing the language.  

    Also, and please do not get upset about this, but the following statement:

    >>If you plan on using any "advanced" language features (inheritance, interfaces, overriding, shared members, and overloading), then note that they were only just introduced to VB in 2005. (So if you need to use an earlier versino of .NET, you are out of luck).

    shows that you know absolutely nothing about VB.NET since it is completely, 100% wrong.  It is amazing that you feel qualified to debate on this topic based on that statement.  Just about the only useful thing missing from VB.NET was operator overloading prior to 2005.  (and even the usefulness of that feature is debatable)

    So, thanks for your time, but you've added nothing to the discussion other than your biased viewpoint of why "VB Sucks dude! it is for newbies!".


  • (cs) in reply to Jeff S
    Jeff S:

    It is hard to take your opinions seriously since you are failing to recognize that MS made *huge* strides when developing VB.NET when it came to abandoning the old "BASIC" stuff, breaking compatability, and essentially re-inventing the language.  


    If they broke compatibility, then s1 = s2 would produce the same code as s1.Equals(s2). It doesn't because of compatibility with older versions. Read some of the articles I posted links to.

    Jeff S:

    Also, and please do not get upset about this, but the following statement:

    >>If you plan on using any "advanced" language features (inheritance, interfaces, overriding, shared members, and overloading), then note that they were only just introduced to VB in 2005. (So if you need to use an earlier versino of .NET, you are out of luck).

    shows that you know absolutely nothing about VB.NET since it is completely, 100% wrong.  It is amazing that you feel qualified to debate on this topic based on that statement.  Just about the only useful thing missing from VB.NET was operator overloading prior to 2005.  (and even the usefulness of that feature is debatable)


    It is not 100% wrong. I took that information from a VB "specialist". (If it was 100% wrong, then the operator overloading part of it would also be wrong.) It did seem quite outrageous to me that the other features were not in 2002 (even though I coulda swore that I used the features).

    All of the points I had made were refering to VB.NET. Do some research. Stop making personal attacks. If you feel that you need to attack my character to back your viewpoint, then your viewpoint isn't in a very strong position.

    Microsoft is trying to make C# a robust, well structured, feature rich language. Microsoft is trying to make VB the ultimate high-level language. Eventually, I can see a vb "program" that looks like:

    Make Program To Do What I Want

    Until a program looks like that, microsoft will continue with modifying the language...

    <joke>
    I mean c'mon ppl! Just look at the features for 9!!!
    </joke>


  • (cs) in reply to GoatCheez

    GoatCheez:

    If they broke compatibility, then s1 = s2 would produce the same code as s1.Equals(s2). It doesn't because of compatibility with older versions. Read some of the articles I posted links to.

     

    Huge flaw in your logic here.  Your example only shows at best that compatibility was not broken in every casse.  Try taking a large and complex VB 6 app and compliling it in VB.NET.  You want get a very high success rate without fixing numerous compile errors because compatibility was broken.  While some backwards compatibility to previous VB code was retained in VB.NET, there are many instances where backwards compatibility was broken in VB.NET.  In fact by most expert accounts the VB language was completely rewritten with VB.NET.  Sure the rewrite contained some backwards compatible features, but far less than any previous upgrade of the VB language. 

  • (cs) in reply to lrb
    lrb:

    GoatCheez:

    If they broke compatibility, then s1 = s2 would produce the same code as s1.Equals(s2). It doesn't because of compatibility with older versions. Read some of the articles I posted links to.

     

    Huge flaw in your logic here.  Your example only shows at best that compatibility was not broken in every casse.  Try taking a large and complex VB 6 app and compliling it in VB.NET.  You want get a very high success rate without fixing numerous compile errors because compatibility was broken.  While some backwards compatibility to previous VB code was retained in VB.NET, there are many instances where backwards compatibility was broken in VB.NET.  In fact by most expert accounts the VB language was completely rewritten with VB.NET.  Sure the rewrite contained some backwards compatible features, but far less than any previous upgrade of the VB language. 



    Jeff's statement implied that most if not all compatibility was broken, and that nothing was done to preserve any compatibility. I simply pointed out how that was not true. I agree that VB.NET is a totally different language than VB6, which furthers my point on how the language undergoes too many changes to be considered a stable programming environment. I would be willing to bet that the next version of vb.net will breat the string comparison by producing the same IL code that gets procuded when using the Equals function.
  • (cs) in reply to GoatCheez
    GoatCheez:
    Jeff S:

    It is hard to take your opinions seriously since you are failing to recognize that MS made *huge* strides when developing VB.NET when it came to abandoning the old "BASIC" stuff, breaking compatability, and essentially re-inventing the language.  


    If they broke compatibility, then s1 = s2 would produce the same code as s1.Equals(s2). It doesn't because of compatibility with older versions. Read some of the articles I posted links to.


    I've got to repeat this one:

    "If they broke compatability, then s1=s2 would produce the same code as s1.Equals(s2). It doesn't because of compatibility with older versions. Read some of the articles I posted links to."

    OK.  Ummm ... let's just move on, I'll give you a mulligan on that one.  (I love the irony of you finding flaws in my logic and asking me to do research .. he he )  You are telling me that because those two statements do not produce the same code, VB.NET is backwards compatability with VB6.  If you are *not* saying that (even though you did :) ) then please try to clearly state your point.

    GoatCheez:

    Jeff S:

    Also, and please do not get upset about this, but the following statement:

    >>If you plan on using any "advanced" language features (inheritance, interfaces, overriding, shared members, and overloading), then note that they were only just introduced to VB in 2005. (So if you need to use an earlier versino of .NET, you are out of luck).

    shows that you know absolutely nothing about VB.NET since it is completely, 100% wrong.  It is amazing that you feel qualified to debate on this topic based on that statement.  Just about the only useful thing missing from VB.NET was operator overloading prior to 2005.  (and even the usefulness of that feature is debatable)


    It is not 100% wrong. I took that information from a VB "specialist". (If it was 100% wrong, then the operator overloading part of it would also be wrong.) It did seem quite outrageous to me that the other features were not in 2002 (even though I coulda swore that I used the features).

    Yes. it is 100% wrong.  If your argument is that the average VB programmer isn't aware of these features, then consider actually saying that.  I cannot read your mind.  I still don't know, based on what you wrote, if you understand whether or not VB.NET 2003 supports these features.  If you are claiming ignorance about the topic because that's what "VB specialists" have told you about VB, then again, I have no idea what your point is.  It is helpful in an intelligent discussion/debate to actually attempt to clearly make your statements. 

    GoatCheez:

    All of the points I had made were refering to VB.NET. Do some research. Stop making personal attacks. If you feel that you need to attack my character to back your viewpoint, then your viewpoint isn't in a very strong position.


    Let's repeat that first part again:

    "All of the points I had made were refering to VB.NET."

    You made 8 points, and you just told me that ALL of your points were referring to VB.NET.  Let's review how many of your posts refered to VB.NET and not other versions of VB:
    GoatCheez:

    1. The semantics of VB changed from 6 to .NET (might've also changed from earlier versions as well). Pretty sure that never happens to other languages. Since they've changed once, who's to say that they'll never be changed again?


    0 for 1.  The transition from VB6 to .NET has *nothing* to do with VB.NET. VB.NET is done. They broke compatability, made a big change to the language, made it CLR compliant, added all of those features that you never heard of, and it is up and running.  Any further changes will be syntax, IDE features or CLR changes that affect all of the CLR languages.

    GoatCheez:

    2. Microsoft maintains control of VB, because of this VB is pretty much Windows only.


    Not sure what your point is.  A nice opinion, but means nothing.  Microsoft maintains control of C#, T-SQL, ASP.NET, and other technologies.  Many of those run only in windows.  if your point is to avoid MS technologies, then again, consider actually saying that!  It makes  things so much easier.   oh, and there are movements to port .net to other platforms (the mono project) and so on.

    so, 0-2 so far ....

    GoatCheez:

    3. If a person doesn't know VB, and you want them to do a project in VB, that's like telling a skilled construction worker to build a window frame out of legos as opposed to wood.


    Noting to do with VB.NET at all.  0-3.  You are supposed to be proving this point to me, not restating your opinion on the merits of VB.  your statement equates to "VB is bad because I think VB is bad."

    GoatCheez:

    4. Because Microsoft owns VB, you are pretty much limited to their IDE and compiler (this has changed somewhat with .NET)

    Specifically covers non-VB.NET.  0-4
    GoatCheez:

    5. If you are doing driver development........ (I think I can leave WHY out)

    Interesting one.  So this is reason #5 why "it is not a good idea to start a new project in VB.NET?"  Because it is a bad language to write drivers in?  Ok, thanks for the tip.  this also applies to HTML, T-SQL, Java, ASP, LISP, COBOL, Pascal and probably many others.   If you can expand upon this point specifically as to why this is a reason to avoid VB.NET when beginning a new project, please do so.

    0 for 5.

    GoatCheez:

    6. If you want to support systems that don't have the visual basic runtime library installed, then you can't use VB.

    0 for 6 .. and badly in this case.  Time to do your research.  This clearly applies to VB<=6, and also (as I am sure you know) most other languages, even Visual C++.  As for VB.NET, if you want to critize the language since it has a need for the .net framework being installed, then again, I suggest you actually say it; and, of course, that has nothign to do with why starting a new project in VB.NET as opposed to C# would be a bad idea.

    GoatCheez:

    7. If you are programming algorithms that need to execute as fast as possible, then VB is the worst choice (even in .NET... it's surprising but IL generated from VB code just isn't as fast as C#'s... You CAN make it as fast, but you are required to know all of the optimization techniques to do so, whereas in C#, as long as you know C# you get all of the speed benefits. Granted, the advantage is minimal and will only really manifest iteself in certain situations).


    you know, I'll give you this one.  1 for 7. Why not?.  Maybe you save a few cycles here and there depending on how things are compiled.   even though is really doubtful that just by me firing up C#, I automatically know how to write optimized code, but if I fire up VB, then I don't..  (I suspect you will ignore every other point in this post and find a logical infallacy in that statement -- I don't doubt there is one -- to prove how wrong I am. have at it)

    GoatCheez:

    8. If you plan on using any "advanced" language features (inheritance, interfaces, overriding, shared members, and overloading), then note that they were only just introduced to VB in 2005. (So if you need to use an earlier versino of .NET, you are out of luck).


    And, as we clearly showed, wrong again. So, you ended up 1 for 8.  And you said that every point you made was specific to VB.NET.  Ughh.

    GoatCheez:

    Microsoft is trying to make C# a robust, well structured, feature rich language. Microsoft is trying to make VB the ultimate high-level language. Eventually, I can see a vb "program" that looks like:

    Make Program To Do What I Want

    Until a program looks like that, microsoft will continue with modifying the language...

    <joke>
    I mean c'mon ppl! Just look at the features for 9!!!
    </joke>


    That's a great opinion from someone who, unfortunatley, has proven to not know much about VB.NET at all. If you consdier that a personal attack at your character or something, then again, I apologize.  Just stating the facts.

  • (cs) in reply to Jeff S

    Fine. My written language inefficiencies have lead me down a path I can never return from. However....

    1. It has everything to do with VB.NET. Are you seriously going to tell me that you are 100% positive that none of the language semantics of VB2002 will be changed in VB9? Or later versions?

    2. I wasn't trying to say avoid MS technologies, I was trying to say that if you use a technology that is reliant upon a company, then that company can do anything they want to it regardless of what the community using the technology wants. I probably should have said that to begin with. Also, even though there is a huge movement to implement the .NET runtime in an open-source environment, there is actually less work going towards making a VB.NET compiler for that environment. Mono is written in C#. I've used some of the mono source as a base for some controls I needed to modify because of performance issues. (internal projects only)

    Jeff S:
    GoatCheez:

    3. If a person doesn't know VB, and you want them to do a project in VB, that's like telling a skilled construction worker to build a window frame out of legos as opposed to wood.

    Noting to do with VB.NET at all.  0-3.  You are supposed to be proving this point to me, not restating your opinion on the merits of VB.  your statement equates to "VB is bad because I think VB is bad."


    How does it have nothing to do with VB.NET? If you have a person who is skilled in C#, and you want them to do a project in VB.NET, it's a REALLY bad idea. A strict VB programmer know of it's intricacies (like the string thing I keep referring to), while the C# programmer would not. The program will come out worse if the C# programmer does it in VB.NET (as opposed to if they did it in what they are comfortable with).

    4. Ok, so this doesn't really specifically tackle anything related to VB.NET I guess.....

    5. It's a bad idea to write a driver in any language other than C, C++, or Assembly. A driver is a project. A project is new if it does not exist already.

    6. Yes, this also applies to ANY .NET language. Not all systems have the .NET runtime. This was also more of a "Why is it bad to use .NET"

    8. Even though the others were always there, operator overloading can be a huge feature. Also, this was refering to VB.NET.... and you were trying to prove that I wasn't even thinking of VB.NET, and counted this towards a non-vb.net statement.... Whatever....

    I'll finish with a question:
    Why would starting a new project in VB.NET as opposed to C# be a good idea.
    (try to refrain from using "because I or my manager know(s) VB" as an answer)

  • (cs) in reply to GoatCheez
    GoatCheez:


    How does it have nothing to do with VB.NET? If you have a person who is skilled in C#, and you want them to do a project in VB.NET, it's a REALLY bad idea. A strict VB programmer know of it's intricacies (like the string thing I keep referring to), while the C# programmer would not. The program will come out worse if the C# programmer does it in VB.NET (as opposed to if they did it in what they are comfortable with).


    Man, you are all over the place .. it's a little hard to keep you focused on the topic at hand ...  OK, I agree:  A programmer who is an expert in a particular language  will program better in that language than in a language he is not an expert in .. While that has absolutely nothing to do with the merits of VB.NET and it has no relevance whatsoever on anything we've been discussing, I suppose that is good to know, so thanks.

    Why is it a good idea to start a project in VB.NET?   If I am a good programmer, and it is possible to write good code in language X, and that language has the features I need to get my job done, and I know that language well, and it is widely supported and stable, then I can't think of a good reason *not* to.  Remember -- my goal is not to convince you or anyone else that you *should* be using VB.NET.  I don't care.  I just don't understand why people like yourself feel the need to be preachy towards others and to criticze those who *do* use it, and why it makes you feel superior that you don't. Get over yourself. 

    Maybe *you* prefer C#.  You like the syntax.  You had bad experiences wtih VB6.  You used op overloading a lot in 1.1 and needed to.  Those are all great reasons to avoid VB.  And good for you.
      I just don't understand why someone in that position feels the need to stop everyone *else* from using it.

    In closing, I have a question for you -- which language (VB.NET or C#) do you think that I prefer to code in?  The answer might surprise you.
  • (cs) in reply to Jeff S
    Jeff S:
    GoatCheez:


    How does it have nothing to do with VB.NET? If you have a person who is skilled in C#, and you want them to do a project in VB.NET, it's a REALLY bad idea. A strict VB programmer know of it's intricacies (like the string thing I keep referring to), while the C# programmer would not. The program will come out worse if the C# programmer does it in VB.NET (as opposed to if they did it in what they are comfortable with).


    Man, you are all over the place .. it's a little hard to keep you focused on the topic at hand ...  OK, I agree:  A programmer who is an expert in a particular language  will program better in that language than in a language is is not an expert in .. While that has absolutely nothing to do with the merits of VB.NET and it has no relevance whatsoever on anything we've been discussing, I suppose that is good to know, so thanks.


    No, it is relevant. You asked "why not start a new project in VB?", and I gave a scenario where it would be a bad idea. Just because the language chosen doesn't have anything to do with the reasoning doesn't mean that the scenario is invalid.
  • (cs) in reply to GoatCheez
    GoatCheez:

    No, it is relevant. You asked "why not start a new project in VB?", and I gave a scenario where it would be a bad idea. Just because the language chosen doesn't have anything to do with the reasoning doesn't mean that the scenario is invalid.


    Ok, you've strung me along with this enough.  ha ha. you got me.  seriously, I've got to stop falling for this trolling stuff and not assume that everyone is actually trying sincerely to discuss the topic ...  go ahead, laugh it up ...

Leave a comment on “Form Invalidation”

Log In or post as a guest

Replying to comment #:

« Return to Article