Thread: Why nothing but beginner questions?

  1. #16
    Ticked and off
    Join Date
    Oct 2011
    Location
    La-la land
    Posts
    1,728
    Quote Originally Posted by Mario F. View Post
    Actual problem solving in C or C++ is rare nowadays and getting rarer.
    Are you sure? Perhaps it is just that a lot more code is being produced using other languages? Almost all of the software projects I follow and am interested in, are still written in C.

    As an example, consider Brotli, the new LZ77 compression variant published recently by Google. Or the Linux kernel, and the rate at which it is being refactored and continuously rewritten, not just added to.

    It is not like a typical desktop application actually solves any new problems, after all. The really interesting stuff is, and probably always has been, a small fraction of the overall produced code. Perhaps nowadays the total volume of new code is larger, and the interesting fraction smaller; it does not necessarily mean that the amount of interesting code written in C or C++ is declining or has declined. It might just get lost in the noise.

    Yet, I don't see where programmers discuss possible solutions, or develop new ones. The end results just get posted to mailing lists, or appears in Git repositories.

  2. #17
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by Nominal Animal View Post
    Are you sure?
    Very much.

    Quote Originally Posted by Nominal Animal View Post
    ]Perhaps it is just that a lot more code is being produced using other languages?
    That's just it. Problem solving isn't going anywhere. We still have to deal with new requirements and the development of new ideas as the computing problems adapt to the changing world. But what I meant is just that; the percentage of the programming population doing actual work on C or C++ has been decreasing steadily. This results is an increased scarcity of "interesting questions" in generic and introductory forums like CBoard.

    Truth be told CBoard never acquired the status of a PhD programming board. It was always stuck in the camp of introduction to programming forums. So you shouldn't expect much. Like many other forums, we were never actually able to struck a balance between basic and advanced programming in here. There's an unhealthy tendency of web communities to focus and all those tutorials at CProgramming.com only helped making CBoard what it is.

    For anyone researching new algorithms or wanting to come up with good solutions to complex problems, they are perhaps better served by Usenet, where there's still a greater mass of advanced programmers and where programming discussions have a tendency for greater depth. The communities in there are the opposite of what you always saw in here; newbie questions will almost always be ignored and left unanswered.
    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.

  3. #18
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    C and C++ are dying languages.
    O_o

    The statistics gathered by multiple groups working with different data suggests that C++ has regained popularity for new projects over the last couple of years, but the "regaining popularity" statement doesn't even mean much considering that the same data suggests that C and C++ was never dying. The only real trend is the C, C++, C#, Java, Javascript, Objective-C, PHP, Python, and Ruby languages bouncing around each other.

    You probably wouldn't imagine the kind of heat you get these days trying to defend a language like C or C++ in the python newsgroups, every time someone comes up with an attack on their virtues.
    I at least know the situation.

    The situation is exactly the same as when someone forces a Rust dialog on a group of C programmers.

    You'll see the same response when suggesting Go as an alternative to the Ruby language.

    The vitriol you are invoking has less to do with any particular language than people really not liking proselytizers invading their space.

    We still have to deal with new requirements and the development of new ideas as the computing problems adapt to the changing world. But what I meant is just that; the percentage of the programming population doing actual work on C or C++ has been decreasing steadily. This results is an increased scarcity of "interesting questions" in generic and introductory forums like CBoard.
    If the situation being discussed was as simple as other languages replacing the C and C++ languages, you'd expect to see a similar uptick in "interesting questions" in the most popular languages.

    The Javascript language is extremely popular, but I've witnessed a reduction in interesting questions across the forums and mailing lists where I participate for the Javascript language.

    I think, if the situation being discussed is related to the issues you invoke, the issue would have to be something we've both bemoaned on a few occasions. I think the issue would have to be the often regurgitated "everyone plus dog should learn to program" nonsense of science as a popularity contest. Honestly, your indirect address of the popularity issue has me convinced that any "sudden change" can be blamed on the influx of people who don't want to learn programming so much as being seen programming.

    *shrug*

    I wonder if we'll see "Oh, I'm a programmer." replace "Oh, I'm a writer." as the most common phrase uttered by people visiting coffee shops!?

    Soma
    “Salem Was Wrong!” -- Pedant Necromancer
    “Four isn't random!” -- Gibbering Mouther

  4. #19
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by phantomotap View Post
    The statistics gathered by multiple groups working with different data suggests that C++ has regained popularity for new projects over the last couple of years, but the "regaining popularity" statement doesn't even mean much considering that the same data suggests that C and C++ was never dying.
    I remember reading somewhere some time ago (not being purposely vague) how the relative percentage of C and C++ population is steadily decreasing despite the fact its absolute value being on a constant rise. I base my C and C++ is dying statement on that thought, along with how I have been observing college education. I think there is a real tendency for both languages moving into an ever smaller niche. A rise in absolute value of programmers could be easily attributed to the normal tendency for an increase in the number of programmers. Unless people die faster then they learn how to program (interesting thought... depends on what we mean by "learn"), the general population of any programming language being actively used is only going to increase. But on the other hand, a lack of formal education along with a much higher rise in other programming languages is casting a shadow on C and C++ ability to draw new and, particularly, valuable blood.

    But you speak of something else entirely. You speak of number of projects. And if the data is right, then that must indeed mean things aren't as grim (or potentially grim) as I am claiming.

    Quote Originally Posted by phantomotap View Post
    The vitriol you are invoking has less to do with any particular language than people really not liking proselytizers invading their space.
    Nonsense. You don't need to defend the language. You are just pointing out how wrong a claim such as "C was a mistake." is (true story). The ignominy of whole thing is that you pass up by a proselytizer by just trying to counter ignorance.

    Quote Originally Posted by phantomotap View Post
    I think, if the situation being discussed is related to the issues you invoke, the issue would have to be something we've both bemoaned on a few occasions. I think the issue would have to be the often regurgitated "everyone plus dog should learn to program" nonsense of science as a popularity contest. Honestly, your indirect address of the popularity issue has me convinced that any "sudden change" can be blamed on the influx of people who don't want to learn programming so much as being seen programming.
    I think you are right. That is a factor too for sure. I'm just still unsure it is the only one.
    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.

  5. #20
    Registered User MacNilly's Avatar
    Join Date
    Oct 2005
    Location
    CA, USA
    Posts
    466
    Quote Originally Posted by Mario F. View Post
    C and C++ are dying languages.
    I don't think C or C++ will be replaced any time in the next 50 years at least. Probably never will be.

    EDIT: I see now that you probably meant "dying in education." That's certainly true, as most are teaching Java... I think its because, since there is more demand for CS students for teachers to push through, they choose a language that is easier to learn (no pointers, etc, etc.)

    Quote Originally Posted by Mario F. View Post
    Python breaths and sweats C through all its pores.
    Maybe I'm being pedantic, but this isn't necessarily so. It just so happens that the most common Python implementation is written in C. Python can be written in C, Java, or even Python itself.

    EDIT: Of course, the underlying implementation must support all low-level libraries like sockets, file system, etc... which strongly suggests C or Java (and Java is again dependent on libc)
    Last edited by MacNilly; 09-28-2015 at 05:28 PM.

  6. #21
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by MacNilly View Post
    ...which strongly suggests C or Java (and Java is again dependent on libc)
    ...Or C++...
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  7. #22
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by MacNilly View Post
    I don't think C or C++ will be replaced any time in the next 50 years at least. Probably never will be.
    The current consumer computer architecture dependency on C is obvious and it is just not going away. No language so far has been able to make up for C systems programming abilities and ubiquity. When it comes to languages like C, "dying" doesn't mean them disappearing. And I never meant that. It means instead that these languages will just tend to disappear from the domain of applications programming and move ever more into systems programming. And this is in fact something that we have observed happening to other languages in the past.

    EDIT: I see now that you probably meant "dying in education." That's certainly true, as most are teaching Java... I think its because, since there is more demand for CS students for teachers to push through, they choose a language that is easier to learn (no pointers, etc, etc.)
    I think the real problem is not that they are easier to learn, but that they are easier to teach. In almost every university still teaching C or C++ you will be dismayed by the old compilers being used by the teachers or the complete ignorance on the new standards (or any standards for that matter). C and C++ are, generally speaking, so badly taught that I'm actually conflicted between the lack of these languages in the syllabus and the thought that maybe it is just better they aren't being taught.

    C and C++ are notoriously hard to teach successfully. And teachers don't seem to have any interest in refreshing their knowledge on the new developments of the programming languages they are supposed to instruct. So let's have Java and Python or whatever. These things you can learn in a couple of weeks and even if you make a mess of yourself, it will still run somehow. The interpreter will do its magic and you are off the hook. Not at all like compiling with -Wall
    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
    Registered User MutantJohn's Avatar
    Join Date
    Feb 2013
    Posts
    2,665
    Not gonna lie, you guys were amazing teachers to me. Yall need to start teaching courses.

  9. #24
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    Quote Originally Posted by Mario F.
    I think the real problem is not that they are easier to learn, but that they are easier to teach. In almost every university still teaching C or C++ you will be dismayed by the old compilers being used by the teachers or the complete ignorance on the new standards (or any standards for that matter). C and C++ are, generally speaking, so badly taught that I'm actually conflicted between the lack of these languages in the syllabus and the thought that maybe it is just better they aren't being taught.

    C and C++ are notoriously hard to teach successfully. And teachers don't seem to have any interest in refreshing their knowledge on the new developments of the programming languages they are supposed to instruct. So let's have Java and Python or whatever. These things you can learn in a couple of weeks and even if you make a mess of yourself, it will still run somehow. The interpreter will do its magic and you are off the hook. Not at all like compiling with -Wall
    Interestingly, my university's introductory programming module used Java as the medium. Shortly after my teaching stint as a tutor for that module, they switched to C.
    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

  10. #25
    spaghetticode
    Guest
    There may be a certain influence in the increasing mobile market too. When I first began playing around with programming languages, it was kind of a nerdy hobby only enthusiasts picked up. With all that Android an iOS app stuff around, programming is a lot more regarded something anybody can do. I don't know why that is, because the basics are still the same, regardless of the fact that a program is not a program anymore but just "an app". But it seems that the perception of what programming means has changed slightly.

    There's a whole lot more people out there nowadays, that are like 'hey, I want to have do my own app'. When they come to realize it's not as easy as imagined, they come flooding the forums.

    Of course all that mobile stuff is not really related to C or C++, so you'd expect that effect mainly in Java forums, and maybe that even is the case. But this rather newish perception of programming in general might also add to such an evolution in C/C++ forums as well.

  11. #26
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,396
    Quote Originally Posted by Mario F. View Post
    C and C++ are dying languages. They are generally speaking the province of older programmers and new blood is mostly being driven to it by their need to finish college and not by a real desire to make practical use of the language.
    I don't think that means the languages are dying. It just means the few of us who invest the time in becoming truly skilled with them, are going to be ever more highly-paid in the future.

    I'm not aware of any major modern language that isn't implemented in terms of C/C++ somewhere down the stack. And of course, the kernel is going to be C or C++ as well. It's possible that some alternative fast native language (D? Go?) might come in and take over, but I think that's far-fetched.

    Of course, there's no need to defend or promote either of these languages. Whether they're necessary isn't related to what people think of them.

    EDIT: BTW, the ongoing trend of software being written in higher level languages is a GOOD thing. And what makes those languages possible? Hmm...
    Last edited by brewbuck; 09-30-2015 at 06:05 PM.
    Code:
    //try
    //{
    	if (a) do { f( b); } while(1);
    	else   do { f(!b); } while(1);
    //}

  12. #27
    Registered User MutantJohn's Avatar
    Join Date
    Feb 2013
    Posts
    2,665
    I think higher level languages need to be taught with care. There's a lot you can miss out on. Plus, it's kind of fun understanding how all these high level things work.

  13. #28
    Unregistered User Yarin's Avatar
    Join Date
    Jul 2007
    Posts
    2,158
    Quote Originally Posted by brewbuck View Post
    I'm not aware of any major modern language that isn't implemented in terms of C/C++ somewhere down the stack.
    I agree with your conclusion, but your argument is fallacious, as it's the same one given by assembly people decades ago.

    Quote Originally Posted by brewbuck View Post
    It's possible that some alternative fast native language (D? Go?) might come in and take over, but I think that's far-fetched.
    Go and D are GCed, so that's a guaranteed no-go for them (pun intended). Rust has a better chance, and is gaining popularity, but I doubt even it will supplant C++.

  14. #29
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,396
    Quote Originally Posted by Yarin View Post
    I agree with your conclusion, but your argument is fallacious, as it's the same one given by assembly people decades ago.
    But that argument isn't dead either. We do, in fact, still need assembly for certain things. Just like we need people who understand how logic gates work. And below those people, are people who understand how transistors work. There isn't any part of the stack that's optional, they just apparently vanish under the higher layers.


    Go and D are GCed, so that's a guaranteed no-go for them (pun intended). Rust has a better chance, and is gaining popularity, but I doubt even it will supplant C++.
    I'll consider anything. I'm not close minded! But the chances of getting a Rust compiler for some random DSP architecture are nil. And yet we still need to write code for DSPs and all the other even weirder chips out there. The volume of stuff under the covers is absolutely massive, and we who work on those layers are too busy to go around promoting what we do or how we go about it. Like I said, very specialized, and that reflects in the salaries.
    Code:
    //try
    //{
    	if (a) do { f( b); } while(1);
    	else   do { f(!b); } while(1);
    //}

  15. #30
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,659
    Ah, the sound of a Pascal programmer confidently predicting the demise of Fortran and Cobol.

    New programming languages don't displace existing languages from their niches. New languages emerge to try and make new problem domains easier to cope with.
    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.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Beginner questions
    By c++urious in forum Programming Book and Product Reviews
    Replies: 1
    Last Post: 06-14-2010, 04:16 PM
  2. Some beginner questions.
    By Meikj in forum C++ Programming
    Replies: 3
    Last Post: 05-01-2009, 11:37 AM
  3. A few beginner's questions
    By Megidolaon in forum C++ Programming
    Replies: 33
    Last Post: 10-24-2008, 09:21 AM
  4. beginner questions.
    By Jaken Veina in forum C Programming
    Replies: 5
    Last Post: 03-16-2005, 09:38 PM
  5. 2 beginner questions
    By GCat in forum C++ Programming
    Replies: 15
    Last Post: 11-24-2004, 03:55 AM