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 0 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.
  • J JWood

    Yuk - STL itself is the joke. No proper way to initialize it, the error messages are bout a mile long.


    A cynic is a man who, when he smells flowers, looks around for a coffin.
    -H.L. Mencken

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

    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 S 2 Replies 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
      Stephen Hewitt
      wrote on last edited by
      #6

      Christian Graus wrote:

      JWood wrote:

      No proper way to initialize it,

      What on earth do you mean ?

      I was wondering that myself.

      Steve

      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

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

        Man, you are starting to sound like a mini-Nish. VC++ 6.0 is just great for those of us who have never had the luxury of using STL. Not being able to declare for (int i=0;i

        S C A 3 Replies Last reply
        0
        • J JWood

          Yuk - STL itself is the joke. No proper way to initialize it, the error messages are bout a mile long.


          A cynic is a man who, when he smells flowers, looks around for a coffin.
          -H.L. Mencken

          R Offline
          R Offline
          retZ
          wrote on last edited by
          #8

          JWood wrote:

          STL itself is the joke.

          :confused: How so? The benefits of STL far outweigh any drawbacks it has imho.

          1 Reply Last reply
          0
          • B bob16972

            Man, you are starting to sound like a mini-Nish. VC++ 6.0 is just great for those of us who have never had the luxury of using STL. Not being able to declare for (int i=0;i

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

            I use MSVC 6 extensively and have done for years. I know it like the back of my hand and am comfortable with it. That said, there is no denying that by today’s standards it is rubbish. Anyone who doubts this needs to "get out more". There are many quality libraries that either don't work at all or only partially work on MSVC 6, but work fine on just about any other modern compiler. The lack of partial template specialisation is like being hobbled, for those if us who find templates useful. It's funny that you say, "If I ever need STL". Any application can use (and benefit from) STL: It contains universal concepts and algorithms that are used in one way or another in any program. It boils down to the age old decision in computer programming: Do I spin my own or reuse an existing implementation? If I take reuse option is there a "standard" choice that most programmers will already know (or should already know)? STL is just a collection of production quality implementations of algorithms any C++ programmer needs that are shipped with every modern C++ compiler.

            Steve

            R 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

              R Offline
              R Offline
              realJSOP
              wrote on last edited by
              #10

              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

              C S 2 Replies Last reply
              0
              • S Stephen Hewitt

                I use MSVC 6 extensively and have done for years. I know it like the back of my hand and am comfortable with it. That said, there is no denying that by today’s standards it is rubbish. Anyone who doubts this needs to "get out more". There are many quality libraries that either don't work at all or only partially work on MSVC 6, but work fine on just about any other modern compiler. The lack of partial template specialisation is like being hobbled, for those if us who find templates useful. It's funny that you say, "If I ever need STL". Any application can use (and benefit from) STL: It contains universal concepts and algorithms that are used in one way or another in any program. It boils down to the age old decision in computer programming: Do I spin my own or reuse an existing implementation? If I take reuse option is there a "standard" choice that most programmers will already know (or should already know)? STL is just a collection of production quality implementations of algorithms any C++ programmer needs that are shipped with every modern C++ compiler.

                Steve

                R Offline
                R Offline
                realJSOP
                wrote on last edited by
                #11

                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 1 Reply Last reply
                0
                • B bob16972

                  Man, you are starting to sound like a mini-Nish. VC++ 6.0 is just great for those of us who have never had the luxury of using STL. Not being able to declare for (int i=0;i

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

                  bob16972 wrote:

                  who have never had the luxury of using STL.

                  How is using a core part of the standard language a luxury ? VC6 is broke in plenty of other places.

                  bob16972 wrote:

                  for (int i=0;i What's at issue *there* is that VC6 does not stick to the standard. I don't care about the scoping rule terribly much, I do care that VC6 has it wrong.

                  bob16972 wrote:

                  but the IDE is just horrible compared to VC++ 6.0.

                  I thought so too, at first, but I learned it, and now I find VC6 clunky as hell.

                  bob16972 wrote:

                  If I ever need STL

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

                  bob16972 wrote:

                  why don't you donate your copy

                  1 - I work on library code that needs to work in VC6 2 - it's part of my MSDN, so I'm not sure I could give it away if I wanted to

                  bob16972 wrote:

                  Why don't you just rewrite all your code so it'll compile on VC++ 2005.

                  As I work on a library, my code compiles on VC6, VC2002, VC2003 and VC2005. However, all of my own code compiled direct from VC6 to VC2002, because I knew C++ well enough to write code that would compile on a standards compliant compiler.

                  bob16972 wrote:

                  The boss will appreciate the standards compliant code you produced in a mere 6-12 months of his time.

                  Like I said, a programmer who knows what they are doing, and cares about the standard, would have written code that compiled in VC2002 when it came out. Poor tools are not an excuse for poor work, it was still possible to write good code on VC6, it just allowed writing of bad code. I've worked on projects where the VC6 code was plain terrible, and converted it to VC2005. I did this mostly because VC2005 reported stuff that needed fixing, there were methods that returned int implicitly all over the place, and many of them when written, did not return anything explicit, for example.

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

                  B 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

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

                    John Simmons / outlaw programmer wrote:

                    Well, it seems 100% of ours can be compiled with VS2005.

                    One problem with VC6 is that it will compile really bad, and just plain wrong code. I didn't have any trouble going from VC6 either, but people who don't know C++ so well can find it a major headache.

                    John Simmons / outlaw programmer wrote:

                    About 1200 of the errors dealt with the for loop scoping rules

                    I always wrote loops like this in VC6: int i = 0; for(;i < 1000; ++i) so that when standards compliance came along, my code compiled for both.

                    John Simmons / outlaw programmer wrote:

                    I think that fact alone saved us DAYS of refactoring.

                    Days that you probably spent coding if your app has any sort of need to keep and manipulate collections. I assume you use the MFC containers ? Did you know they are there for legacy reasons only ? They were written prior to the STL, and the STL is meant to replace them.

                    John Simmons / outlaw programmer wrote:

                    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?

                    VC6 has an STL implimentation from Dinkum. It was really bad, and MS knew it. They had signed a contract, VC6 was the last version where they were obliged to ship that version. From VC7, the STL implimentation was awesome. Having said that, I've used various STL implimentations to plug in and replace the VC6 one, and I've never seen any indication of 'different kinds' or them not being 'the same'. Boost is a library that adds to the STL, but the STL is indeed standard, and always the same in my experience.

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

                    1 Reply Last reply
                    0
                    • B bob16972

                      Man, you are starting to sound like a mini-Nish. VC++ 6.0 is just great for those of us who have never had the luxury of using STL. Not being able to declare for (int i=0;i

                      A Offline
                      A Offline
                      Anna Jayne Metcalfe
                      wrote on last edited by
                      #14

                      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 B 2 Replies 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

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

                        No where did I mention VC6! We do use it for some code but not all! (COM Mainly!)

                        Christian Graus wrote:

                        How much of your VC6 code even compiled under VC2005 ?

                        One particular object - used to synchronise network data between clients and validate basic security and access was converted. - 7,500 lines of code - 392 errors and warnings. We have approximately 40 ActiveX components similar to do! :sigh: Wrapping COM objects to maintain compatability until they can be rewrit! '2nd major problem! DirectX 8 code is not compatable with VS 2005 - (Nor Vista we believe!) Also not compat with DX9. (But DX9 is not compatable with DX9 :confused: changes every 3 month SDK - modern standards in action! :wtf:) We've used VB6, VC6 and DirectX 8 for 3 years with very little changes required. - Now thats a standard!:-> Time is money!

                        C 1 Reply Last reply
                        0
                        • C Christian Graus

                          bob16972 wrote:

                          who have never had the luxury of using STL.

                          How is using a core part of the standard language a luxury ? VC6 is broke in plenty of other places.

                          bob16972 wrote:

                          for (int i=0;i What's at issue *there* is that VC6 does not stick to the standard. I don't care about the scoping rule terribly much, I do care that VC6 has it wrong.

                          bob16972 wrote:

                          but the IDE is just horrible compared to VC++ 6.0.

                          I thought so too, at first, but I learned it, and now I find VC6 clunky as hell.

                          bob16972 wrote:

                          If I ever need STL

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

                          bob16972 wrote:

                          why don't you donate your copy

                          1 - I work on library code that needs to work in VC6 2 - it's part of my MSDN, so I'm not sure I could give it away if I wanted to

                          bob16972 wrote:

                          Why don't you just rewrite all your code so it'll compile on VC++ 2005.

                          As I work on a library, my code compiles on VC6, VC2002, VC2003 and VC2005. However, all of my own code compiled direct from VC6 to VC2002, because I knew C++ well enough to write code that would compile on a standards compliant compiler.

                          bob16972 wrote:

                          The boss will appreciate the standards compliant code you produced in a mere 6-12 months of his time.

                          Like I said, a programmer who knows what they are doing, and cares about the standard, would have written code that compiled in VC2002 when it came out. Poor tools are not an excuse for poor work, it was still possible to write good code on VC6, it just allowed writing of bad code. I've worked on projects where the VC6 code was plain terrible, and converted it to VC2005. I did this mostly because VC2005 reported stuff that needed fixing, there were methods that returned int implicitly all over the place, and many of them when written, did not return anything explicit, for example.

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

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

                          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 1 Reply Last reply
                          0
                          • P Programit

                            No where did I mention VC6! We do use it for some code but not all! (COM Mainly!)

                            Christian Graus wrote:

                            How much of your VC6 code even compiled under VC2005 ?

                            One particular object - used to synchronise network data between clients and validate basic security and access was converted. - 7,500 lines of code - 392 errors and warnings. We have approximately 40 ActiveX components similar to do! :sigh: Wrapping COM objects to maintain compatability until they can be rewrit! '2nd major problem! DirectX 8 code is not compatable with VS 2005 - (Nor Vista we believe!) Also not compat with DX9. (But DX9 is not compatable with DX9 :confused: changes every 3 month SDK - modern standards in action! :wtf:) We've used VB6, VC6 and DirectX 8 for 3 years with very little changes required. - Now thats a standard!:-> Time is money!

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

                            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 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.

                              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
                                          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