Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C Programming > Dennis Ritchie -- An Appreciation

Reply
Thread Tools

Dennis Ritchie -- An Appreciation

 
 
James Kuyper
Guest
Posts: n/a
 
      11-01-2011
On 11/01/2011 12:25 PM, Malcolm McLean wrote:
....
> There are two components to the system, the computer and the human
> programmer.
>
> It's no good having a programming language which is superbly
> efficient, malleable, with automatic error-checking and so on, if for
> some reason humans find it difficult to use. ...


Everything is difficult to use, for some humans. C++ is a substantially
more complicated language than C, which means that there's larger number
of people who find it difficult. I personally think that it comes
uncomfortably close to being too difficult to learn to be useful; but I
don't think it's actually crossed that line - yet. It looks to me like
the next version of the C++ standard might do the trick.

> ... There's not much point
> blaming the human for his stupidity, unless you can hire someone else,


However, people who find these aspects of C++ easier to deal with than
you do are not too hard to find. Whether they can be hired depends upon
how much you can afford to pay them. I've never been authorized to hire
someone to do C++ programming, so I've no idea what that level of
expertise costs in the current market.
 
Reply With Quote
 
 
 
 
nroberts
Guest
Posts: n/a
 
      11-01-2011
On Nov 1, 9:59*am, James Kuyper <(E-Mail Removed)> wrote:
> On 11/01/2011 12:25 PM, Malcolm McLean wrote:
> ...
>
> > There are two components to the system, the computer and the human
> > programmer.

>
> > It's no good having a programming language which is superbly
> > efficient, malleable, with automatic error-checking and so on, if for
> > some reason humans find it difficult to use. ...

>
> Everything is difficult to use, for some humans. C++ is a substantially
> more complicated language than C...


http://stackoverflow.com/questions/3...027347#3027347
 
Reply With Quote
 
 
 
 
James Kuyper
Guest
Posts: n/a
 
      11-01-2011
On 11/01/2011 01:30 PM, nroberts wrote:
> On Nov 1, 9:59 am, James Kuyper <(E-Mail Removed)> wrote:
>> On 11/01/2011 12:25 PM, Malcolm McLean wrote:
>> ...
>>
>>> There are two components to the system, the computer and the human
>>> programmer.

>>
>>> It's no good having a programming language which is superbly
>>> efficient, malleable, with automatic error-checking and so on, if for
>>> some reason humans find it difficult to use. ...

>>
>> Everything is difficult to use, for some humans. C++ is a substantially
>> more complicated language than C...

>
> http://stackoverflow.com/questions/3...027347#3027347


I notice that the answer you pointed me at is number 4 in terms of
number of votes, and conflicts with all three answers that got a higher
number of votes. Voting isn't proof, but when a lot of people vote in
favor of answers asserting that C++ is the harder language, I think we
can assume, at the very least, that those particular people found it
more difficult.

The fundamental problem with the idea that C++ has an "easy" part that
you can learn without needing to worry about the "difficult" C part, is
that both are parts of the same language, and that most people writing
in that language write code that mixes features from both parts.

Therefore, you won't be able to understand the code written by those
other people without gaining a certain amount of mastery of the C-like
part of C++. Indeed, a fair number of people consider themselves to be
C++ programmers because they used a C++ compiler to compile their code,
despite the fact that their code that makes little or no use of C++
features that are not also supported by the C standard.

Therefore, you can't gain an understanding of C++ that is sufficient to
do maintenance on other people's code, without also mastering most of
the features that it shares in common with C; and those features add up
to something like 99% of the features specified in the C90 standard (a
slightly smaller percentage of the C99 standard).
 
Reply With Quote
 
nroberts
Guest
Posts: n/a
 
      11-01-2011
On Nov 1, 11:56*am, (E-Mail Removed) (Richard Harter) wrote:
> On Mon, 31 Oct 2011 22:52:03 -0700 (PDT), nroberts
>
> <(E-Mail Removed)> wrote:
> >On Oct 31, 8:59=A0pm, (E-Mail Removed) (Richard Harter) wrote:
> >> On Mon, 31 Oct 2011 13:48:27 -0700 (PDT), nroberts

>
> [snip]
>
>
>
> >> The array of structs and the struct of arrays have the same data, but
> >> the data ordering is different.

>
> >> Is this clear?

>
> Q1:
>
> >OK, what is C specific about preferring one over the other?

>
> Ans: C syntax generally favors one over the other. *In particular
> pointers work better with an array of structs rather than a struct of
> arrays. *


This isn't an answer at all, just a restatement of the assertion under
query. You haven't shown how any aspect of C's syntax alters the
preference over design when deciding whether to treat a bunch of
records as an array of records or a record of arrays of its elements.

>
> Q2:
>
> >Why is
> >*C* biased to using arrays of structs rather than these struct of
> >arrays [snip editorializing]?

>
> I surmise that data order wasn't an important issue when C was being
> developed. *Treating a record as contiguous storage was a very
> convenient default decision.


Well, I suppose you did answer the question as you quoted it.
Unfortunately since you snipped the important part, your answer
doesn't help much when applied to the actual question asked.

I "surmise" that the issue is intrinsic to the data being structured,
and has nothing to do with syntax. Structures and arrays are in no
way interchangeable whether you are writing in C, C++, BASIC, or
Brain****.
 
Reply With Quote
 
nroberts
Guest
Posts: n/a
 
      11-01-2011
On Nov 1, 11:33*am, James Kuyper <(E-Mail Removed)> wrote:
> On 11/01/2011 01:30 PM, nroberts wrote:
>
> > On Nov 1, 9:59 am, James Kuyper <(E-Mail Removed)> wrote:
> >> On 11/01/2011 12:25 PM, Malcolm McLean wrote:
> >> ...

>
> >>> There are two components to the system, the computer and the human
> >>> programmer.

>
> >>> It's no good having a programming language which is superbly
> >>> efficient, malleable, with automatic error-checking and so on, if for
> >>> some reason humans find it difficult to use. ...

>
> >> Everything is difficult to use, for some humans. C++ is a substantially
> >> more complicated language than C...

>
> >http://stackoverflow.com/questions/3...-differences-b...

>
> I notice that the answer you pointed me at is number 4 in terms of
> number of votes, and conflicts with all three answers that got a higher
> number of votes. Voting isn't proof, but when a lot of people vote in
> favor of answers asserting that C++ is the harder language, I think we
> can assume, at the very least, that those particular people found it
> more difficult.


I don't think that's an assumption that can be made either way. As
can be seen through the ample evidence here in this thread, people
like to chatter on about the difficulty of things they've never
bothered to learn.

99% of the words that come out of the mouths of human beings is
complete and total crap based more on their preconceptions, biases,
and ignorance than on reason or experience. Measuring votes is even
more tenuous as people vote for things they like to hear, if they're
not just voting for the people without even reading what was said (a
common occurrence on stackoverflow where there's even chat rooms for
people to clique up in and vote up their friends and down people they
don't like). This is especially true of religiously motivated
conceptions like programming language bigotry.

I posted the link because I agree with what it says. I should, I
wrote it. It also responds to this "C++ is too big and complex" issue
you were bringing up. That site's voting system though is more an
interesting social experiment than a viable technological rating.
 
Reply With Quote
 
James Kuyper
Guest
Posts: n/a
 
      11-01-2011
On 11/01/2011 04:10 PM, nroberts wrote:
> On Nov 1, 11:33 am, James Kuyper <(E-Mail Removed)> wrote:
>> On 11/01/2011 01:30 PM, nroberts wrote:

....
>>> http://stackoverflow.com/questions/3...-differences-b...

>>
>> I notice that the answer you pointed me at is number 4 in terms of
>> number of votes, and conflicts with all three answers that got a higher
>> number of votes. Voting isn't proof, but when a lot of people vote in
>> favor of answers asserting that C++ is the harder language, I think we
>> can assume, at the very least, that those particular people found it
>> more difficult.

.....
> 99% of the words that come out of the mouths of human beings is
> complete and total crap based more on their preconceptions, biases,
> and ignorance than on reason or experience. ...


That's a pretty misanthropic assessment. Even Sturgeon's law tops out at
90%. Even if it's true, I see no reason why it shouldn't apply equally
strongly to both sides of that question. You might also want to consider
the possibility that your claim is self-referential.

Rather than posting a rather comprehensive slander aimed at ... just
about everybody - wouldn't it have been more productive to address the
issue I raised? You know - the one about the need to learn enough about
the C-like side of C++ to be able to read and understand code written by
people who do not choose to avoid that part of the language.
 
Reply With Quote
 
nroberts
Guest
Posts: n/a
 
      11-01-2011
On Nov 1, 1:37*pm, James Kuyper <(E-Mail Removed)> wrote:
> On 11/01/2011 04:10 PM, nroberts wrote:
>
> > On Nov 1, 11:33 am, James Kuyper <(E-Mail Removed)> wrote:
> >> On 11/01/2011 01:30 PM, nroberts wrote:

> ...
> >>>http://stackoverflow.com/questions/3...-differences-b....

>
> >> I notice that the answer you pointed me at is number 4 in terms of
> >> number of votes, and conflicts with all three answers that got a higher
> >> number of votes. Voting isn't proof, but when a lot of people vote in
> >> favor of answers asserting that C++ is the harder language, I think we
> >> can assume, at the very least, that those particular people found it
> >> more difficult.

> ....
> > 99% of the words that come out of the mouths of human beings is
> > complete and total crap based more on their preconceptions, biases,
> > and ignorance than on reason or experience. ...

>
> That's a pretty misanthropic assessment. Even Sturgeon's law tops out at
> 90%.


Weren't paying much attention, where you.
 
Reply With Quote
 
James Kuyper
Guest
Posts: n/a
 
      11-01-2011
On 11/01/2011 03:59 PM, nroberts wrote:
....
> and has nothing to do with syntax. Structures and arrays are in no
> way interchangeable whether you are writing in C, C++, BASIC, or
> Brain****.


No one has suggested that they are interchangeable. Only that data which
can be stored as a single array of structures can also be stored as a
single structure by converting each member to an array. The syntax to
access the data in either form is quite similar: object[i].member vs.
objects.member[i], though clearly different.
 
Reply With Quote
 
nroberts
Guest
Posts: n/a
 
      11-01-2011
On Nov 1, 1:46*pm, James Kuyper <(E-Mail Removed)> wrote:
> On 11/01/2011 03:59 PM, nroberts wrote:
> ...
>
> > and has nothing to do with syntax. *Structures and arrays are in no
> > way interchangeable whether you are writing in C, C++, BASIC, or
> > Brain****.

>
> No one has suggested that they are interchangeable. Only that data which
> can be stored as a single array of structures can also be stored as a
> single structure by converting each member to an array.


2+2 = 27?

Unless you're making a completely pointless statement then you're
implying that it makes equal amount of sense either way. This is
especially true when it is stated that the reason for preference of
one over the other is a byproduct of syntax and not something else.
This is the essence of interchangeability.
 
Reply With Quote
 
Seebs
Guest
Posts: n/a
 
      11-01-2011
On 2011-11-01, ImpalerCore <(E-Mail Removed)> wrote:
> Do you have the same problem with int32_t? The only difference is
> that one is *standardized* and the other 'DWORD' is not.


No, there's a much bigger difference:

One of them says what it actually means, the other says something that
is almost exactly the opposite of what it means.

> The
> underlying concept is the same; you want a double-word on
> architectures that support 16-bit integers and those that support 32-
> bit integers.


No, the underlying concept is "you want a 32-bit integer". DWORD is, on
many modern machines, a *half-word*. But int32_t is always 32 bits.

-s
--
Copyright 2011, all wrongs reversed. Peter Seebach / http://www.velocityreviews.com/forums/(E-Mail Removed)
http://www.seebs.net/log/ <-- lawsuits, religion, and funny pictures
http://en.wikipedia.org/wiki/Fair_Game_(Scientology) <-- get educated!
I am not speaking for my employer, although they do rent some of my opinions.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: RIP Dennis Ritchie Lynn McGuire C++ 12 10-18-2011 08:35 AM
Dennis Ritchie Has Died Bradley K. Sherman C Programming 28 10-18-2011 04:44 AM
Query from Dennis Ritchie C learner C Programming 6 04-04-2011 05:44 PM
Errata for The C Programming Language, Second Edition, by Brian Kernighanand Dennis Ritchie Ioannis Vranos C Programming 4 05-16-2009 03:48 PM
What is this noalias thing Dennis Ritchie is railing about ? Spiros Bousbouras C Programming 22 09-13-2007 09:28 AM



Advertisments