C++ v Java v ???
-
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...
-
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...
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.”
-
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...
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
-
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...
-
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.”
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.
-
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...
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 -
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...
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
-
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
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.
-
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...
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.
-
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 -
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.
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.”
-
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...
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
-
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...
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
-
That doesn't contradict my statement ;)
Agh! Reality! My Archnemesis![^]
| FoldWithUs! | sighist | WhoIncludes - Analyzing C++ include file hierarchy -
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...
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
-
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...
-
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...
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.
-
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.
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.
-
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.
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