Thread: Why nothing but beginner questions?

  1. #31
    Ticked and off
    Join Date
    Oct 2011
    Location
    La-la land
    Posts
    1,728
    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.
    At least in GNU land, even the C++ dynamic libraries depend on C.

    Circling back to my original question, this does mean that a lot of interesting low-level library work must happen in C (or in C++ or Objective-C). This includes stuff like drivers, high-performance libraries, and so on.

    So, where the heck are those developers discussing their development features?

    In the scientific literature, both math and computing papers have the same extremely annoying feature, in my opinion: the most interesting bit, the development of a solution, is often skipped by using circuitous verbiage like "find a set S that fulfills ...", "having a tree T such that ..."; the actual interesting part, programming-wise, being how such a set is found efficiently, or how to construct such a tree efficiently, and so on. Basically, the papers either tell you there is such a way, or that there is an optimal way with specific characteristics, and spend a lot of effort in proving it, but they typically omit the actual interesting bits.

    Most of my colleagues I've talked about this don't really see it that way. I don't know if it is because my own perception is wonky, or because they're accustomed to it.

    In any case, I still believe there are people working on solving actual interesting problems using C (or C++ or Fortran); I'm just bewildered as to where the heck they're discussing the issues at.

    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.
    Eh? Assembly has not gone anywhere. Anyone doing any serious debugging, or developing high-performance or security-sensitive code must be able to read and understand assembly.

    Granted, few programmers need the skill to write assembly, although it is very useful for establishing a baseline for high-performance functions. (Those programming microcontrollers with strict timing requirements, kernel writers, and possibly low-level system library/compiler writers, are the ones that come to mind.)

    Quote Originally Posted by brewbuck View Post
    Just like we need people who understand how logic gates work. And below those people, are people who understand how transistors work.
    Yup. If you don't have at least an overall understanding on how DRAM is built at the physical level, you'd never suspect rowhammer exists.

  2. #32
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    27,723
    Quote Originally Posted by Nominal Animal
    In any case, I still believe there are people working on solving actual interesting problems using C (or C++ or Fortran); I'm just bewildered as to where the heck they're discussing the issues at.
    Tool-specific development-oriented (rather than end-user support type) mailing lists come to mind.
    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

  3. #33
    Registered User
    Join Date
    Oct 2006
    Posts
    3,445
    Quote Originally Posted by Nominal Animal View Post
    In the scientific literature, both math and computing papers have the same extremely annoying feature, in my opinion: the most interesting bit, the development of a solution, is often skipped by using circuitous verbiage like "find a set S that fulfills ...", "having a tree T such that ..."; the actual interesting part, programming-wise, being how such a set is found efficiently, or how to construct such a tree efficiently, and so on. Basically, the papers either tell you there is such a way, or that there is an optimal way with specific characteristics, and spend a lot of effort in proving it, but they typically omit the actual interesting bits.
    The "interesting bits" are probably, more often than not, proprietary trade secrets.
    What can this strange device be?
    When I touch it, it gives forth a sound
    It's got wires that vibrate and give music
    What can this thing be that I found?

  4. #34
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,398
    Quote Originally Posted by Nominal Animal View Post
    Circling back to my original question, this does mean that a lot of interesting low-level library work must happen in C (or in C++ or Objective-C). This includes stuff like drivers, high-performance libraries, and so on.

    So, where the heck are those developers discussing their development features?
    I kind of alluded to this earlier... the explanation is that we are very, very busy. And so conversation is typically limited to only what is required to get past the current set of issues. These discussions happen over email, phone, sometimes at conferences face-to-face. I've flown on airplanes to have these conversations. Sometimes there are private mailing lists.

    In the scientific literature, both math and computing papers have the same extremely annoying feature, in my opinion: the most interesting bit, the development of a solution, is often skipped by using circuitous verbiage like "find a set S that fulfills ...", "having a tree T such that ..."; the actual interesting part, programming-wise, being how such a set is found efficiently, or how to construct such a tree efficiently, and so on. Basically, the papers either tell you there is such a way, or that there is an optimal way with specific characteristics, and spend a lot of effort in proving it, but they typically omit the actual interesting bits.
    Yup. It bugs me too, or at least it did, before I managed to get into "the circle." It's absurd but there are social tiers and people just don't want to waste their time communicating with the outer tiers.

    Case in point, look at my posting history the last couple months. Basically nil. I've been very busy. I'd love to talk about crazy-specialized topics, but in my experience people will attempt to argue about things that frankly, they have no business expressing their opinion on. Rather than being an ***hole I just refrain from the conversation most of the time. It's kind of like doctors or lawyers. Incredibly close-lipped. You try to spread knowledge, and in come the horde of morons and people trying to manipulate and take advantage of you, or try to hold you accountable for things you just don't want to be accountable for. Thus the silence.
    Code:
    //try
    //{
    	if (a) do { f( b); } while(1);
    	else   do { f(!b); } while(1);
    //}

  5. #35
    and the hat of copycat stevesmithx's Avatar
    Join Date
    Sep 2007
    Posts
    587
    Quote Originally Posted by brewbuck View Post
    Yup. It bugs me too, or at least it did, before I managed to get into "the circle." It's absurd but there are social tiers and people just don't want to waste their time communicating with the outer tiers.
    Damn, you make it sound like there are tech crazed Illuminati out there.
    What is my secret handshake?
    This post was brought to you by:
    ───────────────███───────────────
    ─────────────██▀─▀██─────────────
    ───────────██▀─────▀██───────────
    ─────────██▀──▄▄▄▄▄──▀██─────────
    ───────██▀──▄▀─────▀▄──▀██───────
    ─────██▀──▄▀───███───▀▄──▀██─────
    ───██▀────▀▄───▀▀▀───▄▀────▀██───
    ─██▀────────▀▄▄▄▄▄▄▄▀────────▀██─
    █▀─────────────────────────────▀█
    █████████████████████████████████
    ─────────────────────────────────

  6. #36
    Registered User Alpo's Avatar
    Join Date
    Apr 2014
    Posts
    877
    Quote Originally Posted by brewbuck
    You try to spread knowledge, and in come the horde of morons and people trying to manipulate and take advantage of you, or try to hold you accountable for things you just don't want to be accountable for. Thus the silence.
    Life is sometimes like getting beaten to death by feathers. Each blow is inconsequential on it's own, but the effect can accumulate until you want to detach yourself.

    Quote Originally Posted by stevesmithx View Post
    ───────────────███───────────────
    ─────────────██▀─▀██─────────────
    ───────────██▀─────▀██───────────
    ─────────██▀──▄▄▄▄▄──▀██─────────
    ───────██▀──▄▀─────▀▄──▀██───────
    ─────██▀──▄▀───███───▀▄──▀██─────
    ───██▀────▀▄───▀▀▀───▄▀────▀██───
    ─██▀────────▀▄▄▄▄▄▄▄▀────────▀██─
    █▀─────────────────────────────▀█
    █████████████████████████████████
    ─────────────────────────────────
    That time the Illuminati got tired of putting subliminal frames in music videos, and decided to dominate ASCII art instead.
    WndProc = (2[b] || !(2[b])) ? SufferNobly : TakeArms;

  7. #37
    Lurking whiteflags's Avatar
    Join Date
    Apr 2006
    Location
    United States
    Posts
    9,615
    I've stopped seeing Illuminati. Now all I see is Yung Venuz.
    Last edited by whiteflags; 10-02-2015 at 01:31 AM.

  8. #38
    Ticked and off
    Join Date
    Oct 2011
    Location
    La-la land
    Posts
    1,728
    Laserlight and brewbuck referred to mailing lists; I do get an occasional interesting question over e-mail. I've dropped from most (scientific/domain-specific) mailing lists, because the "interesting question to other question" rate was too low for me, but it is certainly true that there are interesting domain-specific questions asked on mailing lists.

    Alas, I'm not currently a member of a research team, so no funding for conferences.

    Quote Originally Posted by brewbuck View Post
    we are very, very busy. And so conversation is typically limited to only what is required to get past the current set of issues.
    To be honest, it does show on the end results.

    No, I absolutely do not mean yours personally/specifically. I mean, the code quality of scientific software at least is pretty darn poor. Buggy is the norm. Feed one unexpected data, outside the small range the original programmer thought about (of course undocumented anywhere), or more than its programmer needed to expect, and they're more likely to crash than work right. Or worse, silently produce bogus results.

    At least in my experience, that is. Collaboration might produce better results, although I suspect the short-term-orientedness is much bigger factor for this. Or maybe I'm being just overly critical, dunno.



    When I was part of an active research team, I did enjoy a lot solving various data and programming problems for other members of the team. (It did get so bad that my supervisor advised others to ask me fewer questions, though; it really negatively impacted my scientific work.)

    It is unfortunate that most research teams do not have "problem-solving tech janitor/computing cluster admin" as part of their teams. I'd fit that position pretty darn well, I think.

  9. #39
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,398
    Quote Originally Posted by Nominal Animal View Post
    To be honest, it does show on the end results.

    No, I absolutely do not mean yours personally/specifically. I mean, the code quality of scientific software at least is pretty darn poor. Buggy is the norm. Feed one unexpected data, outside the small range the original programmer thought about (of course undocumented anywhere), or more than its programmer needed to expect, and they're more likely to crash than work right. Or worse, silently produce bogus results.
    It's a valid criticism. But obviously it's a huge range. I know we've disagreed with each other on this in the past, but I truly believe that wider adoption of C++ in embedded and firmware coding is going to improve things if combined with proper development and testing methods. I've got a younger engineer I've been working with for a year or two now and he is pushing me on a daily basis to do things better, and I'm benefiting from it. This is a person who fully unit tests every single thing he does, even things that most other people think of as "just scripts." As this practice spreads I think things will improve and move software engineering more in the direction of an actual engineering discipline.

    From a certain perspective it might look like C and C++ are "dying" but from my viewpoint that isn't what's going on at all.

    It is unfortunate that most research teams do not have "problem-solving tech janitor/computing cluster admin" as part of their teams. I'd fit that position pretty darn well, I think.
    That's a position almost any company can use, and yet one of the hardest things to justify to management. Good engineering for its own sake is a really hard thing to justify in a capitalist economy. Revenues are always going to be more important.
    Code:
    //try
    //{
    	if (a) do { f( b); } while(1);
    	else   do { f(!b); } while(1);
    //}

  10. #40
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by brewbuck View Post
    I've got a younger engineer I've been working with for a year or two now and he is pushing me on a daily basis to do things better, and I'm benefiting from it. This is a person who fully unit tests every single thing he does, even things that most other people think of as "just scripts."
    We need your guy. One of the troubles we have been facing lately is our ability to integrate TDD into our largest projects. The need for a disciplined and well structured modular method for efficient TDD is driving us up the wall.

    TDD can be applied regardless of the project size. But I think from my experience that it starts to break apart on small teams. You just don't have the enough manpower to ensure there are few blind spots or mistakes in your tests. Or that you write enough integration tests. You end up relying all your testing on the very people that write the code. Maybe there is some magic he could concoct. The biggest problem i'm having with our attempts at introducing agile-like methods in our projects is the fact they actually demand an increase in the number of software developers. And we can't have that.
    Last edited by Mario F.; 10-06-2015 at 03:07 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.

  11. #41
    Make Fortran great again
    Join Date
    Sep 2009
    Posts
    1,413
    Haven't all the questions always been beginner except for the occasional random question?

    If you're getting bored you can check out the bugtrackers for OCE or gfortran

  12. #42
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by Epy View Post
    If you're getting bored you can check out the bugtrackers for OCE or gfortran
    I swear, if we ever have a thread about the difficulties of being a single parent, I will be disappointed if you don't mention Fortran somewhere.
    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.

  13. #43
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,398
    Quote Originally Posted by Mario F. View Post
    The biggest problem i'm having with our attempts at introducing agile-like methods in our projects is the fact they actually demand an increase in the number of software developers. And we can't have that.
    Do you really think you need more developers? Or can you just accept the reduced velocity?

    The thing with TDD is it feels like you're going slower, but you end up going faster by spending less time wallowing in bugfix mode.

    I know the difficulty of really making it work, though.
    Code:
    //try
    //{
    	if (a) do { f( b); } while(1);
    	else   do { f(!b); } while(1);
    //}

  14. #44
    Registered User camel-man's Avatar
    Join Date
    Jan 2011
    Location
    Under the moon
    Posts
    693
    Bring back CommonTater!
    Code:
    int get_random_number(void)
    {
       return 4; //chosen by fair dice roll.
                 //guaranteed to be random
    }

  15. #45
    Registered User
    Join Date
    Oct 2006
    Posts
    3,445
    Quote Originally Posted by camel-man View Post
    Bring back CommonTater!
    And Grumpy, while we're at it. I miss Grumpy.
    What can this strange device be?
    When I touch it, it gives forth a sound
    It's got wires that vibrate and give music
    What can this thing be that I found?

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