Thread: Insulted for using C++?

  1. #16
    Deprecated Dae's Avatar
    Join Date
    Oct 2004
    Location
    Canada
    Posts
    1,034
    You could always remove the walls when the child grows into a teenager. I don't think you can seriously equate a real-life analogy with programming languages without being ridiculous.

    I personally believe C# and Java are easier to get up and going and showing the results of CS subjects. I personally believe the beginner to intermediate syntax is much simpler in C# than Java than C++. You can write libraries using libraries, so I don't see your point. Normally we want students writing (hopefully useful) applications, and sometimes libraries, that teach the student something that goes beyond language choice. That just so happens to be easier for more subjects, and more manageable, when a language abstracts certain details from the user (pointers, memory management, templates, etc). There's too many little things to cover using C++ for year 1-2 university courses, at least unless the university has a high admission requirement, where it is to be expected (caltech, mit, berkeley, stanford, etc). It seems like university language choices the last 5+ years would agree. However I do think C++0x will be an improvement, and they could probably get by using C++ with Boost, but it's still a flawed teaching tool in comparison to a run-time language.

    We might have to agree to disagree.
    Warning: Have doubt in anything I post.

    GCC 4.5, Boost 1.40, Code::Blocks 8.02, Ubuntu 9.10 010001000110000101100101

  2. #17
    Reverse Engineer maxorator's Avatar
    Join Date
    Aug 2005
    Location
    Estonia
    Posts
    2,318
    Quote Originally Posted by DavidP View Post
    Sure, Java and C# have tons more libraries...but do we want students to be using those? No...we normally want students to be writing those...hence why even care about whether Java and C# have the libraries?
    They might have more official libraries, but I'm pretty certain there are much more 3rd-party libraries for C++ than for Java or C#. C++ has just been around for so much longer. I don't care how much integrated/bundled/official libraries there are, since they aren't better than the 3rd-party ones.
    "The Internet treats censorship as damage and routes around it." - John Gilmore

  3. #18
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    It's not that I disagree with you entirely. But some food for thought...

    Quote Originally Posted by Dae View Post
    I personally believe C# and Java are easier to get up and going and showing the results of CS subjects.
    What is being taught? How to write programs, or how to program? Because quite frankly before you write a program, you should learn how to program. And most any language does the trick.

    Normally we want students writing (hopefully useful) applications, and sometimes libraries, that teach the student something that goes beyond language choice.
    Lofty goals. But not practical, really. I'd like you to name me useful applications coming of the hands of students during their first couple years in a programming course. Concentrate instead on teaching how to program.

    That just so happens to be easier for more subjects, and more manageable, when a language abstracts certain details from the user (pointers, memory management, templates, etc).
    And hides so many other things so important to programming. Ever tried teaching procedural programming with Java? C++ at least offers a few paradigms under the same language. Much more flexible as a teaching tool.

    We might have to agree to disagree.
    The fact C++ may not be the tool of choice for teaching programming is not debatable (assuming there are practical reasons). What is heavily debatable is the idea that one language is better than another for teaching purposes. And that is not an issue you can discard with such a straw man statement.

    There's a whole lot of things you cannot, or will have trouble, teaching using a language like Java and that are essential to an understanding of programming as a profession. You can argue they may not be needed within the nature of a specific course. I'd agree. And I would suggest Java then (and I could as easily suggest Visual Basic or Ruby and I'd dare you to deny me). But that doesn't make the language a better learning tool. It makes it a limited learning tool.
    Last edited by Mario F.; 09-16-2009 at 09:17 AM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  4. #19
    l'Anziano DavidP's Avatar
    Join Date
    Aug 2001
    Location
    Plano, Texas, United States
    Posts
    2,743
    I don't think you can seriously equate a real-life analogy with programming languages without being ridiculous.
    You don't? You're missing out on some important lessons then...because I think a lot of real life lessons can be applied to programming and vice-versa.
    My Website

    "Circular logic is good because it is."

  5. #20
    Registered User
    Join Date
    Sep 2004
    Location
    California
    Posts
    3,268
    Saying C# or Java is better than C++ is like saying a hammer is better than a screwdriver. All it does it display the person's ignorance surrounds the tools.

    Note that many people in this thread are guilty of the exact same thing though when they say C++ is better than Java and C#...
    bit∙hub [bit-huhb] n. A source and destination for information.

  6. #21
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,660
    To re-use bithub's carpenter metaphor - he's nailed this one!
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.

  7. #22
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Has he, really?

    I took offense of the "many" qualification, since I can count on this thread only 1 or 2 posts ever coming close to saying that. May have nailed it. But on the wrong plank.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  8. #23
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,660
    Well if you want to carry on arguing x vs. y for no readily apparent reason other than to pass the time, then go ahead.
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.

  9. #24
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Lovely. A thread stopper.
    I could try and get to your perch. But it's just too high for me. I'll stick around here.
    Last edited by Mario F.; 09-16-2009 at 10:58 AM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  10. #25
    Registered User
    Join Date
    Sep 2004
    Location
    California
    Posts
    3,268
    Quote Originally Posted by Mario F.
    I took offense of the "many" qualification, since I can count on this thread only 1 or 2 posts ever coming close to saying that
    I think there's enough in this thread to qualify my "many" statement. If not, then just substitute that word with "some" and then everyone will be happy. I was just trying to head off the inevitable point where Elysia joins this thread and turns it into a full blown C++ vs other languages thread.

    Maybe there was just 3 people in which case "some" would have been a better choice.
    Quote Originally Posted by abachler
    Java and C# are the easy button of programming languages. Great for writing flash ads that try to sell natural male enhancements
    Quote Originally Posted by EVOEx
    If anybody would tell me to use C# or Java I would laugh at their face as though they'd just ........ed on themselves
    Quote Originally Posted by DavidP
    C++ is an excellent language, and in my mind is far superior to both Java and C#
    bit∙hub [bit-huhb] n. A source and destination for information.

  11. #26
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Hey, did I tell you the one about how C++ programmers being "defensive"? I think they are just "paradigm baiting".

    Quote Originally Posted by MK27 View Post
    ps. this is tangential BUT clandestine investigation is leading closer to and closer to the conclusion that Linus Torvalds == Elysia. Now that's crafty
    Last edited by MK27; 09-16-2009 at 11:44 AM.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  12. #27
    Malum in se abachler's Avatar
    Join Date
    Apr 2007
    Posts
    3,195
    Quote Originally Posted by DavidP View Post
    Sure, Java and C# have tons more libraries...but do we want students to be using those? No...we normally want students to be writing those...hence why even care about whether Java and C# have the libraries?

    In terms of syntax....the syntax is pretty much the same for all 3 languages, and in many cases Java and C# have more complicated syntax because there are extensions to those languages which change their syntax a bit.
    I'm pretty sure that C++ has WAY WAY WAY more libraries available. They just don't come prepackaged with the compiler.

    C++ also has a much larger open source dev community, installed code base, and more and better written support literature. Plus it lends itself to cool graphics like this ...

  13. #28
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    Quote Originally Posted by abachler
    Plus it lends itself to cool graphics like this ...
    To be fair, you could do that with C# too
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  14. #29
    Malum in se abachler's Avatar
    Join Date
    Apr 2007
    Posts
    3,195
    Quote Originally Posted by laserlight View Post
    To be fair, you could do that with C# too
    Yeah but that would be lame, because C# is lame low tech easy button

    Besides, a C++ programmer thought of it first, because we are smarter faster sexier and gosh darn it people like us.
    Last edited by abachler; 09-16-2009 at 12:29 PM.

  15. #30
    l'Anziano DavidP's Avatar
    Join Date
    Aug 2001
    Location
    Plano, Texas, United States
    Posts
    2,743
    I'm pretty sure that C++ has WAY WAY WAY more libraries available. They just don't come prepackaged with the compiler.
    abachler, my point in that statement was not to define how many libraries one language has compared to another language. Yes, I know quite well that C++ has thousands of libraries available to it. I was referring to standard libraries. But once again...that was not the purpose of my statement.

    The purpose of my statement was to say that we want students to be writing those libraries, not using pre-written ones. Students are often given the task of writing linked lists, sorting algorithms, trees, etc.

    I brought up this point because somebody (can't remember who) earlier in the thread stated the following:

    I think the problem is C# and Java have much simpler syntax, less ways to shoot yourself in the foot, and more built in libraries; therefore better tools to teach CS.
    I was merely trying to show that the amount of libraries available to a language does not determine its usefulness as a "tool to teach CS", because the students don't normally use those libraries anyways, they write their own.
    My Website

    "Circular logic is good because it is."

Popular pages Recent additions subscribe to a feed