Slashdot Mirror


Why Visual Basic 6 Still Thrives

theodp writes "Microsoft recently extended 'It Just Works' compatibility for Visual Basic 6 applications through the full lifetime of Windows 8, so VB6 apps will have at least 24 years of supported lifetime (VB6 shipped in '98). So why has VB6, 'the un-killable cockroach' in the Windows ecosystem, managed to thrive? 'Cockroaches are successful because they're simple,' explains David S. Platt. 'They do what they need to do for their ecological niche and no more. Visual Basic 6 did what its creators intended for its market niche: enable very rapid development of limited programs by programmers of lesser experience.' But when Microsoft proudly trotted out VB.NET, the 'full-fledged language' designed to turn VB6 'bus drivers' into 'fighter pilots,' they got a surprise. 'Almost all Visual Basic 6 programmers were content with what Visual Basic 6 did,' explains Platt. 'They were happy to be bus drivers: to leave the office at 5 p.m. (or 4:30 p.m. on a really nice day) instead of working until midnight; to play with their families on weekends instead of trudging back to the office; to sleep with their spouses instead of pulling another coding all-nighter and eating cold pizza for breakfast. They didn't lament the lack of operator overloading or polymorphism in Visual Basic 6, so they didn't say much.'"

406 comments

  1. Might as well... by Anonymous Coward · · Score: 0, Flamebait

    Might as well have "why .NET still thrives", or "why Java still thrives" in the thread title.

    1. Re:Might as well... by ProDeveloper · · Score: 1, Interesting

      .NET is actually awesome, especially when used with C#. Java is too much bloat and slow and needs to die. But .NET is awesome and targets all PC, XBOX360 and Windows Phone 7. And you can use the best IDE on the planet, Visual Studio, to develop.

    2. Re:Might as well... by O('_')O_Bush · · Score: 2, Funny

      So much troll, so few words.

      --
      while(1) attack(People.Sandy);
    3. Re:Might as well... by jellomizer · · Score: 5, Insightful

      .NET thrive is because the Visual Studio IDE demands it, unless you are doing C++. The basic rule of thumb, if you are going to be writing programs for windows you use Visual Studio. Now .NET as a language isn't that bad, I actually like it. What I hate is the Virtual Machine nonsense, that only works on Windows Systems, yet it is still virtualized so it runs slow. It combines the worst attributes of the VB6 world and the Java World. If Visual Studio gave people a non .NET option for VB (a VB 7 per say) then I would expect VB 6 dyeing out and .NET wouldn't have caught on. It would have been an other J++

      Java success is in the fact you can write code and run it nearly every modern system out there. And you code isn't scripted but in a way that can be closed source (Not all developers want their code Open Source) Also Java has a good set of quality IDEs Netbeans, Eclipse are a few of them, and they are really good at Java Coding.

      Why do we want VB6 to die more then the others?
      1. It is a platform for unstable applications. VB6 Apps have a tendencies of getting corrupted and random deaths where you need to reinstall them.
      2. Visual Studio 6 needs to run on Newer OS's Windows 7 64 bit... Windows 8?
      3. You cannot buy the media/licenses directly anymore. If you are going to grow you company you cannot stick on a tool where you cannot get legal licenses as your company grows.
      4. Young Whipper Snappers don't want to use it. (We are at a point where we have a lot of software developers retiring) And we need to replace them with younger blood. The problem is the young guys do not want to use it.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    4. Re:Might as well... by Dr_Barnowl · · Score: 4, Informative

      The VB6 compiler produced native code. Most of the sloth came from the runtime libraries, and most of that from string handling : rolling your own StringBuilder class fixes most of that.

      Java has the same issues, also using an immutable string class, but they fixed it by hacking the compiler to recognise where you are doing string concatenation in a loop and make a StringBuilder out of it instead. .NET also produces native code, eventually.

      Performance problems in any of them are usually down to bad algorithms, or using a mass of bloaty libraries to compensate for a lack of time.

    5. Re:Might as well... by Anonymous Coward · · Score: 0

      Yeah just don't try to free lots of memory in VB6!!!

      Go ahead and try it...

    6. Re:Might as well... by idbeholda · · Score: 3, Funny

      This is why when I develop applications with VB6, if I'm not satisfied with the speed, I typically use ASM as a back engine, and have the main interface and said engine communicate back and forth via commandlines and/or files. It might not be the most elegant solution, but it works in terms of stability and usability.

    7. Re:Might as well... by Anonymous Coward · · Score: 1

      I'm not surprised it gets modded as 'troll' on Facebook

      Not sure if trolling or just idiot. Either is pretty lame.

    8. Re:Might as well... by Anonymous Coward · · Score: 3, Insightful

      I am not sure the stereotypes Platt is describing really make sense. I know plenty of non-vb6 coders who work 40 hour weeks and actively avoid jobs where they must work evenings and weekends (myself included). I would imagine that plenty of vb6 programmers started working these kinds of hours after the .com bubble popped, for fear of losing their jobs otherwise (until they burned out, of course).

      A career in tech is bad enough as it is....no opportunity for upward mobility without shifting to a completely different role that requires a completely different set of skills and training....a tight ceiling on the salary....spending most of your day typing on a computer rather than socializing...and so on. Working long hours without at least collecting overtime pay for them just adds injury to insult.

      The only reasons I can imagine that people put up with that are:

      1) you are programming games or something and as such really enjoy the work, and would work such crazy hours on your hobby projects completely unpaid if you could
      2) You are making half a million a year (or more)
      3) you are easy to bully and don't have any social skills (hence no social life) and no sense of your actual market value, so you let yourself be exploited.

      I can't imagine that the majority of software developers fall into these categories. They simply must be the minority. Or am I just being totally egocentric and ignorant here?

    9. Re:Might as well... by gbjbaanb · · Score: 5, Informative

      3, and 4 are fair points. 1 and 2 are just wrong. VB6 apps are no worse than any other, and you can run VB6 on windows 7 64bit with a patch that you can download from MS.

      I do think that VB7 would have killed .NET dead, which is exactly why they didn't make one. I understand MS wanted the original .NET to be much more VB compatible, but the .NET guys didn't (or rather couldn't) want to do this, they wanted to make their own version of Java and nothing was going to stop them. Well, until today when MS has realised .NET performance and efficiency is crap and they need to go back to native code. Maybe now they'll make a VB7 that is geared toward quick-n-easy Metro apps, then Windows8 might actually become popular.

    10. Re:Might as well... by Anonymous Coward · · Score: 0

      Point 1 is bs. 12 years of an app running must make it unstable, especially since it has never needed to be reinstalled. Vb6 does its job, anything more serious and I jump to C++.

    11. Re:Might as well... by benjfowler · · Score: 5, Insightful

      Java itself is a simple and clean language, and is not that bloated by current standards.

      I think it gets a bad rap, because people think 'applets', or 'J2EE', or worse yet, the countless piles of crap foisted upon them at work, known as 'enterprise software'.

      The objective reality, I think, is quite different from often-mistaken perception -- I've seen both garbage and masterpieces written in everything from Ruby, to VB6, to Java, to Perl. Depends on the programmer, not the tools or languages.

    12. Re:Might as well... by Sperbels · · Score: 3, Informative

      It is a platform for unstable applications. VB6 Apps have a tendencies of getting corrupted and random deaths where you need to reinstall them.

      Been using it since release. This is total BS. It is very stable.

      Visual Studio 6 needs to run on Newer OS's Windows 7 64 bit... Windows 8?

      What? I'm still running it on Win XP, Server 2003, 2008, Vista, and 7. WTF?

    13. Re:Might as well... by Nursie · · Score: 3, Interesting

      No, you're quite right. Most coders, even most of the extremely good and very productive ones, work the working week then go on to have some sort of a life outside work.

      Working insane hours is acceptable for short bursts at crunch time. If it's consistently expected or needed then it's a management failure.

    14. Re:Might as well... by Lisias · · Score: 5, Interesting

      The objective is to spread FUD, taking advantage of a mass of lost, blind followers that had given up their theological believes to embrace a new, technological religion.

      Java is not bloated, neither slow or sluggish or whatever. But your applications can be bloated, slow and sluggish if you hire bloated, slow and sluggish minded programmers to do the job. .NET is not better than anything, but it's not worst neither. The Object Model shines sometimes (Microsoft hired the guy behing Borlands's Object Pascal Windows Library). I would even consider a .NET career if it was not backed up by Microsoft - I'm already burned by Microsoft technologies twice, I can pass the third. =]

      Ruby? Marvelous language. I loved every day I spent learning it. But I took Python to day to day business - I ended up more productive (and my services, less machine demanding) using Python. Nice API, by the way - but the lack of threading sucks.

      I also made some good projects in VB6 and Perl also. I prefer not doing it again, however.

      VB6 is, really, very limited on modern programming technics (but something can be done, nevertheless - I just think I can do it easier on another language).

      Perl is too much different from anything else to make me fell comfortable on it.

      On the long run, no matter how many languages I deal with - the unique one that is omnipresent is C. It saved my sorry ass countless times.

      --
      Lisias@Earth.SolarSystem.OrionArm.MilkyWay.Local.Virgo.Universe.org
    15. Re:Might as well... by knuthin · · Score: 5, Informative

      Now .NET as a language isn't that bad, I actually like it..

      .NET as a language isn't that bad because it's not a language. It's a frikkin framework.

      --
      Some apps are WYSIWYG. Some others are WYSIWTF.
    16. Re:Might as well... by icebraining · · Score: 4, Insightful

      Just because Bonamassa can make good music from a $30 guitar doesn't mean the guitar isn't shit. The fact that a good programmer can write a good programing a crappy language doesn't mean the language isn't bad. It just means the programmer is good enough to overcome the warts.

    17. Re:Might as well... by icebraining · · Score: 4, Funny

      How I envy the guy who will have to port your software to another OS or architecture /s

    18. Re:Might as well... by Anonymous Coward · · Score: 0

      The basic rule of thumb, if you are going to be writing programs for windows you use Visual Studio

      Yes, but if you want to write REAL programs for Windows, you use QT.

    19. Re:Might as well... by BanHammor · · Score: 2

      Quicktime won't cut it.

    20. Re:Might as well... by netsavior · · Score: 3, Informative

      Yeah just don't try to free lots of memory in VB6!!!

      Go ahead and try it...

      or .net or java or any common application like firefox or chrome. Modern development doesn't free memory, it restarts/launches a new process. Garbage collection has been a joke since before we started measuring ram in gb instead of mb.

    21. Re:Might as well... by Nimatek · · Score: 1

      Java is simple in the least common denominator way. The language is very limited, and because it is so inexpressive and full of boilerplate it's the opposite of 'clean'. But those limitations allow low to medium skilled teams to produce code of a somewhat consistent quality, which is why it is so popular in enterprise.

    22. Re:Might as well... by dkf · · Score: 2

      Java has the same issues, also using an immutable string class, but they fixed it by hacking the compiler to recognise where you are doing string concatenation in a loop and make a StringBuilder out of it instead.

      That was always how Java did string concatenation (except in the cases where the compiler detecting it was concatenating literals, where it did the obvious optimization) and it's the only sane way to do it if you're not using a mutable string model and yet still have string identity other than by value. (Languages that don't expose object identity can pull some clever tricks to hide the details.) If you're ever stuck trying to optimize some Java code, the first thing to look for is whether they are doing string concatenation in a loop; if they are, expose the StringBuilder and go from quadratic to (amortized) linear performance, a very nice win for a virtually-mechanical change.

      Well, technically Java used a StringBuffer in 1.4 and before, which is just like a StringBuilder but thread-synchronized (and that was a mysterious decision, which is why it was changed).

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    23. Re:Might as well... by maxwell+demon · · Score: 1

      How I envy the guy who will have to port your software to another OS or architecture /s

      Well, since the code is VB6 and asm, that guy has a good excuse to write it new instead of trying to port it. Which probably ends up producing better code. Provided he is a good programmer, of course.

      --
      The Tao of math: The numbers you can count are not the real numbers.
    24. Re:Might as well... by QuantumLeaper · · Score: 1

      A good programmer, the languages are the tools.

    25. Re:Might as well... by Curunir_wolf · · Score: 3, Insightful

      Exactly. VB6 is crap, but when the customer has an application they like, with lots of functionality, they are NOT going to pay to re-write it in something else just because some developer would prefer to use something different. If they need a minor change they are going to find somebody to spend a day or two making the changes in VB6, no matter how many developers keep telling them they need to spend a few weeks or months to update it to some other language.

      --
      "Somebody has to do something. It's just incredibly pathetic it has to be us."
      --- Jerry Garcia
    26. Re:Might as well... by Curunir_wolf · · Score: 1

      2. Visual Studio 6 needs to run on Newer OS's Windows 7 64 bit... Windows 8?

      It doesn't, actually. I can't make it work sufficiently to use. The compiled app works, but I have to maintain an XP system to do VB6 development.

      --
      "Somebody has to do something. It's just incredibly pathetic it has to be us."
      --- Jerry Garcia
    27. Re:Might as well... by WrecklessSandwich · · Score: 1

      This is why when I develop applications with VB6, if I'm not satisfied with the speed, I typically use ASM as a back engine, and have the main interface and said engine communicate back and forth via commandlines and/or files. It might not be the most elegant solution, but it works in terms of stability and usability.

      I can't wait for the Daily WTF post.

    28. Re:Might as well... by Anonymous Coward · · Score: 0

      > I do think that VB7 would have killed .NET dead, which is exactly why they didn't make one.

      They actually did make VB7 as a backup plan. It was in beta when they announced the whole .NET initiative.

      The whole point of .NET was to sweep all the COM crap under the rug. (COM was a disaster for web applications.) It wasn't until 4.0 that interop really worked smoothly; had they built-in some of that from the beginning, it would have been a more 'natural' VB replacement.

    29. Re:Might as well... by SteveFoerster · · Score: 2

      ...and they'll be right to do so.

      --
      Space game using normal deck of cards: http://BattleCards.org
    30. Re:Might as well... by hairyfeet · · Score: 5, Insightful

      I just don't get why so many find it hard to believe VB 6 has such long legs. it did ONE job and it did that job fucking brilliantly, which was to make an easy to use GUI front end to a DB, that's it, that's all. This is what MSFT fucked up with with .NET because frankly ALL of the VB 6 I've seen being used and being built really was only variants on that one function.

      What MSFT refused to accept was was how important one small function can be to an SMB or SOHO. There is a HELL of a lot of times a small business can use a custom GUI to a DB, everything from contacts to records can be kept in a simple DB that just needs an easy to use front end so the user doesn't have to know anything about DBs, just fill out the forms.

      Finally all those "real" programmers that gnash their teeth at even the mention of the word VB? GET OVER IT, you wouldn't expect them to call a 'real"engineer when all they need is something that can be banged together out of an Erector set would you? of course not and it just so happens there is a hell of a lot of business jobs that don't need some full blown SQL DB just to get the job done. Its just like how we've all seen "applications" built out of VBA and Access, it has its little niche and as long as one doesn't try to build something outside of its little niche? Then its a perfectly valid tool.

      MSFT failed with .NET because they assumed if you were doing job A that you would want to learn to have the power to do jobs B-K, when in reality frankly there were tons of guys that frankly only needed to do job A so B-K were simply overkill and pointless. That is why VB 6 has such long legs, frankly there hasn't been any other language that filled the SMB small DB niche quite as well as VB 6.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    31. Re:Might as well... by Anonymous Coward · · Score: 0

      Java gets bad rap because it's a railroad language designed to enforce one particular programming style and it actively gets in the way if you don't want to use it as god intended.

      Here is how simple and clean looks like:

      for name, surname in db.query(User.name, User.surname).filter_by(User.age > 25):
              print("{}, {}".format(surname[0].lower(), name.lower()));

      This is an actual sqlalchemy database query. The equivalent Java code:

      stm = db.createStatement();
      results = stm.executeQuery("SELECT name, surname FROM User WHERE age > 25");
      while(results.next()) {
              System.io.println( String.format("%s, %s", results.getString("surname").substring(0,1).toLowerCase(), results.getString("name").toLowerCase() ));
      }

      I couldn't get /. to format the println call arguments in a more readable way, but you get the point.

    32. Re:Might as well... by jimmyfrank · · Score: 0

      -1?, everything ProDev has posted is 100% true, the fact that gets modded down, on /., is a good sign, I think...

    33. Re:Might as well... by geekoid · · Score: 3, Informative

      ".NET is actually awesome,"
      SUbjective, although I agree.

      " especially when used with C#"
      Subjective

      ". Java is too much bloat and slow and needs to die."
      A ohhible sentence that is false

      "But .NET is awesome and targets all PC, XBOX360 and Windows Phone 7"
      Subjective

      " And you can use the best IDE on the planet, Visual Studio, to develop."
      False. It lacks several thing much older IDEs had.

      So the only to things that aren't opinion are wrong.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    34. Re:Might as well... by geekoid · · Score: 1

      define crap.

      The goal of a high level programming language is to crate applications that do what the customers want it to do. Not be clean, or small, or the best use of memory.

      VB6 did that well, very well in fact.

      Updating something that works to a 'new' language 'just cause' is a bad business decision. In fact, there is a lot of technical merit in not doing so.,

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    35. Re:Might as well... by geekoid · · Score: 1

      And visa versa. You have added exactly nothing to the conversation. That's becasue there isn't really an argument against VB6 as a high level rapid development tool.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    36. Re:Might as well... by jimmyfrank · · Score: 2

      Interesting, I wonder what things it's missing, I use it everyday, what glorious features is it missing that older IDE's had.

    37. Re:Might as well... by Anonymous Coward · · Score: 0

      Interesting, I wonder what things it's missing, I use it everyday, what glorious features is it missing that older IDE's had.

      A green screen and no mouse? Vi to the rescue...

    38. Re:Might as well... by art123 · · Score: 1

      I believe the relatively new Lightswitch is an attempt to meet this exact need with the added benefit of creating a web deployable front-end.

    39. Re:Might as well... by St.Creed · · Score: 2

      I prefer VB.Net versus C# actually. I use both but C# has more complications without adding more functionality for most standard software development usage.

      About Java: it may be false, but most products I have to use that are built in Java are pretty slow, and/or have an awful GUI. Apparently it is very difficult then to use it in such a way that you don't suffer performance issues.

      But the main question I have is about the Visual Studio remark. While I know of one IDE that had realtime code compilation (pretty interesting tool to work with, it could take a context-free grammar and parse the language you described while you typed) and I would LOVE to see literate programming implemented in it, the usability of VS is, IMO, unequaled by any other currently available product. But please do point out alternatives, I'd be happy to try them.

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
    40. Re:Might as well... by DoofusOfDeath · · Score: 1

      Now .NET as a language isn't that bad, I actually like it..

      .NET as a language isn't that bad because it's not a language. It's a frikkin framework.

      I think you're making a somewhat artificial distinction. I'd call it a part of the language, with VB-proper being the other part.

    41. Re:Might as well... by benjfowler · · Score: 1

      A reasonable and fair comment.

      This is also why Scala will never catch on. It's elegant and powerful, but requires a level of expertise, experience and interest that is way above the average of your typical enterprise app developer. This leads to code consistency issues, hiring problems, etc.

      Nothing will take off, unless there's a reasonable chance of large, average-skilled teams building stuff consistently well with it.

    42. Re:Might as well... by shutdown+-p+now · · Score: 1

      I just don't get why so many find it hard to believe VB 6 has such long legs. it did ONE job and it did that job fucking brilliantly, which was to make an easy to use GUI front end to a DB, that's it, that's all. This is what MSFT fucked up with with .NET because frankly ALL of the VB 6 I've seen being used and being built really was only variants on that one function.

      Pray tell, how is it any harder to make an easy to use GUI front end to a DB in C# or VB.NET, compared to VB6? WinForms is very similar to VB6 UI toolkit on basic level, with mostly the same principles and the same controls. ADO.NET is pretty similar to classic ADO, as well.

    43. Re:Might as well... by shutdown+-p+now · · Score: 2

      The VB6 compiler produced native code.

      It produced horribly inefficient native code, though. Unless you were very careful with types, you could get stuff that run very slow. For example (like using Mid rather than Mid$ to extract a substring), it operated on COM variants, rather than raw strings, so it jumped through a bunch of hoops just to make sure all types are compatible and convert them if not.

    44. Re:Might as well... by shutdown+-p+now · · Score: 1

      Well, until today when MS has realised .NET performance and efficiency is crap and they need to go back to native code.

      You do realize that .NET (yes, running on a VM with JIT) is actually still faster than VB6 ever was, right?

      "Fast native code" really means C/C++. Something like VB is slow because it's high-level, not because it's not native.

    45. Re:Might as well... by LordLucless · · Score: 3, Insightful

      Finally all those "real" programmers that gnash their teeth at even the mention of the word VB? GET OVER IT, you wouldn't expect them to call a 'real"engineer when all they need is something that can be banged together out of an Erector set would you? of course not and it just so happens there is a hell of a lot of business jobs that don't need some full blown SQL DB just to get the job done.

      I'd be fine with that. Except that those little projects that just need to be banged together out of an erector set have a habit of growing, and becoming "business critical". They soon exceed the skills of those who banged them together, and they need to call a "real engineer" in to make it work again. Frequently, the existing software doesn't do exactly what it's meant to, or what the documentation (if there is any) says it does, and nobody wants to give any design criteria are "do what the old one does, but better".

      In short, the reason "real programmers" hate it, is because sooner or later, it ends up being their problem.

      --
      Just because you're paranoid doesn't mean there isn't an invisible demon about to eat your face
    46. Re:Might as well... by Curunir_wolf · · Score: 0

      define crap.

      Check the mirror

      The goal of a high level programming language is to crate applications that do what the customers want it to do. Not be clean, or small, or the best use of memory.

      VB6 did that well, very well in fact.

      True - within certain parameters - i.e. all users have Windows, can install the client, updates are not too difficult to deal with based on frequency and number of users, etc.

      Updating something that works to a 'new' language 'just cause' is a bad business decision.

      Pretty sure that's EXACTLY what I said. Are you trying to build a straw man just to have something to argue about?

      In fact, there is a lot of technical merit in not doing so.,

      What does it have to do with "technical merit"? What does that even mean? "Technical merit"? I really don't know what you mean by that (or if you are using it correctly), but if you're going to build an application today, there is no justifiable "technical merit" for selecting VB 6. Period.

      --
      "Somebody has to do something. It's just incredibly pathetic it has to be us."
      --- Jerry Garcia
    47. Re:Might as well... by A+Pressbutton · · Score: 1

      Q: a tool optimized for client server crud applications A: powerbuilder

    48. Re:Might as well... by Nethead · · Score: 4, Insightful

      In short, the reason "real programmers" hate it, is because sooner or later, it ends up being their problem.

      In my business we call that a sales opportunity. When your job is to fix things, the more broke they are, the more money you can make.

      --
      -- I have a private email server in my basement.
    49. Re:Might as well... by LordLucless · · Score: 4, Insightful

      In my business we call that a sales opportunity. When your job is to fix things, the more broke they are, the more money you can make.

      If you were a contractor called in to fix it, I'd agree. If you're an in-house developer whose real job isn't to fix things, but to create new things, getting pulled off whatever job you were doing in the first place to fix someone else's mess is a PITA - and you don't make any more money.

      --
      Just because you're paranoid doesn't mean there isn't an invisible demon about to eat your face
    50. Re:Might as well... by pwizard2 · · Score: 1

      I think he meant Qt. And yes, Qt is a great framework for Windows. It integrates nicely with Windows and performs well. It also has the added bonus that if you ever need to port your app to Linux or something, you will only need to do a recompile and release. You would only need to rewrite the parts that use Windows-specific APIs or functionality but since Qt offers most everything it would hardly be necessary to build your app like that in the first place.

      --
      "It is a denial of justice not to stretch out a helping hand to the fallen; that is the common right of humanity."
    51. Re:Might as well... by ConceptJunkie · · Score: 1

      I can attest to that, and I consider anything that involves VB as a crime against humanity for that reason.

      There's a reason you hire programmers to write programs and when half-assed tools are sold to allow non-programmers to attempt to do the same thing, the result is never good.

      --
      You are in a maze of twisty little passages, all alike.
    52. Re:Might as well... by hairyfeet · · Score: 2

      Because if I'm not mistaken you are talking about OO languages and Basic is a procedural language? At its core basic is frankly so simple and VB6 in particular is so simple for doing this one task that the thing practically builds itself. I've never bothered with .NET but i can tell you just from looking at the code that its language is a LOT more complex.

      Sigh, I wish I still had my old VB6 code sitting on the hard drive instead of backed up on a DVD in the closet somewhere because i'd show that because of its very simple structure and built in autocomplete (intellisense I think its called? God its been years since i wrote in VB) that covered just about every variation one would want to use VB for you could bang out a pretty nice looking functional program in a few hours with a minimum of fuss. While i'm sure you could do something similar in .NET....once you learned all the new names and ways of doing things frankly VB was laid out so simple in its flow you could probably hack together a GUI with a dozen inputs for a DB without having to type more than 40 actual words, just letting the drop down intellisense fill in the blanks with the very logically named functions.

      Hell I still use a VB program damned near every day in Win 7 X64, its a little app that scans a CD/DVD and puts the info into a DB and for that little job its bloody brilliant. its insanely fast, both at save/load and at search, it takes up almost no space, and you can just plop it onto a thumbstick and it works fine. ever since i got burnt with my old circa 2000 CD DB app being 16 bit and not running on X64 i always use two programs to back up the data (in case one is no longer functional in the future) and the other in this case is XML based and frankly it just isn't as good as the old VB one. Its slower in everything, especially slow in saving, takes up more space, and generally the layout just isn't as nice.

      So VB has its place, as long as you know its limitations and don't go trying to force it into doing a job it wasn't really made for. Heck last I heard a little VB app I wrote in 04 for a local junkyard is still running 6 days a week, helping them keep track of where wrecks are in the large field and what parts have already been sold. for that simple task there frankly wasn't and isn't a point in hiring a 'real' programmer to write some large DB app, day after day it does its job very quickly on a little old 1GHz box that sits in the corner not connected to the network, and every day they back it up to a flash stick just in case the box ever fails. honestly if it ain't broke, why fix it?

      BTW I apologize if I got any terminology wrong, i have a major skullthumper and I honestly can't be too sure on my nerd talk with a mule doing a tango on the back of my brain. Anyway i hope I got it right and explained it correctly and i'm sorry i don't have any of my old code to use as examples, peace.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    53. Re:Might as well... by ghostdoc · · Score: 1

      No, you're quite right. Most coders, even most of the extremely good and very productive ones, work the working week then go on to have some sort of a life outside work.

      I'd go further and say *all* of the extremely good and productive coders work a standard working week and do something else outside their 40 hours.

      There will be exceptions, as with any rule, but in almost all cases productivity goes down after 8 hours of solid coding. The marginal returns of coding past about 10 hours are negligible, and past about 12 hours the code quality drops to the point where it's actually counter-productive.

      This is based on personal experience running a development team for years. Professional coders who take pride in their craftsmanship turn up to work, put in 8 solid hours of coding (well, OK, 6 hours of coding, an hour of meetings and an hour of admin/watercooler) and then go home. They meet their deadlines because they correctly estimate the effort required, and report deviations from the estimates early.

      Working insane hours is acceptable for short bursts at crunch time. If it's consistently expected or needed then it's a management failure.

      Absolutely agree. It's also totally counter-productive as it produces very low-quality code that takes longer to fix.
      I once did a 36-hour shift to meet a deadline, and I spent most of that blearily trying to fix the mistakes I'd made an hour ago. I'd have done much better to go home after 12 hours and come back refreshed, but I guess that's a learning experience.

      However, trying to explain this to a senior manager that doesn't look at (or understand) the results, and just sees your team doing 8 hours a day while every other team in the company does 12 hours a day can be difficult.

      --
      Business/App ideas are like arseholes: everyone's got one, they're mostly shit, but very rarely they contain a diamond
    54. Re:Might as well... by ghostdoc · · Score: 1

      Now .NET as a language isn't that bad, I actually like it..

      .NET as a language isn't that bad because it's not a language. It's a frikkin framework.

      I think you're making a somewhat artificial distinction. I'd call it a part of the language, with VB-proper being the other part.

      Yeah, while technically it's not a language, most of learning .NET coding is learning the various libraries in the framework. Whether you choose to manipulate those libraries in C# or VB (or any other language) is almost irrelevant.

      --
      Business/App ideas are like arseholes: everyone's got one, they're mostly shit, but very rarely they contain a diamond
    55. Re:Might as well... by ghostdoc · · Score: 1

      VBA in Excel - the cause of more programmer misery than anything else, ever.

      A very close second: the inclusion of MS Access in Office Professional.

      Why did you do this to us, Bill? What did we ever do to you?

      --
      Business/App ideas are like arseholes: everyone's got one, they're mostly shit, but very rarely they contain a diamond
    56. Re:Might as well... by DoofusOfDeath · · Score: 1

      Actually, I'd say technically it is part of a language, because it provides the primitive in which you express your logic.

    57. Re:Might as well... by datavirtue · · Score: 1

      Yes, the real bullshit has been in larger businesses and corporate departments using VB. I agree with Access, Excel scripts, and VB being of real value to the small business world where no market exists to build software for a niche, but unfortunately these "tools" have been used in large businesses and the "solutions" have progressively grown into mission critical applications. Cracking open a VB app, one is likely to find something that is not scalable or adaptable, requiring the entire thing to be junked. With Java or .NET there is usually a hope of adaptability and scalability even if it is mangled.

      --
      I object to power without constructive purpose. --Spock
    58. Re:Might as well... by cduffy · · Score: 1

      I use it everyday, what glorious features is it missing that older IDE's had.

      To start with? paredit mode.

      And to end with, for that matter -- when I'm writing LISP, anything without that one feature is completely and utterly unusable. And a REPL, and a good alternative to SLIME (for very tight integration between the IDE and that REPL)... though really, those features don't even make much sense when you aren't in a functional-programming world -- it's harder to swap stateful objects in a live instance than it is to hotload new versions of stateless functions (or just experiment with them interactively, leaving old versions bound to your namespaces until you're ready -- immutability makes all kinds of things feasible which would be unthinkable in an OO world where one has to think about state).

      There are plenty of features which existed in system-image-centric language/runtime tools (a la Smalltalk) back in the day that don't exist any longer today, too -- look at the kind of integration Smalltalk tools used to have between the dev environment and the application instance under development. They went away for fairly good reasons IMHO -- but still: features, used to be commonplace, gone now.

      Visual Studio may well be "the best IDE" for your own purposes -- but to be that without qualification, it has to be best for everyone. The world is full of people who aren't you.

      Let me give you an example: I can tie into a running QA system remotely over a socket, interactively ask it "what would *this* call do if *this function* were replaced with *this other implementation*?", get a result (thus far without impacting behavior for any other users), tweak and retest that code without any compilation phases involved anywhere in the loop, and then decide to bind the new version to be exposed to other users once I've got it right. There's limited live patching support available in Visual Studio, yes, but it pales before what can be done with a good LISP.

    59. Re:Might as well... by Anonymous Coward · · Score: 0

      When I read posts like yours I wonder if all the VB hate is but a case of looking into the mirror and not liking what you see.
      VB6 allowed anyone to sketch up a GUI and fill up the gaps with knowledge of the problem he wanted to solve and BASIC 101.
      .NET is exactly the same only the underlying platform is an object oriented minefield. Exceptions flying all over the place, having to deal with threading fallout, having to inherit stuff. You need to learn a creeping featurism language and an immense object oriented library just to be able to do the same you did with VB6 without it crashing all over the place. And guess what? Most people only ever make it to the point the compiler manages to build something.
      I have to use other companies' in-house software from time to time, and I am invariably relieved when I see the the white windows2.0 window with color polyhedrons on top.
      C# is as "rapid" as VB6 and more "powerful" but the latter is far more solid when exposed to less than top-level programmers.

    60. Re:Might as well... by shutdown+-p+now · · Score: 1

      Because if I'm not mistaken you are talking about OO languages and Basic is a procedural language? At its core basic is frankly so simple and VB6 in particular is so simple for doing this one task that the thing practically builds itself. I've never bothered with .NET but i can tell you just from looking at the code that its language is a LOT more complex.

      VB6 was also object-oriented - it had classes and stuff. It didn't have certain features, like inheritance, so you had to do with interfaces + aggregation + delegation (and people did). You certainly couldn't avoid OO when writing even the most basic VB6 programs, though. Every form would be an object to begin with.

      If you "never bothered with .NET", then I frankly don't see how you can make a judgement there. It lets you write complex code, for sure, much more complex than VB6 ever did, but it doesn't force you to write that kind of code. Especially not VB.NET, and especially not since 2005 or so where there was a concerted push to make things easier still, like adding "My" - with that change, e.g. forms could be operated in exact same way as in VB6, with automatically created instances.

      frankly VB was laid out so simple in its flow you could probably hack together a GUI with a dozen inputs for a DB without having to type more than 40 actual words, just letting the drop down intellisense fill in the blanks with the very logically named functions.

      See, again, you're judging something you haven't seen. In .NET with WinForms, you can literally hack together a GUI with inputs from DB without writing a single line of code - it's all wizards and drag and drop. Connect to database (wizard), then drag and drop that connection to a blank form and bam - there's your GUI, an editable grid of data with navigation, everything completely wired up.

      As a side note, I do have a basis for comparison because I used VB6 a fair bit back in the day - it was what I started my career on back in 2000 (as in, not the first language I learned, but the first that earned me money). It was a decent thing for what it was, but I don't feel it to be superior to .NET in any way. The big problem with .NET early on was that attempt by Microsoft to get VB developers to learn the "real thing", meaning fully fledged OOP etc, even if the tech didn't really require knowing it to be used efficiently, at least not to any bigger extent than the original VB. I think that's where VB.NET reputation as a vastly more complicated language and framework comes from.

    61. Re:Might as well... by _Shad0w_ · · Score: 1

      I can run Visual Basic 6 on my 64-bit Windows 7 install without any problems...

      The only reason I have to do so is because we have a bunch of production tools at work written in VB6, half of which I appear to have become the other person who can maintain them when the person who wrote them is away (not because I could code VB6 - I'd never picked it up until I started my current job - but because I understand the thing it's producing data for).

      I just wish he wouldn't use VB6 for something new he created in the last year or so. That and I wish he'd actually keep his code in revision control, and not scattered over his workstations' hard disks.

      --

      Yeah, I had a sig once; I got bored of it.

    62. Re:Might as well... by multicoregeneral · · Score: 1

      Hate to point out the obvious, but .Net is not a language. It's platform that supports multiple languages. You know, there are an awful lot of bus drivers in .net world too.

      --
      This signature intentionally left blank.
    63. Re:Might as well... by Nefarious+Wheel · · Score: 1

      I believe the relatively new Lightswitch is an attempt to meet this exact need with the added benefit of creating a web deployable front-end.

      I've had a fairly in-depth look at LightSwitch. It's kind of pretty, but it has a certain opacity too. Try building a Make/Model/Year interface with it. It's possible, but I can guarantee you won't find it easy or elegant. In contrast, the third-party .NET code generator IronSpeed handles that pretty well, without driving you down the Silverlight runway. I've built a couple dozen IronSpeed apps, and it works pretty well at exposing a database to a web site.

      --
      Do not mock my vision of impractical footwear
    64. Re:Might as well... by icebraining · · Score: 1

      It's "vice versa". And yes, there is. It's an extremely limited language, with no real support for any paradigm, most of the environment is not Unicode aware, it's tied to Desktop Windows and yet it cannot use .NET libraries, and finally most members of its community are brain-dead morons.

    65. Re:Might as well... by Nefarious+Wheel · · Score: 1

      VBA in Excel - the cause of more programmer misery than anything else, ever.

      A very close second: the inclusion of MS Access in Office Professional...

      (A) A disturbingly large amount of the world's wealth resides entirely on the common Excel spreadsheet. Carl Sagan-like numbers. Found that out working at the managed funds division of a major bank. Spreadsheets, with a rather enormous amount of VBA. Scared yet?

      (B) There is a path for MS Access home-schooling. (1) Build business on Access; (2) Upsize Access DB with SQL Server back-end; (3) Systematically replace Access front-end with IronSpeed; (3) Become popular since their DB apps aren't crashing daily; (4) Become glum when the breathing room and feeling of success you've given your employer allows them to outsource your department to a hosted SAP house.

      Been there, done that, ate the shirt.

      --
      Do not mock my vision of impractical footwear
    66. Re:Might as well... by ghostdoc · · Score: 1

      VBA in Excel - the cause of more programmer misery than anything else, ever.

      A very close second: the inclusion of MS Access in Office Professional...

      (A) A disturbingly large amount of the world's wealth resides entirely on the common Excel spreadsheet. Carl Sagan-like numbers. Found that out working at the managed funds division of a major bank. Spreadsheets, with a rather enormous amount of VBA. Scared yet?

      Yeah, I know, it's very very scary. I've worked in the finance industry and had the 'this is Fred, he's a casual worker we've had here this summer and he's put together a spreadsheet in his lunchtimes that is now business-critical for the entire Claims department. We need you to support it because Fred's going back to school now' conversation.
      Surprisingly I managed to control my apoplectic rage during the discussions with Fred.

      (B) There is a path for MS Access home-schooling. (1) Build business on Access; (2) Upsize Access DB with SQL Server back-end; (3) Systematically replace Access front-end with IronSpeed; (3) Become popular since their DB apps aren't crashing daily; (4) Become glum when the breathing room and feeling of success you've given your employer allows them to outsource your department to a hosted SAP house.

      Step 1 is great, everyone's happy. Step 2 is always the problem in my experience (e.g. managers who copy the entire database onto a thumb drive to work from home on it). Step 4 is usually a blessed relief to be out of there ;)

      --
      Business/App ideas are like arseholes: everyone's got one, they're mostly shit, but very rarely they contain a diamond
    67. Re:Might as well... by rev0lt · · Score: 1

      You do realize that .NET (yes, running on a VM with JIT) is actually still faster than VB6 ever was, right?

      Go ahead and use a post-VB6 version of .NET (VS2003/2005). Dead slow IDE, no editing of the code while running (WTF? if you are doing step-by-step debugging you _need_ to stop the program to edit a line?), and the result would often be a slow as hell application, that used a memory footprint of 3-5x the VB equivalent.

      "Fast native code" really means C/C++. Something like VB is slow because it's high-level, not because it's not native.

      You'd be surprised. I generally consider compilers like VB6 (and Clipper and some Cobol compilers) as "fake compilers" - they rely on an extensive API usually made in C/C++, and their work is to generate the glue code between the API functions. So, while your application logic usually translated to a series of call statements, the functions called run at native speed, and in complex algorithms, they run laps around early .NET implementations.

    68. Re:Might as well... by rev0lt · · Score: 1

      I can't make it work sufficiently to use. The compiled app works, but I have to maintain an XP system to do VB6 development.

      Professional W7 versions have available a ready-to-use Windows XP, so it's not like MS doesn't provide a (half assed) solution.

    69. Re:Might as well... by rev0lt · · Score: 1

      WinForms is very similar to VB6 UI toolkit on basic level, with mostly the same principles and the same controls.

      Except that the grid component is actually unusable for serious applications. You know, the thinggy 90% of the database-driven forms use. And the memory footprint of a "simple" database application reaches hundreds of MB easily. And the garbage collector sometimes forget to, you know, do some garbage collection.

    70. Re:Might as well... by rev0lt · · Score: 1

      VB6 was also object-oriented - it had classes and stuff. It didn't have certain features, like inheritance, so you had to do with interfaces + aggregation + delegation (and people did). You certainly couldn't avoid OO when writing even the most basic VB6 programs, though. Every form would be an object to begin with.

      Since VB5, some OO features were available. But a form wasn't an object. There is a common misconception in the OO world regarding event-driven or message based programming - none of them is directly related to OOP. At its core (at least upto XP), Windows API is a procedural, event-driven environment. VB6 produced code vaguely similar to the classic C approach of creating a window, and registering a event handler callback. Zero OOP.

      See, again, you're judging something you haven't seen. In .NET with WinForms, you can literally hack together a GUI with inputs from DB without writing a single line of code - it's all wizards and drag and drop. Connect to database (wizard), then drag and drop that connection to a blank form and bam - there's your GUI, an editable grid of data with navigation, everything completely wired up.

      Except that feature isn't from .NET/WinForms, but from the IDE, so it's not directly related to the language. And as I said before, the .NET dbgrid sucks balls. Big balls. And the responsivity of the resulting application isn't nowhere near a VB one. And the memory footprint is massive.

      As a side note, I do have a basis for comparison because I used VB6 a fair bit back in the day - it was what I started my career on back in 2000 (as in, not the first language I learned, but the first that earned me money). It was a decent thing for what it was, but I don't feel it to be superior to .NET in any way.

      I've worked extensively with VB since VB3, and I agree that it's not generically superior to . NET - but VB.NET is not a VB6 replacement for the casual user, and VB6 (and FoxPro) left a void in the Microsoft ecosystem they haven't been able to fill since then.

    71. Re:Might as well... by rev0lt · · Score: 1

      Cracking open a VB app, one is likely to find something that is not scalable or adaptable, requiring the entire thing to be junked.

      The same could be said for any legacy language. I know cases of banks that tried to replace their multi-decade old COBOL systems and failed miserably. The solution? Wrap around some JAVA or .NET middleware so they can continue to use it.
      Critical applications are never really junked. You can't replace decades of ironing out the kinks and expected (mis)behaviour. Most of those critical applications grew with the business itself, and in some cases, specific chunks of code can span an entire generation of programmers. If you expect to replace it with JAVA and .NET and some TDD, you are in for a surprise.

    72. Re:Might as well... by rev0lt · · Score: 1

      I do some C# development, and often prefer to use SharpDevelop, despite its limitations (no LINQ wizards, no database browsing and whatnot). The code editor seems more familiar to me, and it is an order of magnitude faster than VS2010/2011.

    73. Re:Might as well... by Anonymous Coward · · Score: 0

      depends on the amassed inevitable technical debt. It might as well be better to throw out...or not, depending on the case

    74. Re:Might as well... by Curunir_wolf · · Score: 1

      Indeed it is half assed solution, and doesn't work at all on many computers, including my main laptop, because of the Intel chips with visualization disabled. I don't know why Intel did that with so many of their multi-core chips, but they did.

      --
      "Somebody has to do something. It's just incredibly pathetic it has to be us."
      --- Jerry Garcia
    75. Re:Might as well... by rev0lt · · Score: 1

      Yeah, I constantly forget the VM limitation in some processors (I ignored all non-VT core* cpus). It really is a WTF? moment for Intel customers.

    76. Re:Might as well... by Anonymous Coward · · Score: 0

      VB6 compiler produces mainly interpretive code, not native code. It is inefficient compared to native code but provides excellent control during runtime. IFAIK, there's no JIT available.

    77. Re:Might as well... by downhole · · Score: 1

      I haven't seen anything to suggest that there's any correlation between programming language/environment and the hours that you are willing to work either. I think that's more about maturity as a person than anything else. I know now that I have and make enough money for the lifestyle I want, and I'm not interested in destroying that lifestyle to make more money. I think that most people who are smart, successful, and have good social skills feel the same way and do the same thing.

      I have seen people work ridiculous hours at various jobs (and even done it myself at times) for some combination of:
      1. Money. Either they have huge expenses for some reason (family, medical problems, debts) or they aren't skilled enough to make a good wage, so they close the gap between their wage and the money they need by working more hours. There's also quite a few job types where you can make lots more money than usual by being willing to work long hours and/or in poor conditions.
      2. Unhappy home life. I've seen more than a few people work longer hours because they hated their wife/husband/parents/whatever and wanted to stay away from them. Probably some do it because they're lonely too.
      3. Bullied/taken advantage of due to poor social skills. Excessive demands, threats to fire the person and maybe blacklist them in the industry if they don't comply, threats to fire them on the spot if caught looking for a new job, etc. Frequently combined with 1.
      4. Passion. They're legitimately passionate enough about what they do to slog away at it endlessly. Can be great and tremendously productive, but rarely lasts more than a year or two at the most.

      --
      I don't reply to ACs
    78. Re:Might as well... by Anonymous Coward · · Score: 0

      It gets tossed when they want a web app (or a mobile one). It's generally not worth it to rewrite desktop software just to get the latest translucent widgets.

    79. Re:Might as well... by shutdown+-p+now · · Score: 1

      Go ahead and use a post-VB6 version of .NET (VS2003/2005).

      I do that daily.

      Dead slow IDE, no editing of the code while running

      Edit and continue has been there for VB.NET since VS2005.

      the result would often be a slow as hell application, that used a memory footprint of 3-5x the VB equivalent.

      As I had already noted, VB.NET apps are uniformly faster than VB apps, because .NET JIT is better optimizing than VB6 compiler. If you really want it, I could do some benchmarking.

      . I generally consider compilers like VB6 (and Clipper and some Cobol compilers) as "fake compilers" - they rely on an extensive API usually made in C/C++, and their work is to generate the glue code between the API functions. So, while your application logic usually translated to a series of call statements, the functions called run at native speed, and in complex algorithms, they run laps around early .NET implementations.

      That's precisely the reason why they are slow, actually. A call statement itself is relatively slow compared to, say, just adding two numbers together directly. Yet a function call is precisely what VB will do in many circumstances. .NET JIT, on the other hand, compiles directly to native code, without an added layer of call indirection.

    80. Re:Might as well... by shutdown+-p+now · · Score: 1

      Except that the grid component is actually unusable for serious applications. You know, the thinggy 90% of the database-driven forms use.

      I've used .NET grid for database-driven apps (I don't know your criteria of "serious", but it was a production app), and it was very fast.

      By the way, which grid of the two (DataGrid and DataGridView) are you referring to? DataGrid was somewhat slow; DataGridView is blazing fast.

      And the memory footprint of a "simple" database application reaches hundreds of MB easily

      If you have hands growing out of your ass, perhaps. I've wrote quite a few .NET apps, and typical memory consumption figures were 20-50 Mb.

      And the garbage collector sometimes forget to, you know, do some garbage collection.

      .NET GC works just fine. I suspect that has more to do with people leaving around references to objects they no longer need (which very often happens with event handlers they forget to unregister). Otherwise, if you make bullshit-y claims like that, how about providing references?

      In VB6, on the other hand, you could easily have a memory leak simply by creating a circular reference between objects. And there were no weak references to work around that.

    81. Re:Might as well... by shutdown+-p+now · · Score: 1

      Since VB5, some OO features were available. But a form wasn't an object. There is a common misconception in the OO world regarding event-driven or message based programming - none of them is directly related to OOP. At its core (at least upto XP), Windows API is a procedural, event-driven environment. VB6 produced code vaguely similar to the classic C approach of creating a window, and registering a event handler callback. Zero OOP.

      VB6 form was a class and an object. It let one code procedurally by automatically creating an instance of the form when it was referenced, and letting use its members as if they were static (propagating them to that auto-created object). But you absolutely could create several instances of the same form with "New", and track them separately, same as any other objects - by storing references to them in variables, and then invoking methods on them. In fact, that's precisely how you wrote MDI apps in VB6.

      VB.NET (from 2005 on) does the same exact thing.

      Except that feature isn't from .NET/WinForms, but from the IDE, so it's not directly related to the language.

      The feature in VB6 was an IDE feature, as well. And why would a developer care, anyway? The whole point of a RAD environment is that it's, you know, integrated.

      . And as I said before, the .NET dbgrid sucks balls. Big balls. And the responsivity of the resulting application isn't nowhere near a VB one. And the memory footprint is massive.

      So far everything you've said leads me to believe that you haven't actually seen .NET past 1.x, since you keep referring to outdated things and seem to be unaware of newer features and options. To that extent, your claims of responsiveness and memory use are rather dubious.

    82. Re:Might as well... by rev0lt · · Score: 1

      Edit and continue has been there for VB.NET since VS2005

      Yeah, 7 years after the last release of VB6, and at the 3rd release of the VS suite with .NET support, so I guess it probably didn't affect many users _migrating_ from VB6. My mistake.

      As I had already noted, VB.NET apps are uniformly faster than VB apps, because .NET JIT is better optimizing than VB6 compiler. If you really want it, I could do some benchmarking.

      Maybe your code performs uniformly faster than VB apps, but it's not the general experience I have. Anything database-related range from about the same speed (with 2x or 3x the memory consumption) to noticeably slower. Probably some object-oriented code performs better when ported to .NET, but that's about it.

      A call statement itself is relatively slow compared to, say, just adding two numbers together directly.

      Usually is, but it is not an order of magnitude slower.

      .NET JIT, on the other hand, compiles directly to native code, without an added layer of call indirection.

      The .NET assembly is already the added layer of call indirection. And given the abstraction that datatypes suffer, I'd argue that whatever code is produced related to adding two integers will be much more extensive than the equivalent call generated by the VB compiler.

    83. Re:Might as well... by shutdown+-p+now · · Score: 1

      Yeah, 7 years after the last release of VB6, and at the 3rd release of the VS suite with .NET support, so I guess it probably didn't affect many users _migrating_ from VB6. My mistake.

      It has also been 7 years ago. If you don't know where .NET was 7 years ago, what makes you think that you're qualified to judge on its verits vs VB6 today?

      Maybe your code performs uniformly faster than VB apps, but it's not the general experience I have. Anything database-related range from about the same speed (with 2x or 3x the memory consumption) to noticeably slower

      You do realize that database related stuff is bound by the efficiency of the DB framework and the backend database, not by codegen quality, right? In both VB and .NET, all codegen does is produce a bunch of method calls, for stuff like Recordset (in VB6) or DbDataReader (in VB.NET).

      Furthermore, any comparison of perf in those circumstances would be meaningless unless you compare it on exact same data sources configured in exact same way.

      Usually is, but it is not an order of magnitude slower.

      Yes, it is. Count the cycles yourself - pushing arguments onto the stack (or, at best, loading them into registers), CALL itself, then the callee setting up his stack frame, and on return clearing it and RET. That's literally an order of magnitude slower than ADD.

      The .NET assembly is already the added layer of call indirection.

      If you mean IL, then it's not a layer of indirection at runtime - it is JIT-compiled to native code on the first method invocation, and that native code is what runs.

      And given the abstraction that datatypes suffer, I'd argue that whatever code is produced related to adding two integers will be much more extensive than the equivalent call generated by the VB compiler.

      There's no abstraction that datatypes suffer. Something like "Dim a, b, c As Integer ... a = b + c" will be translated to a single ADD instruction at the final point (after JIT-compilation).

    84. Re:Might as well... by rev0lt · · Score: 1

      By the way, which grid of the two (DataGrid and DataGridView) are you referring to?

      I can't really remember which one I tested, we decided to replace it entirely with a DevExpress component, that we've been using since. At the time, even with virtual scrolling the grid was slow and had artifacts in maximized windows. I tested it with roughly 10k rows, 5-7 columns. A fast grid should take no more than 1-2 seconds to load and display the data on my desktop (quad-core 2.4Ghz).

      If you have hands growing out of your ass, perhaps. I've wrote quite a few .NET apps, and typical memory consumption figures were 20-50 Mb.

      I've just runned a simple app (less than 1Mb of source), opened a dialog with a list of 18 items pulled from a database, and it is eating 40Mb. The same application with just the main screen opened eats about 28Mb of memory, so I'd say 12Mb for a almost empty dataset, a grid and a form is a lot. I've seen datasets eating 200Mb of ram easily.

      .NET GC works just fine. I suspect that has more to do with people leaving around references to objects they no longer need (which very often happens with event handlers they forget to unregister). Otherwise, if you make bullshit-y claims like that, how about providing references?

      If you have to explicitly de-reference your vars, then you don't really need GC, do you? From what I've seen (and it is purely empirical), the GC seems to work with high and low watermarks for memory usage, and it only works "as expected" somewhere between a sweet spot, that varies according to the available RAM in the host. Given that true GC on a arbitrarily-sized heap allocator is computationally expensive, it does make sense it works that way, but for some applications - that require the load of a huge amount of data, some quick process on it, discard and repeat, usually leads to a fast depletion of the available RAM.

      In VB6, on the other hand, you could easily have a memory leak simply by creating a circular reference between objects. And there were no weak references to work around that.

      Yes, memory management in VB6 was a pain in the ass, but at a different order of magnitude. Today's computers have at least 8x the memory they had in 2000, the low-end cpus are at least 10x faster, and in many cases, the data size is about the same (a list of clients still is a list of clients, an article table still is an article table, etc). Modern db-driven applications usually aren't faster or leaner than they were 12 years ago, or - in many cases - better designed.
      Most memory issues with VB6 could be easily fixed by using simple techniques, and using global datasets instead of arbitrarily opening and closing them inside forms and custom procedures and whatnot.

    85. Re:Might as well... by rev0lt · · Score: 1

      It has also been 7 years ago. If you don't know where .NET was 7 years ago, what makes you think that you're qualified to judge on its verits vs VB6 today?

      Your original claim was that .NET is faster than VB6 ever was - it makes sense compare it in a time where .NET was touted as a VB6 replacement.

      You do realize that database related stuff is bound by the efficiency of the DB framework and the backend database, not by codegen quality, right? In both VB and .NET, all codegen does is produce a bunch of method calls, for stuff like Recordset (in VB6) or DbDataReader (in VB.NET).

      Assuming you actually believe what you write, then your assertion that "VB.NET apps are uniformly faster than VB apps" isn't true since - according to you - they produce essentialy the same code.
      But I mentioned "your code" because I didn't assume you were doing database-related stuff. I just mentioned that for database-related stuff you do get from about the same speed to a lot slower. That is the experience I have with the codebases I worked with. As an example, I've assisted on a migration of a midsize app (>700 forms) in 2003 from VB6 to VB.NET, and it took more than 6 months to become usable because of memory spikes and database-related issues. More recently, I've been working with C# (.NET 4.0) with both PostgreSQL (npgsql) and SQLite, and often memory usage goes trough the roof. I work with several languages/environments, sometimes working on the same data, and I usually only have this kind of problems with .NET.Maybe it doesn't like me :)

    86. Re:Might as well... by ConceptJunkie · · Score: 1

      This is the truth. VB is just an archaic, crippled language. It really isn't that bad as long as you don't mind re-writing every library that comes with real programming languages. VBA, however, is the worst development platform I've ever used. Nothing else even comes close, although I can say I've never done Lotus Notes development. Microsoft even acknowledges this. They do NOT support VBA.

      Any manager that allows VBA applications to be used should be summarily executed. Office itself is a nightmare, but it is possible to do some useful things with Excel, as long as you don't try to program it. Word on the other hand is so bad, it's not only unusable, it's literally ruined the concept of word processing. Everyone tries to copy it since Microsoft has a monopoly with Office, but it's a horrible, disorganized, unpredictable mess that violates practically every usability standard and convention as well as common sense itself.

      It's the second worst piece of software I've ever used that wasn't designed for the "enterprise". The worst is Access. Enterprise software" is of course a euphemism for software that looks like it was designed in the 1970s, by angry, confused people who have never seen or used computers before, and runs almost as well as it looks. I have yet to use an "enterprise" application that wasn't like being kicked in the nuts with a jackhammer.

      --
      You are in a maze of twisty little passages, all alike.
    87. Re:Might as well... by ConceptJunkie · · Score: 1

      I wouldn't touch .NET with a ten-foot pole, so you're not talking about me. I did serious Windows development in the pre-.NET days, and it was actually a pretty good time and platform to work in. Visual Studio 6 was a decent IDE even if the editor was archaic. Of course, MFC was a half-hearted and half-assed first draft of a library that was obviously written by a high school intern on a Friday afternoon in between foozball games, but I was able to turn it into something pretty useful because it was C++ and I could derive useful stuff from its bare-bones, do-nothing classes. I was very productive with it and wrote some really cool apps.

      None of my employers or clients ever wanted to move past VS6 when the .NET stuff started coming out, which was fine by me, and the more I hear about .NET these days the less I want to use it.

      Of course, I've been doing Linux work for the last 7 years, so I've lost what little interest I had in Windows development.

      --
      You are in a maze of twisty little passages, all alike.
    88. Re:Might as well... by hairyfeet · · Score: 1

      I used to have a programmer buddy who'd say "If I ever go postal and you see me hauled off in cuffs you'll know it was Excel or Access that drove me to do it!"

      But I'll tell you like I told him "Whose fault is it REALLY? Whose to blame?" and the answer is the PHBs and the BOFH IT guys that won't let them have even a free IDE like Netbeans or Eclipse but what is installed on damned near every PC? Office Pro.

      So in those cases you can't really blame Bill for all these guys using VB or Excel or Access to make things they were never designed to do, but the suits that won't give them the tools to use anything better. It would be like telling someone to build a house but only giving them a tire jack and a rusty saw to do it with, can you REALLY blame them if the house turns out to be a lean to with a leaky roof?

      --
      ACs don't waste your time replying, your posts are never seen by me.
    89. Re:Might as well... by shutdown+-p+now · · Score: 1

      I've just runned a simple app (less than 1Mb of source), opened a dialog with a list of 18 items pulled from a database, and it is eating 40Mb. The same application with just the main screen opened eats about 28Mb of memory, so I'd say 12Mb for a almost empty dataset, a grid and a form is a lot.

      Most of it is for .NET itself - VM, JIT etc. If you, say, add a dozen more grids and forms, it won't take noticeably more.

      I've seen datasets eating 200Mb of ram easily.

      Um. A dataset is an in-memory, client-side cache of data from the database. If you load 200Mb of data into it, that's how much it's going to eat.

      If you have to explicitly de-reference your vars, then you don't really need GC, do you?

      No, you do. The point of GC is to deallocate objects to which there are no reachable references.

      There are some stupid things people do, like nulling out locals before returning from a method, or nulling out fields in Finalize. Those, of course, don't have any effect on the GC - it doesn't care about the values of variables which are no longer there. But for those that are, it assumes that if they can be traced starting from GC roots (i.e. globals/statics or locals), they're there for a reason.

      The usual reason for a GC "leak" in .NET is when someone registers a method on an object as an event handler for some one-off event, and forgets to unregister it. So long as the component that was providing the event is not gone itself, it will keep a reference to the event handler, and therefore to the object - and everything else it references.

      rom what I've seen (and it is purely empirical), the GC seems to work with high and low watermarks for memory usage, and it only works "as expected" somewhere between a sweet spot, that varies according to the available RAM in the host. Given that true GC on a arbitrarily-sized heap allocator is computationally expensive, it does make sense it works that way, but for some applications - that require the load of a huge amount of data, some quick process on it, discard and repeat, usually leads to a fast depletion of the available RAM.

      That's not how it works. It obviously doesn't kick in on any allocation, but it does do collection periodically, and it also keeps an eye on memory pressure, and in a scenario like you describe - allocate/process/dealloc - it will actually kick in pretty often (which will negatively affect perf, however).

    90. Re:Might as well... by hairyfeet · · Score: 1

      But Java and .NET really doesn't fit the SMB niche because as one put it above you "Its a OOP minefield" that has a pretty decent learning curve, whereas frankly a weekend with VB 6 could have virtually anyone cook up a basic GUI front to a DB which is a BIG need for small businesses.

      Hell I'm not a programmer but a VB6 program I wrote last i heard is still being run at the local junkyard. All it does is they input where on the lot they put a new car, we divided the lot into a grid with 22 rows lengthwise (since while they can grow sideways the highway blocks any further growth lengthwise) and when i had finished it I believe it went to J across but of course they can keep adding letters or even double letters if they expand that far so that all they do is either type in or pull down a make and pick the model from the list and it would give them a grid location, like say G14,B09,C12 if they had multiples of the same car.

      It really was a nice little app for that one little niche that would have probably cost them far too much to have written by a 'real" programmer. They didn't even have to pay me in cash, I swapped it for a nice set of rims for my King Cab I had at the time LOL!

      --
      ACs don't waste your time replying, your posts are never seen by me.
    91. Re:Might as well... by shutdown+-p+now · · Score: 1

      Your original claim was that .NET is faster than VB6 ever was - it makes sense compare it in a time where .NET was touted as a VB6 replacement.

      I don't see why. That battle is already over, one way or another. When I compare VB6 and .NET, naturally I'll be doing that based on their current performance, since that's what is relevant today.

      Assuming you actually believe what you write, then your assertion that "VB.NET apps are uniformly faster than VB apps" isn't true since - according to you - they produce essentialy the same code.

      When it comes to stuff like databases or UI, yes, absolutely, they do - because 99% of that code is just calling into the framework.

      On the other hand, for things like, say, arithmetic computations, or sorting, any other CPU-bound algorithm, VB.NET will run circles around VB.

      But I mentioned "your code" because I didn't assume you were doing database-related stuff. I just mentioned that for database-related stuff you do get from about the same speed to a lot slower. That is the experience I have with the codebases I worked with. As an example, I've assisted on a migration of a midsize app (>700 forms) in 2003 from VB6 to VB.NET, and it took more than 6 months to become usable because of memory spikes and database-related issues. More recently, I've been working with C# (.NET 4.0) with both PostgreSQL (npgsql) and SQLite, and often memory usage goes trough the roof. I work with several languages/environments, sometimes working on the same data, and I usually only have this kind of problems with .NET.Maybe it doesn't like me :)

      I've been working in C# for 10 years now - pretty much since the release of 1.0 - and I never had troubles like that, and that was also for database-centric apps. I don't know, perhaps this has something to do with database backends you're using? I've mainly dealt with MSSQL, with a bit of Oracle and .mdb files (via OLE DB) thrown into the mix. I've never used PGSQL or SQLite from .NET, so I don't know the quality of those ADO.NET providers.

    92. Re:Might as well... by pnutjam · · Score: 1

      We have a dedicated Access programmer. Nice guy, but I shudder when I think about the mess...

    93. Re:Might as well... by Anonymous Coward · · Score: 0

      Quit your job now.

      You suck.

      You should never code again.

      Ever!

    94. Re:Might as well... by doublebackslash · · Score: 1

      or .net or java or any common application like firefox or chrome. Modern development doesn't free memory, it restarts/launches a new process. Garbage collection has been a joke since before we started measuring ram in gb instead of mb

      I'm going to go with ignorance over malice on this one. Even a modest (processing or I/O limited, as opposed to blocking) application will churn many megabytes of non-stack-alocateable memory per second for all but nearly trivial tasks. Much much more very often (hundreds of megabytes a second in bursts or some specific tasks). You'll run out of real memory before you can do most things.

      Now that could be handled by explicit memory management, but that adds a lot of work and a whole new class of bugs. Lots of languages would have to the stripped to their core to replace the GC mechanism with explicit memory management. Ruining milenia of man years woth of code in the process. Also there are some incredible data structures built on top of CAS instructions which don't require locks to be thread safe, relying instead on so called atomic instructions for correctness. This can unchoke some of the toughest bottlenecks to crack in a large application, but it is nearly impossible to do correctly with explicit memory management especially once complex (read: useful) data structures start piling on top of each other. The scope of the problem spirals out of control.

      Last, and best of all, GC can (CAN but isn't always) be cheaper than explicit memory management. It goes like this:
      Allocate a few new objects on the heap, making a mmap call for each. Mmap does some really intreseting things which I'll skip here and returns you a word aligned chunk of memory at least as large as the one you requested and ALSO does a bit of bookeeping so that later (or concurrent!) calls to mmap and free can, well, manage memory (in concert with the OS. More incredibly intreseting details and subtle elegant solutuions here. Really. Read up on virtual memory and browse the GNU C-lib's documentation on memory management)

      You make use of these objects and free them (becaue otherwise you run out of memory, see above). Free costs cycles to call. It has to work with mmap and other free calls to do bookeeping and make sure your program's heap is more than just a byte array free-for-all.

      In a GC system the allocation can be deadly simple, far simpler than malloc. Check out all the various GC schemes (G1GC in Hotspot 7 is a good one and I've found it easy to understand on a conceptual level) They know where the free bytes are and allocate against them without much regard for saving every byte of space and calling malloc very rarely, jsut stuffing things where they fit. They can do this because the generational assumption holds. Most objects die young. When the GC cycle comes around a block of memory, regardless of the number of objects it holds, can be freed with perhaps a single byte written into memory. The even better part is that most "precise" GC systems run in time relative to the live objects, not the dead ones. This means that even if free ran in a single instruction and didn't blow out a single line of L2 cache the GC system can take less time. It often takes more effort to trace the heap from the roots, but not always. Probalistinc instead of hard guarantees and incremental instead of continious, but it gets you a lot of freedom and a TON of opportunities to exploit parallelism (manual memory management in non GC languages on objects touched by multiple threads can be tantamount to writing your own GC. incredibly slow or worst: wrong (as in incorrect, not morally))

      So GC. Yeah. Heck of a thing. Really, I'd say, makes computing and programing as we know it possible. Heck, even GCC uses a GC.

      --
      md5sum /boot/vmlinuz
      d41d8cd98f00b204e9800998ecf8427e /boot/vmlinuz
    95. Re:Might as well... by clickclickdrone · · Score: 1

      Cracking open a VB app, one is likely to find something that is not scalable or adaptable, requiring the entire thing to be junked.

      I just don't get this. Everyone's talking about VB6 as if it's never used for anything serious. All my VB experience (going back to VB5, let alone 6) is full blown Enterprise distributed apps using VB as the front end and middle tiers via DCOM, with as much object orientation as VB can muster and with SQL Server as the back end. We've got systems supporting hundreds of users, hundreds of tables and millions of records and sub 2 second responses for everything. The servers are really low spec too - typically NT4/512Mb RAM and RAID 5 arrays.

      I'm sure there are some people out there cranking out simple apps but that doesn't mean VB can't do a fine job of being used to build very reliable, high performance Enterprise class systems.

      --
      I want a list of atrocities done in your name - Recoil
    96. Re:Might as well... by V+for+Vendetta · · Score: 1

      VB6 compiler produces mainly interpretive code, not native code.

      Wrong. VB5 introduced native code compilation and VB6 continued to do so. The default option for a new project was P-Code, but one click in the project's properties changed that. But a lot of programmers did not understand when to pick P-Code over native compile. The later would only make a noticable difference if your code did heavy computation (aka "number crunching"). People expecting performance gains from native code for their DB queries failed to realize their their borked SQL statement or underpowered DB server can't be solved by a VB native code executable.

      Which shows again: it's not the paintbrush - it's the artist! I can't tell you ho many VB sample code I've seen over the years, both on MDSN and from commercial components, where you had something like this in it ...

      Dim a, b, c As Long

      ... without an accompanying ...

      DefLng A-Z

      ... and expecting a and b to be of Long data type, too. Or using Variant string functions (Mid, Left, Right) instead of String string functions (Mid$, Left$, Right$) and then lament on how "slow and inefficent" VB is.

      This shows that a lot of people who were complaining about VB didn't know how to use it properly.

    97. Re:Might as well... by randyleepublic · · Score: 1

      Good sig!!

      --
      Social Credit would solve everything...
    98. Re:Might as well... by BitZtream · · Score: 1

      Did you seriously just say VisualStudio sucks because it doesn't auto insert brackets? I'm pretty sure thats what you just said once the bullshit was translated out of it. I'm fairly certain you're rather inept at using computers.

      Also did you seriously imply that all the VisualStudio editors function the same? I'd take a guess that your problem is whatever LISP addin you used for VisualStudio sucked.

      It may not be the best for anyone, but your reasoning for it sucking is pretty ignorant.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    99. Re:Might as well... by BitZtream · · Score: 1

      In contrast, the third-party .NET code generator

      You're doing it wrong.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    100. Re:Might as well... by BitZtream · · Score: 1

      A career in tech is bad enough as it is....

      You sir, are a spoiled brat. Seriously, you have no idea what 'bad' is if you think your desktop is horrible.

      no opportunity for upward mobility without shifting to a completely different role that requires a completely different set of skills and training....a tight ceiling on the salary....spending most of your day typing on a computer rather than socializing...and so on. Working long hours without at least collecting overtime pay for them just adds injury to insult.

      Ignoring the socializing part since I think you fail to understand that work is about you are performing a service for someone else, not clubbing ...

      Everything else you listed there is true for virtually every job on the planet.

      My god, they fucking expect you TO WORK for a salary?!?! Those sons of bitches! If you want hourly pay, ask for it, I'm 100% certain you're employer would love to give it to you. Go ahead, that'll be a nice way for you to get a clue and what you deserve.

      Actually, I'd wager to bet you don't even work summer jobs between school sessions, do you?

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    101. Re:Might as well... by cduffy · · Score: 1

      Did you seriously just say VisualStudio sucks[...]

      No, I didn't say Visual Studio sucks. Go read my post again -- this time, paying attention only to the things I actually said and not whatever hyperbole you happen to feel like adding.

      Keep in mind, I was responding to someone whose claim wasn't "doesn't suck"; the claim was general-purpose superiority. (Moreover -- I don't doubt that someone could write a LISP mode with SLIME-equivalent support, but until such a thing exists, that still doesn't make VS the superior environment for folks working in LISP).

  2. Use it today by DogDude · · Score: 5, Insightful

    I'm one of them. I still actively use it today. I know how to use it, and I never had any interest in learning .Net. I've got several mission-critical apps written in VB6, and I'm updating one of them right now. We have no plans to move to something else. If it ain't broke...

    --
    I don't respond to AC's.
    1. Re:Use it today by Anonymous Coward · · Score: 0

      I have not used it for a while, but several apps I wrote around 10 years ago are still running today. Like you said if it ain't broke. Makes no sense to reinvent the wheel if you don't have too.

      Cheers!

    2. Re:Use it today by gbjbaanb · · Score: 5, Insightful

      exactly, though I'm quite "meh" on VB6, it is still simple enough to slap something out in it in next to no time, and it works. Sure I'd like the IDE to improve and a couple of niggles to disappear, but hey - all languages have them, including .NET.

      There was a thread on /. recently about teaching salespeople to code - in my experience you don't bother trying, you just give them a copy of VB6 and tell them to knock themselves out. Next thing you know, they've knocked up something that does what they want. Give them a copy of VS2012 and tell them to do the same thing using WPF front end with a C# WCF webservices remote service and they wouldn't be able to do it. And that pretty much sums up why VB6 is still with us and was so popular.

    3. Re:Use it today by leenks · · Score: 1

      I thought there were major compatibility problems with the VS98/VB6 IDE on Windows 7 and Windows 8 (caveat: I heard this from a large desktop consultancy that were brought in to provide new systems for a large organisation - I haven't validated it myself). If so, won't this stop you developing once XP is unsupported, unless you want to be developing using an un-patched OS? I'm genuinely interested in your strategy going forward, as a friend maintains a VB6 application that is going to be a nightmare to port to VB.NET, so it might as well be rewritten in something else.

    4. Re:Use it today by DogDude · · Score: 1

      Nope. VB6 apps (the ones that I write) work fine with Windows 7.

      --
      I don't respond to AC's.
    5. Re:Use it today by V+for+Vendetta · · Score: 5, Interesting

      I'm one of them. I still actively use it today.

      Same here. And everything that VB6 can't do or "needs a 'lil help with", I'm adding with PowerBASIC (PB). My programs are typical inhouse programs: Retrieve data from A, convert/calculate/transform it, store it back to A or pass it over to B.

      If my time would permit (programming is only part of my job's duty), I'd replace every VB application with a complete PB counterpart. Unfortunately that's still not the case, but I'm working on it. I just wish PB would hire someone to write a decent IDE. The compiler is a masterpiece (and doesn't need to fear the comparison with any other language), the IDE ... not so.

    6. Re:Use it today by Anonymous Coward · · Score: 2

      I've been using VB6 ever since I was 12 (since 2002), and .NET never made itself interesting to me. I tried to learn the language recently, but the lack of a simple intuitive user interface in the "metro" Visual Studio 2010 made me cringe at the sight of it when it was necessary to stare at it for more than a few hours daily. VB6 does exactly what is needed, quick development with total BASIC programming and no OOP directives.

    7. Re:Use it today by cianduffy · · Score: 2

      The little work I have to do with the IDE on Win7 still works fine. I would imagine installing some supporting libraries for specific features could be difficult - I did have to fight the SOAP libraries on.

    8. Re:Use it today by pegisys · · Score: 1

      When a company that I had worked for upgraded all the developers boxes to windows 7 the vb6 developers all ran the IDE in XP mode.

    9. Re:Use it today by iosq · · Score: 5, Insightful

      All well and good, but I think a VB6 application created by salespeople would be the sort of thing that you might see in the average slashdotters worst nightmare.

    10. Re:Use it today by Anonymous Coward · · Score: 1

      There do not seem to be any issues on my machine - win7 64bit.

      I have been developing in C# the last few years, prior to that, I was developing in VB6 for about 6 years.

      I went for an interview with an investment bank that still have quite a few apps in VB6. To prepare for the interview, I developed a few small apps, including COM+

      No issues, it just works. There maybe an issue with win8, i don't know.

    11. Re:Use it today by segedunum · · Score: 5, Informative

      I thought there were major compatibility problems with the VS98/VB6 IDE on Windows 7 and Windows 8 (caveat: I heard this from a large desktop consultancy that were brought in to provide new systems for a large organisation - I haven't validated it myself).

      There is your answer right there. I've heard this myself from large consultancies trying to sell you the latest alphabet acronym soup of Microsoft's latest development technologies so they can make a bundle. Those who have bought in then get to upgrade and rewrite all their code in the new latest and greatest .Net version 77.4 and whatever the latest name for Windows.Forms is in perpetuity. It never ends. You end up firefighting and upgrading more than you do actually coding useful updates into the application

      History over the past decade should teach us to be very, very wary of buying into any of the latest development technology from Microsoft. Silverlight developers are soon to be dumped on from a great height and these pitiful Metro applications we're all supposed to write now make me laugh, all so little baby Ballmer can have yet another expensive failure at being Apple or Google on mobiles.

      I'm genuinely interested in your strategy going forward, as a friend maintains a VB6 application that is going to be a nightmare to port to VB.NET, so it might as well be rewritten in something else.

      The quiet secret is that a lot of companies if they've rewritten anything over the past decade have rewritten their applications to be run over HTTP and a web browser. Anything that can't has stayed as it is. Not that web applications are perfect by any stretch of the imagination but at least there is a relatively stable target there now and you have other browsers besides Internet Explorer, and even other operating systems besides Windows, so the rug doesn't get pulled out from underneath you. Deployment is quite a bit easier as well.

    12. Re:Use it today by Dr_Barnowl · · Score: 2

      I like .NET but have avoided VB.NET assiduously ; it's almost, but not quite, completely unlike VB6, and I don't want it ruining my VB6 knowledgebase for my retirement.

    13. Re:Use it today by Anonymous Coward · · Score: 4, Insightful

      Better than the hobbled up shit they use today with Access databases linked to Excel dumps......

      One of my BA's at work literally turns on his laptop in his van once he pulls close to the building. He then lets it "calculate" his formulas and worksheets for this massively complex model he's created.

      It takes about 35 minutes so he's opted to turn the machine on early and walk into the building with it while it churns at 100% cpu and thrashes the hard drive.

      He even had it get corrupted once when it crashed and he nearly lost all his work. The guy is an idiot. But his model gets shit done and surprisingly management could care less how he does it.

    14. Re:Use it today by tomhath · · Score: 1

      The code might be ugly, but the next time a user says to you "All I really need it to do is X", pay attention to them. They don't care how well written it is if it does X, that's their only requirement.

    15. Re:Use it today by Anonymous Coward · · Score: 0

      Wish I could mod you up. PowerBASIC rocks.
      It's clean and fast. some of the GUI code means you have to actually understand how Windows works under the covers though.
      And honestly most programmers I know couldn't care less why it works, they just want to get a job done and move on.

      In today's world where there is enough memory and processing power to write crappy code that runs more than half as efficient as PowerBasic, and still end up looking like the hero, they just don't care about efficiency.

    16. Re:Use it today by BenJury · · Score: 1

      While I do not use VB6 now, I've had a lot of experience using it 'back in the day' for mission critical applications. It is a very flexible language, with very few things it couldn't do. Frankly I take umbridge at the "enable very rapid development of limited programs by programmers of lesser experience" quote, I can only guess it was written by someone whose never programmed professionally using VB6.

      --
      Blatant Advert: Android Apps!
    17. Re:Use it today by gbjbaanb · · Score: 4, Insightful

      absolutely true, but if you look at TheDailyWTF you'll see that so-called 'professional' programmers can come up stuff that's just as bad. Only they think they're coding gods, at least the salesman with his VB app knows its just a quick n dirty piece of crap tooling that he uses to get his work done.

      In my place, I know several VB programmers who happily say this, and they know that one day we'll rewrite their apps "properly" so they are less expensive to maintain and work better, when we have the time... which will probably be never.

    18. Re:Use it today by fizzer06 · · Score: 2
      Give them a copy of VS2012 and tell them to do the same thing using WPF front end with a C# WCF webservices remote service and they wouldn't be able to do it.

      Do you think they would more likely be able to create remote web services with VB6?

    19. Re:Use it today by benjfowler · · Score: 2

      .NET is kinda nice from a technical point of view, especially if you like fiddling with parsers and compilers. MSIL is a very nice intermediate language to emit from the front end of a compiler...

    20. Re:Use it today by Sperbels · · Score: 1

      I thought there were major compatibility problems with the VS98/VB6 IDE on Windows 7

      There are some annoying little problems. But you can work around them and/or tolerate them.

    21. Re:Use it today by Sperbels · · Score: 2

      Just more of the same elitist abuse it's been getting for over a decade. The fact that the summary attacks the people who use it more than the language itself should tell you something. Yeah, it's not for power users, and it's not as elegant as some other languages, but it can do 99% of what people need it to do. And it's at least as fast or faster as it's .net descendants...if you know what you're doing.

    22. Re:Use it today by __aaltlg1547 · · Score: 1

      I think the point was that the barrier to entry of writing small useful applications is low. That's as useful to professionals as it is to beginners because it means you the professional can whip out a program that gets a simple job done really quickly.

      That doesn't mean it's not also an effective tool for writing big complex applications, though there might be better ones for that.

    23. Re:Use it today by Missing.Matter · · Score: 5, Insightful

      The guy is an idiot.

      The guy used the tools he knows to get his work done. It might not be the most efficient way, but that doesn't make him an idiot, just ignorant. Maybe instead of being a dick you could educate him as to the more appropriate solution and why his is dangerous/inefficient?

    24. Re:Use it today by 517714 · · Score: 5, Insightful

      An idiot who gets things done is better than a genius who doesn't. If you are surprised at management's position, then your evaluation of who is the idiot is flawed.

      --
      The US government have made it clear that we have no inalienable rights; any we do not defend vigorously will be taken.
    25. Re:Use it today by Xest · · Score: 2

      Yes, well, a lot of so-called "professional" programmers believe PHP is a well designed language, and a good number of them exist on Slashdot.

      The problem is that the bar isn't exactly high to be able to call yourself a professional programmer.

      A decade or so ago you had to understand things like pointers and so forth, nowadays you can knock together any crock of shit and call yourself a professional programmer. I suppose that's good and bad - good in that humanity gets more software ideas turned into reality, bad in that some of those "professional programmers" go on to be the developers responsible for password security at LinkedIn.

      I'm sure I'll get some replies telling me I'm wrong, and that PHP is actually the most awesome thing to have ever arisen, but the poor sods telling me that are somewhat ironically hence going to be the same people I'm talking about. I've been using PHP on a large 18 month project now (and thank fuck it's finally almost over, though I suspect we'll get some uplift work) and if you can't tell what's wrong with it, you really prove my point - to anyone with even a basic understanding of computer science and/or has some experience in producing systems in other mainstream languages it's all quite obvious. Perhaps the most glaring one in this day and age is the complete and utter lack of actual parallel programming support beyond a few awful curl hack libraries.

      Really, VB6 is the same thing, different market - the advantage VB6 has is that because it's not generally web facing like PHP the faults that arise from the poor software it allows rarely become a big deal, so it keeps chugging along meaning that yes, exactly as you say, it lets people do what people need to do where there is no professional development resource available to do it, and rarely causes any harm, so I don't really have too much of a problem with it. Ultimately the problems with these sorts of language arise when the program either grows well beyond it's means, or are exposed to the wider world, or the developer behind them gets a bit too ambitious relative to their skillset or the strength of their tools, but if all that's never going to happen I don't think they're necessarily a bad thing.

      Despite my comments, I'm not really much of a language bigot, if it works for you then go for it, but with the caveat that you're aware of where problems could arise from your chosen toolset - the problem is with the likes of 99% of PHP developers, and even a good number of developers in general is that they don't have that awareness, whereas the salesperson you mention hacking together their VB6 app, again, somewhat ironically, does.

    26. Re:Use it today by JustOK · · Score: 2

      yah, but we're kinda hoping for something with pneumatic wheels instead of the wooden ones. ;)

      --
      rewriting history since 2109
    27. Re:Use it today by Anonymous Coward · · Score: 1

      COULDN'T CARE LESS

    28. Re:Use it today by dkf · · Score: 1

      Better than the hobbled up shit they use today with Access databases linked to Excel dumps...

      I see that you are familiar with VBA.

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    29. Re:Use it today by Curunir_wolf · · Score: 1

      I thought there were major compatibility problems with the VS98/VB6 IDE on Windows 7 and Windows 8

      There are. I see some people claiming they are running it okay "for simple stuff", but for the applications I support it will not work.

      If so, won't this stop you developing once XP is unsupported

      Not necessarily. XP still has a couple of years left, but I only run it as a VM (KVM on Linux, even), so even after support for XP ends it won't be an issue for me. My customers don't see any advantages to re-writing these apps in something else (they are very large), and as long as they want work done with them I'll keep doing it.

      --
      "Somebody has to do something. It's just incredibly pathetic it has to be us."
      --- Jerry Garcia
    30. Re:Use it today by Anonymous Coward · · Score: 1

      Say what you will about VB6 but at least it would never, ever compare two variables to which you have assigned strings containing numbers by implicitly converting them to numbers resulting in loss of precision:


      a = "1111111111111111111111111111111111111"
      b = "1111111111111111111111111111111111112"
      If a <> b Then
              Debug.Print "Nope, VB6 isn't this retarded."
      End If

      $a = "1111111111111111111111111111111111111";
      $b = "1111111111111111111111111111111111112";
      if ($a == $b) {
              echo "Yes, PHP is this retarded."
      }

    31. Re:Use it today by Anonymous Coward · · Score: 0

      not to be a wet blanket but couldn't he run the stuff on a remote server and RDP into it at the client site?
      if connectivity is a problem, use a cell modem.

      he can then throw more processor at the problem and not have to risk his laptop. Or run it on an SSD and not risk screwing around with rotational media.

      there is more then one way to skin this particular cat.

    32. Re:Use it today by MightyMartian · · Score: 1

      Amen. The sole defense of tools like VB6 and MS-Access is that I could rapidly prototype. I'd never make an end product out of them, but for working concepts they work well.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    33. Re:Use it today by Tablizer · · Score: 1

      I'm adding with PowerBASIC (PB).

      Have you tried RealBasic by chance?
         

    34. Re:Use it today by dunkelfalke · · Score: 1

      You didn't catch it. The guy is an idiot because he walks around with a notebook with a hard drive that is doing a lot of hard work. This can lead to a head crash very easily.

      --
      "It's such a fine line between stupid and clever" -- David St. Hubbins, Spinal Tap
    35. Re:Use it today by Anonymous Coward · · Score: 0

      why would you want to? web services do not perform better ...

    36. Re:Use it today by Missing.Matter · · Score: 2

      Again, that doesn't make him an idiot, it makes him ignorant. Why should he expect that walking around with a mobile computer could lead to data corruption, given that we live in a world where we constantly walk around with computational devices (smartphones, tablets)?

    37. Re:Use it today by Anonymous Coward · · Score: 0

      I am using PB at work regularly and I don't agree entirely with you. I am mantaining some legacy code which would too expensive to replace right now.
      I am a seasoned programmer, grown on c/c++ mostly on early days, then moved on different languages during years.

      The compiler is quite fast, but shows many degrees of incompleteness here and there. I am talking mostly about of versions between 4 and 6 (console), but it is quite the same for the pbwin part 8-10. V6 programs they crash randomly on vista/7, while the same source code runs smoothly onprevious versions.

      Dead code removal has been introduced only in v6 if I am not wrong, and has different bugs.
      Powerbasic was in my opinion great during the dos days for creating very small executables instead of competion.

      The ide is just horrible. The console one is just average, but the gui one recalls me working with borland c/c++ using the resource files and resource ids or you have to resort to third part tools to do a better job (firefly for example). Bob zale is the author of turbo basic and i guess is still standing on the same approach of that time.

      Sadly many tools are evolved meantime, and pb was left behind.
      It is imho just nice to do pretty quick things, the program to import data from a to b or to write a quick and dirty program which would need more time to start the visual studio environment than actually write the code.

      And absolutely not doing gui stuff, which vb6 done in a better and more intuitive way, even if being a disaster on the other sides.

      My 2c

      It is cheap

    38. Re:Use it today by PJ6 · · Score: 1

      All well and good, but I think a VB6 application created by salespeople would be the sort of thing that you might see in the average slashdotters worst nightmare.

      The biggest, most costly failures of SLDC is getting the spec wrong and having to put off a bunch of changes 'until the next release(s)'. Usually the users get blamed, which is standard CYA operating procedure for the incompetent. When I see a bunch of spreadsheets ("can you do it this way?") I get down on my knees and praise jeebus because there is the living spec, pretty much exactly what they want already spelled out for you in detail.

      Same thing would go for sales people that wrote their own VB6 app. I don't care what they wrote it in. I'd be like, holy shit, this is awesome. There's the living spec, the most valuable part of the SLDC, and it's already halfway to being a real app! They give you something like THAT and say, could you make this a professional quality application, I'd be happy as a clam. No surprises, predictable estimate. Let the non-programming stakeholders develop with simplified tools. It's a good thing!

    39. Re:Use it today by Rich0 · · Score: 2

      Half the time IT is the unwitting force behind this sort of thing.

      If somebody spent an hour with him and gave him the odd assistance, then chances are his application, while not pretty, would be far more effective and maintainable. However, that would be an act of ceding control, so typically IT will say "no backend databases or help for you" and proceed to try to tell the business that they should invest in a $500k development investment to basically do what they can already do with the hobbled-together solution. The business instead spends their money hobbling together yet another solution until the whole thing is no longer sustainable, and then somebody has to clean house.

      The problem is the my-way-or-the-highway mentality that is very common in IT shops.

    40. Re:Use it today by leenks · · Score: 1

      That's what TFA is discussing, and not what I asked.

    41. Re:Use it today by leenks · · Score: 1

      Right. Which is what my friend does now. However, XP becomes unsupported in the not too distant future, so I'm wondering what the strategy is then.

    42. Re:Use it today by Anonymous Coward · · Score: 0

      I... get and understand your opinion. And I'm a programmer who gets things done. Sometimes to the irritation of managers above me and the colleagues next to me. Sometimes to the defecit of the next programmer -- you want your 8 week job done in 4? Fine...I'll skip all the unit tests and requirements analysis as long as there's an acceptance procedure written in advance.

      But I hate to say it, but.. him and management...likely are the idiots here if this process is actually being ran ... on a laptop.

      I've seen it happen time and time again. You will tell them how to fix things, how to mitigate the risk. You will tell them the probability of catastrophic drive failure, virus, system fault, a simple package/software update breaking formulas.

      You will warn them that the b2b app they bought from some ... VB5 programmer working out of a garage in PA, and tell them that a twenty minute analysis on your own time at home reveals it will *never* work for more than 7 people. You'll tell them that they can use excel for forecasts, but they need to stop doing 'job scheduling' with it. That they need to run their CRM that took a month of data entry on something better than a $600 repurposed dell vostro.

      Oops. There goes another $2,000 of wages to some intern whose name I don't even know, plus $15,000 of sales team typing time. Not that they'll ever use that fancy system again after it had a five day outage at the close of a quarter... Nope...they're all back to using excel.

      And they'll do what they want anyway. And the moment there's a problem, you get a call at 3 AM. And usually--I'm not paid enough to not just send some resumes out and give them two weeks notice by the end of the month after that. I like a nice, simple...start-to-finish job. I'm lazy. And management doesn't like lazy employees that just want to put in the minimum, get what they're asked for done, and fall asleep on friday morning. Why do more when the budget was never realistic to start with ?

      I've seen it again and again and again. I've brought in friends as consultants that charge hundreds per hour to clean it up. Once or twice with kickbacks. The mental justification comes with... they're a friend, they /will/ work hard, and since I like them, I can put up with answering their questions--and tell them the whole and complete truth that management will never understand, listen to, or believe.

      I've quit positions over it more than once, and left people furious when they got two weeks notice at the end of a miserably failed project-- one where they mislead shareholders and think they can fix it through overtime and have it done the way they want. I've seen automation processes controlled via settings in excel documents on network shares. I've seen people sell analytical packages that execute on 8 year old versions of PHP that only run on IE5 on a virtual machine to three letter government agencies as turnkey solutions. And seen them pass acceptance, audit, and review. The extra effort isn't worth it.

      And I've told them them they can have me back for 200 an hour for one month, if I report directly to upper management, and get to throw out all previous requirements.

      Sometimes they'll put up with it. Sometimes they go under. Sometimes, they find somebody else. If it's a government thing, they'll threaten to withhold payment or sue. That's why you get paid every two weeks.

      Bottom line--you know what, a 60 minute excel job...it might get the job done. But they better fucking manage it. Backups, copies, full system archive. Proper licensing. They better make sure their colleagues and boss who use it know how it runs and that someone else can run it. They better do their job with an ounce of fucking competent oversight. You don't want a programmer, that's fine--then you need IT. You don't want IT, or a programmer, that's fine, you need to keep it managed and handled by risk analysis.

      But hey, when your patent-pending

    43. Re:Use it today by leenks · · Score: 1

      In this case, the result was the organisation stayed on Windows 2000 for nearly a year after its end of life, with an eventual minor upgrade to Windows XP fairly recently. Windows 7 is nowhere near ready to being rolled out.

      Your comment about webapps is irrelevant. Yes, many companies have done this. The GP and my friend have not, so I was asking for the strategy for maintaining that code when (supposedly) the IDE doesn't run properly on Windows 7, but from the other posts this might not be the case. In any case, web applications were also frequently written in VB classic and many still have not been migrated to .NET or other things yet.

      I agree with your assessment of Microsoft development technology - I attempt to stay well clear of it. While I'll probably learn Metro (purely so its on my CV for contract work), I won't be building any of my own projects with it...

    44. Re:Use it today by leenks · · Score: 1

      Can you detail the things that don't work? I'm curious, and it might provide a catalyst for my friend to rewrite his app.

      I also run XP in a VM occasionally, but I (and my friend) would rather be working on Windows 7 (caveat: I use Macs and Linux on my machines and have Windows 7 in a VM) - mainly because the app connects to remote database servers over the Internet. While I could also host the database on the VM and avoid that, I can't have any real data in there for testing due to regulatory constraints. I suppose we'll have to host the VM at the client site and RDP into it. Meh.

    45. Re:Use it today by St.Creed · · Score: 1

      Prototypes are the best specs. And if you have the builder giving you daily feedback on your new development, allowing tweaks and quick decisions, then you have what they call "agile development". Works for me :)

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
    46. Re:Use it today by gbjbaanb · · Score: 1

      I totally agree - and I even think that "serious" languages should be harder to use, within reason, to stop the cult of the 'developer productivity' and 'ease of use' from taking over. There is a place for these languages, but the people using them need to know that they are not the professional experts.

      So Java, .NET and its wizards, and some script languages have not done the industry any good. The time spent making them could so much be better spent on creating the class libraries to make the other languages more functional.

      LinkenIn... I'm not sure why they were hacked, but it proves my point that we don;t need new 'easy to use' languages, we need the existing ones to come with 'solved problem' templates - liek in real world engineering, if you want to build a bridge, you don't start from scratch, you start from one of several known-working models and tweak them to look like what you want. Occasionally you push the boundaries by introducing new materials to make them, but then you also go with the rigorous testing that proves it won't fall down. Sure, you sometimes get issues, but they are insignificant compared to the number of still-standing bridges in the world.

      IT needs to be more like that.

    47. Re:Use it today by ColdCat · · Score: 1

      We still have a lot of VC 6.0 project in my company ( for me the last good C ide from microsoft ) The IDE base has a lot of common with VB6. The problems we have is random crashs ( Win7 kill process that don't read message for a certain amount of time and win XP mode don't solve that) The Debugger can't always kill degug process, which stuck you with closing and opening the IDE again. The System change a lot since VB6 days, and some function or old usage are blocked by UAC, it's sometime a lot of tweek to make it run. We used to have customers' administrator problems when deploying some tools which rely on that kind of code. It's not always possible to rewrite or even port to a modern version when the software plugin was written by a one of a few researcher which understand a specific problem for you.

    48. Re:Use it today by GumphMaster · · Score: 1

      I've been using VB6 ever since I was 12 (since 2002)

      Way to make someone feel old you insensitive clod ;)

      --
      Patent litigation: A doctrine of Mutually Assured Destruction... in which everyone seems willing to push the button
    49. Re:Use it today by shutdown+-p+now · · Score: 1

      The apps work, yes - that's what the support mentioned in TFA is about. The IDE itself - Visual Studio 6.0 - does not.

    50. Re:Use it today by shutdown+-p+now · · Score: 1

      . If so, won't this stop you developing once XP is unsupported, unless you want to be developing using an un-patched OS?

      Don't forget that Win7 has this thing called "XP mode", which is really just XP running in a VM, with windows presented as part of the host OS (much like Parallels on OS X). VS6 works great there, and you can sandbox the VM itself as much as you want - especially if you're really going to use only VS from it, and not anything else (like, say, IE).

    51. Re:Use it today by shutdown+-p+now · · Score: 1

      the lack of a simple intuitive user interface in the "metro" Visual Studio 2010

      Do you know what "Metro" even is?

      VS 2010 is not Metro in any sense whatsoever. It looks largely the same as all versions before it up to VS 2002 or thereabouts, except for a different color theme (and there's an extension to make it use Windows colors if you don't like that).

    52. Re:Use it today by Curunir_wolf · · Score: 1

      I really can't remember the specifics, it's been a while since I tried it. There were many issues involving first the installation, using admin mode for everything, turning off UAC, etc., that I was able to get around. In the end, there was one or two issue that I couldn't work around that were deal breakers, but I don't remember what they were. It may have even been some low-level direct DLL calls that were the issue, but I seem to recall it being something more fundamental.

      What I do remember is that I was faced with having a single machine dedicated to VB 6 development that wasn't going to be suited for doing much else, and XP was the far easier to work with in that case.

      --
      "Somebody has to do something. It's just incredibly pathetic it has to be us."
      --- Jerry Garcia
    53. Re:Use it today by StuartHankins · · Score: 1

      Can you give me some examples please? Just because the things I've tested work doesn't mean everything will and we're well on our way to migrating to Server 2008 R2 and Windows 7 on the desktop. Any insight could save me frustration. Thanks.

    54. Re:Use it today by Anonymous Coward · · Score: 0

      I confess to have on occasion written some really crap banged together code for single use needs. And then had the program used for the next couple of years with no changes, updates, or bug fixes before becoming obsolete and replaced. So ask me again why I should have spent three weeks knocking out good well written and documented code instead of a week cut and pasting something together from parts of other programs?

      Only comment about VB6, is I can't imagine that VB6 is that much easier to slap together programs in than C#/.net. Sure you can do rather advanced stuff in C# but you don't have to. You can use monkey with a baseball bat coding techniques and slap something together and after beating on it enough it'll generally do whatever reliably. And continue to do whatever reliably for the next ten years. (Swipe, likely there are lots of ten to twenty year old C/C++, FORTRAN, COBOL, VB6, and even Microsoft Basic programs out there in the wild still running un touched. Can't say that about Java or a lot of other cool neato languages)

      Remember programmers and IT are usually overhead in most business.

    55. Re:Use it today by Sperbels · · Score: 1

      Sure. Let's see.

      - Be sure UAC is off or on it's lowest setting. - The VB installation doesn't always work. Generally I google "vb6" and then the error message and I find a work around. You can get it to work...the answers are out there.
      - When you select multiple controls on a form designer and try to move them, it goes really really really slow.
      - Microsoft broke ADO's COM interface in Win7sp1 last year. http://social.msdn.microsoft.com/Forums/en/windowsgeneraldevelopmentissues/thread/3a4ce946-effa-4f77-98a6-34f11c6b5a13 When you try to run a program that's early bound to ADO and been compiled on a Win 7 machine, and then install it on an older 32bit OS, all your ADO calls will throw automation errors. We worked around it by compiling the VB code on XP machines before moving to our dev servers. There's no problem compiling on an older machine and running it on a new machine though. This is only a problem if you're early bound to ADO though.
      - Form designers occasionally get weird visual artifacts on them when selecting controls by clicking and dragging the mouse.
      - Be sure to google for the vb6 scroll wheel fix. It's almost intolerable to use without the scroll wheel.
      - You might have some issues if your program accesses certain portions of your registry or file system. Win 7 restricts some areas. Might be less of a problem with UAC off. I can't remember the specific areas though. The root of the C drive is off limits now I think.
      - Compiling a COM object will automatically register it to the location you compiled it. This might not be possible with UAC on. Haven't tried it with UAC on, but regsvr32.exe won't run properly with UAC on, so I'm assuming VB can't register anything either.

      That's about all I can think of off hand.

    56. Re:Use it today by Sperbels · · Score: 1

      Oh, if you're using ODBC, make sure to run the 32-bit ODBC Data Source Administrator when setting up your DSNs. If you set them up in the one you see under Administrative Tools, VB can't see them.

      It's located here: Windows\SysWoW64\Odbcad32.exe

    57. Re:Use it today by datavirtue · · Score: 1

      Uh... No one designed shit about PHP. It is a scary, beautiful hack that one starts out thinking, "wow this is great, it is so easy." Until the project grows and the quick hacking starts to become very uncomfortable. Frameworks like Codeigniter help a lot, mostly to keep you from shooting yourself in the foot when building a large-ish web app. I would be scared to death trying to code a decent web app from scratch though.

      --
      I object to power without constructive purpose. --Spock
    58. Re:Use it today by Anonymous Coward · · Score: 0

      The user might not care, but the business does. Businesses have to worry about things like cost of ownership. A well written application has a lower cost of ownership because changes are easier and bugs are less common, hence the application has more value to the business.

      Hacking some horrible piece of crap together and saying 'that's ok, it does X - requirements fulfilled!' while shafting any possibility of economical future maintenance is the sort of short-sighted shit programming the rest of us hate, because we'll be the ones that have to clean up the pile of shit you dumped on us.

    59. Re:Use it today by StuartHankins · · Score: 1

      Many thanks. I get around some of the issues by developing / compiling on Windows 2003 server before deploying on newer versions of Windows. I did do the scroll whel fix, IIRC this was a problem that first appeared when migrating from Windows Server 2000 to 2003. Registry access is limited in our apps and I haven't run into this problem yet, but that's good to know. One of our deployment platforms is Terminal Server so we already use user-writable folders (using environ for user-specific temp folder for instance). And very good point about 32-bit ODBC. I think I ran into issues with that also in 2003.

      All in all it sounds better than I expected. I was hoping that there wasn't something big I had missed in testing. Thanks again.

    60. Re:Use it today by rev0lt · · Score: 1

      You mean, like Javascript?

    61. Re:Use it today by rev0lt · · Score: 1

      Yes, well, a lot of so-called "professional" programmers believe PHP is a well designed language, and a good number of them exist on Slashdot.

      Well, I'm one of the guys that usually counter-arguments on the "PHP is evil" rants, and I create code professionally, so I guess I'm a "professional" programmer. I've never seen a PHP programmer saying it is a well designed language - on the contrary. Anyone that actually uses PHP knows it is an half-assed attempt at nothing, riddled with inconsistencies and unexpected behaviours. I probably could point out some serious problems with "acceptable" languages such as C, or inconsistencies in a language that is the "elefant in the room" (Javascript), but the list of defects of those languages combined probably isn't remotely close to the problems PHP has.
      That said, there are areas where PHP shines - and, while there are alternatives - PHP still is a viable choice. As a programmer, I like how it does not force a paradigm down my throat, and gives me the liberty to freely implement how I choose to. I wouldn't use it for GUI programming (I know, someone else thought it was a good idea), or for complex database handling, and yes, the internet is full of piss-poor PHP code, but know what else? You have piss-poor JAVA code too. And C. And python. And every other language you can think of.

      Perhaps the most glaring one in this day and age is the complete and utter lack of actual parallel programming support beyond a few awful curl hack libraries.

      If you need parallel programming, PHP (and VB6 :D) is not an acceptable choice. If what you meant was lack of thread support, well, I'd say threads - while valid in some contexts - are overused and often create more problems than they solve. As you said "anyone with even a basic understanding if computer science" can work around them in many (most?) cases. Even at the operating system level, threading poses scheduling problems in many operating systems, specially considering the multi-core world of today.

    62. Re:Use it today by Anonymous Coward · · Score: 0

      Nope, JavaScript doesn't do this either. The == operator in JavaScript will only perform an implicit conversion if the data types are actually different and recognizes in the situation above that both variables were assigned strings.


      var a = "11111111111111111111111111";
      var b = "11111111111111111111111112";
      var c = 11111111111111111111111112;
      if (a == b) {
              document.write("JavaScript isn't as retarded as PHP");
      }
      if (a == c) {
              document.write("Disparate data types will lead to implicit conversion, however.");
      }

    63. Re:Use it today by pnutjam · · Score: 1

      AMEN brother! Many people confuses scripters with programmers. I can knock out some bad ass scripts that get the job done, but I am not a programmer and I know my limits.

      That being said, I will step over the line for pay and try my hardest to make sure you understand I am over the line, but business has to get done.

    64. Re:Use it today by pnutjam · · Score: 1

      True, the incompetence at many IT departments is astounding. Maybe I should be saying this anonymously...

      However most of the incompetence is because of the lack of training budgets and the tendency of companies to throw anything at IT and see if it sticks.

    65. Re:Use it today by Anonymous Coward · · Score: 0

      The apps work, yes - that's what the support mentioned in TFA is about. The IDE itself - Visual Studio 6.0 - does not.

      The IDE works on Win7 here just fine!

    66. Re:Use it today by Anonymous Coward · · Score: 0

      When a company that I had worked for upgraded all the developers boxes to windows 7 the vb6 developers all ran the IDE in XP mode.

      The IDE works for me under Windows 7. What problems have others seen?

      I have had some issues with app-builds not running on XP, so I just rebuild the code using an XP VM.

    67. Re:Use it today by Anonymous Coward · · Score: 0

      I probably could point out some serious problems with "acceptable" languages such as C

      Proceed.

      (For bonus marks: C is C++ with all the mistakes taken out. Discuss.)

    68. Re:Use it today by Rich0 · · Score: 1

      I think the issue is more that people who truly grok CS are in short supply, and the fact is that not all employers really need them equally.

      What most companies call IT is really more about technology/business integration and management, and not creating technology from scratch. Many people don't really need somebody who can build some wonderful application so much as somebody who can understand what the needs vs wants are, and evaluate the options that others have built. The job has as much in common with marketing as it does with CS.

    69. Re:Use it today by pnutjam · · Score: 1

      To some extent that's true, but what I see is alot of people who either can't or won't comprehend things that are relatively simple. Often they are going through the motions doing things like building out dozens of PC manually, instead of imaging and scripted installs. They are often keeping busy which looks good to an outsider, but to a knowledgeable tech they are spinning their wheels with problems the rest of the world solved 5 or 10 years ago. I guess these are grown up script kiddies that are comfortable with their own toolbox and don't have the intellectual curiosity to ask why do you do this and how can you do it better or faster.

      Maybe they just aren't as lazy as me.

    70. Re:Use it today by Rich0 · · Score: 1

      Unfortunately the perception of work is what tends to get rewarded. If all is going well, managers will question whether they need you. It causes perverse incentives all over IT.

    71. Re:Use it today by Anonymous Coward · · Score: 0

      The apps work, yes - that's what the support mentioned in TFA is about. The IDE itself - Visual Studio 6.0 - does not.

      You have to download a patch, but the IDE works fine in Win7 after that.

    72. Re:Use it today by Anonymous Coward · · Score: 0

      the lack of a simple intuitive user interface in the "metro" Visual Studio 2010

      Do you know what "Metro" even is?

      VS 2010 is not Metro in any sense whatsoever. It looks largely the same as all versions before it up to VS 2002 or thereabouts, except for a different color theme (and there's an extension to make it use Windows colors if you don't like that).

      Hopefully he just mistyped 2012, which is metro only for the free version. If you pay for the professional version of 2012, you can develop regular apps.

    73. Re:Use it today by shutdown+-p+now · · Score: 1

      Hopefully he just mistyped 2012, which is metro only for the free version.

      Since he was talking about the UI of VS itself, it still doesn't make sense, since VS 2012 is still not Metro (though it kinda edges in that direction).

      By the way, there was a change of plans - there now will be VS 2012 Express for developing desktop apps.

    74. Re:Use it today by DarthVain · · Score: 1

      Sigh. Been there done that. The guy isn't an idiot, he is likely working within the parameters given to him.

      Usually it goes something like this:

      Management: I have a problem I need you to solve!
      Me: OK, it will take A + B + C to do it properly.
      Management: We have no money, use what resources you have available.
      Me: Sigh, OK I'll cobble something together.

      Usually that means using the standard load out of suite software which is MS Access and Excel.
      I've put together some ugly things yes, but some end up pretty clever.

      The problem with these things is that only the guy that made them knows how they work and function. Once they go, so does whatever functionality those things did. I have also inherited some awful kludges, which trying to figure out what the heck the last guy did can be a real nightmare, usually best to just start over. I have one particular one that uses windows scheduled tasks, bat files, exe files (probably VB6), access, excel, and SFTP via a 3rd party software. It is broke in several ways. One being that whoever wrote the exe file did a wonderful job of hardcoding it to a shared folder on our network rather than use relative path names (so now we are stuck forever with that network location if we want to keep the functionality). I would replace it, but I am not entirely sure all of what it does, and there is no code, let along documentation, and the guy is long gone, and no one remember who did it in the first place. At some point I'll have to reverse engineer the thing, but that will take some time to figure out.

      What managers do not understand (or care about perhaps) is that while it might work OK now, down the road when you are dependent on it, it WILL cause problems. Especially if the person who does it moves on.

    75. Re:Use it today by Xest · · Score: 1

      "Well, I'm one of the guys that usually counter-arguments on the "PHP is evil" rants, and I create code professionally, so I guess I'm a "professional" programmer. I've never seen a PHP programmer saying it is a well designed language - on the contrary. Anyone that actually uses PHP knows it is an half-assed attempt at nothing, riddled with inconsistencies and unexpected behaviours. I probably could point out some serious problems with "acceptable" languages such as C, or inconsistencies in a language that is the "elefant in the room" (Javascript), but the list of defects of those languages combined probably isn't remotely close to the problems PHP has.
      That said, there are areas where PHP shines - and, while there are alternatives - PHP still is a viable choice. As a programmer, I like how it does not force a paradigm down my throat, and gives me the liberty to freely implement how I choose to. I wouldn't use it for GUI programming (I know, someone else thought it was a good idea), or for complex database handling, and yes, the internet is full of piss-poor PHP code, but know what else? You have piss-poor JAVA code too. And C. And python. And every other language you can think of."

      I agree with much of what you say, but your only counter argument is simply that there are problems with other languages, and code in other languages too.

      Yes, that's absolutely true, but as you say yourself the problems in languages don't even come close in number, nor in seriousness of defects. I don't like the fact C# has shortcut property initialisers which don't also make it trivial to instantiate properties at declaration like you can variables meaning you lose that benefit. I also don't like that Java doesn't have operator overloading. But you know what? all that pales to the fact that PHP outright just doesn't even support multi-threading for crying out loud. A fundamentally important concept in modern computing and most certainly in scalable web apps and it just doesn't even support it.

      The fact you get bad code in every language doesn't excuse the fact that you inherently get more bad code in PHP because there are just so many language pitfalls that 99% of PHP developers aren't even aware of but will without question eventually stumble over without realising it. It doesn't change the fact that interpreted languages are inherently more prone to errors for the most part because there is no compile time error checking that force you fix at least some of the most obvious bugs or the app wont even try to run. So yes, other languages have bad code, but in PHP it's inherently far far worse a problem, and unnecessarily so beyond the fact the language is abysmally designed.

      "If you need parallel programming, PHP (and VB6 :D) is not an acceptable choice. If what you meant was lack of thread support, well, I'd say threads - while valid in some contexts - are overused and often create more problems than they solve."

      Right, but that's not an excuse for not having them, because it means that if you don't even have them, then where it is the right solution to the problem, they don't even exist, meaning PHP fundamentally outright prevents you implementing the correct solution to some problems.

      "As you said "anyone with even a basic understanding if computer science" can work around them in many (most?) cases."

      The problem is that the workaround is often too costly. It involves the sort of things Facebook has had to do - throwing far more money at data centers than necessary if it was developed with more suitable technology from the outset, writing your own PHP to C++ translator to try and work around it, writing your own Java-esque PHP VM also. There's the problem right there - at that point, you might as well just use something else.

      So this really highlights the problem with your argument, your argument is that PHP can do stuff, well yeah it can, sure, but the problem is it doesn't do stuff better than anything else. It's not as well designed an interpreted language as Python

    76. Re:Use it today by wcboyd · · Score: 1

      I was an avid VB6 user and got more than a little ticked off with MS over their love of .Net so I started looking around and discovered RealBasic. Talk about an easy to use language and cross-platform to boot. I ported all my VB6 stuff to RealBasic and I have never looked back. (And no, I don't work for them.)

    77. Re:Use it today by rev0lt · · Score: 1

      PHP is used for one thing and one thing only - to generate CGI-like applications that shit webpages. If you are using it for anything else, you are using it wrong. If you have strange/complex requirements, or need to scale horizontally, you are using it wrong. If you need a stateful environment (where threads usually make sense for some tasks), you are using it wrong. If you need a GUI, you are using it wrong. Etc etc.
      Now for webpages, it does deliver - easy to use, easy to learn, acceptable performance, procedural support AND OOP. And it is very well supported well, everywhere. You can slap around some scripts for processing a form, or build a complex, "enterprise-grade" application. Because of that, it usually attracts less-talented programmers and beginners, but bad PHP code is usually easy to spot. Can't say the same for Python or Java. And the quirks. Yeah, they exist, and some of them are serious defects, but somehow applications get built that work most of the time, and don't fall apart.

      The lack of threading support in PHP isn't a showstopper when you are building stateless applications. Because the application is basicly re-initialized from scratch each time it is run, you want it to exit as soon as possible, and not keeping it around executing threaded stuff. There were some projects in the past that tried to implement thread support and failed - mostly, due to the fact that most libraries that PHP uses weren't threaded, and general lack of interest.

      Facebook is a textbook case of "you are doing it wrong". As soon as the requirements grew, they should have reimplemented the system in something nicer. We all know PHP isn't meant to be used as they are using it, and throwing money at the problem isn't going to solve anything.

      I personally hate Python. I cannot use a language that treats me like a child. But yes, Python can be used in a plethora of cases where PHP is a bad idea - but, if I'm using Python, why not use anything else? The same argument can be applied to any language. PHP (with a decent framework) is quite usable, easy to learn/troubleshoot (despite of the quirks), and delivers. Web-based applications tipically have a (much) shorter lifespan than desktop applications, so even the long-run cost of "maintenance" isn't a real problem.

    78. Re:Use it today by Xest · · Score: 1

      "PHP is used for one thing and one thing only - to generate CGI-like applications that shit webpages. If you are using it for anything else, you are using it wrong. If you have strange/complex requirements, or need to scale horizontally, you are using it wrong. If you need a stateful environment (where threads usually make sense for some tasks), you are using it wrong. If you need a GUI, you are using it wrong. Etc etc."

      I don't disagree, but the point is other technologies do all that and do it better, so again, why bother PHP?

      "but bad PHP code is usually easy to spot"

      If you believe this, I suspect you're one of those people who doesn't actually understand why PHP is bad. One of the biggest problems with PHP is that it has literally hundreds of extremely subtle issues that can cause real bugs (e.g. reversed ternary operator chaining). These issues aren't simple to spot, no matter how good you think you are, and this is really the fundamental problem.

      "Can't say the same for Python or Java. And the quirks."

      Absolutely you can, because they don't have these hundreds of quirks that PHP has, not to mention that Java wont even compile some of the things that PHP will silenty fail on.

      "Because the application is basicly re-initialized from scratch each time it is run, you want it to exit as soon as possible"

      Er, that's the whole point of threading - if you want something to happen in the background, you can throw it off in a thread, and respond to the client without having to wait for that processing to finish. This ironically means you can't exit as soon as possible and respond to the client in some cases, you have to wait for processing to end, even if that processing isn't necessary for the client to receive their response.

      "There were some projects in the past that tried to implement thread support and failed - mostly, due to the fact that most libraries that PHP uses weren't threaded, and general lack of interest. "

      Lack of interest being because anyone needing it just ended up using a proper language, like Java, instead, not because it's unnecessary.

      "I personally hate Python. I cannot use a language that treats me like a child. But yes, Python can be used in a plethora of cases where PHP is a bad idea - but, if I'm using Python, why not use anything else?"

      I agree, I don't like Python either, but the point is that if you have Python as an option, then PHP is always a bad idea, because even for the small niche areas where you can just about get away with PHP, Python does it better, as does for example, RoR.

      "The same argument can be applied to any language. PHP (with a decent framework) is quite usable, easy to learn/troubleshoot (despite of the quirks), and delivers."

      Again, if you believe this, then I'm not convinced you're aware of PHP's many subtle issues. They are well documented, most recently, and probably most extensively here:

      http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/

      "Web-based applications tipically have a (much) shorter lifespan than desktop applications, so even the long-run cost of "maintenance" isn't a real problem."

      Do you have any evidence to back this up? The only reason I can see it being true is that the web hasn't been around as long as the desktop, there's no evidence that I'm aware of that web applications get taken down and replaced quicker than desktop applications.

      The problem is that your argument seems to be weighted entirely on the rather weak get out clause that if PHP has failed then someone is doing it wrong. Therein lies the fundamental problem, it means anyone using PHP is always doing it wrong, because relative to use other options, PHP is always a failure - it's always inherently more buggy, slower to develop with, poorer performing, harder to maintain or a mix of those issues than just using an alternative technology would be, so again, what redeeming features does PHP have that make it better than any of the alternatives like Python or RoR, or even something JIT'd like C# or Java?

    79. Re:Use it today by rev0lt · · Score: 1

      I don't disagree, but the point is other technologies do all that and do it better, so again, why bother PHP?

      Please do tell, what scripting/dynamic language can I use that is multiplatform, has a rich library of modules, runs well as CGI and has an apache module available, can be run from CLI easily, has at least equivalent PHP performance, can be used for OOP or procedural programming, and isn't Python or Perl? Because you sound like there's a ton of choices available.

      One of the biggest problems with PHP is that it has literally hundreds of extremely subtle issues that can cause real bugs.

      I do understand what you are saying, but if you were a C programmer, there would also be literally hundreds of extremely subtle issues that can cause real bugs, that wouldn't be catched at compile time. Shure, most of those issues aren't clearly defects of the language (and most PHP ones are), but the result is the same - silent failure.

      Again, if you believe this, then I'm not convinced you're aware of PHP's many subtle issues. They are well documented, most recently, and probably most extensively here:

      Yes, I'm well aware of them and the link you provided. As are many of the programmers involved in framework development. Most frameworks do provide complete test coverage, so either 1) TDD is mostly useless because the testcases cannot cover the entire range of values and options (execution paths) of the code being tested; or 2) most of the quirks of PHP can be worked around (as somewhat proved by the ton of functional applications available). I confess I'm not a big fan of TDD, but it can help catching some of the issues, and static analysis tools also go a long way in preventing unwanted behavior. It's not like the defects aren't well known.

      Do you have any evidence to back this up? The only reason I can see it being true is that the web hasn't been around as long as the desktop, there's no evidence that I'm aware of that web applications get taken down and replaced quicker than desktop applications.

      What kind of evidence do you want? Try to load a webpage made for Netscape 6.0 that uses Javascript on a modern browser. Show me a CMS available since 2002 that hasn't been rewritten at least once, and still works well. Go ahead, and try to run an ASP application from 2002 on a modern computer. Or Java web application. Or even a Python one.

      The problem is that your argument seems to be weighted entirely on the rather weak get out clause that if PHP has failed then someone is doing it wrong.

      My argument is that, despite all defects and quirks, PHP works, even if you think it doesn't. I never said that PHP is slower to develop with, and that is a very subjective metric. A proficient programmer in a specific language will always be more effective at it than a not-so talented one. Harder to maintain is also relative, it depends on the application and the code itself. And It's not like JAVA or Python is taking the web by storm.
      As for redeeming features, I already said it - It's not Python, it runs almost everywhere, it doesn't shove a paradigm down my throat (like RoR), and you'd better know what you are doing, or it is going to blow on your face(like asm). That said, if I could use C# instead of PHP, I'd dump PHP in a heartbeat.

    80. Re:Use it today by Xest · · Score: 1

      "Please do tell, what scripting/dynamic language can I use that is multiplatform, has a rich library of modules, runs well as CGI and has an apache module available, can be run from CLI easily, has at least equivalent PHP performance, can be used for OOP or procedural programming, and isn't Python or Perl? Because you sound like there's a ton of choices available."

      Well, if you ensure your requirements are that strict and eliminate the alternatives then yes, you wont find anything other than PHP. But in the real world the requirements are rarely ever quite that strict, and there'd be no logical reason to arbitrarily just eliminate the alternatives.

      "I do understand what you are saying, but if you were a C programmer, there would also be literally hundreds of extremely subtle issues that can cause real bugs, that wouldn't be catched at compile time. Shure, most of those issues aren't clearly defects of the language (and most PHP ones are), but the result is the same - silent failure."

      No there aren't, that's precisely the point. Pretty much everything that can trip you up in something like C is well known and is there as part of a design decision, the same can't be said for PHP, it's issues are far more numerous, far more subtle, and aren't there as any coherent design decision - they're there by accident, they're poorly documented, and most prominently, they're far, far more numerous, and that's the issue. You expect quirks in every language but PHP's are more serious, more numerous, and more subtle.

      "1) TDD is mostly useless because the testcases cannot cover the entire range of values and options (execution paths) of the code being tested;"

      If you're building bad tests sure, but you shouldn't need to test the full range of variables, if you have even a basic understanding of the concept of mathematical induction it should be trivial to build a fairly safe test case that covers the most important, often small set of inputs required to give a good degree of trust in code. As the PHP developers don't even understand the far more basic concepts of transitivity though, I'm not suprised they struggle with this. It's also worth noting that TDD isn't going to be much help if you just ignore the test results and ship anyway without fixing problems, even when your code doesn't pass it's own tests, which is precisely what the PHP folks did - shipped code that failed to pass it's own unit tests.

      "2) most of the quirks of PHP can be worked around (as somewhat proved by the ton of functional applications available)"

      If you're aware of them, which 99% of PHP developers aren't. The functional applications argument is a bit of a weak argument, because it ignores the many bugs that haven't been discovered, and the fact that PHP applications are far and away the most hacked and exploited nowadays. Yes, there's plenty of stuff out there that just about works, but that's the stuff that has managed to make it through, it doesn't of course factor in all the applications where they gave up on PHP, where they ported to something else, and it ignores the massive disparity of security exploits against apps built in PHP compared to those built in say Java.

      "What kind of evidence do you want? Try to load a webpage made for Netscape 6.0 that uses Javascript on a modern browser. Show me a CMS available since 2002 that hasn't been rewritten at least once, and still works well. Go ahead, and try to run an ASP application from 2002 on a modern computer. Or Java web application. Or even a Python one."

      You can say the same about desktop software, if you haven't noticed things like Visual Studio, Microsoft office etc. get updated every couple of years, sometimes with major rewrites (i.e. Visual Studio 2010 switching to WPF for it's UI). There are similarly examples of web sites that have been running since the early days of the web with nothing more than updates throughout their life - Amazon has been around since 1994, IMDB since 94, eBay since 95. The web just isn't old enough to have the number o

    81. Re:Use it today by rev0lt · · Score: 1

      Well, if you ensure your requirements are that strict and eliminate the alternatives then yes, you wont find anything other than PHP.

      My requirements aren't strict. I prefer to use a single stack for development (ranging from something that can be used on an embedded system to a very busy webserver), and that relies on pieces of software that are easy to maintain (such as nginx, apache, etc). As I said before, there are valid reasons to use PHP.

      If you're building bad tests sure, but you shouldn't need to test the full range of variables, if you have even a basic understanding of the concept of mathematical induction it should be trivial to build a fairly safe test case that covers the most important, often small set of inputs required to give a good degree of trust in code.

      If you believe this, then you have no idea how computers work. And trust isn't a variable, its a property - you either have it, or you don't. If you cannot guarantee that a given test gives you 100% coverage of all use cases, then they cannot be used to assert quality or reliability of the code.

      It's also worth noting that TDD isn't going to be much help if you just ignore the test results and ship anyway without fixing problems, even when your code doesn't pass it's own tests, which is precisely what the PHP folks did - shipped code that failed to pass it's own unit tests.

      Agreed, but when I was talking about TDD, i was talking about PHP applications and fameworks with TDD, not PHP itself.

      If you're aware of them, which 99% of PHP developers aren't.

      You keep on assuming that PHP programmers aren't talented just because they use PHP.

      You can say the same about desktop software(...)

      I can run most Windows software from a decade ago in my current computer without any kind of modification whatsoever (heck, this news is precisely about that). The same goes for many unix programs. Just because there are new versions of programs, doesn't mean that old ones stopped working. Shure, sometimes some issues arise, but most web applications just don't work.

      You know most of the big sites in the world have at least some Java behind them?

      The same could be said for ASP.NET (Microsoft, Hotmail), or Ruby (Twitter), or PHP (Facebook), Haskell (xkcd.com), Perl (slashdot.org) or any other language you can think of. For each "pure java" site, you probably have 10 made with other tecnology. And you seem to have misread what I said - i never said java isn't popular or ubiquous (it is) - not as a web platform, but as a backend tecnology. Google relies heavily on Java for eg. big data. But hey, facebook too. And Yahoo. And a bunch of other big-ass companies. The "web" part? AFAIK Google relies on a mix of C++ and Python, Facebook relies (mostly) on PHP, and I have no idea what Yahoo uses these days.

      Python/RoR are currently the next best thing that fits PHP's niche

      Maybe in the future, but not today. And RoR isn't even in the same league.

      PHP bills itself as being easy to use, which means it's going to be used more by amateurs

      I don't really care about what "other" people use and their degree of expertise. I do care about what I use, and I couldn't care less if it's not trendy.

      yet it makes it easy to make a completely incoherent mess, that follows no real design paradigm at all

      What is so good about delimited paradigms? In the end, it all gets translated to ones an zeros. For some problems, OOP is nice and neat, for other problems, a procedural approach is leaner and faster. Why should I care about dogmas? You can do OOP in almost every C-level language and macros, yet it is a procedural language.

      The reason Java has been so prominent in universities for so many years is because it forces OOP,

    82. Re:Use it today by Xest · · Score: 1

      "My requirements aren't strict. I prefer to use a single stack for development (ranging from something that can be used on an embedded system to a very busy webserver), and that relies on pieces of software that are easy to maintain (such as nginx, apache, etc). As I said before, there are valid reasons to use PHP."

      You think PHP is the tool for that wide a range of applications? seriously? I think you really prove the point I made earlier that those who believe PHP is the solution to everything are too inexperienced to understand why it isn't.

      "If you believe this, then you have no idea how computers work. And trust isn't a variable, its a property - you either have it, or you don't. If you cannot guarantee that a given test gives you 100% coverage of all use cases, then they cannot be used to assert quality or reliability of the code."

      This only further proves the previous point, it seems you don't actually understand what mathematical induction is, because you've glossed over the point about it with some nonsensical tosh that seems to imply that no testing is as good as 99% assurance. That's worrying if you're writing software professionally.

      "But hey, facebook too. And Yahoo. And a bunch of other big-ass companies. The "web" part? AFAIK Google relies on a mix of C++ and Python, Facebook relies (mostly) on PHP, and I have no idea what Yahoo uses these days."

      Have you even heard of things like JSF? Again you seem to be highlighting your inexperience more than anything.

      "Maybe in the future, but not today. And RoR isn't even in the same league."

      Why not today? the only reason I can think is hosting availability, other than that they don't perform any worse, but facilitate far better quality software development, with no decrease in speed of development.

      "What is so good about delimited paradigms? In the end, it all gets translated to ones an zeros."

      Do you even have any concept of the basic principles surrounding good software development such as modularity and separation of concerns? I'm guessing not if you don't understand the importance of paradigms that support the task at hand. This is probably also why you don't understand why PHP's lack of functional support related especially to multi-threading is a very bad thing though.

      "That is precisely the problem with Java. The "true way". OOP is not a fit-all solution, and the "Java way" isn't the only way. What you call "forces new developers to make shure" I call indoctrination. It is, without doubt, the "enterprise" language, and - as I said - ubiquous. But it's not a best fit for everything, and it is flawed by design - it assumes that the programmer doesn't know what he wants.I like freedom of implementation."

      That's really just a roundabout way of saying "I could never really be arsed to learn to structure programs properly or the benefits of doing so, I prefer to just hack shit together anyway that works without a care of any side effects in terms of poor security, poor code quality, and poor maintainability." I agree OOP isn't the only solution out there, but for most stuff people do it's the best option. This is especially the case when it comes to the web where like 90% of stuff is CRUD which does map extremely well to OO development.

      "That is YOUR view on the matter"

      Well, mine and just about all other programmers who have a wealth of experience writing respectably sized web applications in a number of different languages such as PHP, Java, and C#.

      One only has to look at the vast majority of PHP tutorials out there relating to databases where there are still recommendations to push queries to the DB that are vulnerable to SQL injection to see the scale of the problem.

      "Most people aren't really good at anything, and (from my experience) most programmers (regardless of the language) have no clue about how software actually works, or how different paradigms are implemented. Is that relevant? No. The notion of language "purity" is pedantic."

      Perhaps again this stems

    83. Re:Use it today by rev0lt · · Score: 1

      Well, it seems you already have your mind made, so it's pointless for me to continue to try explaining you again what I already said. I understand where you are coming from (changing from C# to PHP is like going from a ferrari to a trycicle), but don't waste your time calling me "unexperienced". I've been developing software for the past 18 years, ranging from x86 assembly to C#, passing by C, Pascal/Delphi, COBOL/Object Cobol, VB, and even a bit of Java, have worked with somewhat large codebases (the biggest one at my sole responsability were around 300Mb of source), so I do know a thing or two about software development and application lifecycle management. But this is not a pissing contest. If you want to dismiss my opinion or my arguments just because I use PHP and have a poor opinion about both TDD and OOP as the holy grail, it's up to you.

    84. Re:Use it today by Xest · · Score: 1

      Experience isn't born of the amount of time doing something, it's born of how effectively you do something in that time.

      When you're making comments that show a dire lack of understanding about the points we're discussing (e.g. mathematical induction as I pointed out) then yes, I'd call that inexperience.

      You can't criticise something when you don't have a full picture of it, which, from your comments, you clearly do not.

    85. Re:Use it today by rev0lt · · Score: 1

      I don't know why you keep insisting that I'm not aware of mathematical induction (or any other proof system), but it seems you are not aware of the pitfalls and limitations of TDD.

    86. Re:Use it today by BitZtream · · Score: 1

      VB6 installs fine as long as you run it as an admin.

      Never noticed the slow dragging thing, but then I must admit, I don't use the gui form editor, never really have after initial layout, I find that GUI designers are far more trouble than they are worth and make my RCS logs look ugly.

      - Microsoft broke ADO's COM interface in Win7sp1 last year. http://social.msdn.microsoft.com/Forums/en/windowsgeneraldevelopmentissues/thread/3a4ce946-effa-4f77-98a6-34f11c6b5a13 [microsoft.com] When you try to run a program that's early bound to ADO and been compiled on a Win 7 machine, and then install it on an older 32bit OS, all your ADO calls will throw automation errors. We worked around it by compiling the VB code on XP machines before moving to our dev servers. There's no problem compiling on an older machine and running it on a new machine though. This is only a problem if you're early bound to ADO though.

      Having had to deal with that very issue ... You doing it wrong.

      Microsoft RARELY breaks things if you did it as documented, which you were not. This one is certainly not the first one where this has happened, and its certainly not the first time I've had to fix some's code that 'Microsoft broke'.

      - Compiling a COM object will automatically register it to the location you compiled it. This might not be possible with UAC on. Haven't tried it with UAC on, but regsvr32.exe won't run properly with UAC on, so I'm assuming VB can't register anything either.

      I'm fairly certain it doesn't work in any version of visual studio on Win 6 kernels. I haven't used VS2k10 so it may for it, but automatic registration is extremely against what UAC is there to stop so it makes complete sense for it to not work. Thats one of those 'development requires a unique environment' thing, and its certainly not the only thing. You run your developer account with debugging rights don't you? Another non-standard setting.

      You can of course, manually register and turn off auto registration, or run as an admin in which case it works perfectly other than you have to run as an admin. If you're going to use a feature that is directly incompatible with another feature, something has to give.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    87. Re:Use it today by BitZtream · · Score: 1

      , I can't have any real data in there for testing due to regulatory constraints.

      I'd be willing to bet that if you aren't allowed to download it to run locally for testing purposes due to regulations that its almost certainly that you're not allowed to download it and test it live for those very same reasons since you will still end up with the data on your drives. VM with snapshots or unused space and leftover swap (vm, not os) ... I'll bet you 5 and pay triple that you're already well past compliance, you just don't know it.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  3. What would be nice would be by transporter_ii · · Score: 5, Insightful

    A "just works" version of Windows, that MS sold support for, marketed toward businesses, that just stayed the same forever. As it is, MS makes its money on new versions. That's fine for MS, but bad for businesses that don't want to upgrade every four - six years. If MS made money selling a business copy of windows and then got a fair amount for support and updates on it perpetually, it would be win/win for businesses, developers, and MS.

    Where I work at, we installed new systems in police stations in the last two years that were brand new and had Windows XP on them, because the software at the time didn't have Windows 7 drivers.

    --
    Doctors destroy health, lawyers destroy justice, universities destroy knowledge, religion destroys spirituality
    1. Re:What would be nice would be by DogDude · · Score: 1

      You just mentioned Windows XP. While it may not be "forever", it's got to be the one of, if not the longest supported commercial OS ever. Like VB6, it still works just fine. There's still no good reason to "upgrade" XP.

      --
      I don't respond to AC's.
    2. Re:What would be nice would be by O('_')O_Bush · · Score: 1

      There *wasn't* a good reason to switch from XP, until M$ stopped or threatened to stop releasing security patches for it, which is a big no-no for many companies.

      --
      while(1) attack(People.Sandy);
    3. Re:What would be nice would be by transporter_ii · · Score: 1

      And look at the time period XP was on the market vs. Vista, 7, and now 8. I know businesses just getting their first Win 7 machines and MS is already pushing 8 out on everyone. That's fine for home users. For businesses, it just isn't good business.

      --
      Doctors destroy health, lawyers destroy justice, universities destroy knowledge, religion destroys spirituality
    4. Re:What would be nice would be by geekmux · · Score: 3, Interesting

      There *wasn't* a good reason to switch from XP, until M$ stopped or threatened to stop releasing security patches for it, which is a big no-no for many companies.

      Let's not confuse "a good reason" with "corporate blackmail". We all know where the lionshare of M$ profits come from, yet most business desktops have little real need to upgrade hardware or software beyond what Windows XP can offer.

      Then again, with more and more applications being fed through a web interface, perhaps businesses should be asking themselves a question that becomes more and more relevant with each passing day....

      Why are we even paying for Windows OS?

    5. Re:What would be nice would be by Anonymous Coward · · Score: 0

      They have to stop right before it becomes unprofitably stable and secure.

    6. Re:What would be nice would be by DogDude · · Score: 2

      I'd hold off on the name calling. XP has a much better support history than ANY other commercial (non-commercial too?) OS available.

      Besides, I'm convinced that MS will continue releasing security updates for XP indefinitely. They'll see from usage statistics in a few more years that a LOT of people are still using XP, and I think they'll support it. They're not dumb. They know that many people will use XP come hell or high water, and I don't think they would want to let such a widely visible product get destroyed. This isn't Windows 95. This is a completely functional OS currently installed on many millions of PC's all over the world.

      --
      I don't respond to AC's.
    7. Re:What would be nice would be by Anonymous Coward · · Score: 0

      Are you freaking serious? I've been using Windows 7 for a long while now. XP is horrible in comparison. Everything is just easier - the number one feature being the start menu search bar. Also, I can have 20 applications open without having a task bar that isn't completely useless.

      Windows 7 enhances my productivity greatly in comparison to XP. Just because something "still works just fine" doesn't mean companies and people shouldn't strive for improvement. I think it's silly to adopt some kind of sadistic pride in the matter - "yep, I still use me ol' horse and cart. There's no good reason for "cars" - me ol' horse an' cart is workin' just fine".

    8. Re:What would be nice would be by Mspangler · · Score: 1

      " I know businesses just getting their first Win 7 machines"

      Just like us. Wim 7 rollout is scheduled for sometime this summer, except for certain critical machines that will presumably get upgraded next year.

       

    9. Re:What would be nice would be by timeOday · · Score: 1

      MS peaked in 2003 (XP+Office 2003). And to be fair they pretty much nailed it by then. Off the top of my head the only thing I'd really miss by going back to that setup was indexed searching for emails in Outlook. It'll be interesting to see if Apple finds anywhere to go after smartphones settle down.

    10. Re:What would be nice would be by Anonymous Coward · · Score: 0

      Why are we even paying for Windows OS?

      We're paying for Windows? Huh..I thought it was free as long as you got it from that neat Swedish store that everyone is so mad about.

      Seriously, I've saved so much money ever since I started shopping exclusively in Sweden.

    11. Re:What would be nice would be by f3rret · · Score: 1

      "yep, I still use me ol' horse and cart. There's no good reason for "cars" - me ol' horse an' cart is workin' just fine".

      False analogy. There are very real advantages to cars over horses (mainly that cars don't poop everywhere), other than not having DX11 there are very little advantage to switching to Win7 over XP.

      I recently switched and other than the fact I now idle with twice as much RAM in use I don't really see any differences beyond purely cosmetic ones.

      --
      Admit nothing. Deny Everything. Make Counter-accusations.
    12. Re:What would be nice would be by DerekLyons · · Score: 1

      A "just works" version of Windows, that MS sold support for, marketed toward businesses, that just stayed the same forever.

      In the real world, that doesn't work so well as the underlying hardware changes regularly - as do the expectations of the users. Nor are many people are going to be interested in paying for "upgrades" that don't actually upgrade.
       

      Where I work at, we installed new systems in police stations in the last two years that were brand new and had Windows XP on them, because the software at the time didn't have Windows 7 drivers.

      Well, in the first place - it's not Microsoft's fault that the software provider's didn't upgrade their drivers. Even in your fanciful universe, you'll still face the same problem when providers don't rewrite their drivers for v89.93.47 of StaticWindowsAncient (which was released to allow StaticWindowsAncient to run properly on multi threaded multi core CPU's that didn't even exist when v01.00.00 came out for x86 chips).

    13. Re:What would be nice would be by Anonymous Coward · · Score: 0

      Comparing a few new features that could've been added to XP to transitioning from a horse to a car? Wow.

    14. Re:What would be nice would be by Anonymous Coward · · Score: 0

      A "just works" version of Windows, that MS sold support for, marketed toward businesses, that just stayed the same forever. As it is, MS makes its money on new versions. That's fine for MS, but bad for businesses that don't want to upgrade every four - six years. If MS made money selling a business copy of windows and then got a fair amount for support and updates on it perpetually, it would be win/win for businesses, developers, and MS.

      Where I work at, we installed new systems in police stations in the last two years that were brand new and had Windows XP on them, because the software at the time didn't have Windows 7 drivers.

      won't happen for two reasons:
      (a) businesses will demand that every single exotic new API, functionality or driver support you implement in the consumer version be backported into the business version (of course they will also complain loudly every time you make a change to the "stable" business version)
      (b) eventually the consumer and the business version will have diverged far enough that you have to train new employees how to use the business version and if you have to train them you might as well train them inn some competitor's product - "everybody you hire already knows how to use Windows/Office/Internet Explorer" is a pretty important selling point for MS software.

    15. Re:What would be nice would be by __aaltlg1547 · · Score: 1

      Why are we even paying for Windows OS?

      Because most large businesses have a large number of mission critical applications running and a few of them only work on Windows. But that may mean that only a few machines need Windows installations. The rest would be fine with Linux withor without WINE.

    16. Re:What would be nice would be by LordLimecat · · Score: 3, Interesting

      A "just works" version of Windows,

      The existing ones arent sufficient? My experience has been that any degree of "doesnt work" is almost ALWAYS down to one of the following:
        * Driver malfunction (all of my bluescreens on this computer were caused by faulty logitech webcam driver)
        * Hardware malfunction (all sudden reboots ive seen on my home computer were caused by video card that went belly up)
        * badly written 3rd party programs, plugins, etc (99% of viruses ive seen come from Java, Flash, and PDF vulnerabilities, or else browser exploits)
      It is also my experience that people complaining about how broken windows is are doing something wrong.

      that MS sold support for

      Youre in luck, they have several of these.

      marketed toward businesses

      WinXP pro, Win Vista business, and Win7 pro all meet this criteria, as do all server versions of windows.

      that just stayed the same forever.

      Thats called stagnation, and basically noone wants this. Can you point to any major, widely used OS that "just stayed the same forever"? Certainly not any of the BSDs (which recently added support for AES instructions), Linux distros, OSX, or MS oses.

      Maybe YOURE happy to stay on AmigaOS, but generally, an OS keeping pace with recent developments is a GOOD thing.

    17. Re:What would be nice would be by LordLimecat · · Score: 1

      10 years after it was released and 6 years after its last major service pack, you mean.

      Im pretty sure Linux 2.4.0 get mainstream support-- sure, there are maintainers, but thats essentially the vintage of OS we're talking about here. (2.4 was released in 2001, as was, I believe, XP)

    18. Re:What would be nice would be by LordLimecat · · Score: 0

      Let's not confuse "a good reason" with "corporate blackmail". We all know where the lionshare of M$ profits come from, yet most business desktops have little real need to upgrade hardware or software beyond what Windows XP can offer.

      I think upgrades are as obnoxious as anyone else, but lets be real here. XP was released something like 11 years ago. Paying $200 for a license and then expecting MS to maintain it for the next 20 years just isnt realistic; at some point they are fully entitled to yank support.

      Ill note that Linux 2.4 was released about the same time, and you wont find many people complaining that it doesnt get priority attention from Linus.

      More to the point, when the license was purchased, unless you had an agreement indicating that it would be supported in excess of the 11 years it has been, you really should just be happy that MS bent backwards to support it for such a ridiculously long time. Can you name another mainstream OS that continued to recieve mainstream support for as long as XP?

    19. Re:What would be nice would be by Anonymous Coward · · Score: 0

      MS peaked in 2003 (XP+Office 2003). And to be fair they pretty much nailed it by then. Off the top of my head the only thing I'd really miss by going back to that setup was indexed searching for emails in Outlook. It'll be interesting to see if Apple finds anywhere to go after smartphones settle down.

      Guess we'll all find out on Monday...

    20. Re:What would be nice would be by LordLimecat · · Score: 4, Informative

      False analogy. There are very real advantages to cars over horses (mainly that cars don't poop everywhere), other than not having DX11 there are very little advantage to switching to Win7 over XP.

      I can name them if you like.

        * Greatly improved GUI with all the hotkeys and multimonitor support anyone could wish for.
        * Greatly improved granular firewall which, as far as ive seen, is very nearly as good as iptables and a good deal easier to manage (granted you cant do a number of advanced things, which you wouldnt be doing on a desktop anyways)
        * Greatly improved security model: non-admin by default with a proper elevation system ala sudo or whatever OSX has
        * Other security, like ASLR (a stronger form than I believe most Linux distros have by default), DEP, kernel patch protection, and mechanisms for sandboxing (which I believe the Chrome team remarked Linux didnt really have, which is why Chrome doesnt sandbox on Linux)
        * better caching, memory support, and SMP
        * native support for SSDs through TRIM, as well as auto-tuning for SSD (disabling prefetch, indexing, etc on an SSD)
        * better networking: No more half-open connection limit, native IPv6 support, capability for any machine with a Wifi NIC to function as an AP or even relay one wifi connection over another SSID

      Im sure theres others Im missing, but thats a start. I wouldnt want to use XP on a modern system, because the SSD wouldnt have garbage collection, RAM would be limited, youd have reduced registers (32-bit mode), I wouldnt have advanced Wifi control, and the security model is ANCIENT.

    21. Re:What would be nice would be by LordLimecat · · Score: 1

      Office 2010 is in my opinion a vast leap over 2003 (to make no mention of the halfhearted 2007). Its not just fast, but its actually userfriendly.

    22. Re:What would be nice would be by CastrTroy · · Score: 2

      I can think of one major reason to switch from Windows XP. Good 64 bit support. That alone is a major reason for upgrading. I skipped the whole Vista thing, and have nothing good to say about that OS, but Windows 7 is actually quite nice, and I'd easily pick that over XP for any new machine. Windows 7 has been very stable ever since I got it. I only ever reboot when there are updates. Windows XP is still fine, and I'll run it on my older computers until the hardware dies. But when it comes time to buy new hardware, I'll definitely opt for running Windows 7 over just reusing my old Windows XP license.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    23. Re:What would be nice would be by __aaltlg1547 · · Score: 1

      What DogDude would like is a paid-support alternative to paid-upgrade. There's nothing wrong with that model and it may be where MS eventually goes.

    24. Re:What would be nice would be by slippyblade · · Score: 1

      I'd have to argue this. The "Ribbon" interface makes me want to rip my eyes out of their sockets. I LOVE losing that much of my screen real-estate to something that should be in a freakin drop-down menu. Not to mention, somebody else's version of "frequently used tools" may not, and usually isn't, my version. I can't stand the newer versions.

      Then again, I use OSS for most of my stuff. When it's free, I bitch a lot less.

    25. Re:What would be nice would be by Anonymous Coward · · Score: 0

      "M$" ? Are you a dumbass 14yr old that never grew up or something?

    26. Re:What would be nice would be by ToasterMonkey · · Score: 1

      A "just works" version of Windows, that MS sold support for, marketed toward businesses, that just stayed the same forever. As it is, MS makes its money on new versions. That's fine for MS, but bad for businesses that don't want to upgrade every four - six years. If MS made money selling a business copy of windows and then got a fair amount for support and updates on it perpetually, it would be win/win for businesses, developers, and MS.

      Where I work at, we installed new systems in police stations in the last two years that were brand new and had Windows XP on them, because the software at the time didn't have Windows 7 drivers.

      I think it would end up with the same backlash Solaris suffered as Linux systems started pushing it out. People would poo all over it because their shell wasn't BASH or it didn't have the latest gadgets. I'm not saying you are wrong, I do agree with you.

      The problem will be the same though, there are too many geeks out there who love tech but employ no engineering discipline. I'm not accusing geeks of being fiscally conservative, it's just that I think nobody will argue when they suggest the cheapest or free solutions, so those bubble up. Stuff they play with at home sounds like an awesome idea for work...

      You're dealing with the same forces that pushed every new generation of cheap shiny stuff into datacenters, x86, Windows, Linux, etc.. Nothing wrong in and of themselves, but they carry a lot of baggage for what most people need. Things should be _simpler_, and racing to the bottom doesn't lead there - look at Apple vs. "PC" industry for example... Simple or cheap, pick one I guess :\

      I think I would be satisfied if VMware made an OS, not just the hypervisor. Speaking from IT Operations perspective I would love to not ever have to ssh or rdesktop again, and just bolt the whole thing to a configuration management interface and be done.

    27. Re:What would be nice would be by MightyMartian · · Score: 1

      If you think Windows firewall is as good as up tables, you don't know very much about up tables.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    28. Re:What would be nice would be by Billly+Gates · · Score: 1

      How about these reasons (Cut and pasted from another post I made) because the list is so large ...

      Off the top of my head Windows 7 offers

      Security wise
      - Offers better process and privileged seperation with much more secure services to prevent exploits
      - UAC
      - Secure boot for 64 bit version to prevent rootkits
      - Signed drivers in 64 bit to prevent malware and rootkits
      - Full DEP for all services and not just some
      - ASLR random memory addressing to prevent a peak and poke exploit to execute malware
      - Improved sandboxing using ASLR for Internet explorer
      - VS 2010 has secure exception handling to prevent buffer overflows and data execution and it comes with IE 9

      Performance
      - MUCH improved SMP and scalability support for Phenom IIs, Icore5s and Icore 7s.
      - No more n^o paging for swap HELL even if the system has lots of free ram (correct me as I forgot the NT algorithm for paging that was replaced)
      - SATA/PATA command queing async support rather than single sync
      - GPU support for business graphics in aero. THis is usefull is you do things like desktop publishing or multi media heavy powerpoint slides
      - H.264 support with full hardware acceleration
      - USB 3 support
      - Thunderbolt support
      - Sleep mode instead of hibernation
      - UEFI secure boot (I know this one is political) But nice if you want to be rootkit free

      Usability
      - Aero peak lets you use the cursor to scroll over minimized programs and IE tabs and it will show a small preview. I use this everyday with lots of things running
      - Aero has a side by side feature where you can drag things left or right so you can have one document next to another. I think its called Aero snap
      - Awesome search feature making start menu obsolete. Just click the Windows key and type ex ..."Excel 2010 pops up" and hit enter key!. Shoot what was our sales in assets in 2009? Type WIndows key and "Sales assets 2009" and viola excel and word files show up with those key phrases. When I was in college I had hundres of excel and word documents and switched back to slow Vista just for this feature. Fucking cool to reference things. This day I panic when I go back to XP. I am so used to typing Windows key cmd in 1/5 of a second to open a command prompt etc. You will hate XP after trying this
      - clear aero means you can see Windows behind Windows
      - Saved searches
      - Version of IE that doesn't suck and has hardware accelerated graphics and Firefox 3.6 support of HTML 5, ajax, and css 3. Not too bad and is secure. For offices this is great as these poor saps stuck with IE can at least have a modern web experience of this decade.
      - Websites can be added to the taskbar as apps. Nice for that salesforce app for work
      - Jumplist for minimized items. For example I can right click on the CHrome app on the taskbar and select a frequently visited website.

      Reliability
      - Trim support. SSDs only last for a year if you are luck. WIthout Trim the life of a SSD in XP is weeks or months if you have lots of space if you are really lucky.
      - User mode driver isolation. If a driver fails it wont bluescreen but instead a wizard will pop up and a trouble shooter. The XP ones just had screenshots but the Win 7 will diagnose and even fix a problem
      - Restore and shadow volumes. THe restore on XP does not really restore other than try to put some files back and forth. Win 7 restore will restore the registry as well and use metadata to recover even deleted items! Very cool indeed

      Windows 8 improves (ignoring METRO) in addition to inheriented Windows 7 features

      - Windows ToGo so you can boot with a flash drive to fix a system. About damn time as Linux had this since 2005
      - Moving profile on a flash drive (forgot term). You can have your whole desktop, metro apps, and even your files and settings moved between work and home.
      - Remote management and app support without AD or VPN. If you sign on with your tablet or desktop wi

    29. Re:What would be nice would be by Billly+Gates · · Score: 1

      If you look at IT as an investment rather than a cost center you will see it is poor business sense to use decade old hardware and operating systems. For example having employees sit and do nothing for 20 minutes every morning while their machines boot and do a security scan, then for 2 hours their computers are unresponsive as McCrappy does a virus scan each Wednesday costs millions in lost productivity.

      XP is not rock solid nor a savoir and neither is IE 6.

      The issue I have with VB 6 development is you throw away all those man hours down the toilet when its time to get something new. This leaves the PHBs clamoring for VB 6 still but then you need to update it and you are throwing money down the drain for an obsolete platform long term.

    30. Re:What would be nice would be by Billly+Gates · · Score: 1

      Here is something I cut and pasted from a post earlier this week because the benefits over XP are HUGE:

      "Off the top of my head Windows 7 offers

      Security wise
      - Offers better process and privileged seperation with much more secure services to prevent exploits
      - UAC
      - Secure boot for 64 bit version to prevent rootkits
      - Signed drivers in 64 bit to prevent malware and rootkits
      - Full DEP for all services and not just some
      - ASLR random memory addressing to prevent a peak and poke exploit to execute malware
      - Improved sandboxing using ASLR for Internet explorer
      - VS 2010 has secure exception handling to prevent buffer overflows and data execution and it comes with IE 9

      Performance
      - MUCH improved SMP and scalability support for Phenom IIs, Icore5s and Icore 7s.
      - No more n^o paging for swap HELL even if the system has lots of free ram (correct me as I forgot the NT algorithm for paging that was replaced)
      - SATA/PATA command queing async support rather than single sync
      - GPU support for business graphics in aero. THis is usefull is you do things like desktop publishing or multi media heavy powerpoint slides
      - H.264 support with full hardware acceleration
      - USB 3 support
      - Thunderbolt support
      - Sleep mode instead of hibernation
      - UEFI secure boot (I know this one is political) But nice if you want to be rootkit free

      Usability
      - Aero peak lets you use the cursor to scroll over minimized programs and IE tabs and it will show a small preview. I use this everyday with lots of things running
      - Aero has a side by side feature where you can drag things left or right so you can have one document next to another. I think its called Aero snap
      - Awesome search feature making start menu obsolete. Just click the Windows key and type ex ..."Excel 2010 pops up" and hit enter key!. Shoot what was our sales in assets in 2009? Type WIndows key and "Sales assets 2009" and viola excel and word files show up with those key phrases. When I was in college I had hundres of excel and word documents and switched back to slow Vista just for this feature. Fucking cool to reference things. This day I panic when I go back to XP. I am so used to typing Windows key cmd in 1/5 of a second to open a command prompt etc. You will hate XP after trying this
      - clear aero means you can see Windows behind Windows
      - Saved searches
      - Version of IE that doesn't suck and has hardware accelerated graphics and Firefox 3.6 support of HTML 5, ajax, and css 3. Not too bad and is secure. For offices this is great as these poor saps stuck with IE can at least have a modern web experience of this decade.
      - Websites can be added to the taskbar as apps. Nice for that salesforce app for work
      - Jumplist for minimized items. For example I can right click on the CHrome app on the taskbar and select a frequently visited website.

      Reliability
      - Trim support. SSDs only last for a year if you are luck. WIthout Trim the life of a SSD in XP is weeks or months if you have lots of space if you are really lucky.
      - User mode driver isolation. If a driver fails it wont bluescreen but instead a wizard will pop up and a trouble shooter. The XP ones just had screenshots but the Win 7 will diagnose and even fix a problem
      - Restore and shadow volumes. THe restore on XP does not really restore other than try to put some files back and forth. Win 7 restore will restore the registry as well and use metadata to recover even deleted items! Very cool indeed

      Windows 8 improves (ignoring METRO) in addition to inheriented Windows 7 features

      - Windows ToGo so you can boot with a flash drive to fix a system. About damn time as Linux had this since 2005
      - Moving profile on a flash drive (forgot term). You can have your whole desktop, metro apps, and even your files and settings moved between work and home.
      - Remote management and app support without AD or VPN. If you sign on with your tablet or desktop with your corporate email you can have your profile and even

    31. Re:What would be nice would be by Billly+Gates · · Score: 1

      To keep supporting newer hardware you end up making something thats not XP anymore.

      This is why IE 9 can not be backported to XP. It is not because MS wants you to use Vista or Win 7, but rather the security sandboxing is Vista+ only. h.264 requires DRM in the driver and GDI in XP can't do it, etc.

      Now you have SSDs coming out and the paging algorithm in XP will kill it fast! It is not as simple as adding TRIM support to the XP kernel. If you add all of these things to support newer browser security and hardware you end up with Vista/win 7 lite.

      Why not just use Windows 7 then? Technology is changing and just like the other post today about DPI greater than 100, the problem is XP! We have terrible screen resolutions today and can't upgrade because these users wont change or leave XP and applications will look funy and stretched otherwise because VB 6 apps and others expect 1990s hardware and DPIs etc. The programs look like crap if you use a monitor and resolution other than 100 DPI.

      Just upgrade and stop making excuses for the beancounters. Windows 7 offers more than eye candy as I mentioned above are just 2 out of many things a more modern infrastructure can do and you do not have to wait 10 minutes before you computer is usable anymore in the mornings booting up, or the other issues XP has.

    32. Re:What would be nice would be by LordLimecat · · Score: 1

      Several of those are severe disadvantages (the GUI crap, for example),

      Im almost positive the CPU load of the desktop is far less in Win 7 than in XP, because the desktop is fully accelerated. Its also a heck of a lot more efficient with screenspace.

    33. Re:What would be nice would be by LordLimecat · · Score: 1

      If you think LibreOffice is less eyegougingly unfriendly than Office 2010, you either dont use them very often or have very different definitions of what constitutes "usable". I use Libreoffice on my laptop and Office 2007 @ home, and TBQH Libreoffice is barely tolerable.

    34. Re:What would be nice would be by LordLimecat · · Score: 1

      I didnt say AS good, I said nearly. As in, it does 99.9% of the things any home or business user would ever want to do. For those who NEED advanced custom chaining rules, well, you can go use iptables; but Im not terribly disappointed that MS didnt spend a significant amount of time trying to recreate iptables in windows and that we got a firewall that could be configured by anyone familiar with ACLs without reading a lengthy manual.

    35. Re:What would be nice would be by Anonymous Coward · · Score: 0

      Everything you mentioned are differences that IT types will acknowledge and appreciate, however most end users won't care about all of those. Maybe they should care about better security, but they don't.

    36. Re:What would be nice would be by Anonymous Coward · · Score: 0

      . I LOVE losing that much of my screen real-estate to something that should be in a freakin drop-down menu.

      If you double-click the tabs at the top of the ribbon, the ribbon disappears, leaving only the tabs.

    37. Re:What would be nice would be by StuartHankins · · Score: 1

      Since this isn't a problem for VM's, because the host OS takes care of it, why not have a Windows hypervisor which gets upgraded instead? Since we've moved to virtualization of our servers, we just move the VM to a faster server and allocate more resources to speed it up. The guest doesn't know or care that it's running on Nehalems and nothing on the guest needs to be rewritten to take advantage of the different memory optimizations for that target. You could then concentrate on upgrades from a feature perspective rather than the constantly changing "but I've got new hardware" perspective.

      The overhead with virtualization on ESXi, RHEL KVM and even Parallels is minimal and is usually more than offset by migrating the VMs to more powerful hardware for all but the most challenging and resource-intensive tasks.

    38. Re:What would be nice would be by Anonymous Coward · · Score: 0

      small ammendment.....support for SSD thorugh trim and optimization is actually only done on install...if you add one or dupe partitions it doesn't auto reconfigure you need a tool or do registry changes manually.

      I know it is a minor difference but it isn't windows that made the changes it was the installer.

    39. Re:What would be nice would be by dbIII · · Score: 1

      If XP was fully compatible with the Pentium II and later (ie. everything x86 made after 1997!) I would agree with you - but it wasn't, and had a few other deliberate flaws. It was the cut price home hobby version that everyone put up with at work because WinNT was too expensive. After a few service packs it was fairly solid but it's still utter crap compared with Win7 now or NT at the time - let alone every other OS available for the same hardware. I still have a few XP boxes which remind me every now and again how much better everything else is.

    40. Re:What would be nice would be by BenoitRen · · Score: 1

      I can think of one major reason to switch from Windows XP. Good 64 bit support. That alone is a major reason for upgrading.

      Why?

    41. Re:What would be nice would be by Anonymous Coward · · Score: 0

      A "just works" version of Windows, that MS sold support for, marketed toward businesses, that just stayed the same forever.

      In the real world, that doesn't work so well as the underlying hardware changes regularly - as do the expectations of the users. Nor are many people are going to be interested in paying for "upgrades" that don't actually upgrade.

      I have to disagree on both points here. There hasn't been any fundamental change in the x86 architecture that requires anything other than driver support. Windows 2000 will run just fine on modern hardware all that's missing is driver support and that does not require issuing a new OS. This is even more applicable to Windows 2003/XP which has 64 bit editions.

      Expectations of users is even less of a justification. Corporate PC users are still the majority of the market share and the typical PC user doesn't know or care what operating system they are running. What matter to them is the applications.

    42. Re:What would be nice would be by Anonymous Coward · · Score: 0

      XP had DEP and IPv6. Heck, I even had IPv6 on my Windows 2000 Professional machine. It might have caused the majority of my BSODs, but it was there.

      I'm sure the support for both in Windows 7 has improved, however, and the rest of your points seem pretty accurate.

    43. Re:What would be nice would be by Anonymous Coward · · Score: 0

      If you look at IT as an investment rather than a cost center you will see it is poor business sense to use decade old hardware and operating systems.

      You can install reasonably old operating systems on modern hardware. And they often are faster than newer operating systems on the same hardware.

    44. Re:What would be nice would be by Anonymous Coward · · Score: 0

      "M$" ? Are you a dumbass 14yr old that never grew up or something?

      I don't think you'll find many grown-up 14 year old people ...

    45. Re:What would be nice would be by Anonymous Coward · · Score: 0

      It's just a pity we lost the context menu on Explorer's application menu. Now we have to go UP to do anything to a folder.

    46. Re:What would be nice would be by Anonymous Coward · · Score: 0

      Maybe this is off-topic; mod me that way if necessary.

      Look at LordLimecat's posts. I don't think I've seen a more obvious (and factually manipulative) Microsoft shill on /. ever. What an embarassment.

  4. The more, the less by Anonymous Coward · · Score: 0

    The more the programmer's memory is loaded with language constructs and concepts, the less the programmer has for creating applications. High level languages are for people, low level ones are for machines. Both have limited abilities.

  5. Old Developers and Poor Upgrade path. by jellomizer · · Score: 3, Informative

    If you had VB5 and you got VB6 you could upgrade your app to a vb6 application very quickly and your program looked and worked just like it did before.
    Upgrading you VB6 app into .NET breaks all but the most basic application, and there is a lot of rework to be done. Often these VB6 apps are not the best design and, and you need to find a .NET compatible version of your third party tools, then they are probably quite different and you need to rework them again.

    Next you have the .NET framework. I write a program in visual studios 2010, Now I need to make decisions... Do I compile it for .net 2.0 and not have as many features but know that my system will work on most modern windows systems, or work on 4.5 and require all the users to upgrade their system? Why can't I just compile it into a static .EXE

    Finally you have older developers. These guys are not Computer Scientists, They studied other fields and happened to learn computers, and started to program before a lot of the formalization in good form came into place. .NET seems unnecessarily restrictive to them. Why do you need to type all this extra crap. I need it to do this, why do I need System.Windows.Forms.PotatoGun.PopSound() instead of PlayPop Often these older developers are just maintaining the existing system that they have coded decades ago. So there is no real push to upgrade and give them a new project just because it needs to support .NET

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    1. Re:Old Developers and Poor Upgrade path. by modmans2ndcoming · · Score: 0

      you can compile it to a static exe. MS even has the tools available for you to do that.

    2. Re:Old Developers and Poor Upgrade path. by Dingbat1967 · · Score: 1

      I agree with the previous poster.

      I would not be surprised that there are a lot of programmers today who aren't necessarily people who got a formal education in development but grew into the position. They are often specialists in other fields of work and needed to develop tools that assisted in their specialty. VB6 really is great for people who need to whip up an application rapidly without too much fuss and I don't see any real alternatives out there. VB.NET comes close, but what you're doing is wrapping a language around OO and .NET instead of going the other way around that is, what is it that would make life easier for field experts to develop apps for their field specialty without needing to hire professional developers. VB6 fills that gap and there really is no alternative.

      VB6 also addresses another niche: hobby programmers. Any non-professional programmers can get some pretty slick apps done in VB6 you wouldn't be able to do otherwise on any other platform.

      If a company today decides to target this market with proper financial backing, and maintain some kind of VB6 compatibility, while abstracting away most of the .NET backend so you don't need to do windows.form.open.this.stupid.long.object("some string") ...

    3. Re:Old Developers and Poor Upgrade path. by Anonymous Coward · · Score: 1

      Except it will not run on computer that does not have particular version of .NET installed. No, you cannot compile it into static EXE that is self contained.

    4. Re:Old Developers and Poor Upgrade path. by modmans2ndcoming · · Score: 1

      Yes you can:
      http://www.vmware.com/products/thinapp/overview.html

      http://spoon.net/studio

      I thought MS had the tools but it was just pre-JITing.

    5. Re:Old Developers and Poor Upgrade path. by houseofzeus · · Score: 1

      I would not be surprised that there are a lot of programmers today who aren't necessarily people who got a formal education in development but grew into the position.

      This isn't actually that different from how a lot of people ended up in COBOL development, which also refuses to die. I did it for a few years straight out of university and had studied Software Eng., but I was definitely in the minority.

    6. Re:Old Developers and Poor Upgrade path. by Anonymous Coward · · Score: 0

      Finally you have older developers. These guys are not Computer Scientists.

      Speak for yourself, old guy. I'm in my fifties, went back to school and got a MS / CS in my forties because it's fun. Started in 'C', then to writing Windows apps in VB1, did a couple of years in VB6 way back when. With sales of a couple of systems 7 years back, can afford to do what I love- Which are now mostly web / mobile apps because that's where the fun is. We're not all fossilized / manager types.... yet.

    7. Re:Old Developers and Poor Upgrade path. by marcosdumay · · Score: 1

      Yep. As a general case, minstream languages don't die. Lisp is another one that refuses to die, but for good reasons, nobody complains about it.

    8. Re:Old Developers and Poor Upgrade path. by Anonymous Coward · · Score: 0

      I'm not sure you understand what static means, thats ok though, you drones don't really need to understand the tech you use.

    9. Re:Old Developers and Poor Upgrade path. by modmans2ndcoming · · Score: 1

      darn....it isn't the same damn thing that you are used to but gets you exactly the same fucking results. poor douche bag.

    10. Re:Old Developers and Poor Upgrade path. by jellomizer · · Score: 1

      I didn't mean all of them. I mean for the most part. Also I was talking about developers who are in the early 60's and up. who are close to retirement. We have the opportunity at any point to go and get better educated at any point of our lives. However usually after a particular age most people will tend to stick with what they know. But not all of them, they will chose to further themselves and more power to them.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  6. Why isn't Ruby thriving, though? by Anonymous Coward · · Score: 1

    Everyone involved with software development these days has surely heard of Ruby, and especially Ruby on Rails. Along with Cloud Computing and NoSQL, it was one of the most-hyped technologies of the past decade.

    One of its core strengths is that it was supposed to allow relatively unskilled computer users to quickly create web apps. Much of the "hard work" was to be handled by Rails, including data access and the routing of web requests. In many ways, Ruby on Rails was claimed to be the Visual Basic of web development.

    Unlike Visual Basic, however, we are seeing people fleeing from Ruby on Rails as fast as they can.

    If I had to make a guess, I think it would be because of some of Rail's major problems. These include:
    - it can be very slow
    - it often doesn't scale well
    - Ruby code quickly becomes unmaintainable, especially for large web apps, because it's a dynamically typed, interpreted language
    - the community has archaic attitudes toward women
    - people paying good money for web apps are quickly getting tired of the failed promises and shoddy work of so many Rails advocates and developers

    While Visual Basic 6 apps usually aren't known for having the best or the most maintainable code, at least it doesn't bring along the numerous other problems that we see associated with Ruby on Rails. Perhaps this is why Visual Basic 6 has had some significant staying power, while Ruby on Rails is stagnating.

    1. Re:Why isn't Ruby thriving, though? by quetwo · · Score: 4, Informative

      VB6 has staying power for one major reason -- you can do about half of the programming by dragging-and-dropping. You have a visual IDE, where you can plop stuff onto a form, 'wire them up' with a few lines of code, and you are the rock-star of the day. For those of you who are visually oriented, it is a huge plus to write in the language. And if it didn't do that one thing you needed out of the box, you would go and buy some 3rd party's OCX, which would show up on the toolbar, and you plopped that onto the screen. Additionally, working with Databases was pretty much as easy as Access -- again, drag-drop stuff, enter the database name, and away you went. Do date, there really isn't any IDE/Language that has targeted this audience of people who wanted to do RAD in this visual manner. So many of the web-targeted languages you need to visualize everything for the computer (which some people really have a hard time with). Many of the other modern application development languages require a lot more programming to do the same thing.

    2. Re:Why isn't Ruby thriving, though? by sydneyfong · · Score: 3, Informative

      My personal (potentially biased) explanation is that RoR forces you to dive into the underlying technologies (which can be really raw) once you try to implement something beyond the tutorial.

      The other thing is, the underlying complexity of an "desktop app" is much lower than a web app, which is really a distributed system comprising many components...

      --
      Don't quote me on this.
    3. Re:Why isn't Ruby thriving, though? by Dingbat1967 · · Score: 2

      VB6 Staying power is also due to this fact: anybody can do programming with it. You don't need to get formal education in development to use VB6. It's a tool that was create to solve the problem "how do I get people to write their own applications and solve their problems themselves" and not "how do I make professional developers productive and happy". VB6's target audience is much wider than professional developers. And right now there is no alternative.

    4. Re:Why isn't Ruby thriving, though? by Anonymous Coward · · Score: 0

      Gambas.... check it out.

      Like Visual basic, but free and open source.

    5. Re:Why isn't Ruby thriving, though? by TuringTest · · Score: 1

      Hear, hear!
      Programmers usually don't get this, but there will always be a need for languages that allow non-programmers to create simple automated behavior without using a formal language with strict grammar.

      Hypercard was the first to allow this, VB6 and Mosaic were its natural successors for desktop and web applications respectively, and Excel fills-in the gaps for data modelling and storage. Actually the spreadsheet is a really good programming language for this purpose, even when its automation features are limited to filters, the drag-and-increment copy, and recorded macros.

      But there is a chance that we will soon have a new successor language for this purpose. Now that Bret Victor's ideas are gaining traction and have entered conscious, having been noticed by the Slashdot crowd and Kickstarter projects, they could be the basis for a language targeted to this audience. The instant feedback loop and superposition of abstract and concrete layers are a good basis for an "everyman language".

      --
      Singularity: a belief in the "God" idea with the "demiurge" relation inverted.
    6. Re:Why isn't Ruby thriving, though? by Sperbels · · Score: 1

      VB6 Staying power is also due to this fact: anybody can do programming with it. You don't need to get formal education in development to use VB6.

      Um, anybody can program with any language. It doesn't take a degree to write code in C++. Most of the kiddy coders these days aren't using VB anymore, they're using C#.

    7. Re:Why isn't Ruby thriving, though? by Anonymous Coward · · Score: 0

      Yup, I used VB (stopped at 5) as essentially a quick way to do the equivalent of bash scripting in windows. The ability to quickly drag and drop a go button, a file picker or two, and a quit button was very nice... compared to the lots of lines of code to do the same in java or c/c++

      Fortunately I do all my work in Linux now, so I can just use shell scripts and zenity for most of it... although I've been known to whip up some command line php for other things like db access.

    8. Re:Why isn't Ruby thriving, though? by Anonymous Coward · · Score: 0

      Let's be realistic here.

      At least half of the kiddy coders are copy/pasting pre-written chunks of C# into their code from examples they find on the numerous XNA sites around the net.

      They might as well be using VB for all the programming they're actually doing.

    9. Re:Why isn't Ruby thriving, though? by codepunk · · Score: 1

      Ruby is nothing more than a poor implementation of python that is why everyone is loosing interest.

      --


      Got Code?
    10. Re:Why isn't Ruby thriving, though? by phme · · Score: 1

      I second this. I'm not using VB6 anymore (not programming much anymore) but I'm still writing bits of VBA in Access on a regular basis, without any shame.
      There might be now (if so, please tell me), but last time I checked, there was still nothing in the FOSS world that could compare to what Access was doing 15 years ago in terms of rapid database development. I've used .NET, several PHP frameworks, each of them took me several weeks to learn, and in each of them, a small database front-end took several days to write, while I would have done the same in a few hours with Access.

    11. Re:Why isn't Ruby thriving, though? by Rich0 · · Score: 1

      Everyone involved with software development these days has surely heard of Ruby, and especially Ruby on Rails.

      You must work at a company that sells software, or something. If I walked around my department (an IT department at a Fortune 500), and polled the department of ~75 people, I'd be surprised if more than about 3 had heard of Ruby. We use VB.NET for new stuff, but I'm sure we're still doing the odd upgrade in VB6.

      Much of software development is a couple of forms on top of a database, and a few reports. For that sort of thing VB is adequate, and often the people doing the work barely understand object oriented languages, assuming they understand them at all.

      The guy who coded the inventory application for your local appliance repair shop wasn't debating between taking a job there or at Facebook. More likely than not they were hired to fix appliances, not code.

    12. Re:Why isn't Ruby thriving, though? by shutdown+-p+now · · Score: 1

      That doesn't really explain why VB 6 specifically remains popular. Everything you've described is also available in newer VS versions. In fact, you can do more things visually there.

    13. Re:Why isn't Ruby thriving, though? by eWarz · · Score: 1

      What does rails have to do with vb6? Oh and the reason why rails is so popular is that like vb6, we rails developers can use the framework (as well as the ruby language) to get stuff done. Rails was not, and never will be, meant for desktop applications. Disclaimer: Loved C, hated C++, LOVED vb6, HATED java, LOVED C#, HATED VB.Net, LOVED Ruby/Ruby on Rails, and hated python.

    14. Re:Why isn't Ruby thriving, though? by jader3rd · · Score: 1

      VB6 has staying power for one major reason -- you can do about half of the programming by dragging-and-dropping.

      So did Microsoft reduce the amount of "coding" that Visual Studio can do through dragging and dropping with non-VB6 languages? I've done some VB.Net programming and looked at a lot of "how to do things in VB5/6" tutuorials, and never stumbled across something that wasn't as easy to do with a different language in Visual Studio. I find it hard to believe that whatever team in Microsoft is working on this would have made less dragging and dropping scenarios.

      If the VB6 programs were so easy to write in the first place, shouldn't they be nearly as easy to write in a different language? If they were so cheap and easy to write the first time, why aren't they so cheap and easy to rewrite with a better language?

  7. More is less... by kanto · · Score: 2

    Less time that is; there's always a temptation to try and utilize all the bells and whistles in a programming language. Often this adds to complexity and makes the code harder to understand in one glance; polymorphism for example sucks if you only have sourcecode to figure out what's going on. I personally like C++, but I try to only use the parts which make life easier (and honestly stl for the most part is one of them, with a little study the basic stuff there goes a long way).

    1. Re:More is less... by marcosdumay · · Score: 1

      I personally like C++, but I try to only use the parts which make life easier

      Lots of the times, that is just stl, but often that includes custom constructors and destructors. Other times it includes polymorphism and operator overloading, sometimes templates make your life easier, or entire blocks of purely functional code... Once in a while, even macros make your life easier.

      There isn't a fixed set of stuff that will make your life easier, and a fixed set of useless constructions. C++ is that gargantuan beast for a reason.

    2. Re:More is less... by Anonymous Coward · · Score: 0

      C++... life easier...

      Are you sure you are a C++ programmer?

    3. Re:More is less... by Anonymous Coward · · Score: 0

      I personally like C++, but I try to only use the parts I know

      FTFY.

      With a little study, other parts beyond the basic stuff goes an even longer way.

  8. Compatibility is Windows best feature by Quick+Reply · · Score: 4, Interesting

    There are many projects, usually internal or niche market applications, which have decades of legacy code to keep the product running. This is not a choice of the developers or done out of laziness, this is what their employers have given them to work with.

    If you have to rewrite vast amounts of code because the programming language is out dated, you will find that depending on the size of the project, the company who owns the project will be on the hook for millions of dollars to rewrite it so that it will work with modern environment.

    If you are a company in placed in this position of having to rewrite everything, what is there to say that you are going to stay on the Microsoft ecosystem. You have emerging technologies in the enterprise (iOS/iPad/Objective-C), you have Web Applications and "Cloud Computing" (Which are platform independent and would most likely run on a non-Microsoft backend) and if you are a developer who just wants to get it working on the cheap (Where the market is vertical enough that the customer will use any platform you tell them to because they need to run your app) you could probably save a tonne of development cash by just making it run on WINE on GNU/Linux

    Better for Microsoft to keep supporting developers who have their ecosystem running on Windows, as these applications directly translate into sales of Windows licenses. If Windows did not have compatibility, then Windows will be just like the rest.

    Incidentally, this is why Windows on ARM Tablets will ultimately fail, as there is no compatibility with x86 apps unless it is 100% written in .NET or HTML5 (not that many out there in the whole Windows ecosystem).

    1. Re:Compatibility is Windows best feature by marcosdumay · · Score: 1

      That may be news for you, but Linux (on x86) offers better compatibility for old Windows software than the new versions of Windows.

      Windows is good emulating just one or two older versions of it.

    2. Re:Compatibility is Windows best feature by Anonymous Coward · · Score: 0

      I can still run DOS 1.0 applications on Windows 8 32-bit just fine. Microsoft does an exceedingly good job in ensuring that those scenarios continue to function. They've been more willing to allow painfully old stuff to break where it no longer makes much sense or would pose a security risk, and I doubt that they are shipping specific application rules anymore (such as building into Windows 2000 the facility to allow SimCity to double-free a portion of memory without failing).

      Microsoft might advance and obsolete the development tools in fairly rapid succession, but the runtimes and environments go supported often much longer than is reasonable or necessary.

    3. Re:Compatibility is Windows best feature by Anonymous Coward · · Score: 0

      Sorry mate that is total s**t. WINE is impressive reverse engineering feat but compatibility far inferior to Windows. 32-bit Windows 8 i still have apps running from MS-DOS and Windiws 3.1 days

    4. Re:Compatibility is Windows best feature by shutdown+-p+now · · Score: 1

      Incidentally, this is why Windows on ARM Tablets will ultimately fail, as there is no compatibility with x86 apps unless it is 100% written in .NET or HTML5 (not that many out there in the whole Windows ecosystem).

      There's no compatibility, period. No desktop Windows app will run on the ARM version of Windows. Since, to date, the only Windows apps are desktop apps, this means that no existing app will run there. It has to be written against WinRT to run.

      At best, a .NET app would be easier to port. Even that is a stretch - it's very easy to port a Silverlight app, so-so for a WPF app, but for something like WinForms, you'll have to rewrite the entire view layer from scratch. The back-end will not necessarily compile as-is, either - .NET for Metro is a subset of what you have on the desktop, so there's no 100% backwards compatibility even on source level. E.g. if your code uses non-generic collections, it won't compile.

  9. Why hasn't anyone else tried to replicate VB6 by Anonymous Coward · · Score: 0

    VB6 was great for whipping up a quick app.
    Sure there was a lot of crap written that helped give it a bad rep. But if you took the time, you could make some decent quality stuff much quicker than any other language at the time.

    I often wonder though, if Microsoft doesn't want to develop a true VB7, why doesn't someone else?
    Build a VB6 clone with all the mod cons, allow it to build native exe files like vb6 and you'd be on a winner you'd think.

    With some modern touches, things like mousewheel support in the ide (nope vb6 does't have it :-), better networking, sound and graphical abilities it would win a lot of people over.

    1. Re:Why hasn't anyone else tried to replicate VB6 by Anonymous Coward · · Score: 0

      A "clone" exists, it's called Gambas:

      http://en.wikipedia.org/wiki/Gambas

    2. Re:Why hasn't anyone else tried to replicate VB6 by Dr_Barnowl · · Score: 1

      My VB6 devkit includes a whole bunch of stuff that make it tolerable ; one of them is a mousewheel plugin for the IDE. Also a text search that searches everything and supports regex, a "find all callers" routine, error handler insertion, and a decent stack-ish error handling library. Full stack traces with line numbers in VB6 code are very useful.

    3. Re:Why hasn't anyone else tried to replicate VB6 by VGPowerlord · · Score: 1

      They did developer VBs 7-10 and 11 is due out later this year. ...did you think that just because they adopted the .NET name, the version numbers just vanished?

      VB versions are directly tied to Visual Studio versions these days. VB 7 was .NET 1.0/1.1, VB 8 was .NET 2.0/3.0, VB 9 was .NET 3.5, VB 10 was .NET 4.0, and VB 11 will be .NET 4.5.

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    4. Re:Why hasn't anyone else tried to replicate VB6 by art123 · · Score: 1

      Microsoft made LightSwitch to meet this same business need of quick-and-dirty database applications - the tag line is "build custom business apps, coding optional".

  10. But not the IDE? by Anonymous Coward · · Score: 0

    But the IDE is NOT supported if I read this correctly:

    http://msdn.microsoft.com/en-us/vstudio/ms788708

    Hard maintaining an environment without the IDE/compiler...

    1. Re:But not the IDE? by ChunderDownunder · · Score: 2

      Does VB work under Wine?

      Develop under Linux, deploy on Windows. ;-)

    2. Re:But not the IDE? by Linktwo · · Score: 1

      Just use Mono - "... an IDE primarily designed for C# and other .NET languages. MonoDevelop enables developers to quickly write desktop and ASP.NET Web applications on Linux, Windows and Mac OSX. MonoDevelop makes it easy for developers to port .NET applications created with Visual Studio to Linux and to maintain a single code base for all platforms." http://www.monodevelop.com/

      --
      Laws and common sense still applies.
    3. Re:But not the IDE? by Aggrajag · · Score: 2
    4. Re:But not the IDE? by Anonymous Coward · · Score: 0

      Judging by the comments on that page is most certainly didn't deserve to get gold rated.
      Repeat after me: gold rating is what you give when everything just works.

  11. Office by Anonymous Coward · · Score: 0

    The reason VB6 is still around is that it is functionally identical to VBA, which is closely tied to office.
    VB6 works well with COM based applications, whereas .net does not work as well.
    VB6/VBA will still be around for as long as office is COM based.

  12. Visual Basic 6 still thrives by Waldeinburg · · Score: 4, Funny

    Because you can make a GUI using Visual Basic and see if you can track an IP address.

    1. Re:Visual Basic 6 still thrives by Anonymous Coward · · Score: 0

      Eh? IP address? VB6 GUI?

    2. Re:Visual Basic 6 still thrives by Waldeinburg · · Score: 2
    3. Re:Visual Basic 6 still thrives by Waldeinburg · · Score: 1

      Which btw is somewhat interesting: Some scriptwriter for CSI wanted to come up with a technical sounding sentence which contains a reference to some programming language, but how many programming languages were part of his vocabulary? At least we can say that VB was.

    4. Re:Visual Basic 6 still thrives by Anonymous Coward · · Score: 0

      What do you mean?

    5. Re:Visual Basic 6 still thrives by Anonymous Coward · · Score: 0

      Haha! So ridiculous. A woman programmer? Really... what will they think of next.

    6. Re:Visual Basic 6 still thrives by randyleepublic · · Score: 1

      Just like /., some of the comments were funnier than TFV.

      --
      Social Credit would solve everything...
  13. VB6 surprising power by Tronster · · Score: 3, Interesting

    VB6 is simple, but there is a surprisingly large amount of power to be tapped from it, if you understand the underlying infrastructure.

    Having done some hard core COM programming 10 years ago, for a Computer Based Testing "test driver", our team learned we could spend 2 days to get up a "ActiveDoc" in C++ using ATL, and WTL, or we could do the same thing in VB6 within an hour. Considering how fast it was to implement ActiveDocument and custom COM interfaces, I changed my mind on how weak I perceived VB6 was. (Unfortunately many of the VB trained, customer-based implementors of our interface were not as astute, and even in a VB6 environment didn't understand what they needed to do to create a component that would properly talk to the rest of our system.)

    Still, knowing how quickly VB6 would let one get up an interface, I was able to help a room mate of mine create a level editor for our own rolled version of Zelda. It was a little cumbersome to learn how to read individual bytes of the palette based sprite files, but VB6 had all the power there.

    All that said, VB6 should die IMHO. After (C# / VB).NET came out, it became a lot easier to make object dynamically talk to each other and perform byte level manipulation.

    1. Re:VB6 surprising power by kbdd · · Score: 2
      I have developed a few apps in VB 6.0. They work just fine, but it has become difficult to support and install them under Windows 7. They are not commercial products, just used to support development and test of embedded systems via the serial port. They actually started life as QuickBasic 4.5 apps, then were upgraded to VB for DOS, then to VB 6.0. The "basic" functionality of these apps has not changed much, just the fancy UI stuff has been updated, and TCP/IP support was added. Facing the fact that VB 6.0 will not be usable beyond W7 (until this recent announcement), I have been looking at what platform I should move these apps to.

      VB.NET was briefly on the radar screen, but it quickly became obvious that it would be a very painful avenue, the conversion process would be just about as hard as if I went with a completely different language.

      Ideally, I would like an open source alternative with a reasonable likelihood of still being here 5 years from now, and it is a tough choice.

      Extending the life of VB 6.0 will delay the point where I have to make that choice.

    2. Re:VB6 surprising power by Anonymous Coward · · Score: 0

      IIRC VB6 was Microsoft's COM-enabled version of Visual Basic. It could do some things, but it made developing COM objects so cumbersome that it hardly seemed worth it. The original COM architecture was fairly sleek and based on the ideas of interface-based programming and OS-brokered components. But the complexity went up by orders of magnitude once they had to support script languages like VB and J#. In came type libraries, dual interfaces, VARIANTs, BSTRs, SAFEARRAYs, and odl. These were not only cumbersome to develop against, but they placed huge restrictions on the data types that could be passed and returned from methods. And you couldn't rely on QueryInterface to switch between interfaces (a big talking point of the original COM), since VB didn't support it. And it had to be single threaded, etc. Ted Pattison wrote a book describing all the limitations. Bottom line is that if you wanted to develop components that could serve VB6 as well as C/C++ client applications, you had to write to a complex and crippled object model.

      In response, Microsoft came up with MFC, which was one of the worst piece of shit development tools that ever achieved widespread popularity. Big company managers assumed that if it was being pushed by Microsoft, it must be pretty good. Then a couple of their smarter developers came up with ATL as a replacement - cool, but incomprehensible except when used in a cookbook fashion.

    3. Re:VB6 surprising power by Tronster · · Score: 1

      I think VB5 also supported COM. (Unsure of this.)
      MFC was around long before VB6. We were looking to leverage it at the project's inception but found ATL (with WTL) to provide a lite-weight alternative without the bloated class inheritance. Looking back, as good as ATL was, I don't think we would have survived using it without the WROX books and great samples from CodeProject and similar websites.

      The problem is both MFC and ATL are essentially just wrappers to a high procedural, highly struct-passing Win32 API. I prefer them to straight Win32 calling, but they are complex and I'd be surprised if there was a way they could be simplified without losing the flexibility offered.

      As for VB6, I believe the EXE's it generated were inherently COM enabled. Each program would support IUnknown and IDispatch. If you wanted a C++ program to talk to it, you needed the IDispatch. Inside of the VB6 world, types were great because they were abstracted, but you are right in that once you marshalled a type out of VB6 into the C++ COM space, it was a bit of a pain to have to work with types like a SAFEARRAYS instead of C array (or STL container.)

      So for simple communication, it wasn't too bad. For complex interactions (like the ActiveDocuments we implemented) a crippled object model wasn't required but I would agree that it was a complex setup.

    4. Re:VB6 surprising power by Anonymous Coward · · Score: 0

      Back when I was writing desktop apps, I preferred the Win32 API (what people called the "Petzold API" because Charles Petzold wrote the classic book) because when you use a wrapper like MFC or WTL you end up having to study the wrapper internals in addition to, not instead of, Win32. And MFC is anything but a thin wrapper - if you study it closely you'll see layers of overhead that were poorly thought out. I think it was written by a team of what today would be called "brogrammers", in between late night foosball matches in Redmond.

      I think the main reason ATL was so complex is that OLE and ActiveX were very complex. I wouldn't say they were designed by brogrammers, but I would say that the architects of OLE and ActiveX did not succeed in taming the complexity to a manageable level.

      BTW I think a guy named Paul diLascia came up with original C++ class library for wrapping the Win32 GUI, it was basically very thin with a CWindow class that had a private HWND variable. He wrote a book, but before his could become popular, Borland came out with OWL (Object Windows Library) and then MS followed with MFC.

      WTL came along after I had moved on to other kinds of projects. It looked pretty good, kind of like an updated version of what diLasica had done.

    5. Re:VB6 surprising power by Anonymous Coward · · Score: 0

      Ideally, I would like an open source alternative with a reasonable likelihood of still being here 5 years from now, and it is a tough choice.

      Maybe Gambas?

    6. Re:VB6 surprising power by Sperbels · · Score: 1

      I think VB5 also supported COM

      Support began in VB4.

    7. Re:VB6 surprising power by Anonymous Coward · · Score: 0

      And the speed of VB development is why we can afford to leave the office at 17:00. Originally a C++ guy who has dabbled in almost every language on the planet, I can testify for VB's short development times. So if people start to throw insults like bus driver around, I just smile.
      And VB Dotnet? Sorry, performance is just too crappy. If I click the classic VB icon, the IDE is there in under a second. If I click the latest Visual Studio I can grab a cup of coffee and take my time with it. And the IDE and the created application feel sluggish.
      Anything classic VB cannot do for me, I'll do in C++.

    8. Re:VB6 surprising power by shutdown+-p+now · · Score: 1

      Ideally, I would like an open source alternative with a reasonable likelihood of still being here 5 years from now, and it is a tough choice.

      I would suggest Qt. Even if Nokia abandons it, it'll keep being, at the very least, maintained due to KDE dependence on it. And, of course, cross-platform. Qt Creator is a nice IDE, to boot.

    9. Re:VB6 surprising power by shutdown+-p+now · · Score: 1

      Yes, VB5 was the first one which was basically a high-level scripting language for COM. From that language on, all VB types were COM (or rather OLE Automation) types - VB arrays were SAFEARRAY, VB strings were BSTR, and so on. All classes were COM components. This was true even internally, which is part of the reason why it was never all that fast (SAFEARRAY is inherently expensive to index, for example, because of dynamic lower bound that you have to read every time you index).

  14. Colour Me Not Surprised by segedunum · · Score: 1, Insightful

    I've been talking about this for years, and I've even been laughed at here on Slashdot for suggesting classical VB will never be going away. How could it? There is that lovely fully object oriented thingy called VB.Net? Why wouldn't you want to rewrite all your applications in it for no appreciable benefit whatsoever?

    The fact is that Visual Basic was and is used for what it was good at. Departmental and business applications where the overhead of that object oriented nonsense didn't make any sense at all. The fatal mistake that Microsoft made with VB.Net is that it was completely backwards incompatible (yes it is, and no, don't give me any of that 'compatibility' nonsense. It doesn't work, hence this article). You couldn't take a VB6 application, make a couple of changes and recompile it as you'd always been able to do. What they should have done was built a RAD environment on top of .Net that you could compile VB code into, but it's all too late for that now.

    Put simply, if Windows 8 couldn't run classical VB/COM applications no one, and I mean no one, in business would ever consider upgrading to it. Windows up to version 7 would have been virtualised forever. No one cares about .Net applications and no one gives a flying fsck about Metro applications that Microsoft wants you to rewrite everything in...............AGAIN just so they can piss about with trying to amount to something on mobiles. Seriously Microsoft, no one gives a shit. Windows is a legacy application shell and nothing more.

    1. Re:Colour Me Not Surprised by Richard_at_work · · Score: 3, Informative

      No one cares about .Net applications

      I'm afraid you are completely wrong in that, .Net is a quickly growing market among small to medium businesses (the type of work that I see), and is already widely used in the large business area. VB6 is certainly hanging on well past life support, but that doesn't mean people aren't moving on.

    2. Re:Colour Me Not Surprised by Anonymous Coward · · Score: 0

      I wouldn't say "no one in business" would move to windows 8 but I will acknowledge that some would consider it as a factor.

      I have moved on to VB.net but still haven't migrated all of my commonly used programs. I doubt I will. My vehicle records database still runs through vb6 and I commonly use it.

      A lot of people upgrade without considering the ramifications. If Windows 8 didn't support it a lot of misery would soon hit the news shortly after release.

    3. Re:Colour Me Not Surprised by FrootLoops · · Score: 3, Interesting

      ...fully object oriented thingy called VB.Net ... the overhead of that object oriented nonsense didn't make any sense at all ... The fatal mistake that Microsoft made with VB.Net is that it was completely backwards incompatible ... No one cares about .Net applications

      You don't seem to have any idea what you're talking about.

            (1) VB6 is an object-oriented language. Its support is poor--eg. no inheritance, clunky syntax--but programmer-defined classes exist. If you meant just the new OO features you should have said so--your wording is imprecise throughout.
            (2) VB6 has no class library to speak of--you had to write your own routine or hack together a ListBox to sort a string array. That should be a couple lines of code. Forget hash tables, queues, etc.--you have to implement it all yourself or find somebody else's random crap, which is wildly inefficient. The .NET class library is very good and is a huge potential "appreciable benefit" to upgrading.
            (3) .NET and VB6 are comparable in speed (except loading times, .NET is worse there). Which wins depends on precisely what you're doing. For math-heavy problems, .NET is often much faster. But honestly, why the hell do you care about the speed (/memory use/whatever you meant by "overhead") of VB6 apps? It's almost always irrelevant in light of user input delays.

            (5) .NET is not even remotely dead, so no "fatal mistake" was made.
            (6) Lots of people care about .NET apps. Glance at the Tiobe index, for instance.
            (7) You'll be able to create .NET Metro style apps. Converting an existing desktop app may or may not require significant work. Your backend will be mostly to entirely reusable, so you won't have to "rewrite everything".

            (8) You greatly exaggerate the backwards compatibility problems and you know it. Some large projects are suited to automated/assisted migration; just read these zillion testimonials. It's far from perfect, but it's also far from nothing.

      You do have at least a few good points--lots of businesses absolutely rely on very old technology and wouldn't upgrade without support; Microsoft's chances of getting a significant mobile presence are slim. You came close to the truth behind the continued success of VB6: people don't want to learn new systems and some people are stuck maintaining old ones that are too difficult to convert. Most of your points are garbage though.

    4. Re:Colour Me Not Surprised by segedunum · · Score: 0

      You don't seem to have any idea what you're talking about.

      (1) VB6 is an object-oriented language. Its support is poor--eg. no inheritance, clunky syntax--but programmer-defined classes exist. If you meant just the new OO features you should have said so--your wording is imprecise throughout.

      OK, I'll bite hard - a little bit. If you're going to accuse someone of not having any idea it is usually a good idea to get a fracking clue yourself - which you evidently do not.

      Classical VB did not, and does not, have inheritance and subclassing (utterly fundamental to a language actually being object oriented) nor the polymorphism you see in proper OO languages as a result. If you don't have that you certainly do not have an object oriented language and you most certainly don't know what one is. My wording is not imprecise. It is very clear and there are no such thing as 'new OO features'. Anyone who actually programs with half a clue understands what a language has to satisfy to be object oriented. Seriously, you can Google this stuff.

      Point 2 is utter, utter twaddle and cant be replied because you obviously know nothing about classical VB.

      (3) .NET and VB6 are comparable in speed (except loading times, .NET is worse there).

      Yay. Let's rewrite our applications that replicates existing functionality and have them startup at least five times slower. Seriously, you can go away and have a cup of coffee before a decent sized .Net application starts up. Sorry, but that's not a rational business case.

      (7) You'll be able to create .NET Metro style apps. Converting an existing desktop app may or may not require significant work.

      No one cares. Windows.Forms, WPF, XAML, Silverlight and the other smorgasbord of pointless crap cranked out via MSDN have already ensured that few people who need to get work done actually care. For the handful of consultancies peddling this they will probably make some money rewriting everything again for people who are stupid enough to do so. Seriously, I've had MSDN weenies crawling out of my ears over the last ten years peddling a rewrite in *insert latest nonsense from MSDN magazine here*. It's all pointless hand-waving.

      (6) Lots of people care about .NET apps. Glance at the Tiobe index, for instance.

      Yep. There's people as far as the eye can see crying out for .Net 1.0 and 1.1 support because so much was written with them. The companies who are using VB who have prompted Microsoft to do this don't go anywhere near the Tiobe index, and they are the silent majority..............

      (8) You greatly exaggerate the backwards compatibility problems and you know it. Some large projects are suited to automated/assisted migration; just read these zillion testimonials. It's far from perfect, but it's also far from nothing.

      No, I don't - and being somebody who possibly sells this shit to people you know it. If it wasn't a problem we wouldn't be commenting on this article because it wouldn't exist, would we bright spark? 'Zillion testimonials.........' What are you? 11?

      You do have at least a few good points--lots of businesses absolutely rely on very old technology and wouldn't upgrade without support

      If Microsoft actually had a clue about supporting existing code in their new development products this wouldn't be up for discussion. Oh, and trust me, if you think VB applications are 'old technology' then think COBOL. Many VB desktop applications perform fairly critical business functions and they are going to have to be supported for decades. Just like the lines of COBOL out there runni

    5. Re:Colour Me Not Surprised by JMZero · · Score: 1

      Microsoft are just flushing their platform down the toilet by not realising where the value is in it.

      Definitely agree. It's bizarre how little MS understands how people use many of their technologies.

      I remember at some early .NET preview meetings I talked to the presenters about obvious things they'd missed that were going to piss people off. They didn't think anyone used the features I was talking about. They didn't think edit-and-continue was important. It was clear they had certain expectations for how people used VB, and those expectations didn't fit at all with real life.

      Or later, they killed the DHTML edit control in IE. They didn't really announce it - just somewhere on a blog they wrote something like "we looked around and didn't see many sites using this control". That's because they don't see weird old intranet sites - but those sites are everywhere once you start lifting rocks. I know 3 or 4 businesses that are still on XP/IE6 solely for this reason.

      I think they're starting to figure this out - but at this point the chain is already far too broken for them to fix.

      --
      Let's not stir that bag of worms...
    6. Re:Colour Me Not Surprised by shutdown+-p+now · · Score: 2

      Classical VB did not, and does not, have inheritance and subclassing (utterly fundamental to a language actually being object oriented)

      Inheritance is not required for a language to be object-oriented - aggregation and delegation can handle all the same scenarios, not to mention prototype-based OO. The only prerequisite required for OO is polymorphism.

      nor the polymorphism you see in proper OO languages as a result.

      VB had subclassing, though it operated on interface level rather than class level ("Implements"). To that extent, it also had polymorphism - you could have class Base (which implicitly derives a corresponding interface), then say "Implements Base" in class Derived, and pass Derived anywhere where Base was expected.

      Point 2 is utter, utter twaddle and cant be replied because you obviously know nothing about classical VB.

      Well, I happen to know enough about classic VB, and it certainly didn't have a stock hash table (or any other form of associative array) in its standard library. At best, you could use Dictionary from WSH.

      Yay. Let's rewrite our applications that replicates existing functionality and have them startup at least five times slower. Seriously, you can go away and have a cup of coffee before a decent sized .Net application starts up. Sorry, but that's not a rational business case.

      Does Visual Studio count as a "decent sized .NET application"? It doesn't fit on a single CD. And it starts (other than the very first start after install, when packages are initialized) in under 5 seconds.

    7. Re:Colour Me Not Surprised by FrootLoops · · Score: 1

      You're being ridiculous. Everyone except you calls VB6 object-oriented (eg. the Wikipedia article; the Tiobe (Visual) Basic page). "Seriously, you can go away and have a cup of coffee before a decent sized .Net application starts up"--that's just completely untrue, the difference is measured in seconds between comparable programs. "The companies who have prompted Microsoft to do this don't go anywhere near the Tiobe index ... are the silent majority"--I thought MS couldn't be bothered to figure out their customer's needs. They must be a talkative silent majority.

      I could go on, but I won't since you're not worth the time. Moron.

  15. Insult all you want by mumblestheclown · · Score: 5, Interesting

    This "bus driver" has a PhD in computer science and in my weaker days wrote code that still exists in various linux distros. i started a company 15 years ago with some vb apps and, guess what.. the vb6 apps still sell. over $4 million per year with my staff of 5. So, you know, call me a "bus driver", call it a "scripting language", and any other insults you want - I can take it. Or rather, I just wont care.

    1. Re:Insult all you want by pnot · · Score: 3, Interesting

      See also Joel Spolsky:

      What I wondered was, what happens if you take top-notch C++ programmers who dream in pointers, and let them code in VB. What I discovered at Fog Creek was that they become super-efficient coding machines. The code looks pretty good, it's object-oriented and robust, but you don't waste time using tools that are at a level lower than you need. I've spent years writing code for C++/MFC and years writing code in Visual Basic, and let me tell you, VB is just much, much more productive. Michael and I had a good laugh today when we discovered somebody selling a beta crash-reporting product at $5000 for three months that Michael implemented in CityDesk in two days. (And we actually implemented a good part of ours in C++/ATL). And I also guarantee you that our Visual Basic code in CityDesk looks a lot better than most of the code you find written in macho languages like C++, because we're good programmers, and we write comments, and our variable names are well-chosen, and we do things the simple way, not the clever way, and so forth.

    2. Re:Insult all you want by marcosdumay · · Score: 1

      You know, insulting something by calling it a "scripting language" reflects worse on the caller than on the called. In fact, it only insults the caller.

      VB6 is a bad language, but back on its time, it was what was available. Yeah, plenty of stupid people used it, but it takes an entire new level of stupidity to take the reciprocate of a true proposition and automatically assume it is true.

    3. Re:Insult all you want by codepunk · · Score: 1

      Same here I made a crap ton of money hacking vb code. Not sure I would be sticking with 6 any longer though, MS simply unfucked the language in .net .

      --


      Got Code?
    4. Re:Insult all you want by Anonymous Coward · · Score: 0

      That's the flaw on many people here. They all think there's "the proper way " and everything else sucks if it doesn't match their ideology. In slashdot, OS, platforms, etc, have become the same intolerant politics/religious conversations from Reddit. So, they'll eventually wake up, and realize that each person is a world and that for them, what works... works. Now... rant aside... 4M a year... staff of 5, are you taking resumes?

    5. Re:Insult all you want by Velex · · Score: 1

      Amtelco, is that you?

      Hmm, your UID is too low for astroturfing, so I'll believe your story. I use shitty ass VB6 apps for a lot of the stuff I do. Why do I use those apps? Because they connect to a proprietary telephony device that we can't do business without.

      The really unfortunate part is the if we'd known up front how frustrating working with this system would have been (I was promoted to handle an upgrade, and when the true horror of how much we'd been oversold became apparent, it turned into a full-time position for me), they could have just given me the 6 figures they paid for the upgrade and had a much more functional and stable system that would take a fraction of the time maintain.

      So if I'm so smart, why don't I just build it in my free time? Well, my boss would own the copyright, and that's not what I want. This propritary shit-ass VB6 software has created so many problems that never existed between my co-workers before I was promoted, I'm not sure how much longer I care to take it. Even if I did built it, who's to guarantee that my boss wouldn't take the copyright and keep the existing shit system?

      Why do we have this proprietary telephony device with client software that's mostly VB6, sometimes VB.Net fraken-grafted on top? Because before I came around, nobody where I worked believed that the same thing could be done with OSS software. Right now I'm considering whether to jump ship to another job that came from a friend who recently graduated or to stick around because once the company grows enough, I'll be the one to replace all of the shitty VB6-ness that goes out of its way to break normal windows UI paradigms.

      The hard part of deciding to jump ship is that this software is so bad, that for all intents and purposes, I can't be fired. Nobody else knows how to work it except me, and there's no way in hell a student would take my job given that there's no skills he's going to be able to put on his resume from this job, because it's so niche.

      I've lost countless data to stupid little bugs. You click that button out of order from your usual ritual? *boom* There goes 15 minutes worth of work. It happens every time, but short of reverse engineering the protocol it uses to talk to the telephony device, I'm stuck with it. I'm stuck with the endless calls from my co-workers about how to do a or b because the documentation is horrible and the user interface is the most unintuitive thing I've ever used.

      The worst part, though, is that the people working on the call center floor often blame me every time this pile of VB6 shit blows up. Half of them think *I* wrote it. Of course, the people who give me a paycheck know better, but I'm hard pressed to recall anything more demoralizing than people I used to get along with accusing me of incompetence because a closed-source piece of shit I can't change is, well, a closed-source piece of VB6 shit.

      Is your VB6 application something like that?

      --
      Join the Slashcott! Stay away entirely Feb 10 thru Feb 17! Close all tabs to prevent autorefresh!
    6. Re:Insult all you want by Anonymous Coward · · Score: 0

      This. I've got a degree in CS from a world top five university and I used to program in VB6. Back in the late 90s it was absolutely the most efficient way to write UI code for Windows. Any "heavy lifting" was implemented in C++/ATL COM objects and they integrated beautifully with VB6. The VB6 language wasn't pretty, but if you knew what you were doing you could write reliable, maintainable code, and you could write it very quickly.

    7. Re:Insult all you want by Tablizer · · Score: 2

      Is this due to VB6 itself or bad programming using VB6?

    8. Re:Insult all you want by shutdown+-p+now · · Score: 2

      Back in the late 90s it was absolutely the most efficient way to write UI code for Windows.

      No, that was Delphi. VB was a little bit easier to use, though, which is probably why it was more popular.

  16. hello world doesn't count by Anonymous Coward · · Score: 0

    try something complex and your beat.
    the fact is hobbiests use it or other stuff cause they dont want to pay ...pay ..pay .pay some more hence why win 8 and 7 are just vista fixes and why xp is still so strong

    1. Re:hello world doesn't count by leenks · · Score: 1

      VS.NET has "Express" editions that are free to download and use (including for commercial use) and are quite powerful, so I'm not sure the "pay pay pay" argument holds up unless you mean development costs. I've used VS Express to develop COM components to bridge ESRI ArcGIS applications with other applications (eg in Java), and they are relatively powerful (certainly as much as VB6 was).

    2. Re:hello world doesn't count by StuartHankins · · Score: 1

      GDI calls to grab screenshots? 2003 AD integration? API calls to retrieve printers? SQL Server and MySQL support? They work fine. Even the ComponentOne COM controls, various user-defined controls (including one which uses a PictureBox to simulate an animated GIF), Crystal Reports runtime COM controls, integration with .NET DLLs, all of them work fine for me.

      What have you found that doesn't work? I'm genuinely curious.

  17. How do you use it? by Snaller · · Score: 1

    I tried to install it on Windows 7 and it didn't work. So i gave up (programming for windows)

    --
    If Google really cared they would fix Android Chrome to reflow text, instead of discriminating
    1. Re:How do you use it? by confused+one · · Score: 1

      Run a Windows XP VM on the Windows 7 machine and install the IDE in the VM. You have VMs set up to test your code in anyway, right?

    2. Re:How do you use it? by unixisc · · Score: 1

      Couldn't you run VirtualPC on Windows, and under that, have an XP session that runs it?

    3. Re:How do you use it? by Anonymous Coward · · Score: 0

      But XP is going out of support soon. Enterprises will need to move on to Win7. Running XPs in VM is not an solution.

  18. Built-in by Impy+the+Impiuos+Imp · · Score: 1

    It's built in to Excel. We use it all the time to generate C code from massive tables of translation and configuration data.

    I'd prefer lisp. I could do it through COM links or whatever the kids call it nowadays but it works and is convenient.

    --
    (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
  19. A question for the group by jayhawk88 · · Score: 1

    The company I work for has a well-staffed IT shop, but the one thing we are lacking is anyone with real developer experience. We have one woman there who is known as the "database developer", but all her experience comes from Access. Access front-ends to SQL databases, that sort of thing. It works for the most part, but it's frustrating from our perspective when we have to deal with all these Access databases/front ends, and we know things could be so much better.

    A few times they've tried to send her to VB training of various kinds, and as the resident SQL "expert" and the one that works most closely with her, I've tried to steer her in the right direction. She's willing, but it's clear at this point she just doesn't have the skillset required to make the leap to "real" developer. This is a state job, however, so just letting someone go for such reasons is a convoluted enough process that it's probably not going to happen so long as she continues to be competent in the Access world she's created for us.

    I'm damn tempted to see if I can get a copy of VB6 from MSDN or some other source and throw it in front of her, see what happens. I've got 0 VB experience myself, but from reading the descriptions it does seem like she might be able to embrace it. I've seen the behind the scenes coding/scripting she writes in these Access front-ends, and it really seems like she is doing a lot of what Visual Basic would require, but she just can't retrain her brain to deal with VB10 or whatever.

    Is this a mistake? Our needs aren't anything special, just "Go get this SQL data and show it to the user, maybe let them edit it" type stuff. If I had any kind of time I know I could probably teach myself enough VB to do this, and I've been tempted a couple times just to pad the old resume, but it always gets put into the "Yeah, someday" file.

    1. Re:A question for the group by DogDude · · Score: 1

      I'd guess that basic data access and manipulation is what most people use VB6 for (myself included). Just sit her down with a few basic samples, and she can copy and paste the pieces easily. Connect to database. Get data. Write to database. It's all very straightforward. The most difficult thing will probably be her trying to learn SQL if she doesn't know it already.

      --
      I don't respond to AC's.
    2. Re:A question for the group by codepunk · · Score: 2

      Most of the Access developers I know don't even know standard off the shelf simple SQL statements. The environment is so washed down that they never make the leap past the query builder.

      I already know without even asking that you are in a shop that has a access app for everything and duplicated data everywhere.

      The best shop I worked in would not allow access on any desktop for this very reason. Access at the end of the day is just a hack, ok for a 5 person company but should not be used for enterprise development.

        I have seen some amazing software written in Access, it can be done with a talented developer but those cases are rare.

      --


      Got Code?
    3. Re:A question for the group by jayhawk88 · · Score: 1

      I already know without even asking that you are in a shop that has a access app for everything and duplicated data everywhere.

      It used to be way worse than it is. To her credit, she does understand why Access sucks and there has been a concerted effort to put the data on the SQL end. She's not really completely fluent in SQL as far as making queries and such but can get by, and most of the Access stuff she does is just for the front-end. But yeah, it sucks, and even if we were just rolling out incredibly hacky EXE's to desktops it would be an improvement.

  20. It's still a hack. by ElmoGonzo · · Score: 1

    Any language that uses a newline as a statement terminator is demented.

    1. Re:It's still a hack. by DogDude · · Score: 1

      It works.

      --
      I don't respond to AC's.
    2. Re:It's still a hack. by Anonymous Coward · · Score: 0

      Like Python? Yeah, let's get those guys in on that comment. :)

    3. Re:It's still a hack. by Anonymous Coward · · Score: 0

      Why? Most statements are put on a newline anyway, so why be redundant and force the programmer to use an extra character? And it clutters up the code. The better approach is to use a newline and allow for an alternate character to separate multiple statements on one line when the need arises.

    4. Re:It's still a hack. by Anonymous Coward · · Score: 0

      I actually liked it, far less typing. Seems more modern to tell one line once in awhile to continue, rather than telling almost every line to terminate.

    5. Re:It's still a hack. by gbjbaanb · · Score: 1

      Any language that uses a newline as a statement terminator is demented.

      like python?

    6. Re:It's still a hack. by Anonymous Coward · · Score: 0

      It sounds like using a visible character to terminate statement some kind of "broccoli technology" for you... :)

    7. Re:It's still a hack. by marcosdumay · · Score: 1

      Yeah, I guess the GP was implying exactly that this applied to Python.

      If anything, VB's syntax makes it extremely hard to parse it, but Python doesn't share that characteristic. Also, giving meaning to white space isn't that a good idea, and here Python is the worst offender, since every blank space has meaning, not just newlines. Anyway, both are much less problematic than they seem at first. It is just not important enough to choose another language because of it.

    8. Re:It's still a hack. by istartedi · · Score: 1

      Like math on a blackboard? Before computers, newlines were the standard terminator. We would use elipsis if the line was too long.

      Newline and backslash is a perfectly acceptable approach, even if it's not your favorite.

      --
      For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
    9. Re:It's still a hack. by Anonymous Coward · · Score: 0

      Tabs, Kaboom!

    10. Re:It's still a hack. by gbjbaanb · · Score: 1

      I thought he was assuming VB was the only language that had this feature and was thus being critical.

      Still, VB doesn't have a difficult to parse structure, way back, we used to take VB classes written by our app guys and generate C++ code that would run on the (Aix) server from it. The parser (that I didn't work on admittedly) was done by our junior guy and he didn't have problems with it.

      I agree with you on pythons use of whitespace, while I like indentation, I find its annoying I can't put a line of debug in handily indented at the first column so I can remove it once I'm done with it (or indent it properly if I'm keeping it). I wish python had optional curly brackets for this kind of thing.

  21. VB6 works because it's audience is broader. by Dingbat1967 · · Score: 1

    VB6 won't die because the tool is geared to answer the problem "how do I get people to develop applications to solve problems themselves" and not "how do I make professional developers more productive and happy". VB6 solves a very broad problem whereas most other computer languages, IDEs and frameworks are geared for those who program for a living. And unfortunately, there really is no alternative. The fact that there are a lot of programmers today who grew into the profession who weren't programmers initially is not the point. VB6 is a tool that empowers a much wider audience to do their own thing than do "modern" programming languages.

    VB.NET is more of a computer language that was wrapped around the .NET framework to try to "wean" VB programmers off of VB6. It won't work. You don't "get" what VB6 does for people if you think that. And it seems Microsoft simply doesn't get it either.

    1. Re:VB6 works because it's audience is broader. by Anonymous Coward · · Score: 0

      It was the easiest tool available in a time when the industry needed more programmers than were available. If the demand still existed they'd be writing bad code in C# now.

  22. Lazarus by bjs555 · · Score: 2

    I taught myself VB6 (fool for a teacher?) about ten years ago mainly so I could write small apps and utilites for myself. Combined with Win32 api calls, it's been powerful enough for almost everything I've needed to do. True, my code isn't elegant but it gets the job done.

    For a more modern object oriented language I think Lazarus (an open source Delphi clone) is in the same category as VB6. I found it easy to move from VB6 to Lazarus since the IDEs are similar. Lazarus is based on Pascal so some might consider it inelegant but it too gets the job done and the cost sure is right.

    1. Re:Lazarus by Anonymous Coward · · Score: 0

      What is inelegant about Object Pascal? The only thing more elegant in that space is C#, and it is partly designed by the same guy.

      Nothing beats Delphi on Win32/64 for productivity and Data connectivity.

  23. STRAW MAN !! VB6 IS VERY MUCH STILL DEAD !! by Anonymous Coward · · Score: 0

    Now, John Lennon. He's living in Hoboken, and works menial jobs (no, he's not a VB6 programmer). He used to own a record store. Check out the paper next time you come through. And, no, you talk funny.

  24. That's true by Anonymous Coward · · Score: 0

    I've done MANY "enterprise class" mission critical systems in VB6 (about 32 since 1994 professionally), scaling up to 1++ million lines of code in VB alone (not counting SQL Stored Procs & what-not that go with those) talking "cross-platform" to various database engines (usually IBM DB/2, Oracle, or SQLServer & at times, thru Citrix or Terminal Server as well, which has "caveats" in loops (don't use DoEvents, but rather rely on the API it's based directly on, in Sleep)).

    It just works, and with the least failure rates on projects (as opposed to C/C++ ones of the same general nature for information systems).

    I agree on ActiveDocuments, because moving "std. VB" projects to it was pretty much a snap using wizards for it too (not always perfect, but didn't mean a lot of tweaking either, IF it was needed @ all), so your apps because "web apps" vs. std. Windows forms ones...

    APK

    P.S.=> I moved onto Borland Delphi & C++ Builder around 1997 when I saw Delphi 3.0 "knock-the-chocolate" out of BOTH VB5, MSVC++ 5.0, & Java (Symantec version), & BIGTIME (doubled even C++ in both Strings + Math work, which ALL programs do some of no less), it's just BETTER imo & the results showed it in (of all places, a competing language trade-rag's pages) Visual Basic Programmer's Journal Sept./Oct. 1997 issue "INSIDE THE VB5 COMPILER"...

    However, I can never say that doing a job in VB (or .NET later) was a "bad move" due to ease-of-use & language features - it works... and gets the job done. I also saw MORE JOBS in Microsoft related IDE work in Visual Studio over that timeframe (1994-current professionally here) than I did for ANY other competing language/vendor too. That's just how it is... management, even though I showed them the article I spoke of, said:

    "Microsoft is here today, the big dog - they have the money, they will survive + provide support... will its competing languages like Delphi or C++ Builder from Borland?"

    I had to concede THAT, but, from a "business standpoint" point-of-view.

    Still, in the end - I would & always HAVE, RATHER use a statically compiled system (meaning "stand-alone" single-exe work IF/when possible, due to less moving parts to account for like runtimes or external libs/activeX-OLEServer object controls above & beyond the std. API libs Microsoft provides that all apps use/depend on for functions (or even classes for them)) - vs. a runtime interpreter driven system, such as VB (or .NET, or JAVA even & to some extent, even MSVC++ because iirc, it's visual control interfaces are lib driven too)

    ... apk

  25. honest answer from a noob by Anonymous Coward · · Score: 0

    I'm one of those people that grew up in the 8-bit days and learned some basic back then. When I picked up vb4/5/6 I was able to create working programs with a nice GUI immediately! I have tried many other languages since, but somehow the step is so huge from basic to anything object oriented , I just can't grasp it. I have tried books videos, etc. I'm just too stuck in my way of thinking.
    I'll stick with vb6, when I make stuff with .net I get weird problems like the executable won't run from a network drive without giving some strange warning.

    1. Re:honest answer from a noob by Anonymous Coward · · Score: 0

      The closest thing to VB6 i ever found was Borland c++ builder, I did bandage to make some small things with that..

  26. It is already broken -- Re:Use it today by Anonymous Coward · · Score: 0

    Lack of support for unicode, auto-layout, DPI-scaling, double-buffering, animations, hardware-accelerated vector drawing, etc, etc.

    In short, it's plain, dull, boring, and utterly unexciting to develop apps with.

  27. Living in a post VB6 world by Anonymous Coward · · Score: 0

    Recently I started looking at the Raspberry Pi, with the idea that I might use it to teach my child to program. One of the first questions that arose was "Which Language". I decided that I needed a simple, straight forward language that could also produce GUIs - in essence what I wanted was the equivalent of VB6 for Linux. Why? Well it was simple to learn, easy to produce a simple UI and link them together with some back end code. That was always the strength of VB6. It was a great tool for what it did and somehow Microsoft lost sight of that.

    In the end, I went with Python3 and QT4. It has those features (maybe not in quite such an all-in-one package), is free and can be cross platform as well.

  28. Those should be the days by EmperorOfCanada · · Score: 1

    I loved VB6 and beat it death. For knocking out a quick application it was hard to beat. I long left it behind (at least a decade ago) but when I started developing iOS apps a while back I was so disappointed with the interface builder that it made me angry; they obviously never understood the joys of the VB6. I hate to say it but the whole interface builder was more of a rip off of the later c#.net interface in Visual Studio that drove me away from all things Microsoft. Thus in my present apps I don't use interface builder and just use all code building on things such as cocos2d.

    As a side note I do love XCode and it seems that the non IB parts of XCode have been kept as separate from IB as possible so that people who want to ignore it can do so with ease.

    While VB6 is and should be a historical artifact IDE builders could still learn a thing or two from it. Its key strentgh was that it seemed to know its weaknesses. It did what it did well and beyond that you had to instantly jump to lower level screen interfaces like GDI. Whereas the later .nets made the claim that you could do anything. But the reality was that every project seemed to follow the same cycle. 90% done in under a week and then the next two months was spent fighting with .net as you backtracked out of something it did poorly and then implemented it yourself.

    1. Re:Those should be the days by theygoto11 · · Score: 1

      But the reality was that every project seemed to follow the same cycle. 90% done in under a week and then the next two months was spent fighting with .net as you backtracked out of something it did poorly and then implemented it yourself.

      This is not surprising, and in fact expected, regardless of language chosen. http://en.wikipedia.org/wiki/Ninety-ninety_rule

  29. VB6, oh yeah by Anonymous Coward · · Score: 0

    I still use it every day. I can do everything I want and need to do with it. That being said - I do have VS 2010 on a test machine and play around with it a little. I know I will have to make the jump at some point. I will see how it goes.

  30. Not just for inexperienced by Anonymous Coward · · Score: 0

    Sometimes it's nice to be able to just throw together an application quickly. No mess, no worrying about pointers, just put the pieces together and have it work. VB on Windows and Gambas on Linux allow people to do that. I can program in many different languages ranging from Assembly to PHP, but I believe in using the right tool for the job. If the job is getting something up and running quickly with a graphical interface then VB/Gambas is a good option.

  31. Wow, @ProDeveloper, Troll Alert! by Anonymous Coward · · Score: 0

    Have you actually used Java in the past 4-5 years? It's quite fast these days. Heard of JBoss? --- Quicker than whatever .NET shit you're running.

    I can't tell if you're some Microsoft covert marketing hound or a troll. You could also be retarded. I'd get that checked out.

    1. Re:Wow, @ProDeveloper, Troll Alert! by jimmyfrank · · Score: 1

      You're comparing JBoss to .NET, interesting.

  32. If you liked VB6, try Real Studio by RealSoftware · · Score: 1

    If you still use Visual Basic 6 or remember it fondly, you should consider Real Studio. It has the philosophy of "simple things should be simple, complex things should be possible". We continually get VB6 developers that decide to move to Real Studio rather than switch to the current complex Microsoft ecosystem. Real Studio is as accessible as VB6, but is as object-oriented as VB.NET. Plus it creates cross-platform applications. Check it out: http://www.realsoftware.com/

  33. moron by SuperDre · · Score: 1

    Mister Platt is just a moron, and shouldn't be teaching if he doesn't know how to use a language..

    One of the complaints is about ugly code, well you can write ugly code in ANY language, it's all up to the developer.. Another complaint by this moron is about 'On error resume next', well what's different to that as using:
    Try
    Call AFunction
    Catch
    End Try
    It's exactly the same, and you don't have to use it... You can write about the same exception handling as you can in VB.NET..
    And if you can't do it in 10 minutes, than maybe you should be patient and rethink or learn to use VB6 beyond the 'VB6 for dummies' level..
    You can do very advanced stuff with VB6, YES you can also do multithreading if you want to, but debugging will be a bit harder and you shouldn't mind having the IDE crash (it's not like VS.NET IDE doesn't crash ever)..

    If only they released the actual VB7 which was according to insiders only a few months away from a RC, and which would have had real OO like real Inheritance and function overloading.. Yes VB6 is getting old, but it has better long-term support from MS than a newby tech like Silverlight.. Ofcourse if you have to start a new (big) project you would be a moron to start it in VB6, but we still have a lot of legacy applications which still do the job they were designed for and no real need to upgrade it to any fancy UI/modern language.. Hell C# is the new VB...

  34. so by codepunk · · Score: 2, Funny

    So you feel that typing curly braces to let the compiler know what you want somehow makes for better code?

    Perhaps it is just that you don't know any non C syntax languages. I do and after writing something like python then jumping into a c or c++ app it takes me days to get over having to type a bunch of cruft.

    --


    Got Code?
  35. So According To The Article by rhook · · Score: 1

    VB6 programmers are just lazy.

    1. Re:So According To The Article by blackpaw · · Score: 1

      Nope. Smarter.

    2. Re:So According To The Article by Anonymous Coward · · Score: 0

      I am not a VB6 programmer, but being lazy is a compliment not an insult. Most of the code I put together nowadays is done as Lazily as possible by copying from existing produced code and tweaking where needed. If you aren't a lazy programmer then your a dumb one.

    3. Re:So According To The Article by rhook · · Score: 1

      That's not being lazy, that's working smarter. If you were lazy you wouldn't have an existing code base of quality code to copy from.

  36. As crap as VB6 is, it is still better than HTML/JS by Anonymous Coward · · Score: 0

    ...and people have been going on and on about how great it is to build apps with HTML5.

    HTML5 + JS IS cool.
    HTML5 + JS IS much better than HTML + JS used to be.

    HTML5 + JS IS still an awful way to develop software.

  37. Don't forget C++Builder: underrated, but effective by Anonymous Coward · · Score: 0

    C++Builder is another dev tool in the same boat as Visual Basic (and perhaps Delphi too) that has been around a long time and is still going strong. The C++ compiler isn't the best one out there and not the most standards compliant, but it's still a full C++ compiler, and developing Windows-based GUIs is just as fast as Visual Basic 6 or .Net. You have a rapid GUI development tool combined with a powerful language, a simple and straightforward IDE, and the runtime does not weigh down the application like .NET or Java. I wrote my first application with this tool back in the late 1990's, still supporting it today, with most of the original code still in existence. The application framework that the code is based on, the VCL (visual component library), has been very stable throughout many new versions of the tool, and I have never had to worry about a complete re-write of the application as a result of a new version of the language or tool.

  38. The summary is wrong by elsurexiste · · Score: 1

    They didn't lament the lack of operator overloading or polymorphism in Visual Basic 6, so they didn't say much

    The summary is wrong: Visual Basic has polymorphism, it's the inheritance that is clunked. Google it, or enter here.

    If timothy et al. don't know the language and environment, of course they won't understand the power of the little beast.

    I don't agree with your death sentence, though. As years pass and I test language after language and environment after environment, I've come to respect the quick approach over the nice or correct one.

    --
    I rarely respond to comments. Also, don't ask for clarifications: a brain and Google are faster, believe me!
  39. Too much code by Curunir_wolf · · Score: 1

    I just deployed an update to one of the VB6 applications that I've been supporting for many years. That one, like most of the others, still works for what the customers want.

    I would really like to convert those apps to .NET, or Java, or just about anything else. But it's an effort that, while it would help me, I can't really sell to the customers. It would be costly for them (hey - I can comp some time but can't do it all for free), as well as possibly introduce some new bugs (there's a lot of code in there), require time from them for testing and possible interface changes, etc. They just don't see enough advantages to want to do it.

    So of course I have to keep some Windows XP VMs around so I can work on those apps. VB applications may run fine in Windows 7 (and presumably will on Windows 8, according to TFA), but the IDE does NOT. I don't remember all the issues I ran into (maybe it had something to do with the controls being used), but it simply doesn't work.

    So, yea, it won't die, it will be around for a long time. But at least from my perspective, it has NOTHING to do with the developers not wanting to move on. It's a business decision. And business has almost no incentive to decide on change.

    --
    "Somebody has to do something. It's just incredibly pathetic it has to be us."
    --- Jerry Garcia
    1. Re:Too much code by gbjbaanb · · Score: 1

      It does, I've had it running, though I don't really use it very much at all.

      http://www.fortypoundhead.com/showcontent.asp?artid=20502

    2. Re:Too much code by Curunir_wolf · · Score: 1

      Barely. I've been there, and done that. Step 1 is bad enough, but I've gone through all of them and gotten the VB6 IDE up and running. Then I have to load up one of the projects I work on and try to do something with it. Big FAIL there - some things I could work around, but others I could not. Ultimately, because of the hacks and mods Windows 7 needed to run the VB 6 IDE at all, and specifically deal with the applications I have to support, I needed a dedicated workstation to do VB 6 development, because it wouldn't be suitable for use for many other things. So, that might as well just be an XP VM. Easier to set up and use, so why even deal with a bunch of workarounds on Windows 7?

      --
      "Somebody has to do something. It's just incredibly pathetic it has to be us."
      --- Jerry Garcia
  40. Delphi was better.... by zoid.com · · Score: 3, Insightful

    It's too bad that Delphi didn't win out. It was a much better language/environment that VB6.

    1. Re:Delphi was better.... by ralphdaugherty · · Score: 1

      t's too bad that Delphi didn't win out. It was a much better language/environment that VB6.

      Microsoft, as is their history, determined that by destroying Borland in making the Delphi team an offer they couldn't refuse. C# was created by them.

    2. Re:Delphi was better.... by Anonymous Coward · · Score: 0

      And that's basically why it didn't win out.

    3. Re:Delphi was better.... by shutdown+-p+now · · Score: 2

      Delphi did win out - it's called .NET. Remember that Microsoft snatched Borland Pascal/Delphi lead designer and developer, Anders Hejlsberg, and had him work on C# (he still does). C# 1.0 was pretty close Delphi with syntax replaced with something vaguely Java-like. WinForms, and .NET component model in general, is pretty similar to VCL in its design philosophy, and in some cases even down to class hierarchies and names, like [T]Object <- [T]Component <- [T]Control.

      The only really major difference was using VM and GC rather than native code with manual memory management, but I wouldn't call the latter "nicer", at least not for the kinds of apps Delphi was typically used.

    4. Re:Delphi was better.... by Raenex · · Score: 1

      C# 1.0 was pretty close Delphi with syntax replaced with something vaguely Java-like.

      Vaguely Java-like? It was almost a direct copy. Sure, they added some features on top, but it was pretty much a clone of Java.

    5. Re:Delphi was better.... by shutdown+-p+now · · Score: 1

      It was just as much a direct copy of Delphi as of Java (to wit: virtual/override, properties, and WinForms).

    6. Re:Delphi was better.... by Anonymous Coward · · Score: 0

      I'm with you on that.

      I think it was more political than technical

      - Anders moved to Microsoft;
      - VB was from the same company that made the operating system
      - Borland lost focus what it wanted to do as a company

  41. Because ENHANCE! by Anonymous Coward · · Score: 0

    "It just works"

  42. Delphi by xded · · Score: 3, Interesting

    Do date, there really isn't any IDE/Language that has targeted this audience of people who wanted to do RAD in this visual manner.

    Wrong. There's Delphi. Say what you want about Pascal or OOP, but it is just as easy to program with as VB, it has an extensive third party component selection being actively developed (to do whatever you want, from serial communication to image processing and GUI components) and it is, somehow, still being sold and supported.

    When .NET came around, its users were praising the ease of GUI development, something that Borland users already became accustomed to during the previous 10 years or more (with both Delphi and C++ Builder). With no dynamic libraries or virtual machines to depend on, every executable runs natively with the visual component library -- VCL -- that can be statically compiled in it.

    Unfortunately tho, Borland changed its business focus and sold the whole thing (except the VCL) to CodeGear. The new VCL developed by CodeGear is meant to be compatible with the old Borland one, but it still has compatibility problems and, in general, is bigger. The last Borland-produced version of Delphi is the 2006 one and that's what I'm still using today for quick drag and drop GUI projects (when there's no need to spend more than 5 minutes drawing a GUI). And I know several people making tons of money selling and developing DB based programs with versions even older (Delphi was originally developed to provide an easy to use interface to DBs, that's why it is named after an "oracle").

  43. VB6: COBOL of a new generation by Anonymous Coward · · Score: 0

    This is amusing for anyone who has been a been in development for a long time: it's far more important that an application correctly implement useful business logic than the tools and languages used to express it. Hence, continuously operating COBOL initially written in the mid-80's still in use in many large businesses.

  44. An improvement on its successors by Animats · · Score: 2

    VB 6 is probably a better language for modest applications than Perl, TCL, or PHP. We're not making much forward progress here.

  45. GUI flexibility vs Web by Tablizer · · Score: 2

    Web apps are more fun than VB6? At least in VB6 you could make the screen do almost anything you imagine with a few clicks. With web apps you are stuck with the page flow of HTML-related "standards", or else use JavaScript that probably breaks on some browser version or vendor you haven't tested, and looks jittery and forced.

    The ability to make dialog boxes or help/wizard/lookup screens pop up anywhere for any reason is what made VB pleasurable: one's design GUI imagination can be satisfied without fuss and muss. The web is too restrictive.

    I've been pushing for a desktop-like GUI standard over HTTP, tossing HTML and starting over in order to get a real GUI flow and screens. A GUI browser.

    And coordinate-based positioning saves a hell of a lot of time and frustration. Auto-flow just doesn't control esthetics well: it's too dumb to know what "looks good" to humans. Auto-flow is an idea that looks good on paper, but is a time-sucker in practice.

    VB-classic just plain hit on something that cannot be denied. (Some if it copied from HyperCard.)

  46. Business opportunity by JDG1980 · · Score: 1

    It seems to me that there would be a good business opportunity for a company to make their own VB6 compiler and provide long-term support even after Microsoft drops it. Clearly the market doesn't want VB6 to go away, but one of the drawbacks of closed source is that one company can jerk people around like this.

    1. Re:Business opportunity by Xuranova · · Score: 1

      At least 24 years of support for a software product is considered jerking someone around? Do you live in a world where support is indefinite and milk doesn't go bad?

      --
      "There is no real right or wrong, just what the majority accepts at the time."
    2. Re:Business opportunity by _Shad0w_ · · Score: 1

      Microsoft bends over backwards to make sure software written for old versions of Windows continues to work. That's why the WinMain() entry point in the Win32 API still takes a HINSTANCE parameter called hPrevious that's always NULL - it's a vestige of the last 16-bit version of Windows.

      They even persist internal API functions when they're no longer needed: because external developers used them, even though they're undocumented internal functions. OK so in some cases they renamed them to things like "BOZOLIVESHERE", although under the circumstances I think that's entirely fair. (Also a vestige of 16-bit Windows, where all functions had to be exported).

      The only time they break things is when they miss something or when they absolutely have to, because continuing to try and support the old software is the worse alternative of continuing to support it or break it (16-bit software won't run on 64-bit Windows, for example - it will run on 32-bit Windows).

      --

      Yeah, I had a sig once; I got bored of it.

  47. Re:As crap as VB6 is, it is still better than HTML by Anonymous Coward · · Score: 0

    Amen! GUI programming in browsers is a royal pain the booty. Time to blow it up and start over.

  48. SDLC, dammit by PJ6 · · Score: 1

    Yes, I know I got the acronym wrong. Twice.

  49. Cockroaches spread by Sarusa · · Score: 1

    'enable very rapid development of limited programs by programmers of lesser experience.' '

    Which then turn into unkillable custom full fledged enterprise monstrosities.

  50. Performance by Anonymous Coward · · Score: 0

    Another thing I've not noticed here in the comments is performance. VB6 back in the day wasn't a speed demon execution speed wise when you look at how quickly the run-time ran. I remember seeing it first on a Pentium-90 with 24Mb RAM and NT4.0 back in the 90's. Now days on a VM with two cores fed to it (the second is purely for giggles), that same unchanged code is thumpnig through tens of gigabytes of data in the same time the Pentium90 Digital Prioris would wander through in a couple of hours. I would now consider it "lean" and it's allowed data requirements to really blow out. So, in summary:

    "Just works"
    "Still usable"
    "Screams"

    Personally, my background is C/C++, ASM and COBOL (VMS/Mainframe) .. but I have to give some regard and respect to applications created in the mid to late 90's on vb4-vb6 that you can still run today, and run WELL.

  51. Syntax != Power by Anonymous Coward · · Score: 0

    All those nerds thinking that syntax represents power.

    Any turing complete language will be able to do anything that any other turing complete language can.

    The rest is marketing jargon.

    You understand that the moment you write your first interpreter/compiler.

  52. I'll tell you why it works and persists by Beeftopia · · Score: 1

    Summary: VB6 / VBA plus Access requires no support from the system administrator.

    You have a sys admin who is solely interested in keeping his network up and running. You're in a department with little or no budget for development, but a need for database apps. System administrator has no interest in letting you touch his servers. And has no ability to develop apps. So you build a a VB / Access app, put the Access file on a shared network drive with other files, send the link to users, and voila, problem solved. An app which fills a real need.

    This is probably not an uncommon situation in non-IT-oriented organizations.

  53. Real Studio by Anonymous Coward · · Score: 0

    All you visual basic folks should at least try Real Studio. A nice compact environment that lets you cross compile to Mac, Windows and Linux. Not perfect, but productive and fun to work in

  54. This 'Visual BASIC' by Anonymous Coward · · Score: 0

    Is it like the BASIC I used in high school? I liked that language, especially with its PEEKs an POKEs. That's the problem with languages today, no POKE, no GOTO, no CLS these damn kids think it's all objects and # and ternary mumbo jumbo. BAH!!! Give me a Z80A and a case of Cheerwine and I'll show you how it's done. Now GET(OFF_MY_LAWN)!

  55. Same goes for Actionscript 2 by popo · · Score: 1

    There are many examples of this in the programming world. When AS3 was rolled out many coders thought it would change the web forever. It's an extremely viable, Java-like platform for web development. But it didn't fly. Most Flash developers stuck with the far more simplistic AS2 and ignored everything that came afterwards.

    --
    ------ The best brain training is now totally free : )
    1. Re:Same goes for Actionscript 2 by BitZtream · · Score: 1

      ActionScript is JavaSCRIPT, not Java. Entirely different beasts no matter the name. They have no relation to each other.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  56. Real Basic by Anonymous Coward · · Score: 0

    VB6 users don't know about Real Basic?

  57. Video Games by Anonymous Coward · · Score: 0

    All of my video games' first versions (now in Android) were done in VB6 with directX 7. 2d graphics (even some 3d) that take the screen and buffer for themselves. Seamless! Sure shoulda been done in C++, but I was teaching VB at the time and did it during class time. :-o

  58. Simple is as Simple does by Anonymous Coward · · Score: 0

    Just like Einstein said "Everything should be made as simple as possible, but not simpler." this goes equally well when choosing the language in which to implement a solution. Let's face it every language has many pros and cons, it ultimately comes down to the developer performing their craft at ever increasing experience levels. Continually honing their skills and perfecting their abilities to become the best at their craft that they are capable of becoming.