Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Other Discussions
  3. The Back Room
  4. Why is software so expensive?

Why is software so expensive?

Scheduled Pinned Locked Moved The Back Room
visual-studioquestioncsharp
30 Posts 10 Posters 1 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Anna Jayne Metcalfe

    I've been using VS6 since it came out in 1998, and good though it was in its day (especially compared to the god-awful VS5) there is just no denying that it is showing its age badly today. Aside from the STL issues, the compiler is no-where near standards compliant, the IDE can't handle large projects (we had awful problems with it crashing at Sonardyne; opening the Class View would crash the IDE, and often even just opening the workspace. We lost countless hours of time that way) and the extensibility interface is truly ghastly (although not a consideration for many I admit; we've more cause to curse it than most). That said, if you're working on relatively small projects without using modern libraries then it's "good enough" for most purposes - as long as you are aware of its limitations. However, if you need to use Boost, STL, write standards compliant code etc. VS2003 is a far better bet. The IDE isn't that different when you break it down, really - and the compiler and libraries are far, far, better. ATL7 alone is worth the upgrade. With regard to VS2005 I'd leave it alone until SP1 arrives unless you are doing .NET development or need features introduced in that version.

    Anna :rose: Currently working mostly on: Visual Lint :cool: Anna's Place | Tears and Laughter "Be yourself - not what others think you should be" - Marcia Graesch "Anna's just a sexy-looking lesbian tart" - A friend, trying to wind me up. It didn't work.

    P Offline
    P Offline
    Programit
    wrote on last edited by
    #18

    I agree with you Anna. I use VS 2003 at home (and VS 6) Visual studio 6 required breaking down major projects into sections but far cleaner and easier to use! -(Also maintained compatability) VS 2005 is typical bloatware and annoyingly slow to use. The second point is that nothing remain compatable. We started converting DirectX routines to DX9 using Feb SDK and VS2005. We then upgraded to June SDK to find none, zero, nada, of the original source would compile without minor rewrites. My suggestion to management was to wait until Vista and appropriate development tools are out before committing to changes that are inappropriate. We are currently setting up a Vista BETA machine to experiment with and to start familiarising with NetFX. Wait and get VS2007 and do a complete rewrite to suit WinFX (Net 3):-D

    1 Reply Last reply
    0
    • B bob16972

      Christian Graus wrote:

      How is using a core part of the standard language a luxury ?

      I must have missed some important boat back in the early 90's when I went from C and Pascal to getting some of the Turbo C++ and Borland C++ compilers at that time. I don't remember ever hearing about STL. I heard about MFC and started to use it, depend on it, about the same time I got wind of STL. I'm not so sure it was "core" to the people trying to use C/C++ early on with Turbo C++ 3.0 or even at the time VC++ 6.0 came out. It may have become "core" since then but some of us developed ourselves long before that. Frankly, MFC was so easy to use, templates look like a disaster. Granted, I appreciate the fact that MFC has been getting templated in the meantime but it's been passive to the end user and the need to learn how to "write" template classes has been non-existent. I learned to program C/C++ (1989-1994) from Schildt, Dilascia, Norton, and Yao and none of these ever mentioned the "core" STL you speak of at that time. Templates were just getting introduced as a new feature in the Turbo/Borland 3.0 C++ series at that time. Your "core" feature wasn't around in the mainstream I'm afraid. I can understand why programmers who came to C/C++ toward the late 90's would consider it "core" but don't forget that a large number of your peers might have been churning out code and developing habits around OOP long before STL finally started to find it's way into mainstream programming books.

      Christian Graus wrote:

      I don't percieve how you can write very much without needing container classes.

      MFC (Collection/Template classes) :|

      Christian Graus wrote:

      As I work on a library, my code compiles on VC6, VC2002, VC2003 and VC2005.

      That is indeed quite a feet considering some ATL_DEPRECATED items can't be used as is from VC++ 6.0 to VC++ 2003 without the deprecated warnings. There are some that have no equivalent functions with the parameters in the same order. My hats off to you if that is true. (I am being serious by the way) -- modified at 20:15 Saturday 22nd July, 2006

      C Offline
      C Offline
      Christian Graus
      wrote on last edited by
      #19

      bob16972 wrote:

      I don't remember ever hearing about STL.

      The standard was released in 1993. STL was developed by Alexander Stepanov, and it was a very late inclusion, it only made the standard because it was so compelling. So, anything before 1993, and you couldn't have heard of it. I have no idea how long it took to be widely adopted once the standard came out.

      bob16972 wrote:

      I'm not so sure it was "core" to the people trying to use it early on with Turbo C++ 3.0 or even at the time VC++ 6.0 came out.

      It was certainly part of the standard. I used VC6 from 1999 ( when I started C++ ) and at that point I found out about STL through my own research ( I am self taught ).

      bob16972 wrote:

      Frankly, MFC was so easy to use, templates look like a disaster.

      Templates are also part of C++, and a very important part. Lots of people are scared of them, but how do you do a container class without them ? And really, templates to specify a container type is pretty trivial, it's hardly a 'disaster' to have to learn a tiny bit of syntax.

      bob16972 wrote:

      but it's been passive to the end user and the need to learn how to "write" template classes has been non-existent.

      The need to write template classes is equally no-existant if you use STL or if you use MFC container classes.

      bob16972 wrote:

      I learned to program C/C++ (1989-1994) from Schildt, Dilascia, Norton, and Yao and none of these ever mentioned the "core" STL you speak of at that time.

      See above - C++ was not a standards defined language until 1993, and STL just made it to the standard.

      bob16972 wrote:

      Your "core" feature wasn't around in the mainstream I'm afraid.

      For reasons that I stated above. Are you claiming that you have the same skillset you have in 1994 ? I've been programming for a living much shorter than that, but I expect to learn new things for as long as I keep coding. I certainly used MFC containers briefly, before coming across the STL. Interestingly, I worked with university educated programmers, and I was the one who found and pursued the STL, and when I changed jobs, I found the STL being used, but used badly there, too. The literature is out there, it's not hard, it's jus

      S 1 Reply Last reply
      0
      • A Anna Jayne Metcalfe

        I've been using VS6 since it came out in 1998, and good though it was in its day (especially compared to the god-awful VS5) there is just no denying that it is showing its age badly today. Aside from the STL issues, the compiler is no-where near standards compliant, the IDE can't handle large projects (we had awful problems with it crashing at Sonardyne; opening the Class View would crash the IDE, and often even just opening the workspace. We lost countless hours of time that way) and the extensibility interface is truly ghastly (although not a consideration for many I admit; we've more cause to curse it than most). That said, if you're working on relatively small projects without using modern libraries then it's "good enough" for most purposes - as long as you are aware of its limitations. However, if you need to use Boost, STL, write standards compliant code etc. VS2003 is a far better bet. The IDE isn't that different when you break it down, really - and the compiler and libraries are far, far, better. ATL7 alone is worth the upgrade. With regard to VS2005 I'd leave it alone until SP1 arrives unless you are doing .NET development or need features introduced in that version.

        Anna :rose: Currently working mostly on: Visual Lint :cool: Anna's Place | Tears and Laughter "Be yourself - not what others think you should be" - Marcia Graesch "Anna's just a sexy-looking lesbian tart" - A friend, trying to wind me up. It didn't work.

        B Offline
        B Offline
        bob16972
        wrote on last edited by
        #20

        Anna-Jayne Metcalfe wrote:

        there is just no denying that it is showing its age badly today

        Yeah, it doesn't have all those nice gradients and it's just too darn perky. It responds way too fast for me. I prefer having some moments to myself to think while the VC++ 2003 IDE loads, and loads, and loa...ahhh, there it is. Finally. Now type som....oops, it waits, and waits, wai...ahhh, it finally caught up with me. Now lets get MSDN up to che...darn, it hangs, and hangs, and...

        Anna-Jayne Metcalfe wrote:

        relatively small projects without using modern libraries then it's "good enough" for most purposes

        Yes, all my projects are relatively small as a rule. Monolithic designs are for pre-COM days. "It's good enough for most purposes" would probably not warrant a term like "rubbish" being used to describe it. Did you hear that Christian? It's good enough. Now let's all go read up on all the spanky new features coming in Vista so we can all get ready for next years debate about why VC++ 2003 is suddenly "rubbish" because it doesn't support WinFX and VC++ 2007 has some pretty icons and a speak and spell feature that we all can't live without. -- modified at 20:39 Saturday 22nd July, 2006 I forgot to add my agreement with the VS C++ 2005 statement. I'm definitely waiting for SP1 at a minimum. -- modified at 20:41 Saturday 22nd July, 2006

        1 Reply Last reply
        0
        • C Christian Graus

          Programit wrote:

          No where did I mention VC6!

          "My work recently aquired the Visual Studio 2005 after a number of years of avoiding 2002 and 2003 net " So, what are you using then ?

          Programit wrote:

          7,500 lines of code - 392 errors and warnings.

          Wow - that's 5% of your code !! Although I assume a lot of warnings, and few errors, and also the whole 'one bad line makes 5 errors' syndrome.

          Programit wrote:

          DirectX 8 code is not compatable with VS 2005 - (Nor Vista we believe!)

          Why not ?

          Programit wrote:

          We've used VB6, VC6 and DirectX 8 for 3 years with very little changes required. - Now thats a standard!

          Use the same language, whatever it is, and of course you won't need changes.

          Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

          P Offline
          P Offline
          Programit
          wrote on last edited by
          #21

          Christian Graus wrote:

          So, what are you using then ?

          We use Visual C and Visual Basic ! C++ for COM, VB for UI, DB, and Control!

          Christian Graus wrote:

          Wow - that's 5% of your code !!

          .01% of errors can crash a system and take countless man hours to fix! (Time is money!) To what benefit will converting all this code ? So it can do EXACTLY what its been doing for nearly 12 months without a problem! :confused: Can you please point me to where I can get the DirectX 8 SDK for Net 2? We can only use parts of it through Interop at the moment! DirectX 9 and its coding standard, changes every 3 months and of course is not compatable with DX8. DirectX 10 is unlikely to be compatable with DirectX 9 - its not the microsoft way! Whats the point of changing to a system that will need to be changed in less than 12 months! Net 2 is almost defunk now! NetFX (Net 3.0) is already available. DirectX 9 is near death with 10 on the horizon and a completely new presentation framework! :sigh: There has not been one single item of technology or programming requirement that we have needed and not been able to do with VS 6 at this stage. :-> The next big leap will be to Vista (SP1 at least) and will require NetFX SP6, DirectX 10d and Visual Studio 2008 ! Why not think and work smart? New stuff - New environment! Old stuff - Old environment! Easy, Efficient, Productive and Compatable! - Unheard of terms in software development in many cases! :omg:

          1 Reply Last reply
          0
          • R realJSOP

            Stephen Hewitt wrote:

            t's funny that you say, "If I ever need STL". Any application can use (and benefit from) STL

            In all honesty, I've been writing C/C++ code for almost 20 years, and I've only needed STL in ONE application, and that was three years ago for a proprietary compilation of Windows CE 2.0. Further, the only reason I needed to use STL is because that's what the program was already using because it couldn't use MFC. STL is not the panacea that so many claim it is. It's a bloated obscure library of spaghetti code that I wouldn't wish on Bill Gates.

            "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
            -----
            "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

            S Offline
            S Offline
            Stephen Hewitt
            wrote on last edited by
            #22

            Your claim that STL is bloated is rubbish: in fact it's quite lean. For the most part STL is just a small header file only library which consists of mostly small inline functions. Have a look and see for yourself. Of coarse you don't need STL; but then again you don't really need C/C++ either. I started programming in machine code and I can still do so; if I wanted to I could write a whole Windows program in assembler; but why would I want to? It is true that STL has "a price of admission”, by which I mean there are recurring concepts which if you're not familiar with will make the library hard to understand. This is the same for any library of consequence however - It is certainly true of MFC and ATL. For example if you don't understand the "Curiously Recurring Template Pattern" you won't have a chance of understanding ATL.

            Steve

            1 Reply Last reply
            0
            • R realJSOP

              Christian Graus wrote:

              VC6 is rubbish

              And that's a crock of shit.

              Christian Graus wrote:

              How much of your VC6 code even compiled under VC2005 ?

              Well, it seems 100% of ours can be compiled with VS2005. The first time we tried compiling our flagship product (675,000 lines of code), we got over 5000 warnings and 2200 errors. Using the NO_DEPRECATE macro, we instantly went down to about 90 warnings. The rest of the warnings were due to minor (and fixable) changes to MFC and the CRT. About 1200 of the errors dealt with the for loop scoping rules, 200 were related to namespace changes concering the XMLDOM library we were using, another 400 were due to yus failing to inherit from a specific class in a template library, and the rest were errors in message handling the VC seemed to ignore. Total time to get a clean compile and run - 4 hours. BTW, we don't use STL at all. I think that fact alone saved us DAYS of refactoring. So it's not VC6 that is rubbish - it's STL in all of its evil incarnations that gives everyone heartburn. Think about it, it it's a "STANDARD" template library, why are there so many different kinds, and why aren't any of them the same? So much for the standard part, eh?

              "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
              -----
              "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

              S Offline
              S Offline
              Stephen Hewitt
              wrote on last edited by
              #23

              VC6 is rubbish. It was good in its day and no one is suggesting that useful applications can't be written with it; I use it at work every weekday. That said, by today’s standards it is woefully non-standard and there are many quality libraries you simply can't use with it. Why some people object so strongly to this simple fact boggles the mind.

              Steve

              1 Reply Last reply
              0
              • C Christian Graus

                JWood wrote:

                No proper way to initialize it,

                What on earth do you mean ?

                JWood wrote:

                the error messages are bout a mile long.

                That's a function of how bad the compiler is, especially VC6. You soon learn to decipher them.

                Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

                S Offline
                S Offline
                Stuart Dootson
                wrote on last edited by
                #24

                I'm guessing he mean s like you can with arrays: int blah[] = { 1, 2, 3, 4 }; Of course, if you know Boost[^], you know that you can initialise STL containers (sort of) like that.[^].

                1 Reply Last reply
                0
                • C Christian Graus

                  bob16972 wrote:

                  I don't remember ever hearing about STL.

                  The standard was released in 1993. STL was developed by Alexander Stepanov, and it was a very late inclusion, it only made the standard because it was so compelling. So, anything before 1993, and you couldn't have heard of it. I have no idea how long it took to be widely adopted once the standard came out.

                  bob16972 wrote:

                  I'm not so sure it was "core" to the people trying to use it early on with Turbo C++ 3.0 or even at the time VC++ 6.0 came out.

                  It was certainly part of the standard. I used VC6 from 1999 ( when I started C++ ) and at that point I found out about STL through my own research ( I am self taught ).

                  bob16972 wrote:

                  Frankly, MFC was so easy to use, templates look like a disaster.

                  Templates are also part of C++, and a very important part. Lots of people are scared of them, but how do you do a container class without them ? And really, templates to specify a container type is pretty trivial, it's hardly a 'disaster' to have to learn a tiny bit of syntax.

                  bob16972 wrote:

                  but it's been passive to the end user and the need to learn how to "write" template classes has been non-existent.

                  The need to write template classes is equally no-existant if you use STL or if you use MFC container classes.

                  bob16972 wrote:

                  I learned to program C/C++ (1989-1994) from Schildt, Dilascia, Norton, and Yao and none of these ever mentioned the "core" STL you speak of at that time.

                  See above - C++ was not a standards defined language until 1993, and STL just made it to the standard.

                  bob16972 wrote:

                  Your "core" feature wasn't around in the mainstream I'm afraid.

                  For reasons that I stated above. Are you claiming that you have the same skillset you have in 1994 ? I've been programming for a living much shorter than that, but I expect to learn new things for as long as I keep coding. I certainly used MFC containers briefly, before coming across the STL. Interestingly, I worked with university educated programmers, and I was the one who found and pursued the STL, and when I changed jobs, I found the STL being used, but used badly there, too. The literature is out there, it's not hard, it's jus

                  S Offline
                  S Offline
                  Stuart Dootson
                  wrote on last edited by
                  #25

                  Errrr - Christian, the C++ standard was released in 1998, not 1993

                  Christian Graus wrote:

                  Are you claiming that you have the same skillset you have in 1994 ? I've been programming for a living much shorter than that, but I expect to learn new things for as long as I keep coding.

                  But this is the crucial point - damn, how many programmers have I met who don't seem to understand that programming knowledge isn't static - it's dynamic, it's a developing field. I'm just glad that I *like* to learn - it makes finding out about new software development things a pleasure. When I think of how my programming has changed since 2004, never mind since 1994!

                  C 1 Reply Last reply
                  0
                  • S Stuart Dootson

                    Errrr - Christian, the C++ standard was released in 1998, not 1993

                    Christian Graus wrote:

                    Are you claiming that you have the same skillset you have in 1994 ? I've been programming for a living much shorter than that, but I expect to learn new things for as long as I keep coding.

                    But this is the crucial point - damn, how many programmers have I met who don't seem to understand that programming knowledge isn't static - it's dynamic, it's a developing field. I'm just glad that I *like* to learn - it makes finding out about new software development things a pleasure. When I think of how my programming has changed since 2004, never mind since 1994!

                    C Offline
                    C Offline
                    Christian Graus
                    wrote on last edited by
                    #26

                    Stuart Dootson wrote:

                    Errrr - Christian, the C++ standard was released in 1998, not 1993

                    I *thought* it was late 90s, but I googled and 1993 was the date that came back. So I trusted the internet over my own recollections...

                    Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

                    S 1 Reply Last reply
                    0
                    • C Christian Graus

                      Stuart Dootson wrote:

                      Errrr - Christian, the C++ standard was released in 1998, not 1993

                      I *thought* it was late 90s, but I googled and 1993 was the date that came back. So I trusted the internet over my own recollections...

                      Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

                      S Offline
                      S Offline
                      Stuart Dootson
                      wrote on last edited by
                      #27

                      FYI - the top search result for "C++ standard" is this[^], which links to this[^].

                      C 1 Reply Last reply
                      0
                      • S Stuart Dootson

                        FYI - the top search result for "C++ standard" is this[^], which links to this[^].

                        C Offline
                        C Offline
                        Christian Graus
                        wrote on last edited by
                        #28

                        I googled X3J16, I figured that would zero in on it better.

                        Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

                        1 Reply Last reply
                        0
                        • C Christian Graus

                          Programit wrote:

                          We find out that all this is unlikely to be compatable with Vista.....

                          Why ? VC6 is rubbish, BTW, it's not even remotely standards compliant, in a whole lot of areas, and it's STL is just a joke. How much of your VC6 code even compiled under VC2005 ?

                          Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

                          L Offline
                          L Offline
                          Lost User
                          wrote on last edited by
                          #29

                          Its got a great GUI though. I just point its executable path to a later compiler and it is just fine. (I really hate the VB like .Net gui)

                          Tronché pas ma miche!

                          C 1 Reply Last reply
                          0
                          • L Lost User

                            Its got a great GUI though. I just point its executable path to a later compiler and it is just fine. (I really hate the VB like .Net gui)

                            Tronché pas ma miche!

                            C Offline
                            C Offline
                            Christian Graus
                            wrote on last edited by
                            #30

                            I know I found it hard to adjust at first, but once you know what the VS2005 UI can do, the VC6 UI is just more and more clunky in comparison.

                            Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

                            1 Reply Last reply
                            0
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • World
                            • Users
                            • Groups