Maybe C is the perfect language for really good systems programmers, but unfortunately not-so-good s

Discussion in 'C Programming' started by Casey Hawthorne, Nov 4, 2009.

  1. I found the quote from "Coders at Work" where Bernie Cossel is
    interviewed, page 560.

    I don?t want to say that C has outlived its usefulness, but I think it
    was used by too many good programmers so that now not-good-enough
    programmers are using it to build applications and the bottom line is
    they?re not good enough and they can?t. Maybe C is the perfect
    language for really good systems programmers, but unfortunately
    not-so-good systems and applications programmers are using it and they
    shouldn?t be.

    --
    Regards,
    Casey
    Casey Hawthorne, Nov 4, 2009
    #1
    1. Advertising

  2. Casey Hawthorne

    Tom St Denis Guest

    On Nov 3, 9:09 pm, Casey Hawthorne <> wrote:
    > I found the quote from "Coders at Work" where Bernie Cossel is
    > interviewed, page 560.
    >
    > I don?t want to say that C has outlived its usefulness, but I think it
    > was used by too many good programmers so that now not-good-enough
    > programmers are using it to build applications and the bottom line is
    > they?re not good enough and they can?t.  Maybe C is the perfect
    > language for really good systems programmers, but unfortunately
    > not-so-good systems and applications programmers are using it and they
    > shouldn?t be.


    Maybe the real problem is not-so-good developers are developing
    software.

    I'm certain I could walk into an operating theatre, pick up the most
    expensive tool and still kill someone. Does that mean the expensive
    tool should be thrown out?

    Where the idea that anyone with a text editor can be a developer, and
    if they're not competent just blame the tools came from I can only
    imagine.

    Tom
    Tom St Denis, Nov 4, 2009
    #2
    1. Advertising

  3. Casey Hawthorne

    Dann Corbit Guest

    Re: Maybe C is the perfect language for really good systems programmers, but unfortunately not-so-good systems and applications programmers are using it and they shouldn?t be.

    In article <>,
    says...
    >
    > I found the quote from "Coders at Work" where Bernie Cossel is
    > interviewed, page 560.
    >
    > I don?t want to say that C has outlived its usefulness, but I think it
    > was used by too many good programmers so that now not-good-enough
    > programmers are using it to build applications and the bottom line is
    > they?re not good enough and they can?t. Maybe C is the perfect
    > language for really good systems programmers, but unfortunately
    > not-so-good systems and applications programmers are using it and they
    > shouldn?t be.


    He's absolutely right. Stupid people should not program in C.

    I'm not being facetious either. If you tend to do things like drive the
    wrong way down one way streets or leave the house with the stove on
    high, then you should seriously consider VB instead.

    Or better yet, there are still spots available for asparagus pickers in
    Moses Lake, WA. Besides the short picking season (leaving *plenty* of
    time during the rest of the year) there is also snacks any time you
    like. But you will get foul smelling urine. I guess no job is perfect.
    Dann Corbit, Nov 4, 2009
    #3
  4. Casey Hawthorne

    Rich Webb Guest

    On Tue, 3 Nov 2009 18:11:48 -0800 (PST), Tom St Denis <>
    wrote:

    >On Nov 3, 9:09 pm, Casey Hawthorne <> wrote:
    >> I found the quote from "Coders at Work" where Bernie Cossel is
    >> interviewed, page 560.
    >>
    >> I don?t want to say that C has outlived its usefulness, but I think it
    >> was used by too many good programmers so that now not-good-enough
    >> programmers are using it to build applications and the bottom line is
    >> they?re not good enough and they can?t.  Maybe C is the perfect
    >> language for really good systems programmers, but unfortunately
    >> not-so-good systems and applications programmers are using it and they
    >> shouldn?t be.

    >
    >Maybe the real problem is not-so-good developers are developing
    >software.
    >
    >I'm certain I could walk into an operating theatre, pick up the most
    >expensive tool and still kill someone. Does that mean the expensive
    >tool should be thrown out?


    This paraphrase (anyone have a pointer to the first use?) seems apropos:

    Some languages are like scissors for children. They can be used to cut
    out pretty much any shape you might want out of paper. They are also
    safe, with blunt tips and not very sharp, so you're unlikely to
    accidentally injure yourself while using then.

    C is like a surgeon's scalpel: just a handle and an edge. It can cut
    practically anything and in the right hands it can perform miracles.
    However, use it carelessly and you'll cut your own hands off.

    --
    Rich Webb Norfolk, VA
    Rich Webb, Nov 4, 2009
    #4
  5. Re: Maybe C is the perfect language for really good systems programmers, but unfortunately not-so-good systems and applications programmers are using it and they shouldn't be.

    "Casey Hawthorne" <> wrote in message
    news:...
    >I found the quote from "Coders at Work" where Bernie Cossel is
    > interviewed, page 560.
    >
    > I don?t want to say that C has outlived its usefulness, but I think it
    > was used by too many good programmers so that now not-good-enough
    > programmers are using it to build applications and the bottom line is
    > they?re not good enough and they can?t. Maybe C is the perfect
    > language for really good systems programmers, but unfortunately
    > not-so-good systems and applications programmers are using it and they
    > shouldn?t be.
    >


    what do you propose instead?...

    not all programming languages are created equal, and so there are a great
    many factors to consider beyond a simple: competence/incompetence and
    safe/dangerous graph...

    C is not 'safe', but most of its main (safer) alternatives have botched
    things up in ways that make them unsuitible for use in even the same domain
    as C...

    it is like "C is unsafe, everyone should use Java", the great pro and con
    being, then, the existence of the JVM.

    simple Sun answer:
    split the world in half, the "Java" world, and the "everything not Java"
    world...
    use A or use B...

    ..NET is not as bad here, but still has many symptoms of the same
    condition...


    granted, there are JNI and JNA, but both are awkward...
    ..NET also has P/Invoke, which is IMO only marginally better than JNA.


    and so, there is a harsh split (in practical terms):
    C and/or C++;
    use something different, off in its own little world where "it" is the ruler
    of "everything"...


    it may well be the case that the libraries need access to powerful
    facilities, which may not be ideal for the application developers.

    however, because of this split, the app devs still end up using C (or maybe
    C++), as there is not really much of any really "better" option in this
    space.


    Java might be good, if it were "reinterpreted" to be a close friend of C and
    C++ as far as the implementation goes, rather than a distant enemy. GCJ has
    done this to some extent, but one may not necessaily bind themselves to
    using GCJ (it has its own share of issues as well).

    I had started attempting this, but my efforts tend to keep stalling on this
    front, FWIW.

    ....


    the race is not won until a facility is easily and generally accessible and
    in the places and circumstances it is needed.

    for example, one can use, for example, OpenGL and GLSL without "selling
    ones' soul" to some "OpenGL Framework Developer's Kit", partitioning the
    world into "code which does 3D rendering via GL" and "code which does not".

    instead, it is opt-in for the cases and situations where it is needed, and
    does not otherwise make too many demands.


    most VM's are, however, not much the same at all...
    they wish to enslave much of anything which comes in contact with them.
    "all hail the VM, the rightful ruller of the programming world...".


    this is one partial reason why many of my VM's parts are based on more
    "standard" components, and I try to keep things modular. one "should" be
    able to use the bits and pieces they choose, and not be obligated by the
    rest.

    hence:
    native or interpreted;
    my interpreter using plain PE/COFF DLL's and x86 as the "bytecode";
    C is one of the main "scripting" languages, and I am (and continue to) keep
    a close watch on FFI concerns (if one can easily "see" the border, it is not
    good enough);
    I am also using POSIX as a reference point for many aspects of
    "architecture";
    ....


    or such...


    > --
    > Regards,
    > Casey
    BGB / cr88192, Nov 4, 2009
    #5
  6. Casey Hawthorne

    Tom St Denis Guest

    On Nov 4, 8:17 am, Rich Webb <> wrote:
    > On Tue, 3 Nov 2009 18:11:48 -0800 (PST), Tom St Denis <>
    > wrote:
    >
    >
    >
    > >On Nov 3, 9:09 pm, Casey Hawthorne <> wrote:
    > >> I found the quote from "Coders at Work" where Bernie Cossel is
    > >> interviewed, page 560.

    >
    > >> I don?t want to say that C has outlived its usefulness, but I think it
    > >> was used by too many good programmers so that now not-good-enough
    > >> programmers are using it to build applications and the bottom line is
    > >> they?re not good enough and they can?t.  Maybe C is the perfect
    > >> language for really good systems programmers, but unfortunately
    > >> not-so-good systems and applications programmers are using it and they
    > >> shouldn?t be.

    >
    > >Maybe the real problem is not-so-good developers are developing
    > >software.

    >
    > >I'm certain I could walk into an operating theatre, pick up the most
    > >expensive tool and still kill someone.  Does that mean the expensive
    > >tool should be thrown out?

    >
    > This paraphrase (anyone have a pointer to the first use?) seems apropos:
    >
    > Some languages are like scissors for children. They can be used to cut
    > out pretty much any shape you might want out of paper. They are also
    > safe, with blunt tips and not very sharp, so you're unlikely to
    > accidentally injure yourself while using then.
    >
    > C is like a surgeon's scalpel: just a handle and an edge. It can cut
    > practically anything and in the right hands it can perform miracles.
    > However, use it carelessly and you'll cut your own hands off.


    Exactly. Why people attribute that to a negative quality of C I'll
    never get it. The real problem is people who are poorly trained are
    passing themselves off as developers. I was using C for roughly 7-8
    years before I really considered myself halfway competent to even call
    myself professional. Sure it only took me a short bit to learn the
    syntax, but really writing maintainable and scalable software [in any
    language] takes experience.

    And really I don't get the drive, if programmers were [and they are] a
    dime a dozen they'd get paid jack squat. Is that a good thing?

    Tom
    Tom St Denis, Nov 4, 2009
    #6
  7. Re: Maybe C is the perfect language for really good systems programmers, but unfortunately not-so-good systems and applications programmers are using it and they shouldn't be.

    "Tom St Denis" <> wrote in message
    news:...
    On Nov 4, 8:17 am, Rich Webb <> wrote:
    > On Tue, 3 Nov 2009 18:11:48 -0800 (PST), Tom St Denis <>
    > wrote:
    >
    >
    >
    > >On Nov 3, 9:09 pm, Casey Hawthorne <> wrote:
    > >> I found the quote from "Coders at Work" where Bernie Cossel is
    > >> interviewed, page 560.

    >
    > >> I don?t want to say that C has outlived its usefulness, but I think it
    > >> was used by too many good programmers so that now not-good-enough
    > >> programmers are using it to build applications and the bottom line is
    > >> they?re not good enough and they can?t. Maybe C is the perfect
    > >> language for really good systems programmers, but unfortunately
    > >> not-so-good systems and applications programmers are using it and they
    > >> shouldn?t be.

    >
    > >Maybe the real problem is not-so-good developers are developing
    > >software.

    >
    > >I'm certain I could walk into an operating theatre, pick up the most
    > >expensive tool and still kill someone. Does that mean the expensive
    > >tool should be thrown out?

    >
    > This paraphrase (anyone have a pointer to the first use?) seems apropos:
    >
    > Some languages are like scissors for children. They can be used to cut
    > out pretty much any shape you might want out of paper. They are also
    > safe, with blunt tips and not very sharp, so you're unlikely to
    > accidentally injure yourself while using then.
    >
    > C is like a surgeon's scalpel: just a handle and an edge. It can cut
    > practically anything and in the right hands it can perform miracles.
    > However, use it carelessly and you'll cut your own hands off.


    <--
    Exactly. Why people attribute that to a negative quality of C I'll
    never get it. The real problem is people who are poorly trained are
    passing themselves off as developers. I was using C for roughly 7-8
    years before I really considered myself halfway competent to even call
    myself professional. Sure it only took me a short bit to learn the
    syntax, but really writing maintainable and scalable software [in any
    language] takes experience.

    And really I don't get the drive, if programmers were [and they are] a
    dime a dozen they'd get paid jack squat. Is that a good thing?

    Tom
    -->

    I thought "professional" was a designation of one being employed doing
    something?...

    have a job as a programmer => "professional programmer".
    don't have a job as a programmer, but still a programmer => "hobbyist
    programmer".

    granted, WRT competence I am probably around a similar level I think to many
    commercial developers, and I have maybe around 12-15'ish years C experience,
    but since I don't have a job, as I see it, I am a hobbyist...

    although, I guess traditionally, "professional" does not apply to unskilled
    labor, such as picking fruit or being a frycook... (then again, maybe there
    are professional frycooks around, I don't know...).


    or such...
    BGB / cr88192, Nov 4, 2009
    #7
  8. Casey Hawthorne

    Lew Pitcher Guest

    Re: Maybe C is the perfect language for really good systems programmers, but unfortunately not-so-good systems and applications programmers are using it and they shouldn't be.

    On November 4, 2009 11:41, in comp.lang.c, BGB / cr88192
    () wrote:
    [snip]
    > I thought "professional" was a designation of one being employed doing
    > something?...
    >
    > have a job as a programmer => "professional programmer".
    > don't have a job as a programmer, but still a programmer => "hobbyist
    > programmer".


    I agree, in as far as this goes.

    But...

    I retired from writing computer programs for a living; I no longer have the
    job as a programmer, but still have all the professional skills, knowledge,
    and abilities. Can I not refer to myself as a "professional programmer,
    retired", or must I now downgrade myself to "hobbyist programmer"?

    [snip]

    --
    Lew Pitcher

    Master Codewright & JOAT-in-training | Registered Linux User #112576
    http://pitcher.digitalfreehold.ca/ | GPG public key available by request
    ---------- Slackware - Because I know what I'm doing. ------
    Lew Pitcher, Nov 4, 2009
    #8
  9. Casey Hawthorne

    Tom St Denis Guest

    Re: Maybe C is the perfect language for really good systemsprogrammers, but unfortunately not-so-good systems and applicationsprogrammers are using it and they shouldn't be.

    On Nov 4, 11:41 am, "BGB / cr88192" <> wrote:
    > I thought "professional" was a designation of one being employed doing
    > something?...
    >
    > have a job as a programmer => "professional programmer".
    > don't have a job as a programmer, but still a programmer => "hobbyist
    > programmer".
    >
    > granted, WRT competence I am probably around a similar level I think to many
    > commercial developers, and I have maybe around 12-15'ish years C experience,
    > but since I don't have a job, as I see it, I am a hobbyist...
    >
    > although, I guess traditionally, "professional" does not apply to unskilled
    > labor, such as picking fruit or being a frycook... (then again, maybe there
    > are professional frycooks around, I don't know...).


    To me professional applies to people who work in a particular field
    and are competent at what they do. Misleading and lying to people to
    get a job does not make you professional even if you get paid to do it
    (might make you a professional liar though). The point I'm trying to
    make is there are a lot of people out there who label themselves as
    professional developers when in reality they have little to no
    accountable experience and are only someone basically aware of
    language semantics and syntax.

    Which is why you see "adults" floating around espousing how awesome VB
    is because it has less of a learning curve than say C or Pascal or
    whatever. The reality is they don't really understand what they're
    doing at any useful level and they view C as "harder" because they
    actually have to have half a clue about computer science to make use
    of it.

    Some might shake that off as "oh well my $fav_lang has a standard tree/
    heap/vector/whatever class and I don't need to implement it" but
    without failure there will be a time where understanding the
    primitives will pay dividends in terms of optimization or debugging.
    Worse yet, because a lot of people don't have the fundamentals of
    computer science down pat they don't even know of, or when, or how to
    use specialized algorithms to make things possible.

    This is why you see people using bubble sort, or ECB mode in crypto,
    or countless other common trivial mistakes. They don't understand crap
    about what they're doing, they just know enough rudiments to glue
    things together into what seems like a workable solution.

    And that's friggin scary.
    Tom St Denis, Nov 4, 2009
    #9
  10. Casey Hawthorne

    Tim Streater Guest

    Re: Maybe C is the perfect language for really good systems programmers...

    In article
    <>,
    Pillsy <> wrote:

    > On Nov 4, 11:07 am, Tom St Denis <> wrote:
    >
    > > On Nov 4, 8:17 am, Rich Webb <> wrote:

    > [...]
    > > > This paraphrase (anyone have a pointer to the first use?) seems apropos:

    >
    > > > Some languages are like scissors for children. They can be used to cut
    > > > out pretty much any shape you might want out of paper. They are also
    > > > safe, with blunt tips and not very sharp, so you're unlikely to
    > > > accidentally injure yourself while using then.

    >
    > > > C is like a surgeon's scalpel: just a handle and an edge. It can cut
    > > > practically anything and in the right hands it can perform miracles.
    > > > However, use it carelessly and you'll cut your own hands off.

    >
    > > Exactly.  Why people attribute that to a negative quality of C I'll
    > > never get it.

    >
    > I suspect it's because, one way or another, C has a pretty long
    > history of finding its way into the hands of metaphorical children.
    >
    > > The real problem is people who are poorly trained are passing themselves
    > > off as developers.

    >
    > This is going a bit far afield from the original context of the
    > thread, but a lot of people who need to write programs in order to do
    > their jobs are not professional programmers, in much the same way that
    > a lot of people who need to write English prose in order to do their
    > jobs are not professional writers.
    >
    > It's quite common for engineers or scientists to have to write
    > programs for their own use and, perhaps, the use of a small number of
    > other people, and a lot of the time they end up writing those programs
    > in C. There are good compilers available just about everywhere for
    > cheap and it has a reputation for being fast.
    >
    > A person can simultaneously be a phenomenal physicist and a lousy
    > programmer.
    >
    > > I was using C for roughly 7-8 years before I really considered myself
    > >halfway
    > > competent to even call myself professional.  Sure it only took me a short
    > > bit
    > > to learn the syntax, but really writing maintainable and scalable software
    > > [in any language] takes experience.

    >
    > Sure. But someone who has an entire other set of professional
    > responsibilities is likely to not get those years of experience
    > writing maintainable and scalable software because they're busy
    > getting other sorts of experience that is more relevant to their jobs.


    This is perfectly true. The difficulty is when the person (clever in
    their own field) is able to write a reasonable facsimile of a program
    incorporating some clever techniques, and when the program is actually
    useful to this person and their colleagues, and then the program is
    pushed out to others in their field. Then it's given to some poor grad
    student to maintain. And so on ...

    Mind you, this can happen in any language, just that it's more likely
    with C and Fortran, since these are "everywhere".

    --
    Tim

    "That excessive bail ought not to be required, nor excessive fines imposed,
    nor cruel and unusual punishments inflicted" -- Bill of Rights 1689
    Tim Streater, Nov 4, 2009
    #10
  11. Re: Maybe C is the perfect language for really good systems programmers, but unfortunately not-so-good systems and applications programmers are using it and they shouldn't be?

    Tom St Denis <> wrote:
    >On Nov 4, 8:17 am, Rich Webb <> wrote:
    >> C is like a surgeon's scalpel: just a handle and an edge. It can cut
    >> practically anything and in the right hands it can perform miracles.
    >> However, use it carelessly and you'll cut your own hands off.

    >
    >Exactly. Why people attribute that to a negative quality of C I'll
    >never get it. The real problem is people who are poorly trained are
    >passing themselves off as developers.


    I think it's a difference between thinking a tool is intrinsically bad,
    versus knowing it's just the wrong tool for the job.

    When I want to cut someone's hair, I use scissors, not a scalpel.
    That doesn't mean that scalpels are bad, but, frankly, it does mean
    they're not as good for cutting hair.

    And if you ever go to a barber who insists upon using a scalpel, I'd
    recommend a hasty exit, no matter how qualified he was.

    -Beej
    Beej Jorgensen, Nov 4, 2009
    #11
  12. Casey Hawthorne

    Pillsy Guest

    Re: Maybe C is the perfect language for really good systemsprogrammers...

    On Nov 4, 11:07 am, Tom St Denis <> wrote:

    > On Nov 4, 8:17 am, Rich Webb <> wrote:

    [...]
    > > This paraphrase (anyone have a pointer to the first use?) seems apropos:


    > > Some languages are like scissors for children. They can be used to cut
    > > out pretty much any shape you might want out of paper. They are also
    > > safe, with blunt tips and not very sharp, so you're unlikely to
    > > accidentally injure yourself while using then.


    > > C is like a surgeon's scalpel: just a handle and an edge. It can cut
    > > practically anything and in the right hands it can perform miracles.
    > > However, use it carelessly and you'll cut your own hands off.


    > Exactly.  Why people attribute that to a negative quality of C I'll
    > never get it.


    I suspect it's because, one way or another, C has a pretty long
    history of finding its way into the hands of metaphorical children.

    > The real problem is people who are poorly trained are passing themselves
    > off as developers.


    This is going a bit far afield from the original context of the
    thread, but a lot of people who need to write programs in order to do
    their jobs are not professional programmers, in much the same way that
    a lot of people who need to write English prose in order to do their
    jobs are not professional writers.

    It's quite common for engineers or scientists to have to write
    programs for their own use and, perhaps, the use of a small number of
    other people, and a lot of the time they end up writing those programs
    in C. There are good compilers available just about everywhere for
    cheap and it has a reputation for being fast.

    A person can simultaneously be a phenomenal physicist and a lousy
    programmer.

    > I was using C for roughly 7-8 years before I really considered myself halfway
    > competent to even call myself professional.  Sure it only took me a short bit
    > to learn the syntax, but really writing maintainable and scalable software
    > [in any language] takes experience.


    Sure. But someone who has an entire other set of professional
    responsibilities is likely to not get those years of experience
    writing maintainable and scalable software because they're busy
    getting other sorts of experience that is more relevant to their jobs.

    Cheers,
    Pillsy
    [...]
    Pillsy, Nov 4, 2009
    #12
  13. Casey Hawthorne

    Rich Webb Guest

    Re: Maybe C is the perfect language for really good systems programmers, but unfortunately not-so-good systems and applications programmers are using it and they shouldn't be?

    On Wed, 4 Nov 2009 20:37:42 +0000 (UTC), Beej Jorgensen <>
    wrote:

    >Tom St Denis <> wrote:
    >>On Nov 4, 8:17 am, Rich Webb <> wrote:
    >>> C is like a surgeon's scalpel: just a handle and an edge. It can cut
    >>> practically anything and in the right hands it can perform miracles.
    >>> However, use it carelessly and you'll cut your own hands off.

    >>
    >>Exactly. Why people attribute that to a negative quality of C I'll
    >>never get it. The real problem is people who are poorly trained are
    >>passing themselves off as developers.

    >
    >I think it's a difference between thinking a tool is intrinsically bad,
    >versus knowing it's just the wrong tool for the job.
    >
    >When I want to cut someone's hair, I use scissors, not a scalpel.
    >That doesn't mean that scalpels are bad, but, frankly, it does mean
    >they're not as good for cutting hair.
    >
    >And if you ever go to a barber who insists upon using a scalpel, I'd
    >recommend a hasty exit, no matter how qualified he was.


    Absolutely. Although razor cuts are pretty standard at hair salons, one
    never knows when one may stumble across a frustrated barber who really
    just wanted to be a lumberjack.

    The classic bit: http://www.youtube.com/watch?v=xToPCaNxaow

    --
    Rich Webb Norfolk, VA
    Rich Webb, Nov 4, 2009
    #13
  14. Re: Maybe C is the perfect language for really good systems programmers, but unfortunately not-so-good systems and applications programmers are using it and they shouldn't be.

    "Lew Pitcher" <> wrote in message
    news:3778b$4af1b39b$45c4a732$-Free...
    > On November 4, 2009 11:41, in comp.lang.c, BGB / cr88192
    > () wrote:
    > [snip]
    >> I thought "professional" was a designation of one being employed doing
    >> something?...
    >>
    >> have a job as a programmer => "professional programmer".
    >> don't have a job as a programmer, but still a programmer => "hobbyist
    >> programmer".

    >
    > I agree, in as far as this goes.
    >
    > But...
    >
    > I retired from writing computer programs for a living; I no longer have
    > the
    > job as a programmer, but still have all the professional skills,
    > knowledge,
    > and abilities. Can I not refer to myself as a "professional programmer,
    > retired", or must I now downgrade myself to "hobbyist programmer"?
    >
    > [snip]
    >


    I don't know what is the term for people who were once employed but are no
    longer employed.
    I guess 'professional' could still be valid if there is possibility of
    returning to the field.

    'retired' also works I guess, since retired states having previously been
    employed with little need or desire to return to employment...

    but, alas, I am no expert on terminology...


    > --
    > Lew Pitcher
    >
    > Master Codewright & JOAT-in-training | Registered Linux User #112576
    > http://pitcher.digitalfreehold.ca/ | GPG public key available by request
    > ---------- Slackware - Because I know what I'm doing. ------
    >
    >
    BGB / cr88192, Nov 4, 2009
    #14
  15. Re: Maybe C is the perfect language for really good systems programmers, but unfortunately not-so-good systems and applications programmers are using it and they shouldn't be.

    "Tom St Denis" <> wrote in message
    news:...
    On Nov 4, 11:41 am, "BGB / cr88192" <> wrote:
    > I thought "professional" was a designation of one being employed doing
    > something?...
    >
    > have a job as a programmer => "professional programmer".
    > don't have a job as a programmer, but still a programmer => "hobbyist
    > programmer".
    >
    > granted, WRT competence I am probably around a similar level I think to
    > many
    > commercial developers, and I have maybe around 12-15'ish years C
    > experience,
    > but since I don't have a job, as I see it, I am a hobbyist...
    >
    > although, I guess traditionally, "professional" does not apply to
    > unskilled
    > labor, such as picking fruit or being a frycook... (then again, maybe
    > there
    > are professional frycooks around, I don't know...).


    <--
    To me professional applies to people who work in a particular field
    and are competent at what they do. Misleading and lying to people to
    get a job does not make you professional even if you get paid to do it
    (might make you a professional liar though). The point I'm trying to
    make is there are a lot of people out there who label themselves as
    professional developers when in reality they have little to no
    accountable experience and are only someone basically aware of
    language semantics and syntax.
    -->

    yeah, seems reasonable enough...

    so, 'professional' means employed+job skills, fair enough...


    it would be about like me going around promoting myself as a mathemetician.
    I have basic skills and some familiarity with 'esoteria' (errm... because I
    actually know what a quaternion or a tensor is...), but alas would be
    totally 'pwned' if competing with someone who had any idea what they were
    doing...


    <--
    Which is why you see "adults" floating around espousing how awesome VB
    is because it has less of a learning curve than say C or Pascal or
    whatever. The reality is they don't really understand what they're
    doing at any useful level and they view C as "harder" because they
    actually have to have half a clue about computer science to make use
    of it.
    -->

    this is what happened when my dad did programming for a while...
    "wow, I can use VB to do data entry frontends for an MS-Access backend!...",
    and for maybe 2 or 3 years I was bothered about how VB was so much better
    than C and was the most common language for business and so on...

    but, alas, I stick with C, one of the main languages of ACTUAL software...

    even if a lot of my stuff only really looks like text in a command shell...


    well, at least this has sort of died off, followed now by a lot of
    "esperanto is the world language of the future...".


    <--
    Some might shake that off as "oh well my $fav_lang has a standard tree/
    heap/vector/whatever class and I don't need to implement it" but
    without failure there will be a time where understanding the
    primitives will pay dividends in terms of optimization or debugging.
    Worse yet, because a lot of people don't have the fundamentals of
    computer science down pat they don't even know of, or when, or how to
    use specialized algorithms to make things possible.
    -->

    yep.
    a lot of C++ promoters say this...
    "there is std::sort and std::array and thus no need for people to know
    sorting algorithms...".
    or, further, that hand-written sorting algos couldn't possibly match these
    in terms of speed, ...

    I say, there are reasons to use custom sorting, and many places where
    sorting is useful may not even be clear to be sorting problems (such as, for
    example, spans-based memory allocation, ...).

    one may have no vision of where they apply unless one knows the algos...


    it is much like how, even though the computer trivially provides things like
    sqrt, exp, sin, cos, ... there may still be some value in understanding
    things like the taylor series, ...

    doesn't mean that one can't just use sqrt or cos, but it doesn't mean either
    that someone is inferior because they burden themselves with knowing such
    things (and, in fact, I have implemented a few things in the past where I
    have had reason to make use of these series...).


    <--
    This is why you see people using bubble sort, or ECB mode in crypto,
    or countless other common trivial mistakes. They don't understand crap
    about what they're doing, they just know enough rudiments to glue
    things together into what seems like a workable solution.

    And that's friggin scary.
    -->

    yep.

    I use bubble sort sometimes (usually when it is small and I don't care if it
    is fast, and usually it is in the form of cocktail sort, which works well
    with certain distributions), quicksort for others (when it might actually
    matter if it is slow), ...

    learning quicksort has had many uses beyond sorting though, such as in
    optimizing spatial and geometric calculations, ... (in this case, it takes
    the form of real-time variants of the BSP algo, ...).
    BGB / cr88192, Nov 4, 2009
    #15
  16. Casey Hawthorne

    scattered Guest

    Re: Maybe C is the perfect language for really good systemsprogrammers...

    On Nov 4, 4:08 pm, Pillsy <> wrote:
    > On Nov 4, 11:07 am, Tom St Denis <> wrote:
    >
    >
    >
    > > On Nov 4, 8:17 am, Rich Webb <> wrote:

    > [...]
    > > > This paraphrase (anyone have a pointer to the first use?) seems apropos:
    > > > Some languages are like scissors for children. They can be used to cut
    > > > out pretty much any shape you might want out of paper. They are also
    > > > safe, with blunt tips and not very sharp, so you're unlikely to
    > > > accidentally injure yourself while using then.
    > > > C is like a surgeon's scalpel: just a handle and an edge. It can cut
    > > > practically anything and in the right hands it can perform miracles.
    > > > However, use it carelessly and you'll cut your own hands off.

    > > Exactly.  Why people attribute that to a negative quality of C I'll
    > > never get it.

    >
    > I suspect it's because, one way or another, C has a pretty long
    > history of finding its way into the hands of metaphorical children.
    >
    > > The real problem is people who are poorly trained are passing themselves
    > > off as developers.

    >
    > This is going a bit far afield from the original context of the
    > thread, but a lot of people who need to write programs in order to do
    > their jobs are not professional programmers, in much the same way that
    > a lot of people who need to write English prose in order to do their
    > jobs are not professional writers.
    >
    > It's quite common for engineers or scientists to have to write
    > programs for their own use and, perhaps, the use of a small number of
    > other people, and a lot of the time they end up writing those programs
    > in C. There are good compilers available just about everywhere for
    > cheap and it has a reputation for being fast.
    >
    > A person can simultaneously be a phenomenal physicist and a lousy
    > programmer.


    I just ran across an interesting example of this. I have been wanting
    to better understand the Bayesian approach to probability theory, so I
    started reading "Probability Theory: The Logic of Science" by E.T.
    Jaynes. He was a major figure in statistical mechanics and the
    foundations of probability theory (see http://en.wikipedia.org/wiki/Edwin_Thompson_Jaynes
    ). The book was published posthumously and edited by Larry Bretthorst.
    In the introduction Bretthorst writes that Jaynes had intended to
    include several programs that he had written which implement some of
    the calculations in the book. Bretthorst goes on to write that the
    programs were "written in a particularly obscure form of BASIC (it was
    the programs that were obscure, not the BASIC)" so he decided to omit
    them. Any suggestion that Jaynes was thus somehow an idiot is
    misguided to say the least.

    > > I was using C for roughly 7-8 years before I really considered myself halfway
    > > competent to even call myself professional.  Sure it only took me a short bit
    > > to learn the syntax, but really writing maintainable and scalable software
    > > [in any language] takes experience.

    >
    > Sure. But someone who has an entire other set of professional
    > responsibilities is likely to not get those years of experience
    > writing maintainable and scalable software because they're busy
    > getting other sorts of experience that is more relevant to their jobs.
    >
    > Cheers,
    > Pillsy
    > [...]
    scattered, Nov 5, 2009
    #16
  17. Re: Maybe C is the perfect language for really good systems programmers, but unfortunately not-so-good systems and applications programmers are using it and they shouldn't be?

    Richard Heathfield <> wrote:
    >But what if you want your hair cut with surgical precision?


    For that I have an industrial robot bristling with high-powered lasers.
    What could possibly go wrong?

    -Beej
    Beej Jorgensen, Nov 5, 2009
    #17
  18. Casey Hawthorne

    Seebs Guest

    Re: Maybe C is the perfect language for really good systems programmers, but unfortunately not-so-good systems and applications programmers are using it and they shouldn't be?

    On 2009-11-05, Beej Jorgensen <> wrote:
    > Richard Heathfield <> wrote:
    >>But what if you want your hair cut with surgical precision?


    > For that I have an industrial robot bristling with high-powered lasers.
    > What could possibly go wrong?


    A Microsoft logo.

    -s
    --
    Copyright 2009, all wrongs reversed. Peter Seebach /
    http://www.seebs.net/log/ <-- lawsuits, religion, and funny pictures
    http://en.wikipedia.org/wiki/Fair_Game_(Scientology) <-- get educated!
    Seebs, Nov 5, 2009
    #18
  19. Re: Maybe C is the perfect language for really good systems programmers, but unfortunately not-so-good systems and applications programmers are using it and they shouldn't be?

    Seebs <> wrote:
    >On 2009-11-05, Beej Jorgensen <> wrote:
    >> Richard Heathfield <> wrote:
    >>>But what if you want your hair cut with surgical precision?

    >
    >> For that I have an industrial robot bristling with high-powered lasers.
    >> What could possibly go wrong?

    >
    >A Microsoft logo.


    Oh, man, can you imagine a three meter-tall Clippy armed with lasers and
    scalpels?

    "It looks like you're getting a haircut!"

    -Beej
    Beej Jorgensen, Nov 6, 2009
    #19
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Mike
    Replies:
    2
    Views:
    612
  2. Guest
    Replies:
    5
    Views:
    603
  3. Tim

    Unfortunately...fortunately

    Tim, Jul 5, 2003, in forum: Python
    Replies:
    0
    Views:
    285
  4. Ville Vainio
    Replies:
    11
    Views:
    590
    Hamish Lawson
    Aug 10, 2004
  5. Mango

    Unfortunately it is not working

    Mango, Mar 11, 2005, in forum: ASP .Net Building Controls
    Replies:
    0
    Views:
    111
    Mango
    Mar 11, 2005
Loading...

Share This Page