General discussion

  • Creator
    Topic
  • #2259254

    To Adopt or Not To Adopt .Net

    Locked

    by underground_in_tn ·

    If a company is doing fine with ASP and VB 6, and its IT development staff is very busy developing new apps and modifying old apps, are there any sound reasons for it to lose tremendous amounts of productive time having its staff learn .NET, or should it stay with what works?

    If your company has moved to .NET, did it experience a loss of productivity due to the steep learning curve? If so, was it worth it? Why or why not?

All Comments

  • Author
    Replies
    • #3231049

      Moving to C#.Net

      by tony hopkinson ·

      In reply to To Adopt or Not To Adopt .Net

      But from Delphi, simply because Delphi developers are getting rarer.
      Course that switch is nowhere near as steep a learning curve.

      You can phase it in, but it’s got to be done I’m afraid. May take a while to have an impact but not moving forward means you are losing ground to any competitor who bites the bullet now.

      Course you could rely on MS keeping the backwards compatibility going. After all they did it for VB6 !
      There’s a lot of VB6 work about but it’s a dying market, you don’t want to expire with it. If I was working for you and you told me I was going to be using VB6 for the foreseeable future, That would be about my notice period, because you’d be killing my career along with your business.

      • #3230913

        Competition via tools or core business?

        by underground_in_tn ·

        In reply to Moving to C#.Net

        Thanks for your response, Tony.

        Can you give me an idea of how my company (by the way, I’m a programmer, not the IT manager or company owner) loses ground to competitors by staying with VB6 and ASP? We use those tools to build our own web site and internal applications; we do not sell these apps or services to others, so I don’t see how which tools we use to support our core business affect how we compete in our actual business.

        Second, how have you determined that VB6 is a dying market? Sure, all the programming magazines (paper and online) and support sites don’t talk about ASP or VB6 anymore, but, like MS, they have monetary incentives, like partnerships with MS for pushing .NET. But what to most programmers actually use? Is the trend really moving to .NET, and if so, how fast is it moving?

        I’m just not convinced that adopting every new fad in programming that comes along is always a good idea. To me, a programming tool is just that: a tool, like a hammer. If I built houses, I can build them just as well as anyone using the same hammer I’ve used for the last 30 years, and I don’t have to lose valuable time learning how to use a completely redesigned hammer. The analogy isn’t perfect, but it should be good enough to make my point.

        To use real-world examples (although I really don’t what their IT departments use), how does Lowes Home Improvement company lose ground to Home Depot if it uses ASP to build its web site when Lowes builds it with ASP.NET (or PHP or JSP)?? How is its core business affected if its internal applications are built with VB6 rather than .NET?

        • #3230850

          Internally, hmmm

          by tony hopkinson ·

          In reply to Competition via tools or core business?

          So no competition.

          Well, in theory with ,net, it should work better with the newer OS’s provide more facilities, be more extensible da di da.

          Seeing as your browser is the front end you ‘customers’ doen’t have to deal with a serious dated looking UI.

          The company isn’t moving away from Delphi because .NET is better, it’s moving because that’s where the devlopers have gone.

          Good Delphi developers are in work, so you’ve got to open up the wallet to attract them, or wait for one to come on the market. That’s how they got me , took them 8 months.

          I’d just done two years of VB6 and I’ve been in the job nearly 20 years, you couldn’t have paid me enough when facing the prospect of a future with VB6.

          You know your people, are they happy to have their careers killed ?

          That would be my biggest concern

        • #3283660

          Yes, and a unique situation

          by underground_in_tn ·

          In reply to Internally, hmmm

          Thanks again for your reply, Tony.

          I’m not arguing your points, because they are valid for most companies. And valid for mine, where hiring new programmers is concerned.

          But just for the fun of playing devil’s advocate, and because my company really is in the unique position of having only two competitors (and they are both non-profits, while we’re for-profit, which affects how we compete), I’d like to present your points in light of my company’s position.

          Our legacy system is an IBM AS/400, so believe me, I don’t have a problem with my users seeing an antiquated UI for anything I write in VB6 or ASP. :^) Oh, and about half of our external web site users, the ones who do business with us rather than just people who just happened to surf in, use IE 5.2 on Macs and can’t upgrade for their own business-related reasons, so again, I’m not too concerned with UI problems that .NET can solve.

          Besides, I haven’t really noticed anything special in .NET that would help improve the UI of applications I write. Can you expand on that?

          Regarding OS support, last I heard, Vista will run 99.9+ % apps that run on XP, so I don’t have to worry about OS support for a while.

          We have 7 programmers here. Two do all the VB6 and ASP work, and neither want to give it up. A third person does VB6, VBA and RPG work, and the rest do RPG. None of us are worried about our careers from the VB6/ASP aspect (although the RPGers are very concerned with theirs… talk about approaching a dead end!).

          So anyway, all that to say that this makes my job of deciding this all the much harder. Thanks again for your input, Justin.

        • #3209336

          There are a lot of things that

          by tony hopkinson ·

          In reply to Yes, and a unique situation

          .net will do, whether you need them is another question entirely.
          Consuming webservices for instance. Threading. Ability to have a common ui for both GUI and web.
          Built in documenter from xml tags.
          conversion of data to soap.
          Cross environment integration (C++ , C# VB and even Delphi)

          If you don’t and your guys careers aren’t going to be damaged by being . net deficient, then all you have to do is trust that ms have not broken your apps and will not break your apps and or they won’t give you another enforced obsolescence to leverage their great friends intel a bit more business.

          I’m familiar with the mind set by the way, the place I was doing VB6 at to display MIS data had a mysql backend, that was populated by fortran 77 code running on vaxes.

          The thought of changing the 20 year inhouse code investment on the latter is enough to make anyone’s hair stand on end.

        • #3205544

          Heh, that legacy sounds like something I face

          by sjohnson175 ·

          In reply to There are a lot of things that

          One of the new roles I’m learning is supporting a COBOL app running on UNIX which originally went live in 1984.

          Its sole support for quite awhile has been the 62 year old crusty programmer who was on the original team. He has no backup so that’s why I was asked if I would be willing to learn (I have some COBOL and UNIX experience but it’s over a decade old).

          It’s a big revenue generator for my company though so it might turn out to be a good gig. Particularly if they ever decide to modernize it.

        • #3282522

          Don’t neglect more modern stuff

          by tony hopkinson ·

          In reply to Heh, that legacy sounds like something I face

          Otherwise you’ll be crusty 62, and wondering what they teach young whippersnappers these days.
          LOL

          Seriously the place I was referring to was waiting for the fortran 77 compiler to be finalised for the Itanium, so they could hopefully ‘painlessly’ port their entire code base.

          Should be able to put of the rewrite by another 10-15 years, I expect to get asked to go back on masses of money per hour at some point when they finally decide to bite the bullet.

        • #3199804

          Competition via ‘resources’….

          by bob briggs ·

          In reply to Competition via tools or core business?

          The real problem associated with the adoption of new technology is not always to do with the ability to compete NOW using it. It also has to do with your ability to compete in the FUTURE. 10 years from now, we may be having this debate over .Net technologies. 10 years from now, VB6 and ASP will be dinosaurs. How many people at your company will still be able to maintain and support VB6 and .Net? Will it still be supported on all your operating systems? Will tools and resources needed to implement support for the older technology still be available to license for new workstations?

          If you exist in a Microsoft world, and you intend to stay there, you must get used to the idea that change will be constant. Whether or not to adopt new MS technologies in place of their existing counterparts isn’t going to be the real question. The real question is WHEN you will decide to embrace the newness.

          In the case of .Net 2.0 and ASP.Net, it’s a good thing. ASP.Net will actually save you time in development. It is also architected to save you time in maintenance. So, any learning curve you suffer now will pay for itself. VB6 programmers will need to re-learn VB, as it has changed. C++ programmers will love you as C# is a better language. Java programmers will also ‘like’ you because C# is very close to Java and the transitional learning curve is not steep. Moving to .Net means that you won’t have to worry about development and maintenance resources for your company for the next 10 years or more.

        • #3199749

          Hammer vs. Pneumatic nailer

          by perry neal ·

          In reply to Competition via tools or core business?

          I agree with your position that .NET or VB6 is just a tool. But, following your analogy of building houses, you can crank ’em out a lot faster with a pneumatic nailer than your 30 year old hammer .

        • #3283674

          Touch? !

          by underground_in_tn ·

          In reply to Hammer vs. Pneumatic nailer

          LOL Okay, so maybe my hammer analogy wasn’t the best. But what about C++? It hasn’t changed enough to be a pain to learn for experienced C++ programmers (and don’t throw C# at me, it’s no more an evolution of C++ than VB.NET is an evolution of VB6). And yet I believe C++ is still widely used for new development, its programmers are still in demand.

          What makes VB6 so obsolete?

        • #3229165

          Why use .NET

          by paul ·

          In reply to Competition via tools or core business?

          what I feel the differences between VB6/ASP (in terms of Web Development) and .NET is major. If you had a company called Hardware A and the other Hardware B, both sells hardware. Now Hardware A has a site developed in ASP (Classic) and uses VB6 for the core business logic as where Hardware B uses Pure .NET. Both have the same size development team and experiance in their field. Lets say that both companies want to add a new set of functionality to allow their visitors to design their own kitchen. Firstly Hardware A developers would take longer to develop than the Hardware B developers has .NET is very rich in tools. From the maintance point of view, Hardware B developers would be able to implmenet features very quickly.

          So when by using .NET allowing Hardware B to deploy this functionality far quicker than Hardware A, resulting a competitive edge over Hardware A.

    • #3231012

      Move to .Net

      by jmgarvin ·

      In reply to To Adopt or Not To Adopt .Net

      The .Net environment is very robust and C# is pretty easy to pick up (although do expect some hassles at the outset)

      .Net is worth it for three reasons:
      A) VB6 is eol
      B) .Net is pretty portable especially with the Mono project
      C) .Net is easier to develop in if you are using multiple languges

      Good luck…

      • #3230910

        Yes, but …

        by underground_in_tn ·

        In reply to Move to .Net

        I don’t disagree that .NET is robust. I like a lot of what what I see of it (except the ADO model, which for small companies seems like killing a fly by hiring the whole Orkin staff when you could just reach for the fly swatter). I disagree that .NET is easy to pick up for everyone (it sure isn’t for me).

        Why do you say that VB6 is EOL? Sure, there’s no more development coming from MS on it, but it still serves its purpose in new development.

        And if portability and multiple languages isn’t an issue for my company, is the heavy loss in development time while learning it still worth it?

        • #3199830

          Just wondering/suggestion

          by christineeve ·

          In reply to Yes, but …

          I’m wondering why you think there would be such a heavy losses in development time?

          I would say if all your apps are in VB 6.0, it might not be a good idea to stand up and shout across the cube farm, “Attention, in five minutes we switch to VB .Net.” Obviously, that won’t work and would bring your shop to a screeching halt. No one is suggesting that.

          Why don’t think it’s possible to learn a little at time during the week or an hour or two on the weekend? I’m sure you’re overworked, all IT people are. It’s a matter of priorities.

          How about talking to your best staff and asking them if they’d like to be in a “focus group” and work on learning VB.Net (or VB 2005 Express) thirty minutes a week? After a month or six weeks you can ask your focus group what they think (even if you are the only memeber of the focus group :>).

          I’m not going to give you reasons to not learn it. It’s been out for a few years now, and learning something new really isn’t going to kill you. It might make you stronger. 😛

          Cheers!

        • #3199823

          Depends on his people

          by tony hopkinson ·

          In reply to Just wondering/suggestion

          The pain is in going from VB6 to any proper OO environment. VB was designed so amateurs could produce professional looking applications, it was wildly successful at that.

          Unfortunately if you learn and mature as a programmer with it, you will pick up some extremely bad habits. All those minor technicalities like having to intantiate an object before you reference it and such.

        • #3199731

          Don’t even get me started…

          by justin james ·

          In reply to Depends on his people

          The company I work for has a number of people writing code who learned in the VB world. Their code makes me quesy. Not just instantiating objects… more like not even declaring variables. I will not even touch variable naming, because it is not a VB related issue.

          The worst ones are those who learned VBA by recording macros, and then just modifying the macros, then copying/pasting the code everywhere. Nothing like seeing a workbook, then a worksheet activated and selected 5 times per iteration in a loop when it never needed to happen in the first place. I have sped the execution of code by 500% just by removing all of the redendant code.

          We have another guy here who likes to whip up these dinky ASP scripts. Too bad he does something like:

          SQLStatement = “SELECT * FROM DATABASE WHERE ITEM_NUMBER = ” & Page.Query.Item(“ItemNumber”)

          And then passes that variable onto ADO. That’s right, it is 2006 and he is still coding SQL injection exploits into his code. Why? Because ASP and VBScript make this the easiest way of writing code.

          .Net makes it so much easier to right more secure code, it is actually more work to write bad code in many *common* situations.

          J.Ja

        • #3199613

          I got lumbered with VB

          by tony hopkinson ·

          In reply to Don’t even get me started…

          One unit had an MIS GUI written by an extremely competent

          Mathematician.

          I’d never used the thing before, took one look at the source and threw it straight in the bin.

          Six months later, they asked me to rewite his commendable effort so it worked like mine.

          The things it lets you get away with are unbelievable.

          My favourite was watching a developer new to it scratch his head because his app wouldn’t close.

          He had a close query where he tested the state of an object to see if it was complete. This was a catch all type manouvre. Unfortunately he’d finalised and niled it on a normal run.
          So VB helpfully re-instantiated the object, which of course is not complete, so the app went round and round warning you it hadn’t finished.

          I LdMAO, not his fault, he for some strange reason thought calling a method on a nil reference should have raised an AV.

          I mean that would be bad for business, might put the people off or something.

        • #3205528

          Blame the language for bad practice?

          by sjohnson175 ·

          In reply to Don’t even get me started…

          So I’m completely justified in declaring Java crap since an app I recently encountered blows up if you fail to supply its load file with an upper case name?

          This app was written to run IN WINDOWS mind you where file names are case insensitive.

        • #3205516

          In that case, I would say so

          by justin james ·

          In reply to Blame the language for bad practice?

          If a language cannot abide by the file system naming conventions of the OS it is running on, I would definitely call it garbage. I have plenty of reasons for disliking Java, you just added another. 🙂

          But yes, a language’s style has a lot to do with poor programming practices. If declaring variables and properly casting are good habits to be in (and I beleive they are), then why bother having loosely type languages that dynamically instantiate objects? There is no point to it. Good coders turn on strict and explicit in those language, so its a wash anyways.

          If someone is coding without strict and explicit, then chances are they are not following safe practices in general.

          J.Ja

        • #3205510

          It wasn’t Java’s fault, JJ

          by sjohnson175 ·

          In reply to Blame the language for bad practice?

          Essentially the programmer was parsing the file name for its extension (something.TXT) to create another file named (something.ERR) but since I fed it something.txt it blew up.

          That’s bad programming since the simple solution would have been to upper case the file name when you got it from the OS.

          Furthermore the error in the log file was a cryptic “subscript out of range” but poor error handling is a different rant outside the scope of this thread.

          The basic point is that ANY language will let you wite fragile crap. But rather than focus on these things we get into holy wars over choice of language (yes, I’m guilty of it myself).

        • #3282515

          Have to agree

          by tony hopkinson ·

          In reply to Blame the language for bad practice?

          The three worse pieces of code I’ve ever seen were written in Delphi.
          The key difference is VB was sold as the programming languages for people who didn’t know how to program.

          All drag and drop IDEs tend towards this, ask me about Delphi’s tropical fish example sometime. Makes me foam at the mouth, that one.

          VB, Delphi, Java, Forth is not the skill, programming is. Unfortunately the latter is much harder to brand, much rarer and not as easily quantified for a bright and shiny badge.

        • #3205532

          Is that universally true?

          by sjohnson175 ·

          In reply to Depends on his people

          “Unfortunately if you learn and mature as a programmer with it, you will pick up some extremely bad habits. All those minor technicalities like having to intantiate an object before you reference it and such.”

          I’ve been working with VB since version 3 and I know you have to bring an object to life before you can use it.

          Maybe I picked that up since I have used ADO since its inception?

          I do know that when I try to sell the idea that I can take what object skills I have learned in VB6 and transition to .Net I’m met with sneers of derision.

          Yet every in every .Net course I’ve taken the object concepts presented make perfect sense to me. It seems my only learning curve would be learning the massive framework object model.

          Or maybe I’m just an overpaid hack who should have gotten over his intolerance for knuck-dragging, mouth breathers and been an auto mechanic instead.

        • #3282324

          Apparently not.

          by tony hopkinson ·

          In reply to Is that universally true?

          LOL
          I would hesitate to say all VB programmers have bad habits. After all we are up to three now, You, I and JJ, who do know that lifetime management of your instances is quite important.

          The thing is, if you’d have been a standard VB ‘hack’, you would have been doing things like
          Load MyForm, where MyForm is the class, stepping from that sort of twaddle to a real OO developer is problematic.

          I’ve been using Delphi since 96 and I still don’t ‘know’ the framework. What I have is a good idea of it’s basic layout, how various standard types of behavior were implemented and exposed. C#’s is similar in many respects.

          To be honest, I would have expected a VB devloper to have problems with delegation, boxing, polymorphism, abstraction etc. Mind you I’ve met a lot of ‘qualified developers’ who seemed to be at a dead loss, when confronted with that level of nuts and bolts programming.

          Drag and Drop, IDE’s might have initially been invented to enhance productivity, but their main effect was to dumb down the discipline. Harsh possibly, but ALMOST universally true.

        • #3282286

          I must admit that delegation still makes my head hurt.

          by sjohnson175 ·

          In reply to Apparently not.

          Event handling is a form thereof and makes sense but for some reason raw delegation just seems overkill for most issues I’ve faced in field.

          And I’m ashamed to admit I don’t understand why Load MyForm is twaddle. So long as you understand that the form is the object and mangage scope accordingly what’s the big deal?

          In my current gig I see some REALLY bad VB6 code. How about function called in a loop that opens its own DB connection and queries a reference table EVERY FREAKIN TIME the loop runs? I saw that this morning and about blew a gasket.

          If you use such as that to form your base as to a language’s worth then you can form a dim view of any language.

          It’s not a language problem so much as it’s a conceptual problem. And the industry doesn’t help since it recruits and fills jobs using the latest buzzwords rather than making sure the candidate has the base concepts down.

          I really wish I could find a language-independent book to refresh those concepts in my brain (I imagine I’ve developed a few bad habits over the past decade). Typically I find texts advocating this or that language rather than building good coding skills.

        • #3284769

          In coding readability is all

          by tony hopkinson ·

          In reply to Apparently not.

          All they had to do was force the default intance name to be different to the class name. I still wouldn’t have used it, but it would have been ten thousand times better.

          Any OO developer who’s led to believe that the instance and the class are the same thing, which is what the same name would indicate, is going to bang his head against a conceptual brick wall at some point.

          You appear to have taken it in your stride, when I first saw it, it was a WTF moment.

          As for delegation, it’s probably not going to be often you do use it.
          It’s one of those things that’s a godsend when you do need it, such as events, but if you went into clever dick mode and started chucking it in everywhere. You end up with a design that was far more complex than required, and so would cost more to maintain, extend and debug.

          I’ve seen code by clever dicks, ten level inheritance chains, public helper classes, a dependancy list that printed out would cause deforestation. Drives me barking mad, add untold extra time to development so you can potentially re-use code that it’s certain you will never use elsewhere. Not clever that, stupid in fact.

        • #3284743

          “Clever” coding

          by sjohnson175 ·

          In reply to Apparently not.

          You might appreciate this quote from Thomas Sowell I read yesterday: “Some people are so busy being clever that they don’t have time to be intelligent.”

          I immediately thought of some code designs I’ve encountered.

          I hadn’t thought about the name vs. instance thing. I can see how that would indeed bother a pure OO programmer.

          It’s probably one of those bad habits I have since my learning path started with COBOL taught by a hard assed punch card programmer from the 60’s. That was followed by VB3. The university called it OO programming but I know now it was merely event-driven.

          I figure it’s my RDBMS class that helped me “get” objects since it pounded all that normalization into my head.

        • #3284686

          Drag ‘n’ Drop

          by underground_in_tn ·

          In reply to Apparently not.

          “Drag and Drop, IDE’s might have initially been invented to enhance productivity, but their main effect was to dumb down the discipline.”

          But isn’t that where most of the productivity gains can be found in .NET?

        • #3284963

          You might want to learn about .Net a bit more…

          by justin james ·

          In reply to Apparently not.

          “”Drag and Drop, IDE’s might have initially been invented to enhance productivity, but their main effect was to dumb down the discipline.”

          But isn’t that where most of the productivity gains can be found in .NET?”

          No, that’s the productivity gains of *Visual Studio*. .Net is NOT Visual Studio. Visual Studio is a great IDE, and truly dumbs down programming. The .Net Framework is something else completely. Here are some ways in which moving to .Net makes you more productive:

          * It is a huge set of libraries encompasing nearly every Windows API in a standardized, understandable way, letting you quickly access functionality that used to be a ton of hard work to use.

          * It compiles any .Net language down to a standard language (the .Net CLR), which means that a function or object coded in one .Net language can be used in another .Net language with zero translation needed. All .Net languages map their types and objects to the .Net CLR, which means that even a goofball language like F# can be used to write a particular function for use in another app.

          * Visual Studio is a great IDE. Yes, it has “dumbed down drag ‘n drop” programming in it, and with IntelliSense, you basically can guess your way through a project. It also has an excellent debugger, brings together data (even from non-Microsoft sources, such as MySQL) extremely well, has a built in profiler, test units, and manages projects much better than Visual Studi 2003 did, let alone that piece of junk Visual InterDev.

          * The .Net versions of languages make much more sense than their previous versions. I would rather code in VB.Net than VB6, because VB.Net was rewritten from the ground up, instead of slowly accumlating new concepts and structures on top of a poorly designed language to begin with. C# is pretty good too, although I rarely write code in it.

          I could go on and on. But to conflate drag ‘n drop programming with .Net itself is a fallacy that requires correction. Some .Net anguages, such as F# and the Perl PDK from ActiveState do not have any drag ‘n drop support at all, since they do not support the “Visual” aspect of “Visual Studio” (indeed, Perl PDK does not even support Visual Studio).

          At this point, I’ll tell you this: stop asking everyone around you to tell you what to do, and just make a decision. You asked people for their advice, then you argued against their advice. You obviously want someone to validate a preconceived notion of yours, and you are not happy that no one is backing hat idea.

          J.Ja

        • #3284941

          Eh ?

          by tony hopkinson ·

          In reply to Apparently not.

          .net is a framework within oo.

          You get productivity improvements, from OO (if it meets your need), from .NET (if what you want is in the framework (fairly likely) and from D&D, debugging, form layout et al.

          We were discussing quality issues, as you should know quality reduces productivity, in the short term, anyway which is why the damn bean counters never give us the money to do it.

          With VB, you’ve already got D & D, so .NET isn’t going to give you a boost simply because you can do it in a D & D IDE is it?

          Doing everything in one environment, with one framework is going to though, isn’t it.

        • #3284901

          Misinterpreted by JJ

          by underground_in_tn ·

          In reply to Apparently not.

          JJ, you are misinterpreting my style of questioning. I have not argued with anyone’s answers, but have played devil’s advocate and skeptic to try and get you all to defend your answers.

          I am not going to take your advice just because you and everyone else here tells me I should. “It makes you more productive.” Yeah? How? I need something more concrete than that.

          While I’ve gotten a lot of good answers and dialogue from everyone here, until your last post I hadn’t seen enough details about how .NET has improved your productivity. You finally gave me something I can work with.

          And by the way, while I have a large influence over the decision, it’s ultimately not my decision to make. I’m just a developer. My purpose was to gather arguments pro and con for moving to .NET for my boss. I need him to buy into this move so he won’t complain about productivity slowing to a crawl while we learn .NET, as he has done in the past when I was programming my first application in .NET and then had me go back to VB6. Admittedly, it was too large a project to be a beginning .NET project, but you live and learn.

        • #3283589

          Sorry for being surly/Happy to help on the productivity note

          by justin james ·

          In reply to Apparently not.

          I have to apologize for my attitude in that previous post, no excuse for me to be surly to you.

          But I do appreciate the position you are in. It is unfortunate, but the people actually doing the work often have little control on how to do the work, as you’ve mentioned!

          I would suggest using .Net on a small project, or maybe a “pleasure project” on your own free time (great way to learn it!), to build a case study customized for your environment. What boosts productivity for me might not be important to you, and a feature or facet of .Net that I do not use may be a deal maker (or deal breaker!) for you.

          J.Ja

        • #3283655

          Learning .NET may not kill me, but …

          by underground_in_tn ·

          In reply to Just wondering/suggestion

          … I might die of old age before I manage it. :^)

          Why do I think there’ll be a heavy loss in development time? Because I have experienced that loss first-hand trying to write new apps in .NET.

          For just one example: last week I took what should have been a real simple page to create in ASP.NET, a simple wizard. But a complication in how ASP.NET handles things threw me off and caused a delay of 4 days trying to figure out why it didn’t work the way I thought it should, and then finding a fix (I still haven’t found it), where this same project would have been finished in two days had I stuck with ASP.

          Thanks for your suggestions, though. We’ll probably tackle it using something like what you suggest.

    • #3230792

      Migration Strategy…

      by jgarcia102066 ·

      In reply to To Adopt or Not To Adopt .Net

      I think you could benefit greatly from a move to the .NET environment, but like with anything in IT or programming the answer is it depends on your environment.

      A few benefits for internally developed applications:
      1. My development team’s productivity has increased dramatically with the move to .NET. I would expect that this could happen for you as well.
      2. In Visual Studio 2005, the stability and ease of use of the source control engine is reason enough to move (especially if you are using SourceSafe in VB6).
      3. Collaboration is much better with team foundation server environment.
      4. True object oriented programming.

      Drawbacks of moving to .NET:
      1. Learning curve, especially if developers are not experienced in object oriented development.
      2. Must maintain two development environments until all applications are migrated (if they ever are).
      3. Big overhead, especially since the .NET framework must be loaded on the client machines (for client based applications) in order for the applications to run.

      Personally, I think moving to .NET would be a great move for you. I also think that you would need to implement a sound migration plan. We still have some applications that we maintain in VB6 because it hasn’t made any sense to migrate since the changes have been minor tweaks. Our migration plan is as follows:

      1. For an existing application in VB6, leave it in VB6 for small fixes/changes.

      2. Move an application from VB6 to .NET if the fixes/changes are significant enough that migrating versus fixing will not impact the overall schedule substantially.

      3. All new development is done in the .NET environment.

      Hope this helps.

    • #3230742

      If you really need to ask that question…

      by justin james ·

      In reply to To Adopt or Not To Adopt .Net

      … then you are in deep trouble.

      VB6 is total garbage. I toyed with VB 3, 4, 6, ABScript under ASP, VBA, and VB.Net (Framework 1, 1,1, and 2.0). I can tell you this: out of that list, the only VB’s worth my time are the .Net ones.

      The problems and security risks with ASP alone pretty much mandate it, IMHO. ASP is just about the wrong way to handle any Web development project, always was. I avoided it until ASP.Net for that reason.

      I *never* considered VB6 a serious platform nor ASP. Indeed, I was almost 100% exclusively a *Nix developer for about 5 years. My path went Windows desktop apps, *Nix Web apps (Perl, Java/JSP, PHP), then .Net for desktop AND Web dev.

      I am not a big fan of VB as a language, but I am a big fan of the .Net Framework, especially now that a ton of less mainstream languages are coming out of the woodworks.

      Do yourself and your company a major favor, and run away from VB6 as fast as you can.

      As one poster alreayd mentioned, Visual Studio 2005 ALONE is worth the price of admission.

      J.Ja

      • #3199820

        No more mincing words JJ

        by tony hopkinson ·

        In reply to If you really need to ask that question…

        I tried to be tactful about that aspect of the situation.
        LOL

        Couldn’t agree more, used ’em both, both bloody ‘orrible.

      • #3283941

        VB6 is a great language & devlpmt tool

        by henrystinson ·

        In reply to If you really need to ask that question…

        First of all, Mr James is talking about two different things: ASP vs ASP.Net for web apps and VB6 vs VB.Net for all other apps. I disagree with what Mr James said about VB6; he doesn’t have experience with VB6 and so is not qualified to make the comments he made about it. For non-web apps, VB6 is still a viable, stable, powerful tool (although a person must use good coding conventions to write robust, fast code, but that is pretty much true of all languages). I agree that for web apps, ASP.NET is way preferable over ASP. I do agree that programmers and companies should move to VB.Net as soon as possible but for new application development. I don’t think it makes any sense to migrate VB6 apps to .NET. If any VB6 apps are written poorly, it would make sense to rewrite them in VB.net using good coding conventions and code reviews, but NOT to use the conversion tool. I’ve been working with VB since version 2.0 (before database connectivity was added). I’m currently working with VB6 in mission critical financial and project scheduling and tracking systems, and it’s just fine. I am trying to make the move to VB.net, but having to spend most of my time studying java (including J2EE) to support some java apps coming my way. One interesting thing is that studying all this java is making it easier to understand a lot of the new OO features in VB.net.
        I do agree that there are a lot of what I call “cowboy programmers” in VB, because VB was so easy to learn. Many people got into it without every learning good coding rules and techniques. And Microsoft, in its arrogance, refused to remove Option Explicit as an option — explicit declaration of all variables with explicit declaration of variable (and parameter) data types should be a mandatory requirement built into the language and the VB IDE. It’s unbelievable how many really bad VB programmers I’ve had to work with because they got so much time and projects on their resumes without ever producing any real quality code or using good coding conventions. So Mr James has a valid point about there being a lot of bad VB programmers and code out there because it was so easy to learn.

        • #3283868

          Don’t know about JJ, but I have experience with it

          by tony hopkinson ·

          In reply to VB6 is a great language & devlpmt tool

          and its awful.
          My opinion was formed after using it solidy for two years.

          Admittedly I have a bias for pascal and other strongly typed structured languages, but there’s a reason for that. Complex coding relies on scope and life time management, if your environment chooses not to enforce these in order to make things easier all you end up unless you already have good habits is bloated inefficient cheap crap.

          Comparing VB6 to a good environment, say C# or Delphi is like comparing a flatpack book case to handcrafted welsh dresser.

        • #3283748

          Agreed

          by justin james ·

          In reply to Don’t know about JJ, but I have experience with it

          Most of my VB6 experience has been maintaining/salvaging other people’s code. There is just something about pre-.Net VB that leads to absolute garbage code. It may be the loose typing, or not requiring varibales to be declared & scoped.

          On the other hand, Perl is the same way, and except for frequently confusing use of the implicit variables (which, admitedly, makes for very clever code), it does not seem to have these problems. Maybe that is because Perl has a higher barrier to entry overall, most people cannot just pick it up and run with it without prior coding experience.

          Like you, I am a fan of Pascal. I was big into for a lot longer than I should have been (loved Delphi 1.0!). As a result, even in a loosely typed, no declarations needed language (VB.Net, Perl, VBA, JavaScript, etc.) I automatically decalre & type my variables. and for the sake of insistance, I turn on strict & explicit.

          Is it a pain in the butt? Every now and then it is slightly annoying to have to remember to cast something. But at the end of the day, the code I write does not have run time errors unless something outside of my control went truly wrong and tossed an exception that I didn’t properly try…catch, which is a totally separate topic.

          As you mentioned, properly types/declared code also runs much faster, as the runtime spends a lot less energy reflecting and emitting and doing all of that dynamic stuff.

          This makes a great blog subject, I will get on this ASAP.

          Thanks Tony!

          J.Ja

        • #3283718

          I will be more than happy to add a comment

          by tony hopkinson ·

          In reply to Agreed

          in my opinion loose typing leads to loose thinking. Run time errors, particularly in an event model are the bane of a coders existence.

          They can make you look like a complete pratt, both as a developer and a tester. Any help you can get in preventing/avoiding the situations where they can occur is a boon to quality.

          Hiding them at compile time is at best counter productive, personally I consider it absolute stupidity.

          In my personal opinion a lots of windows problems are down to the less strict enforcement in C and C++.

          Good code is good habits.

          When I say good I don’t mean elegant, optimised to the n’th degree, I mean robust, readable and understandable, that’s all 99% of business code needs and in my experience, three things that most business code is not.

        • #3283640

          Garbage Code

          by underground_in_tn ·

          In reply to Agreed

          Okay, so .NET will help programmers with bad techniques improve. At the risk of sounding smug, we don’t have that problem here. We are all formally trained programmers, and have a programming standard that mandates declared variables (option explicit is always on), strongly typed objects, hungarian notation, etc.

          So, I agree with your points, but they don’t really apply to our situation.

        • #3209333

          What about

          by tony hopkinson ·

          In reply to Garbage Code

          Dim MyInstance as New MyClass

          vs

          DIM MyInstance as MyClass

          set MyInstance = New MyClass

          MyInstance….

          set MyInstance = Nothing

          ?

        • #3209329

          What about it?

          by underground_in_tn ·

          In reply to What about

          Sure, it’s more code to write, and its certainly easier to trust MS to handle garbage collection. Was that your point? Doesn’t seem enough to justify its adoption.

        • #3209318

          Well I did the latter religiously

          by tony hopkinson ·

          In reply to What about

          Because I didn’t and don’t trust VB to garbage collect. I don’t write code on the assumption that compiler will make sure it compiles even to the point of effectively changing what it does.

          Most of the other idiosyncracies in VB6 I could live with in most situations , but life time management and over use of variants made my teeth itch.

          .Net has a similar difficulty and they had to go through all sorts of contortions from delegating clear up, to intercepting auto garbage collection etc.

          Auto garbage collection is something I have a fundmanental objection to. There’s no way it can ‘guess’ what I wanted to do, it can get unbelievably complex (hence VB6 oops I’ll just intantiate it again) and essentially it was invented because lazy arsed developers, particularly those working for MS have got really bad habits.

        • #3205500

          The latter is how I learned objects in VB6.

          by sjohnson175 ·

          In reply to What about

          From a MSDN writeup no less.

        • #3282514

          I picked it up from an MS book

          by tony hopkinson ·

          In reply to What about

          Being an OO guy, I was looking for constructors and destructors. Strange how people who just fall into VB from an other discipline do not.

          The name garbage collector was never a co-incidence in my opinion.
          LOL

        • #3205522

          Option Explicit should have been on by default

          by sjohnson175 ·

          In reply to VB6 is a great language & devlpmt tool

          Its use eliminates many of the problems bashers like JJ complain about.

      • #3283677

        *Nix Superiority Syndrome? :^)

        by underground_in_tn ·

        In reply to If you really need to ask that question…

        So, tell me what you really think, Justin. lol

        Having programmed with various flavors of Basic from GW-BASIC, QuickBASIC, PowerBASIC, VB5 and 6 and a little VB.NET (yes, folks, I already have written a Windows Service, an ETL for our data warehouse, a few small utilities like an AS/400 table displayer in VB.NET), as well as C++, Turbo C++, assembler and Fortran. I would not agree that VB6 is total garbage. In fact, I think it’s a helluva programming tool, especially in the hands of a formally trained programmer as opposed to a “script kiddy.”

        I understand your bias comes from your *Nix experience, but while that makes me tend to discount your opinion of VB6, it does say a lot in favor of .NET.

        • #3209324

          Pascal Superiority Syndrome in my case

          by tony hopkinson ·

          In reply to *Nix Superiority Syndrome? :^)

          My list of devlopment tools includes a lot of them with one important addition, which JJ has in common.

          After you’ve learnt Delphi, VB in comparison is total garbage.

        • #3209308

          Prefer Windows development, actually

          by justin james ·

          In reply to *Nix Superiority Syndrome? :^)

          The only reason why I was developing Web apps on *Nix for so long, is that until IIS6 and ASP.Net, IIS, ASP, and the VB Universe had no business on a Web server for security and performance reasons. Pre-.Net, you were stuck with VBScript, which is crippled, or writing COM components. Yuck.

          .Net completely, utterly changed all of that. I am a big beleiver in .Net. In fact, my biggest problem with it is stil VB… I think as a language, VB is incredibly inefficient to write code. Once you have written some Perl, your attitude on “elegance” will change dramatically. I am not going to make this a “which language is better” conversation between Perl and VB, but I will say this:

          VB6, VBScript, and ASP have abolutely no business on a Web server. The .Net Framework, and ASP.Net are the best tools I have used for Web development. That does not mean that they are perfect. But they are definitely the best ones out there, but a mile. The only thing I need now is a proper Perl.Net, and I am happy.

          I always preferred to write Windows desktop applications over anything else. In fact, I really do not enjoy Web dev much at all, regardless of language. It is not like I have a *Nix superiority complex, just that the VB & ASP worlds were too insecure and too slow for use on a Web server.

          It is that simple.

          J.Ja

    • #3199837

      If you sell shrnk wrapped/retail products think about it…

      by jbrtech ·

      In reply to To Adopt or Not To Adopt .Net

      I have run into this myself spending more on obfuscation tools and linkers for .NET than I spent on the entire VS 2003-2005 tools. And honestly the reliability/speed/response time is nowhere near that of native unmanaged Visual C++ response time. It is just too easy for someone with a reflection tool to decompile your code/Intellectual property into MSIL which is not like X86 assembler it is almost a 1:1 representation of your initial vb.net/c# code. You will have to buy a linker that combines the .NET framework into the executable with obfuscation to really make it somewhat difficult to reverse engineer but then you executable goes from 1mb to 18mb. You also run into serialization and reflection issues using obfuscation which causes runtime errors in the field unless you truly check all of the runtime components you may be using in your code.
      For a internal business application that are not going to be distributed outside the company I would recommend going without an issue if you do not have critical business algorithms that needs to hidden from the public if someone gets access to your application unintentionally.

      This is coming from a developer who sells a .NET 2.0 application to the public so this is not theory or hype but based on real experience.

      • #3199752

        Code is for internal use

        by dkroger9 ·

        In reply to If you sell shrnk wrapped/retail products think about it…

        Since all of their code is for internal use, obfuscation should not be an issue.

        The benefits of moving to .NET far outway the cost of the time required to learn it. In the long run your developers will be forced to improve their skills and will write better code as a result.

    • #3199834

      Not so hard to learn/Kinda fun!

      by christineeve ·

      In reply to To Adopt or Not To Adopt .Net

      Hi,
      I realize that VB.Net and VB 2005 are a bit different, but I made the easy switch from VB 6.0 to VB Express (I’m backtracking and studying VB .Net right now).

      I believe until November 2006, VB Express is free to D/L. In addition, they have the “beginner videos” and expert web casts to learn from that, if I correctly remember, are only around 20 minutes long (web casts are longer).

      For an expert programmer (or even an Intermediate such as myself), it should only take a few minutes a week to pick up speed on the new technology. You can do it at your own pace.

      You could try it before anyone else in your shop and see what you think.

      Here are some reasons that I can think of:

      1. Anytime you learn something new in programming, you reinforce your old skills. Most loops, if..then..else…, are similar so you have a familiar place to start from.
      2. Technology is always changing. It is in your own best interest to keep up to date. Why? You might get a new boss, hate your job, and want to leave; your company might be bought-out or close for some unpredicted reason; you might have some other personal reason that might crop up that motivates you to leave. Having updated skills will make you more marketable.
      3. Never mind the intrinsic justification for learning something new. Learning keeps us healthier and happier.

      My suggestion to you is just try it. Since you can try VB 2005 Express free, it is worth it to spend a few minutes on it and see what you think.

      I am enjoying learning an old reliable tool in an entirely new way.

      I am not sure this is appropriate, but http://www.ed2go.com has programming classes with schools as little as 55 dollars for continuing education credit. You get professional programmers tutoring you for about six weeks in VB.Net, VB 2005, and C #. You have to search for schools in your area and you take the classes online. The lessons/assignments/tests are easy and take about 2 hours a week total. It?s been working for me!

      Good luck!

      • #3209330

        Very Appropriate

        by underground_in_tn ·

        In reply to Not so hard to learn/Kinda fun!

        Thanks for the online school reference. I’ll check it out.

        By the way, I have tried it. We’ve had a professional MSDN subscription since 2002, so I have tried (and written a few apps) in .NET 2003 and VB 2005. It was my frustration over learning it that prompted my initial post.

        I’ve also taken an ASP.NET class, one of MS’s own. It was a good intro, but there was very little I could actually use, a lot of things with good wow-factor, but nothing you’re likely to use in the real world, and nothing about real-world problems like setting up remote debugging.

    • #3199833

      there are both pros and cons to it.

      by jaqui ·

      In reply to To Adopt or Not To Adopt .Net

      the pros:
      MS will promote it, and push for it’s widspread adoption and use.

      the cons:

      with MS having 100% control over it, they can change it at a whim so that you have to completely re-learn it, making the time to learn it wasted.

      I personally will not adopt any technology that is not controlled by a consortium of interests, since the consortium has to satisfy a more diverse group than a single board of directors, making sweeping alterations much harder to be implemented and time spent learning better spent.

    • #3199832

      There ares still issues

      by richard_p ·

      In reply to To Adopt or Not To Adopt .Net

      I’ve built both small and big projects using .Net and moved from 1.1 to 2.0 as it came out.

      For small projects I can’t fault .Net 2.0; it has everything you could want and more both for web and desktop application development.

      Unfortunately I’ve found there is a limit that arises in large projects where you would use library code, or there are mutliple objects dependent on a single assembly. The handling of object heirarchy, of code dependencies and of shared source is truly abominable, and has cost the main project I’m working on many hundreds of man-hours over the past year. I’m praying that the service pack announced for Q3 2006 (yes, a whole 7 days left, ha!) will address these problems, but until they do, if you have a stable methodology DON’T JUMP.

    • #3199829

      No Pain, No Gain

      by ibloke ·

      In reply to To Adopt or Not To Adopt .Net

      I made the decision 2 years ago to stop using VB6 for our dev and move to .Net. At the same time we moved from VB to C#. Other than some hair-pulling moments when first getting to grips with 1.1 I have never looked back.

      We’ve seen many benefits:
      – the .Net framework is fantastic and generally removes the need for those annoying declarations and hooks into the OS – FileSystemWatcher is a perfect example
      – We have been forced to think about business problems more logically and have been able to implement design patterns in a way that we couldn’t with VB6
      – We have been able to make use of so much OSS code and tools such as NDoc and NUnit

      The key benefit is we have improved the quality and maintainability of the software we ship.

      With .Net 2.0 you have never had a better time to make the move. Great features such as generics and a great IDE.

      Yes we still use VB6 but only for small bug fixes and enhancements. All our legacy work will move to .Net and we use the COM Interop to help the transition.

      One of the best decisions we have made in the development area.

    • #3199809

      The right tools for the job

      by mike page ·

      In reply to To Adopt or Not To Adopt .Net

      I think it is important to pick the right tool for the job. Although I do not use .Net I realize it have advantages in writing applications with objects distibuted across a network. Writing that type of application using a language that wasn’t designed with that type of paradigm in mind is not impossible, but it is much more difficult and time consuming. On the other hand, if the app must be fast and is not distributed you are much better off with C/C++, Delphi, or VB.

    • #3199793

      Business Prospective

      by bmyersbook ·

      In reply to To Adopt or Not To Adopt .Net

      I spent several years developing VB6 and ASP applications and then moved to .NET 1.0 as soon as it was available. First it’s a huge jump when dealing with ADO. In my opinion you are actually better off if you have no VB experience. The ADO model is completely different, that took some time to get use to. I have seen that my productivity has greatly increased with .NET. The main reason is I no longer have to hand code ASP page. Previously all of my code and HTML for a feature was in one page. That is gone now. The seperation between the UI and code is a great productivity advantage. Also being able to drag and drop controls onto an ASP.NET web page and not need to write the HTML to me is great. Those are big time savers. Also the much easier integration between web UI and business logic. In the VB6/ASP space you need to build you business logic into VB6 dll files that are controlled by COM and then tie your ASP to that. In .NET it’s all one environment, makes easier debugging and architecting.

      As for what to do. This is a very difficult decision. My company is faced with the same decision. We have hundreds of small programs (we are a manufacturing facility) that run are manufacturing processes and collect test data. These all started out as VB4 and moved along to 5 and then 6 (all before my time). Our issue is that we would need to put the .NET framework on computers that may not support it and we would need to install it and maintain it on many computers. One initial issue that has been resolved with .NET 2.0 is the installation of windows based applications on many clients. .NET 2.0 includes ClickOnce technology that allows a client to install applications from an intranet site very easily and they can be automatically updated. This works great by the way. So our issue is we have so many programs and I am the only one that knows .NET. There is one other developer and our manager (who also develops and did most of the previous development). Do we take time away from just keeping up with what we need to do to make money or do we take the time to learn new technologies? I have been here for 2 years and pushing for us to move some applications to .NET and nothing has happened. The business must continue to run and we can’t afford to pull developers away from business critical applications to train. It’s unfortunite.

      The main reason that we have not moved to .NET is there really is not a technological reason to. Our applications work just fine and have been for years, why mess with them. From a personal perspective I would want to move to .NET (if I was not already there) so I could learn and keep up with the industry and my career. But from a business prospective, Microsoft is going to continue to support VB6 and the equipment that we use do not require, and in many cases allow new Operating Systems on the computers that run our application so VB6 just makes better business sense.

      BTW, I have written two books for Apress and several articles for ASPToday including an article about clickonce technology. If you would like links to those or more input from me about my situation just send me an email at bmyersbook@hotmail.com.

      • #3199599

        MS discontinued support of VB6 in 2005.

        by tony hopkinson ·

        In reply to Business Prospective

        Vista, if you want the new doo dads discontunues support of a lot of existing hardware.

        If standing still means you lose ground, what effect does sprinting backwards have, one wonders.

    • #3199787

      Supply and Demand

      by hoyasaxa93 ·

      In reply to To Adopt or Not To Adopt .Net

      No customer (read “end user” or “guys that pay the bills”) is clamoring for .NET. It is developers and “solution providers” that are building on .NET so they can stay ahead of the Microsoft technology curve lest the become obsolete. They, in turn, deploy these solutions telling their customer they MUST upgrade their OS and Hardware. Who really benefits from this?

      The development community, software vendors and programmers alike, keep changing the platform (Google “Software is too hard” Rockford Lothka)rather than creating real business value. It was COM, COM+, Windows DNA, .NET 1.0, .NET 1.1, .NET 2.0, .NET 3.0… You spend so much time retooling that you really have little time to solve a business problem.

      Furthermore, .NET is geared toward RAD not maintenance. I have watched beginner .NET developers throw together a huge application in a relatively short amount of time using basically a page per screen. I have also watched the same developers pull their hair out of their scalp trying to implement changes across hundreds of pages. Book authors and publishers perpetuate this problem because these are the examples they deliver.

      …And yes, if your site is simple, Page Controller design pattern will suffice. However, a simple site often turns into a big site very quickly. Refactoring to another design pattern after the investment in Page Controller is near impossible… It is a complete re-write. Furthermore, small sites will not keep Microsoft, its partners, and the rest of the .NET community afloat.

      The lack of standard enterprise application frameworks (ala Struts, etc.) coming out of Microsoft means we are to write our own. Which is achievable but hard to sell a “non-standard” framework. You can adopt frameworks like Maverick.NET (or other Front Controller, MVC, MVP framework) but you still run into the same problem… “If it did not come from Microsoft directly, it can’t be good.”

      If .NET is to be willingly accepted by paying customers and not forced onto them, via bundling with the OS… or required by Office 20XX… or required by a solution provider or software vendor, Microsoft in particular needs to set an example and offer not just tools but also certify other frameworks, like Maverick.NET, so that they have more creedence even though they weren’t invented by MS. In addition, the .NET community needs to pick its head up and look to other more mature platforms and see what succeeded and what failed so they do not repeat the same mistakes.

      • #3199718

        If it did not come from Microsoft Directly…

        by emjayess ·

        In reply to Supply and Demand

        it *might* be good; I’d say.

    • #3199778

      The decision may not actually be yours.

      by daveo2000 ·

      In reply to To Adopt or Not To Adopt .Net

      Way back in the old days (25 or so years ago) there was the ethic “If it ain’t broke, don’t fix it!”. This was especially true in the computer realm. That is why Y2K was such a scary concept: there was a whole lot of COBOL systems out there that nobody had the source code for and they just kept working and working.

      What this points out is that, depending on the threats that your system is open to, you may not have a choice in whether to upgrade or not.

      PROPRIETARY TECHNOLOGY
      If you have a system that is not connected to the Internet you will have less need to upgrade. Furthermore, if you own older manufacturing hardware where the only environment it understands is an older version of Windows and VB 6 then you don’t even have the option of upgrading without spending lots of money on every already working system that you have. Ask yourself: [b]What will the upgrade get me?[/b]

      EMPLOYEE POOL
      If you have a small or family owned shop with nearly no turnover then everyone will “speak the same language” and you won’t have much incentive to upgrade. If you think you might need to hire new programmers and want a lower cost pool of applicants then you may have to upgrade (since there will be fewer well versed VB6 folks available as time goes on). In general, new techies learn the new technologies first. Ask yourself: [b]Am I at risk of not finding qualified staff?[/b]

      PLANNED OBSOLESCENCE
      FORTRAN, COBOL and ‘C’ lasted for decades with little change. Dartmouth BASIC held its own for a while but has now been pushed so far beyond the “Beginner’s All-purpose Symbolic Instruction Code” that it started life as with the never ending flavors of Visual BASIC. Companies have figured out that you can only sell a specific version of software to a single client one time. However, and fortunately for them, they have also figured out that the consumers seem to have no limit of how many upgrades they are willing to buy. Therefore, don’t put all of the good features in this release, just some of them. Save the other good stuff for the next release so you can, essentially, sell the same product many times over. Ask yourself: [b]Do I need these new features yet?[/b]

      Most of the folks I know that get certified in Microsoft’s “latest and greatest” have found that those certifications cost a lot of time and money and often have a shelf life of a couple of years.

      Also, remember that the .Net environment was developed for a networking world and massive Internet/internet/intranet operation. You may not need any of those things. After all, I have seen old Windows 3.1 FoxPro apps that work better than anything their users can find on the shelves today. Why should they switch if it does everything they need?

      Chances are, you will need to replace something in your development environment some day. You will, at some point, need to stop using the “trusted friends” that you are using today and adopt the newer technologies. It is entirely possible, however, that you won’t need to switch before .Net is replaced by the next be-all-end-all technology.

      So many people have completely forgotten that these are supposed to be “Enabling Technologies” to help us get the REAL job done and not status symbols to pretty up our resumes.

    • #3199721

      Personally speaking… move

      by wskanaan ·

      In reply to To Adopt or Not To Adopt .Net

      I started off with PHP and was a strong voice for it… and I still am… but I have recently moved to .NET… only when I tried 2.0… mainly because it is a lot easier to work with than the previous versions…

      In addition… I have used VB6 for quite some time… and have found that learning the new .NET technology is quite easy if you know VB6 and the use of classes…

    • #3199669

      Have you asked Microsoft?

      by jaicle ·

      In reply to To Adopt or Not To Adopt .Net

      Nowadays I am completely out of the loop, but my experience about 10 years ago with Microsoft is that when the OS changes, they tend not to worry much about compatibility of the older development tools. What happened then was that most of the VB code worked but a small subset of instructions (I think it was file handling) had a somewhat different behaviour.

      I don’t know what is going to happen with Windows Vista and VB6. I sugest that you search Microsoft’s site for any information on that subject.

    • #3199634

      Languages Evolve

      by schellwork ·

      In reply to To Adopt or Not To Adopt .Net

      Clinging to VB6 because the learning curve of .NET scares you, and because “I can still write the apps I need to write in VB6” is the wrong way to think.

      Such thinking leads to writing everything in binary because when you get down to it that’s what all programming languages are reduced to.

      Sure it can be done, but newer languages have evolved to give programmers more power not less.
      Couple that with the fact that there is very little demand in the marketplace for binary programmers and you should have your answer.

      • #3283895

        Has C++ Evolved As Much?

        by underground_in_tn ·

        In reply to Languages Evolve

        First, VB6 did not evolve into VB.NET. MS took C# , gave it VB-like syntax and assigned it the VB name to make VB programmers feel better about adopting it.

        Second, as a counter argument, how much has C++ evolved in the last 15 years? If you took a time machine, went back 15 years ago, grabbed a C++ programmer and brought him to 2006 and gave him an assignment using today’s C++ tools, would there be much of a learning curve? Maybe, but nothing like that of the move from VB6 to .NET. And I still see plenty of jobs of C++ programmers.

        • #3209161

          Yes, (Visual) C++ has changed that much

          by rogerinpa ·

          In reply to Has C++ Evolved As Much?

          First of all, you can’t really make a direct comparison between C++ and VB, but for the sake of this argument we can make some assumptions. Since the question is really about how much each language (or development tool) has changed, lets pretend that the only C++ distribution in the world is Visual C++. From that viewpoint there is no questions that C++ has changed every bit as much. Just take a close look at the differences between Visual C++ 6.0 and Visual C++.NET and you’ll see that the programmer has a staggering amount of new material to learn. She must learn how to work with managed code and unmanaged code (there is a lot more to it than simply adding the __g prefix, MS has introduced extensive vendor specific extensions)… and like the VB programmer, the C++ programmer needs to learn the .NET framework.

          I think that as a whole VB6.0 programmers do a lot of whining, but they really don’t have it any harder than programmers working with any of the other languages that have been ported to .NET.

          By the way, to qualify myself for this post… the bulk of my programming work is split between C/C++ (30%) and VB/VBA/VBScript (70%).

    • #3199572

      Yes, the move must be made

      by onbliss ·

      In reply to To Adopt or Not To Adopt .Net

      When I moved to the VB world, I moved into VB5 from Delphi 1.0. Then I worked with VB6. And unlike some of the TR members, I do not have that bad opinion of VB6. [b]Hey, it allowed me to create applications that the Business Users could use.[/b] Initially as a programmer that was [b]paramount[/b] the satisfaction of users. I had used Oracle Forms, PowerBuilder and Delphi before. I [b]hated[/b]Oracle Forms interface. For some reason I liked Delphi. I did not mind that VB was just object-based or that it was little clumsy in certain aspects.

      But as I developed more and more, working in small to medium sized projects I realized there is lot more to software development. Resources, vendor support, maintenance being some of the factors.

      It is evident MS wants us to move to .Net, for their own reasons. So down the years, support for classic VB would just go down. And people have moved to .net, and some are moving still. So MS has no incentive to keep supporting classic VB. In the future, you will have reduced support and developers available on the market. This will make it tough to continue new developments in classic VB and support it.

      Now that I personally have moved to .Net, I do like the benefits of .Net.

      Hey someone in your company can give a positive spin (marketing spin) and they can claim how the internal systems are developed and maintained by (almost)state of the art technology. This could give a sense of confidence to those customers, who need desire such confidences.

      If your applications are really of the simple variety – a glorified MS Access app then fine. But if it is even moderately complex then .net eases development. For example, to develop a Windows service in classic VB you had to use a third party component and some bit of hard coding. But in .net it is simpler. So is creation and consuming of Web Services. If your company in the future like to integrate or provide webservices to its customers, then it makes more sense to use .net.

    • #3283938

      There is pro and con

      by wolfricky ·

      In reply to To Adopt or Not To Adopt .Net

      We adopted .Net some time ago and are developing new apps in this environment but we also decided not to migrate existing apps unless there is a real need to do so.

      This move did not affect productivity, as we planned it long in beforehand and did training 1 day a week during 12 weeks.

      I believe the investment in time and money was worth it (this is my personal opinion) as now an increase of productivity is observed because the developpers gain experience and thus write better code in less time.

      The only caveat is that working in two development environments is sometimes confusing and even frustrating, but like for all things, there is a price to pay.

      • #3283663

        You’ll learn .NET now, or you’l learn it later…

        by irishkush ·

        In reply to There is pro and con

        While learning how to navigate through and use .NET can sometimes at first be daunting, it provides a stable and secure platform for building strong and efficient running windows/web applications.

        ASP does not perform as well as .NET apps simply because ASP is an interpreted language while ASP.NET is a compiled language. What that means is a scripting host on your server machine has to interpret your ASP code and translate it to lower level machine code, line by god forsaken line. .NET eliminates that process by using common language runtime(CLR), and if you knew and understood the difference between the two, you probably would have never asked the question of why you should consider .NET.

        It’s my belief as a developer that you have a responsibility to always learn about new and emerging technologies, and the reasons are many. One great reason is it enables you to keep your job, or get a better one, and two (or three if you count getting a better job as a second reason) it enables you to develop applications that are compatible with your clients needs. That’s not to say it has to be in .NET and that ASP and VB6 apps are not ‘worthy’ platforms to build on, but they are difficult to manage and maintain if you are not a guru in it. (which I am definitely not in either ASP or VB6) However, .NET is a lot easier to manage and maintain, and let’s face it, at the moment we still live and work in a Microsoft world.

        But hey, if you enjoy developing in ASP and VB6, keep at it and enjoy. I think you’ll eventually learn that you are doing yourself a disservice professionally by being resistant to learning .NET or newer technologies. The VB6 and ASP job market is eventually going to dry up, you can bank on that.

        • #3209307

          secure?

          by jaqui ·

          In reply to You’ll learn .NET now, or you’l learn it later…

          nothing ms produces is secure, their default security policy they build everything with does not allow for secure products.

          default allow security policy is what thy use, that’s why you have to turn off critical security risks in EVERY app they produce.

    • #3283707

      It was worth it

      by marshall.brandt ·

      In reply to To Adopt or Not To Adopt .Net

      When I looked at the first release of .Net I thought that I never would bother using it and said I would stay on VB6 and ASP for a long time.

      Then Visual Studio 2003 came out and everything changed. Everything was so much more efficient than what I had been using.

      In a little over a week I was getting work done as fast as I was getting it done in VB6 and ASP.

      Within a month I would estimate development time was twice as fast in VB.net and three times as fast using ASP.net than the previous products.

      We adopted Visual Studio 2005 while it was still in Beta and that improved it so much more yet.

      Besides the development time improvements the real improvement is the vastly improved error handling. This allows me to make much more robust programs than before.

      We used to do a lot of little apps in MS Access because of the quick development time. Now with Visual Studio 2005 I can develop them in almost the same time and have the advantage of the great error handling to make better apps.

    • #3283704

      Keep em moving

      by trader boy ·

      In reply to To Adopt or Not To Adopt .Net

      Carve out your best 2 (use current mentors) …put them on .net right away…set goals for them on specific projects to migrate…let the other VB 6 members start training…but with the responsibility to keep all current apps flowing and running smoothly.. use a specificed Developement Server environment…you will challenge your Team…and you will keep them longer…They want to learn .net either with you or someone else….can’t go wrong supporting your Developement Team…keep em moving ….forward….Best Regards,

      • #3209300

        Best Two? The only two!

        by underground_in_tn ·

        In reply to Keep em moving

        LOL! There are only two VB programmers in my shop. The rest are RPG.

        Point taken, though.

    • #3209296

      Thank you all. One more question:

      by underground_in_tn ·

      In reply to To Adopt or Not To Adopt .Net

      Well, okay, maybe three more.

      But first, I really appreciate all your responses, including those I didn’t answer directly. I did read and find value in them all.

      1. A lot of you have said you experienced greater productivity, and less development time. Is that something you can quanitify, or does it just “feel” like you’re more productive? Can you go into a little detail about how .NET improved your productivity?

      2. What kind of training did you receive? Did you take classes? If you took one or more classes, did you find any that were NOT Microsoft-created classes, and that actually helped you with real-world solutions? Where were those classes, or other forms of training?

      3. Where do you find the best support? How do you find answers to questions about how to do things, why things don’t work like you think they should, etc? Which web sites, books and other resources give the best examples of solutions to real-world problems using real-world examples?

      • #3209237

        Answers

        by justin james ·

        In reply to Thank you all. One more question:

        “1. A lot of you have said you experienced greater productivity, and less development time. Is that something you can quanitify, or does it just “feel” like you’re more productive? Can you go into a little detail about how .NET improved your productivity?”

        I would say that in many cases, development (at least in ASP.Net vs. ASP) took 25% of the time in .Net; in other words, it went 4 times faster. Debugging is even better. Your milage may vary.

        “2. What kind of training did you receive? Did you take classes? If you took one or more classes, did you find any that were NOT Microsoft-created classes, and that actually helped you with real-world solutions? Where were those classes, or other forms of training?”

        Training? I have gone to a total of 1 training class in my life. I do not buy computer books either. F1 got me all of the help I needed. That is yet another great thing about .Net, the documentation in Visual Studio (particularly the MSDN Library) is supurb, and much better than the older docs (which were already quite good).

        “3. Where do you find the best support? How do you find answers to questions about how to do things, why things don’t work like you think they should, etc? Which web sites, books and other resources give the best examples of solutions to real-world problems using real-world examples?”

        F1 all the way! And MSDN Magazine, for good background information, esoteric knowledge, etc.

        The only computer books that I ever owned and opened more than once are the O’Rielly HTML 4 reference and “JavaScript for Dummies QuickReference”, since JavaScript documentation is a touch hard to find for some reason…

        J.Ja

        • #3209223

          Live it and learn it…

          by trader boy ·

          In reply to Answers

          With the License package comes a lot of stuff and a very good tutorial ..they will have little problems VB 6 to .net VB…the Internet is overflowing with enough to get them going…what they will love, is that when they click to make connectivity to various modules..the handle will be there for them..dot.net overwhelms you with automatic links..they will not want to leave it until they have finished the practice samples…if they are serious…you will see the productivity occur rapidly…It will be your job then to keep them down on the RPG farm….after they have seen the .net broadway show….and Vista Beta is already knocking on the door..this is such a fun business…gota love it or leave it or be left behind…my opinion….time to modernize your shop;….and your Resume’…it is a fun journey…not a bumpy road…A Super Week End!…10-4

      • #3209230

        Productivity, not just a feeling

        by wolfricky ·

        In reply to Thank you all. One more question:

        About productivity, it can be measured, not felt.
        When people produce more code in less time they are more productive.
        Before .Net it took a certain time to finish a project, now the same kind of project is done in less time because coding has become easyer, that is a fact, not a feeling.

        As for training, we had it in a High school that offered this service (so it was not Microsoft-created) and it realy helped us start coding in real-world scenario’s.

        As for the support, there are some good sites (msdn, GoDotNet, DotNetJunkies, DevX, …) where you can find answers and samples to a lot of questions.

      • #3209123

        There are some very good books about

        by tony hopkinson ·

        In reply to Thank you all. One more question:

        and some awful ones.
        Programming Microsoft Windows with C#, by Charles Petzold was my start and a good one.
        Haven’t been on a course, waiting ’til I’ve got enough of a picture to go on an advanced techniques type one. Pick up the nifty bit’s you tend to miss out when self teaching.

        MS’ knowledge base and google are my big friends as far as support goes. Some of mu colleazgues have already done the move, so no doubt they’ll be a resource as well.

        I’m expecting a productivity up turn, currently lumbered with Delphi 2005, which was an enormous disappointment, flaky as hell it is.

        It still writes good code, but some halfwit re-coded the IDE in C++. It regularly messes up it’s pointers, avs, and locks up requiring a three fingered salute etc. I’d really like to talk to the guys that did it, they could have my lecture on lifetime management as well. They definitely need one.
        It used to be as solid as a rock.

Viewing 20 reply threads