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. The Lounge
  3. C++ or ...

C++ or ...

Scheduled Pinned Locked Moved The Lounge
c++questioncsharplearning
57 Posts 38 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.
  • N New5

    I wanted to write New but it seems some people used of them so I select New5.

    M Offline
    M Offline
    Mark_Wallace
    wrote on last edited by
    #34

    You should have gone alphabetic: news & newt are passable; newz is a good hakka name; newc, newx, newq, and newk will do nicely for US republicans; newd is suitable for another "Mark Wallace", whose movie career I'd rather not follow; newl would show your carpentry skills; and newb fits about 99% of behaviour on the net.

    1 Reply Last reply
    0
    • N New5

      Hi everyone, I have a question, if you see forums on the codeproject they are active forums like Visual C++ / MFC,C#,... and at all forums Visual C++ / MFC is a busy forum (of course except the Lounge)but my question is does Visual c++ is a live language or not,maybe you want to know why I ask this question I want to know does start to learn C++ is correct (because c++ isnt new istead C# or other languages) or I must to start with C# or other language? If you want to decide whats your choice? Thanks

      C Offline
      C Offline
      ClockMeister
      wrote on last edited by
      #35

      It really depends on what you want to do with it. I started with FORTRAN and then BASIC (because I got into this back in the late '70's even before PC's existed). There are many more choices now than there were then. Most of the guys here are probably writing C# or Java (it's somewhat debateable that they are really any different, IMHO). I chose the VB path instead of C# because I wrote assembly and C for many years and when I got into Windows development I chose VB as my point-of-entry. (I got tired of re-inventing the wheel all the time). If I were starting out brand new right now? Probably C# or VB.Net. There rages a debate which of the two languages is "better" - but they both produce the same CIL so we'll leave that to another discussion. The majority would probably say C# - but don't go with the "majority" - look at both of them; or even something else. When you do choose one, though, try to stick with it as much as possible. Being "multilingual" may sound cool - but being an expert with one or two of them will probably get you further. You'll be more inclined to focus on the application instead of fiddling with the tools. Just my 2-cents. -CB :)

      1 Reply Last reply
      0
      • N New5

        Hi everyone, I have a question, if you see forums on the codeproject they are active forums like Visual C++ / MFC,C#,... and at all forums Visual C++ / MFC is a busy forum (of course except the Lounge)but my question is does Visual c++ is a live language or not,maybe you want to know why I ask this question I want to know does start to learn C++ is correct (because c++ isnt new istead C# or other languages) or I must to start with C# or other language? If you want to decide whats your choice? Thanks

        D Offline
        D Offline
        DevMentor org
        wrote on last edited by
        #36

        I will be biased and say, Learn C++, because learning C# will be that much simpler. C++ is a well established mature language, the keyword is mature!

        Yours Truly, The One and Only!

        1 Reply Last reply
        0
        • A Andrew Drummond

          Forget learning MFC - there is nothing to learn from it except bad style. I would start by learning C from Kernighan & Ritchie. The language is simple with 32 keywords and is quick to learn. As well as several other languages being similar to it, the main advantage will be your gain in understanding of the stack and heap. It has been shown that good programmers have a consistent model of what a computer is doing to their program, whereas dodgy ones don't. Working with this book will help give you that model. The book is marvelously written and should instill you with an enthusiam for programming which you might not get from other texts. The managed languages hid most of this stack and heap usage from you but is very useful to know what is happening a little under the hood, so you can understand why performance problems occur, what the garbage collector is doing, etc. Type in and run the examples from the book and then do the exercises - it won't take long. Then learn something like Java or C# rather than C++. This will help with your design, imersing your in a more OO way of doing things than you would get from starting with C++, which is very powerful but, because it supports nearly all design and programming styles it is easy for you to go off in the wrong way, such as structural programming. Then you can learn C++ if you want more power, such as with generic programming, or even using the scoping style that C++ destuctors allow you. Avoid any book by Herb Schildt. Avoid the Java in a Nutshell books on O'Reilly. I haven't looked at the Petzold C# books but I would be wary based on his programming style from his Windows books. If you are going to learn C++ then Accelerated C++ by Andrew Keonig approaches the matter in a more modern style. You could then profitably read The C++ Object model by Stanley Lippman, assumming that you have read the Kernighan and Ritchie book. www.accu.org has a good book review list as well. regards, Andrew

          C Offline
          C Offline
          ClockMeister
          wrote on last edited by
          #37

          Ahh Kernighan & Ritchie - I miss my dear old 'C' book. I think it got lost in a move. That is, indeed, a great way to start learning. Petzold books. I don't care for them. The first one I read was about C programming for Windows. Turned me off that I had to write 900 lines of code just to say "Hello World". That kept me away from Windows development until I discovered VB3. I just didn't want to re-invent the wheel anymore and VB3 let me really focus on the application. It was nice to understand the guts below it but not have to fiddle with it any more. I spent the first 20 years of my career writing FORTRAN, C and PC Assembler and writing systems-level code so having something like VB to bring me up "out of the trenches" was nice. Even now I chose to stick with the VB path into .Net. C# is OK if you still like case-sensitivity in your variables and writing hard-to-read code. (I have one project I maintain that is all C# which is "OK" but I'd rather have it in VB). I found that sticking with VB all the way up to this point gave me the power I wanted without having to constantly switch gears from one dialect to another. Nice to be able to use the same general dialect whether it be VBScript, VB6, VB.Net - 80 to 90% of what I already know can be leveraged. -CB :)

          1 Reply Last reply
          0
          • N New5

            Hi everyone, I have a question, if you see forums on the codeproject they are active forums like Visual C++ / MFC,C#,... and at all forums Visual C++ / MFC is a busy forum (of course except the Lounge)but my question is does Visual c++ is a live language or not,maybe you want to know why I ask this question I want to know does start to learn C++ is correct (because c++ isnt new istead C# or other languages) or I must to start with C# or other language? If you want to decide whats your choice? Thanks

            L Offline
            L Offline
            Lowell Boggs
            wrote on last edited by
            #38

            No one language solves all developers needs. I have discovered that a good script language that lets me process text from log files is essentially to power programming. Personally, I like bash combined with sed, grep, tr, sort, join, etc. I like this combination for text processing because it is very easy to experiment with my scripts before committing them to text files. The bash command line allows an expert to do very complicated things in a very simple manner. I understand why the power of perl and java seem seductive, by I'm used to the simple mechanics of bash et al. As for a primary programming language, I think that that decision depends on the availability of useful libraries appropriate to your task. That is, although I love C++ and wax poetic about it on my web site, the truth is that if you have to write all the code for yourself, you are doomed to failure. Unfortunately, the basics of a language can counteract any positive effect of large libraries. Just look at FORTRAN: it has lots of libraries but almost nobody uses it. People dropped COBOL like a hot potato as soon as something, ANYTHING, appeared. The key is selecting is to understand what your personal situation actually is. For example, suppose you are the only one ever to be on the project. In this case, choose the language you already understand. If you are going to be part of small team of whose members are already known, find out the most commonly understood language among them and stick to that. But for goodness sakes, don't let everyone choose their own language. Pick ONE. If you are going to be part of a growing team, you need to deal with issues like code readability: how good is everyone going to be ad fixing bugs in everyone else's code. The availability of libraries in that language that already do exactly what you want is important, but not all important. You wouldn't pick FORTRAN just because libraries are available -- unless you couldn't get them in any other language under any circumstances. I like C++ for most personal use, other than scripting purposes, because I think that the language was desgined by experts for experts and I am an expert. It is gives you great performance and if written correctly requires very little debugging. Unfortunately, many people attempt to write C using the C++ compiler and this is a BIG NO NO. For example, you should never call malloc/free at all. You should never call operator new unless: 1. you are initializing an auto_ptr 2. you are in the constructor for a

            1 Reply Last reply
            0
            • J Jim Crafton

              Be a man and start with C++. After that, everything will seem easy sailing. Don't let the naysayers and pink-tutu-wearing-my-pretty-pony-lunch-box-carrying-little-girls convince you otherwise.

              ¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog

              C Offline
              C Offline
              chappellc
              wrote on last edited by
              #39

              Really, the language itself is just semantics. The underlying issue is to get a fell for how things are supposed to work. An expert with the language can still write crappy code. Think OO. Think Framework. As a very wise programmer once told me, 'Programmers are going to be cheap. Move up the food chain. Think architecture.'

              M 1 Reply Last reply
              0
              • N New5

                Hi everyone, I have a question, if you see forums on the codeproject they are active forums like Visual C++ / MFC,C#,... and at all forums Visual C++ / MFC is a busy forum (of course except the Lounge)but my question is does Visual c++ is a live language or not,maybe you want to know why I ask this question I want to know does start to learn C++ is correct (because c++ isnt new istead C# or other languages) or I must to start with C# or other language? If you want to decide whats your choice? Thanks

                W Offline
                W Offline
                W Balboos GHB
                wrote on last edited by
                #40

                I went through the following sequence: Fortran Assembler (VAX) C C++ and occasionally, use C#, because uncle Bill made some items virtually inaccessable to C++ while available to C# (and ususally VB.NET). Fortran - this taught me the logic of programming. The rules are rather lax in many cases. One need not declare variables to use them, for example. No case sensitivity. I could code fluently - it was easier than using a spread sheet. Assembler - oddly enough, the computer security officer where I worked with a VAX Cluster is the one who encourage me to learn assembler in order to hack her system! It was a rough start, but before long I was coding amazingly lean functions which I could call from my Fortran. It also taught me some valuable lessons about types that automatically converted in Fortran (and other languages) - and what it cost to do so. And I came upon pointers and indirection. C - Fortran had no graphics library, and I was automating instruments with it. Graphs using happy faces were not very nice. Coding a very crude set of graphics functions (PC Assembler) was a help, but not very attractive. C (MS QuickC at the time) included an easy-to-use graphics library. Now I had a language that was case sensitive, and more difficult to cope with - I had to declare every symbol. What was originally perceived as a hassle was soon realized to be a blessing! No more slight mis-spellings creating bugs because they were considered valid code. (Yes - I learned about IMPLICT NONE, but who bothered?). Pointers were already familiar from Asslembler - the learning curve was fast. What fun expanding my available DOS memory by using the unused video RAM allocation as a scratch-pad! And my beloved Assembly could be done in-line whenever I had the need or urge. The best of all possible worlds! C++ - Really forced into it from C. I didn't like the immense amount of jargon (by comparison). However, after a little adaption, it all became as instinctive as C had become. It also forces you to get your house in order, compared to the pure anything goes of C . It was, eventually, my new C - and still my primary language. C# - as mentioned earlier, MS makes accessing some components difficult (or impossible) from C++, no doubt as a method to force up the number of C# programmers. It's not that I'm against it or anything - I just would have liked to do it on my own terms. Still, as an exercise, I wrote an app in C# instead of C++ : easier to type in, but no real advantage. Learning t

                1 Reply Last reply
                0
                • N New5

                  Hi everyone, I have a question, if you see forums on the codeproject they are active forums like Visual C++ / MFC,C#,... and at all forums Visual C++ / MFC is a busy forum (of course except the Lounge)but my question is does Visual c++ is a live language or not,maybe you want to know why I ask this question I want to know does start to learn C++ is correct (because c++ isnt new istead C# or other languages) or I must to start with C# or other language? If you want to decide whats your choice? Thanks

                  J Offline
                  J Offline
                  Jasmine2501
                  wrote on last edited by
                  #41

                  Better to start with C# or Java than to learn the bad habits promoted by C++ I did C++ for 10 years, maybe more, and the first time I looked at C# I said "jeez, I'm never going back to C++... thank god for this, that and the other thing" - I think it's a lot better language overall. This is a religious issue for some people though, so you should disregard what we all say and try it out for yourself. I think you will like C# if you take a look at both. Don't ignore Java, and don't ignore C++ either... you should know why things are done the way they are, and in a lot of cases, things that might seem weird in C# are done that way because of historical reasons (i.e. the C++ method caused problems) You should not base anything on your ability to ask questions in forums... before you start using any language, you should learn the basics of programming in general, be able to design an algorithm, understand how the computer works, that kind of thing. Then you won't be dependent on asking for help in forums, like SO MANY programmers seem to be. Learn the basics and you will be able to Google the answers to most of your problems. And there will be problems! As I'm reading these answers, it seems as if the people with a lot of C++ experience, and have really given C# a chance, really prefer C#. And those who are reluctant to try it or don't have enough C++ experience to know what a nightmare it can be, are religiously against something new... anyone else get that feeling?

                  "Quality Software since 1983!"
                  http://www.smoothjazzy.com/ - see the "Programming" section for freeware tools and articles.

                  1 Reply Last reply
                  0
                  • N New5

                    Hi everyone, I have a question, if you see forums on the codeproject they are active forums like Visual C++ / MFC,C#,... and at all forums Visual C++ / MFC is a busy forum (of course except the Lounge)but my question is does Visual c++ is a live language or not,maybe you want to know why I ask this question I want to know does start to learn C++ is correct (because c++ isnt new istead C# or other languages) or I must to start with C# or other language? If you want to decide whats your choice? Thanks

                    L Offline
                    L Offline
                    lmm
                    wrote on last edited by
                    #42

                    Start with C++ or even C. They'll teach you the principles of programming quickly. C# is similar semantically, but is much more about learning to use specific libraries in order to increase productivity. Learn to crawl before you run. If you're planning on a career in programming, you're going to be using several different languages as needed, and it will be easier to go from C++ to C# than the other way around. "Es bildet ein Talent sich in der Stille, ein Charakter in dem Strom der Welt." - Goethe

                    1 Reply Last reply
                    0
                    • N New5

                      Hi everyone, I have a question, if you see forums on the codeproject they are active forums like Visual C++ / MFC,C#,... and at all forums Visual C++ / MFC is a busy forum (of course except the Lounge)but my question is does Visual c++ is a live language or not,maybe you want to know why I ask this question I want to know does start to learn C++ is correct (because c++ isnt new istead C# or other languages) or I must to start with C# or other language? If you want to decide whats your choice? Thanks

                      P Offline
                      P Offline
                      patbob
                      wrote on last edited by
                      #43

                      C# is a gentler learning curve than C++. .NET library is a much gentler learning curve than MFC. However, since you can't see inside .NET or C#, they have behaviors and quirks that will likely leave you flummoxed. With C++ and MFC you'll have to learn all sorts of internals out of necessity.. but then there'll be less that perplexes you. If you intend to eventually learn both, and time isn't an issue, do the C++/MFC route first,then C#/.NET, else just do C# and stick with writing client apps and file-fiddling apps (C# isn't really a good match for lower level, tweak the hardware kind of work). You asked for opinions.. there's mine :)

                      patbob

                      1 Reply Last reply
                      0
                      • S ScottM1

                        Was the "== true" necessary? if (UseC++) { Messagebox.Show("You have the Spiderman lunchbox"); } else { Messagebox.Show("You hunt and kill and eat raw meat.") } Plus you have an illegal variable name :)

                        There are 10 types of people in the world, those who understand binary and those who dont.

                        D Offline
                        D Offline
                        davidogilvie
                        wrote on last edited by
                        #44

                        MessageBox.Show( UseCPlusPlus ? "You have the Spiderman lunchbox" : "You hunt and kill and eat raw meat.");

                        C 1 Reply Last reply
                        0
                        • D davidogilvie

                          MessageBox.Show( UseCPlusPlus ? "You have the Spiderman lunchbox" : "You hunt and kill and eat raw meat.");

                          C Offline
                          C Offline
                          Christopher Stratmann
                          wrote on last edited by
                          #45

                          I think it is really funny everyone in this thead is using C# syntax instead of C++ syntax. It should be

                          if (bUseCPlusPlus)
                          	MessageBox(NULL, "You have the Spiderman lunchbox.", "A True Man", MB_OK);
                          else
                          	MessageBox(NULL, "You hunt and kill and eat raw meat.", "Very Girly Man", MB_OK);
                          
                          D 1 Reply Last reply
                          0
                          • N New5

                            Hi everyone, I have a question, if you see forums on the codeproject they are active forums like Visual C++ / MFC,C#,... and at all forums Visual C++ / MFC is a busy forum (of course except the Lounge)but my question is does Visual c++ is a live language or not,maybe you want to know why I ask this question I want to know does start to learn C++ is correct (because c++ isnt new istead C# or other languages) or I must to start with C# or other language? If you want to decide whats your choice? Thanks

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

                            C++ is a tough language to learn from scratch. I'd go with C#, or why not Visual Basic.Net? Why worry about all that memory management stuff? I taught myself Basic (in 1981) on a computer without a stinking manual (thank you very much Ohio Scientific) and I was forced to learn a bit of Machine Language (Assembly) as well, and I've converted to the newer languages, after a 20 year hiatus (don't ask), without any problem, except with C++. I mean, why bother with all that extra stuff, when the computer will do it for you! Plus, I hate to use the brother card, since I'm 40, but my older brother, who practically built the entire internet his-self is of the opinion that C++ is a pain, use C# or VB.Net -- before adding that learning VB.Net is useless, since MS is phasing it out and not to wake him up to ask stupid questions anymore, he's building the internet in his sleep! OK, I'm done.

                            Shohom67

                            1 Reply Last reply
                            0
                            • C Christopher Stratmann

                              I think it is really funny everyone in this thead is using C# syntax instead of C++ syntax. It should be

                              if (bUseCPlusPlus)
                              	MessageBox(NULL, "You have the Spiderman lunchbox.", "A True Man", MB_OK);
                              else
                              	MessageBox(NULL, "You hunt and kill and eat raw meat.", "Very Girly Man", MB_OK);
                              
                              D Offline
                              D Offline
                              davidogilvie
                              wrote on last edited by
                              #47

                              Realistically speaking, I use C# strictly because I am a contract software developer and I work for companies that have chosen either C# or VB as their line of business software platform and I don't have the luxury of changing their choices nor do I need to. Language is quickly becoming more of a lifestyle choice in .Net than a limiting factor on functionality. My main constraint is time/maintainability and C# really comes through on that, particularly with the addition of generics and other features in VS2005. I changed from Vb.Net before that and from C++ before that and COBOL before that and ASM360 before that and Univac Basic before that and FORTRAN before that. So I say when in Rome do as the Romans. No man is an island, so program in whatever language is the most ubiquitous in your world so that you can most easily partner with others to make the most amazing software possible.

                              1 Reply Last reply
                              0
                              • N New5

                                Hi everyone, I have a question, if you see forums on the codeproject they are active forums like Visual C++ / MFC,C#,... and at all forums Visual C++ / MFC is a busy forum (of course except the Lounge)but my question is does Visual c++ is a live language or not,maybe you want to know why I ask this question I want to know does start to learn C++ is correct (because c++ isnt new istead C# or other languages) or I must to start with C# or other language? If you want to decide whats your choice? Thanks

                                M Offline
                                M Offline
                                matt_hile
                                wrote on last edited by
                                #48

                                They are all wrong start with Scheme or Lisp. C++ is very much alive and well, if you played a game recently odds are it was in c++. If you are learning this as your first language c++ might make your head hurt if you have no other programming experience, pointers, garbage collection, assuming unmanaged c++. Don't get caught up in the language, it's mostly just syntax. Learn the bigger abstract ideas that drive the language and you will easily be able to learn syntax for languages fairly quickly.

                                U 1 Reply Last reply
                                0
                                • C chappellc

                                  Really, the language itself is just semantics. The underlying issue is to get a fell for how things are supposed to work. An expert with the language can still write crappy code. Think OO. Think Framework. As a very wise programmer once told me, 'Programmers are going to be cheap. Move up the food chain. Think architecture.'

                                  M Offline
                                  M Offline
                                  MrOzark
                                  wrote on last edited by
                                  #49

                                  I completely agree. I am needing to fill some holes in my UML study and other architecture and design issues in order to move forward a project I'm working on. 3 and 4 story buildings are ok, but then you try to build a 12 story building and the thing just topples. So, 'back to the drawing board'...

                                  1 Reply Last reply
                                  0
                                  • A Andrew Drummond

                                    Forget learning MFC - there is nothing to learn from it except bad style. I would start by learning C from Kernighan & Ritchie. The language is simple with 32 keywords and is quick to learn. As well as several other languages being similar to it, the main advantage will be your gain in understanding of the stack and heap. It has been shown that good programmers have a consistent model of what a computer is doing to their program, whereas dodgy ones don't. Working with this book will help give you that model. The book is marvelously written and should instill you with an enthusiam for programming which you might not get from other texts. The managed languages hid most of this stack and heap usage from you but is very useful to know what is happening a little under the hood, so you can understand why performance problems occur, what the garbage collector is doing, etc. Type in and run the examples from the book and then do the exercises - it won't take long. Then learn something like Java or C# rather than C++. This will help with your design, imersing your in a more OO way of doing things than you would get from starting with C++, which is very powerful but, because it supports nearly all design and programming styles it is easy for you to go off in the wrong way, such as structural programming. Then you can learn C++ if you want more power, such as with generic programming, or even using the scoping style that C++ destuctors allow you. Avoid any book by Herb Schildt. Avoid the Java in a Nutshell books on O'Reilly. I haven't looked at the Petzold C# books but I would be wary based on his programming style from his Windows books. If you are going to learn C++ then Accelerated C++ by Andrew Keonig approaches the matter in a more modern style. You could then profitably read The C++ Object model by Stanley Lippman, assumming that you have read the Kernighan and Ritchie book. www.accu.org has a good book review list as well. regards, Andrew

                                    H Offline
                                    H Offline
                                    Hamed Musavi
                                    wrote on last edited by
                                    #50

                                    Andrew Drummond wrote:

                                    Forget learning MFC - there is nothing to learn from it except bad style.

                                    Could you please explain this more?

                                    // "Life is very short and is very fragile also." Yanni
                                    while (I'm_alive)
                                    {
                                    cout<<"I love programming.";
                                    }

                                    A 1 Reply Last reply
                                    0
                                    • M matt_hile

                                      They are all wrong start with Scheme or Lisp. C++ is very much alive and well, if you played a game recently odds are it was in c++. If you are learning this as your first language c++ might make your head hurt if you have no other programming experience, pointers, garbage collection, assuming unmanaged c++. Don't get caught up in the language, it's mostly just syntax. Learn the bigger abstract ideas that drive the language and you will easily be able to learn syntax for languages fairly quickly.

                                      U Offline
                                      U Offline
                                      User of Users Group
                                      wrote on last edited by
                                      #51

                                      > As I'm reading these answers, it seems as if the people with a lot of C++ experience, and have > really given C# a chance, really prefer C#. And those who are reluctant to try it or don't have > enough C++ experience to know what a nightmare it can be, are religiously against something > new... anyone else get that feeling? Quite the opposite, I get the feeling people who claim to understand C++, claim to have used more than 90% of it while it is far more likely it is something close to 10%. Oh ma look: Web-page with ___, Class as XML, SqlReader as untyped data, Designer to freedom etc, etc. I got into C# before it went public, heck even Java when Netscape was the only decent browser, and studied Smalltalk environments. It is mostly syntactic differences and all the perceived difference in semantics are easily emulated. It does not apply in reverse. I worked on translators and studied compilers and VMs and over time (12 years with 'managed' stuff) C++ just beats the hell out of all of them. That is why they write those platforms in C++, because it gives them the power to boot (read it as:exist), and when you dig into their source code a bit you see they are not even using 50% of the modern C++ in your favourite candy/chocolate/beloved runtime. Many times I see comments such as 'I worked with it longer than that', without any hint they actually improved their knowledge of C++ on weekly basis or that they utilised anything like reverse iterators, more than 5 algorithms, template template arguments or typelists (most of which Java and C# cannot even touch to date). And I agree with the poster on Lisp, it is probably a great place to look into as well. Sure C# and Java can be more productive, but 90% of the time it doesn't make you learn anything new. It dumbs you down in fact for the golden torch that is productivity. Of course it matter hence you use the right tool for the right job, you know to get paid, but when you I see messages like others wrote on 'bad', almost inferior etc it makes me laugh. Money is not everything and attempting to gain knowledge is as satisfactory. 90% of your language advanced features are stolen from C++ concepts and still handicapped. And sure C++ is for mature developers (MFC is a mess because of C++ compiler history primarily, templates or runtime info was not even agreed on back then). C++ is very complex (price you pay for great expressive power), it is even more difficult to start right with it, and they estimate there are only around a 100 or so

                                      1 Reply Last reply
                                      0
                                      • H Hamed Musavi

                                        Andrew Drummond wrote:

                                        Forget learning MFC - there is nothing to learn from it except bad style.

                                        Could you please explain this more?

                                        // "Life is very short and is very fragile also." Yanni
                                        while (I'm_alive)
                                        {
                                        cout<<"I love programming.";
                                        }

                                        A Offline
                                        A Offline
                                        Andrew Drummond
                                        wrote on last edited by
                                        #52

                                        'cos it doesn't exhibit very good design. Classes with massive interfaces including methods factored down to the base when they have no business being there as they only apply to a specialised case. The ATL class however is much more interesting but is only worth looking at if you decide to go the C++ route and are studying generic programming techniques, which are one of the major reasons for going with C++ rather than Java or C#. Even if you end up with C++, going through Java (or C#) is still to be recommended as your C++ style will benefit. I would also going Java rather than C# myself. Programming books written by people with a Unix background, and particular AT&T, tend to show much better style than anything written by people with a Windows background. C# books would tend to come from the latter.

                                        H 1 Reply Last reply
                                        0
                                        • A Andrew Drummond

                                          'cos it doesn't exhibit very good design. Classes with massive interfaces including methods factored down to the base when they have no business being there as they only apply to a specialised case. The ATL class however is much more interesting but is only worth looking at if you decide to go the C++ route and are studying generic programming techniques, which are one of the major reasons for going with C++ rather than Java or C#. Even if you end up with C++, going through Java (or C#) is still to be recommended as your C++ style will benefit. I would also going Java rather than C# myself. Programming books written by people with a Unix background, and particular AT&T, tend to show much better style than anything written by people with a Windows background. C# books would tend to come from the latter.

                                          H Offline
                                          H Offline
                                          Hamed Musavi
                                          wrote on last edited by
                                          #53

                                          First off, the fellows question is: but my question is does Visual c++ is a live language or not,...I want to know does start to learn C++ is correct (because c++ isnt new istead C# or other languages)? In my opinion, comparing MFC with c# or Java is not true. Needless to say that, while C++, C#, Basic and Java are each one a separate language, MFC is not. So this is not a true comparison. Second:

                                          Andrew Drummond wrote:

                                          there is nothing to learn from it except bad style

                                          Totally disagree, I learned a lot of good things from MFC;), but more realistically, what you call bad style or perhaps more accurately bad OOP style, is some part because of the fact that MFC is a low level framework, wrapping Win APIs, which are C based. That is, you have to work with structures, event driven, bad object design (like we mostly need to call Create,...) which could be better of course. What I expected to be said, was that you introduce C++, then name different technologies and their pros and cons. This way one might compare MFC with CodeJock, WTL, ATL, Qt, etc. But C# actually is another programming language with another technology.

                                          Andrew Drummond wrote:

                                          Classes with massive interfaces including methods factored down to the base when they have no business being there as they only apply to a specialised case.

                                          However I don't understand this clearly, either because I'm not a native English, or I'm not an expert yet, but this seems not to be so much problem for some one who learns MFC. In fact there are bigger problems that I can name and there are with all technologies. Nothing is perfect.

                                          Andrew Drummond wrote:

                                          Even if you end up with C++, going through Java (or C#) is still to be recommended as your C++ style will benefit.

                                          Again disagree, Standard C++ does not have what C# or Java introduce, like Garbage collection, Thread pool, etc. These are modern technologies (I think some of them considered in C++ 0x, however.)

                                          Andrew Drummond wrote:

                                          I would also going Java rather than C# myself. Programming books written by people with a Unix background, and particular AT&T, tend to show much better style than anything written by people with a Windows background. C# books would tend to come from the latter.

                                          This is another story;)

                                          A 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