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++ v Java v ???

C++ v Java v ???

Scheduled Pinned Locked Moved The Lounge
learningc++javaswiftcom
34 Posts 24 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.
  • M MSoulia

    Hi All - If you wouldn't mind, I would like your input, zealots and all, regarding the time honored debate of a learning programming language. I'm once again involved in a discussion as to which language, C++ or Java (or Objective-C) is best suited for a 2nd term programming course. Java pundits point to tiobe.com. Us C++ guys have a keen eye on the pending C++0x release and its current boost libs. The course is currently taught in C++. What other surveys, polls, etc. (admittedly not nearly as diverse and informed as CodeProject) would compare to tiobe.com? Thank you. Let the games begin...

    D Offline
    D Offline
    Dan Neely
    wrote on last edited by
    #3

    Tiobe is basically counting google/etc hits. It's not really anything I could consider a useful metric for measuring use/employment levels. That said, what language is your CS101 class taught in? IMO the first few general programming classes should all use the same language so that you can concentrate on teaching programming not the platform itself. Either C/C++/Java/C# could be used for the core courses without major problems IMO. However at some point at least one of C/C++ (memory management, pointers) and one of C#/Java (real world, higher level, standard libraries that don't suck or make you reinvent the wheel) need to be taught before graduation. A web course with CSS/Ajax/html5/buzzwords probably needs done as well, although the backend language here probably matters less.

    3x12=36 2x12=24 1x12=12 0x12=18

    M M 2 Replies Last reply
    0
    • M MSoulia

      Hi All - If you wouldn't mind, I would like your input, zealots and all, regarding the time honored debate of a learning programming language. I'm once again involved in a discussion as to which language, C++ or Java (or Objective-C) is best suited for a 2nd term programming course. Java pundits point to tiobe.com. Us C++ guys have a keen eye on the pending C++0x release and its current boost libs. The course is currently taught in C++. What other surveys, polls, etc. (admittedly not nearly as diverse and informed as CodeProject) would compare to tiobe.com? Thank you. Let the games begin...

      T Offline
      T Offline
      Tomz_KV
      wrote on last edited by
      #4

      Java's future is currently unknown due to Sun's merge to Oracle.

      TOMZ_KV

      1 Reply Last reply
      0
      • H Henry Minute

        Any suggestion really depends on the course objectives. Different languages are better at enabling different techniques/methodologies.

        Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.”

        M Offline
        M Offline
        MSoulia
        wrote on last edited by
        #5

        Henry, thanks for the input. A recent MSDN article lamented the lack of basic programming skills with recent CS grads. Goals here include purely fundamental CS concepts - how to write a small program to compute squares from an input array, implementing the WaTor world simulation. More along the OO track versus procedural languages. Nothing specialized, yet, e.g. real-time control, etc. Just basic OO programming.

        H 1 Reply Last reply
        0
        • M MSoulia

          Hi All - If you wouldn't mind, I would like your input, zealots and all, regarding the time honored debate of a learning programming language. I'm once again involved in a discussion as to which language, C++ or Java (or Objective-C) is best suited for a 2nd term programming course. Java pundits point to tiobe.com. Us C++ guys have a keen eye on the pending C++0x release and its current boost libs. The course is currently taught in C++. What other surveys, polls, etc. (admittedly not nearly as diverse and informed as CodeProject) would compare to tiobe.com? Thank you. Let the games begin...

          P Offline
          P Offline
          peterchen
          wrote on last edited by
          #6

          Real men learn C++. Metrosexual men learn C#. Java is a for compsci majors playing with GOF patterns. Yeah, Java huggers, smoke that!

          Agh! Reality! My Archnemesis![^]
          | FoldWithUs! | sighist | WhoIncludes - Analyzing C++ include file hierarchy

          M 1 Reply Last reply
          0
          • M MSoulia

            Hi All - If you wouldn't mind, I would like your input, zealots and all, regarding the time honored debate of a learning programming language. I'm once again involved in a discussion as to which language, C++ or Java (or Objective-C) is best suited for a 2nd term programming course. Java pundits point to tiobe.com. Us C++ guys have a keen eye on the pending C++0x release and its current boost libs. The course is currently taught in C++. What other surveys, polls, etc. (admittedly not nearly as diverse and informed as CodeProject) would compare to tiobe.com? Thank you. Let the games begin...

            J Offline
            J Offline
            Jeremy Falcon
            wrote on last edited by
            #7

            MSoulia wrote:

            I'm once again involved in a discussion as to which language, C++ or Java (or Objective-C) is best suited for a 2nd term programming course.

            It would depend on your career objectives IMO. Unless of course you win the lottery, in which case I suggest flipping a coin. :)

            Jeremy Falcon

            1 Reply Last reply
            0
            • M MSoulia

              Hi All - If you wouldn't mind, I would like your input, zealots and all, regarding the time honored debate of a learning programming language. I'm once again involved in a discussion as to which language, C++ or Java (or Objective-C) is best suited for a 2nd term programming course. Java pundits point to tiobe.com. Us C++ guys have a keen eye on the pending C++0x release and its current boost libs. The course is currently taught in C++. What other surveys, polls, etc. (admittedly not nearly as diverse and informed as CodeProject) would compare to tiobe.com? Thank you. Let the games begin...

              D Offline
              D Offline
              Dave Parker
              wrote on last edited by
              #8

              I'd say all are more useful than the several modules of lotus notes plus the module in fortran we had to do. Then again I'm stuck in foxpro land at the moment. My guess is that Java and .NET are most in demand, they tend to be the best choices for developing most general business apps imo. There don't seem to be many C++ jobs around which is just as well as I don't think many would be able to handle it.

              S 1 Reply Last reply
              0
              • D Dan Neely

                Tiobe is basically counting google/etc hits. It's not really anything I could consider a useful metric for measuring use/employment levels. That said, what language is your CS101 class taught in? IMO the first few general programming classes should all use the same language so that you can concentrate on teaching programming not the platform itself. Either C/C++/Java/C# could be used for the core courses without major problems IMO. However at some point at least one of C/C++ (memory management, pointers) and one of C#/Java (real world, higher level, standard libraries that don't suck or make you reinvent the wheel) need to be taught before graduation. A web course with CSS/Ajax/html5/buzzwords probably needs done as well, although the backend language here probably matters less.

                3x12=36 2x12=24 1x12=12 0x12=18

                M Offline
                M Offline
                MSoulia
                wrote on last edited by
                #9

                Thanks, Dan. Interesting info on tiobe. The students have had a C course. This would be their second programming course. The text I use is Savitch's Absolute C++, AW. This may shed light as to subject material. I do offer a third special topics course that implements the MIT Beer game or Hunt the Wumpus in a distributed environmnet in C# (and XAML). WRT the MSDN article I mentioned above, I think a good portion of the beginning 2nd term students might fail on your tag line.

                D E C 3 Replies Last reply
                0
                • P peterchen

                  Real men learn C++. Metrosexual men learn C#. Java is a for compsci majors playing with GOF patterns. Yeah, Java huggers, smoke that!

                  Agh! Reality! My Archnemesis![^]
                  | FoldWithUs! | sighist | WhoIncludes - Analyzing C++ include file hierarchy

                  M Offline
                  M Offline
                  MSoulia
                  wrote on last edited by
                  #10

                  I use GOF with C++ and C#.

                  P 1 Reply Last reply
                  0
                  • M MSoulia

                    Henry, thanks for the input. A recent MSDN article lamented the lack of basic programming skills with recent CS grads. Goals here include purely fundamental CS concepts - how to write a small program to compute squares from an input array, implementing the WaTor world simulation. More along the OO track versus procedural languages. Nothing specialized, yet, e.g. real-time control, etc. Just basic OO programming.

                    H Offline
                    H Offline
                    Henry Minute
                    wrote on last edited by
                    #11

                    If it's OO that's required then SmallTalk or one of its derivatives is probably the best for that, in a 'pure' sort of way. I don't keep up like I used to but I can't think of another language where "everything is an object". After using that as an introduction to OO principles I would move on to C++ or C#. That'll teach the buggers about the real world. :) 'Transferable skills' and all that training oriented buzz speak.

                    Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.”

                    1 Reply Last reply
                    0
                    • M MSoulia

                      Hi All - If you wouldn't mind, I would like your input, zealots and all, regarding the time honored debate of a learning programming language. I'm once again involved in a discussion as to which language, C++ or Java (or Objective-C) is best suited for a 2nd term programming course. Java pundits point to tiobe.com. Us C++ guys have a keen eye on the pending C++0x release and its current boost libs. The course is currently taught in C++. What other surveys, polls, etc. (admittedly not nearly as diverse and informed as CodeProject) would compare to tiobe.com? Thank you. Let the games begin...

                      E Offline
                      E Offline
                      Ennis Ray Lynch Jr
                      wrote on last edited by
                      #12

                      My introduction to computing class used pseudo code so students would have to focus on concepts and not rely on language features. Imagine having to write your first binary search tree with nothing more than a pen, paper, and a rudimentary understanding of doubly linked lists. And then the merge sort ...

                      Need custom software developed? I do custom programming based primarily on MS tools with an emphasis on C# development and consulting. I also do Android Programming as I find it a refreshing break from the MS. "And they, since they Were not the one dead, turned to their affairs" -- Robert Frost

                      L 1 Reply Last reply
                      0
                      • M MSoulia

                        Hi All - If you wouldn't mind, I would like your input, zealots and all, regarding the time honored debate of a learning programming language. I'm once again involved in a discussion as to which language, C++ or Java (or Objective-C) is best suited for a 2nd term programming course. Java pundits point to tiobe.com. Us C++ guys have a keen eye on the pending C++0x release and its current boost libs. The course is currently taught in C++. What other surveys, polls, etc. (admittedly not nearly as diverse and informed as CodeProject) would compare to tiobe.com? Thank you. Let the games begin...

                        C Offline
                        C Offline
                        c2423
                        wrote on last edited by
                        #13

                        Depends - are you taking the course yourself or teaching it? If you are taking the course yourself, I would suggest that you attempt every program in both languages - they both have their merits which you will better grasp by attempting both (remember of course that it's not just a translation between the two, but that you should embrace the programming style of whichever language you are using at the time). Obviously a lot more work then choosing one, but hopefully the benefits are clear. If you are teaching it, then <wearing="flameproof suit"> C++ is better for learning about languages and their syntax, while Java is better for teaching algorithms (less pointer stuff to worry about means more time taken on the actual algorithm).</wearing> Just my 2c. Chris

                        1 Reply Last reply
                        0
                        • M MSoulia

                          I use GOF with C++ and C#.

                          P Offline
                          P Offline
                          peterchen
                          wrote on last edited by
                          #14

                          That doesn't contradict my statement ;)

                          Agh! Reality! My Archnemesis![^]
                          | FoldWithUs! | sighist | WhoIncludes - Analyzing C++ include file hierarchy

                          1 Reply Last reply
                          0
                          • M MSoulia

                            Hi All - If you wouldn't mind, I would like your input, zealots and all, regarding the time honored debate of a learning programming language. I'm once again involved in a discussion as to which language, C++ or Java (or Objective-C) is best suited for a 2nd term programming course. Java pundits point to tiobe.com. Us C++ guys have a keen eye on the pending C++0x release and its current boost libs. The course is currently taught in C++. What other surveys, polls, etc. (admittedly not nearly as diverse and informed as CodeProject) would compare to tiobe.com? Thank you. Let the games begin...

                            R Offline
                            R Offline
                            Ravi Bhavnani
                            wrote on last edited by
                            #15

                            I would recommend learning Java over C++ for 3 reasons:

                            • It contains many of the concepts present in modern programming languages.
                            • Assuming you're a competent programmer, you can get a job if you know Java.
                            • It makes learning C#/.NET a breeze.  Assuming you're a competent programmer, you can get a job if you know C#.NET.

                            /ravi

                            My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

                            1 Reply Last reply
                            0
                            • M MSoulia

                              Hi All - If you wouldn't mind, I would like your input, zealots and all, regarding the time honored debate of a learning programming language. I'm once again involved in a discussion as to which language, C++ or Java (or Objective-C) is best suited for a 2nd term programming course. Java pundits point to tiobe.com. Us C++ guys have a keen eye on the pending C++0x release and its current boost libs. The course is currently taught in C++. What other surveys, polls, etc. (admittedly not nearly as diverse and informed as CodeProject) would compare to tiobe.com? Thank you. Let the games begin...

                              N Offline
                              N Offline
                              Nemanja Trifunovic
                              wrote on last edited by
                              #16

                              The Perils of Java Schools[^]

                              utf8-cpp

                              M 1 Reply Last reply
                              0
                              • M MSoulia

                                Hi All - If you wouldn't mind, I would like your input, zealots and all, regarding the time honored debate of a learning programming language. I'm once again involved in a discussion as to which language, C++ or Java (or Objective-C) is best suited for a 2nd term programming course. Java pundits point to tiobe.com. Us C++ guys have a keen eye on the pending C++0x release and its current boost libs. The course is currently taught in C++. What other surveys, polls, etc. (admittedly not nearly as diverse and informed as CodeProject) would compare to tiobe.com? Thank you. Let the games begin...

                                J Offline
                                J Offline
                                Joe Woodbury
                                wrote on last edited by
                                #17

                                I fanatically suggest C using the C++ compiler; I'll call it C/C++. (Among other things, it lets you transition to C++ easier and lets you take advantage of many C++isms in procedural code AND it teaches developers that you don't have to use templates and write convoluted classes to write C++ code!) One of the biggest problems with new developers is that they are amazingly ignorant about how computers work. They tend to be oblivious of what their code translates into in real terms. They assume garbage collector means more than it does (that they can sit in a tight loop doing new xxx every iteration!) C/C++ teaches you HOW a computer works and HOW languages really do what they do beneath the covers. When taught with Windows, it also teaches the base API and how Windows works which is also helpful. Java and .NET aren't just magic, but it seems that way too many new developers treat them like they are. C/C++ also makes teaching basic algorithms fairly straightforward--and by that I don't just mean the concept of the algorithm, but how it really works. Yes, it can be ugly, but you can avoid that with good planning. (All languages can get quite ugly, C/C++ just hands you the shotgun, takes off the safety and aims it at your feet for you. But with that power, you get understanding and that is sorely lacking with too many recent graduates.) I do a lot of embedded development. If I've learned one thing is that it's really hard to teach Java/C#/VB programmers to write decent embedded code, even in their own damn languages, let alone C/C++. I now prepare myself for the howls of protest and boldly state: OOP is an oversold concept. I can't count the times that simple procedural code (or simple classes treating methods procedurally) makes faster, easier to understand and much more stable code. Even if it took a little more time to write (which it does less often than many think) the time saved on debugging and maintenance, let alone support calls, makes up for it. Another advantage of C; Visual Studio. Yeah VS 2010 sucks blah blah blah, but it's still the best damn thing on the market by magnitudes. One of the best ways to learn C is to use the debugger (plus having fresh graduates actually know how to use a debugger would be a HUGE leap forward.) I seriously recommend C as the starting language for everyone.

                                M D M 3 Replies Last reply
                                0
                                • J Joe Woodbury

                                  I fanatically suggest C using the C++ compiler; I'll call it C/C++. (Among other things, it lets you transition to C++ easier and lets you take advantage of many C++isms in procedural code AND it teaches developers that you don't have to use templates and write convoluted classes to write C++ code!) One of the biggest problems with new developers is that they are amazingly ignorant about how computers work. They tend to be oblivious of what their code translates into in real terms. They assume garbage collector means more than it does (that they can sit in a tight loop doing new xxx every iteration!) C/C++ teaches you HOW a computer works and HOW languages really do what they do beneath the covers. When taught with Windows, it also teaches the base API and how Windows works which is also helpful. Java and .NET aren't just magic, but it seems that way too many new developers treat them like they are. C/C++ also makes teaching basic algorithms fairly straightforward--and by that I don't just mean the concept of the algorithm, but how it really works. Yes, it can be ugly, but you can avoid that with good planning. (All languages can get quite ugly, C/C++ just hands you the shotgun, takes off the safety and aims it at your feet for you. But with that power, you get understanding and that is sorely lacking with too many recent graduates.) I do a lot of embedded development. If I've learned one thing is that it's really hard to teach Java/C#/VB programmers to write decent embedded code, even in their own damn languages, let alone C/C++. I now prepare myself for the howls of protest and boldly state: OOP is an oversold concept. I can't count the times that simple procedural code (or simple classes treating methods procedurally) makes faster, easier to understand and much more stable code. Even if it took a little more time to write (which it does less often than many think) the time saved on debugging and maintenance, let alone support calls, makes up for it. Another advantage of C; Visual Studio. Yeah VS 2010 sucks blah blah blah, but it's still the best damn thing on the market by magnitudes. One of the best ways to learn C is to use the debugger (plus having fresh graduates actually know how to use a debugger would be a HUGE leap forward.) I seriously recommend C as the starting language for everyone.

                                  M Offline
                                  M Offline
                                  MSoulia
                                  wrote on last edited by
                                  #18

                                  Great feedback. I've done a bunch of embedded stuff with C++. I've found the object modeling a great tool for design, maintenance, etc. I've also done some modifications or "feature enhancements" of truly ugly embedded C code. I still vote for OOP over procedural here. I'm sure this will be an ongoing lively debate. The simple C code always seems to grow - a la Therac25. Also, if I recall, didn't the MIT autonomous vehicle in the DARPA challenge quite every 45 minutes due to memory leakage? If garbage collection still confounds this caliber of programmers / engineers, the 2nd years haven't got much of a chance. I totally agree with you on VS2010. The capability for developing debugging skills is fantastic.

                                  1 Reply Last reply
                                  0
                                  • N Nemanja Trifunovic

                                    The Perils of Java Schools[^]

                                    utf8-cpp

                                    M Offline
                                    M Offline
                                    MSoulia
                                    wrote on last edited by
                                    #19

                                    Ah, yes. Joel to the rescue. If this wasn't my favorite site, I'ld have started there!

                                    1 Reply Last reply
                                    0
                                    • M MSoulia

                                      Thanks, Dan. Interesting info on tiobe. The students have had a C course. This would be their second programming course. The text I use is Savitch's Absolute C++, AW. This may shed light as to subject material. I do offer a third special topics course that implements the MIT Beer game or Hunt the Wumpus in a distributed environmnet in C# (and XAML). WRT the MSDN article I mentioned above, I think a good portion of the beginning 2nd term students might fail on your tag line.

                                      D Offline
                                      D Offline
                                      Dan Neely
                                      wrote on last edited by
                                      #20

                                      MSoulia wrote:

                                      The students have had a C course

                                      If they started with C I think they probably should stay with C/C++ for the rest of the core/into courses.

                                      MSoulia wrote:

                                      I think a good portion of the beginning 2nd term students might fail on your tag line.

                                      IF their CS101 teacher failed them that badly I guess it'll be up to you to fill in the gaps in what they should've learned while covering new material.

                                      3x12=36 2x12=24 1x12=12 0x12=18

                                      1 Reply Last reply
                                      0
                                      • J Joe Woodbury

                                        I fanatically suggest C using the C++ compiler; I'll call it C/C++. (Among other things, it lets you transition to C++ easier and lets you take advantage of many C++isms in procedural code AND it teaches developers that you don't have to use templates and write convoluted classes to write C++ code!) One of the biggest problems with new developers is that they are amazingly ignorant about how computers work. They tend to be oblivious of what their code translates into in real terms. They assume garbage collector means more than it does (that they can sit in a tight loop doing new xxx every iteration!) C/C++ teaches you HOW a computer works and HOW languages really do what they do beneath the covers. When taught with Windows, it also teaches the base API and how Windows works which is also helpful. Java and .NET aren't just magic, but it seems that way too many new developers treat them like they are. C/C++ also makes teaching basic algorithms fairly straightforward--and by that I don't just mean the concept of the algorithm, but how it really works. Yes, it can be ugly, but you can avoid that with good planning. (All languages can get quite ugly, C/C++ just hands you the shotgun, takes off the safety and aims it at your feet for you. But with that power, you get understanding and that is sorely lacking with too many recent graduates.) I do a lot of embedded development. If I've learned one thing is that it's really hard to teach Java/C#/VB programmers to write decent embedded code, even in their own damn languages, let alone C/C++. I now prepare myself for the howls of protest and boldly state: OOP is an oversold concept. I can't count the times that simple procedural code (or simple classes treating methods procedurally) makes faster, easier to understand and much more stable code. Even if it took a little more time to write (which it does less often than many think) the time saved on debugging and maintenance, let alone support calls, makes up for it. Another advantage of C; Visual Studio. Yeah VS 2010 sucks blah blah blah, but it's still the best damn thing on the market by magnitudes. One of the best ways to learn C is to use the debugger (plus having fresh graduates actually know how to use a debugger would be a HUGE leap forward.) I seriously recommend C as the starting language for everyone.

                                        D Offline
                                        D Offline
                                        Dan Neely
                                        wrote on last edited by
                                        #21

                                        Joe Woodbury wrote:

                                        Another advantage of C; Visual Studio. Yeah VS 2010 sucks blah blah blah, but it's still the best damn thing on the market by magnitudes. One of the best ways to learn C is to use the debugger (plus having fresh graduates actually know how to use a debugger would be a HUGE leap forward.)

                                        Agree. Learning a debugger should be part of any intro course regardless of the language/platform.

                                        3x12=36 2x12=24 1x12=12 0x12=18

                                        1 Reply Last reply
                                        0
                                        • M MSoulia

                                          Hi All - If you wouldn't mind, I would like your input, zealots and all, regarding the time honored debate of a learning programming language. I'm once again involved in a discussion as to which language, C++ or Java (or Objective-C) is best suited for a 2nd term programming course. Java pundits point to tiobe.com. Us C++ guys have a keen eye on the pending C++0x release and its current boost libs. The course is currently taught in C++. What other surveys, polls, etc. (admittedly not nearly as diverse and informed as CodeProject) would compare to tiobe.com? Thank you. Let the games begin...

                                          M Offline
                                          M Offline
                                          Mustafa Ismail Mustafa
                                          wrote on last edited by
                                          #22

                                          If I had the choice of teaching a class across at least one semester, then I'd definitely introduce several concepts. The most important of which is that a programming language is nothing more than a tool that translates the concepts that you should know into binary. I'd plan out a project that would last the whole semester with twice a week checks to make sure that things are on track. Start with pseudo-code and from there onto C or Python. Yes, Python. On top of all that, to make sure that students learn the concepts right, I wouldn't have them do things through an IDE, let them boot strap themselves. Vim on Linux, they want to learn to understand compiler outputs, proper debugging.. Of course, these are just pointers on how to go about it, but I'm certain it will drill how things work into their brain. This way, when they tackle a problem, they can think their way into a solution. That is the most important thing, not a language.

                                          If the post was helpful, please vote, eh! Current activities: Playing Star Craft II. Don't bother me, eh? Now and forever, defiant to the end. What is Multiple Sclerosis[^]?

                                          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