Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #97916

Re: Part II - C newb - third party libs and using and testing suite

Newsgroups comp.lang.c
Date 2016-12-02 17:14 -0800
References <ujq_z.26434$YA2.10127@fx16.iad> <IAl0A.41449$%J2.29672@fx20.iad> <45250493-b524-9002-7291-6c2108ddb820@verizon.net>
Message-ID <1cebfbb2-24ec-473e-afe3-5375ba8d5cff@googlegroups.com> (permalink)
Subject Re: Part II - C newb - third party libs and using and testing suite
From Malcolm McLean <malcolm.mclean5@btinternet.com>

Show all headers | View raw


On Friday, December 2, 2016 at 9:55:26 PM UTC, James R. Kuyper wrote:
>
> You can write object-oriented C code, and structures play a key role in 
> making that possible. However, C was not designed with object 
> orientation in mind, the way that C++ or java was. If you don't want the 
> advantages that come from using object-oriented design principles, you 
> don't have to use them in C (or in C++, for that matter).
> 
You make it sound like no rational person would ever use any design
methodology other than object-orientation. It's one way of organising
programs, and it maps naturally to a reasonably large and important 
subset of programs. But that's all. It's losing popularity as the 
disadvantages become more widely recognised. 
>
> Structures are nothing more than a related group of variables that all 
> get stored together for ease of use. They're tremendously useful for 
> organizing your programs for the same reason that storage boxes, 
> closets, and drawers are useful for organizing your house. Of course, 
> they only get easy to use once you're familiar with them.
> 
The question is whether a list of employees should be represented as

Bloggs, Fred
1234567890
$32,000 

Sixpack, Joe
2345678901
$29,0000


or

Bloggs, Fred; Sixpack, Joe
1234567890, 2345678901
$32,000, $29,0000

C structures encourage the first but don't insist on it. But in
many ways the second is more flexible, if we wish to take  average
salary, for example
>
> I'm afraid I can't recommend a good "HowTo" for C programming. I can 
> offer some advice, however: if you're going to use C, take the time 
> needed to learn all the basics (including structures). If you don't have 
> time to do so, don't use C - there are other languages that are easier 
> to use with little study.
>
Not really. Javascript is superficially easier because it's not
immediately obvious how an employee list is laid out in memory.
But beyond the very first few hurdles, that actually makes it harder
to write and understand Javascript programs.  
> 
> Take a look at BartC's messages on this newsgroup. The way that C is 
> designed is radically incompatible with the way he thinks languages 
> should be designed. There's nothing wrong with that - he should just 
> choose some other language that's a better fit to the way he thinks. If 
> he thinks he can create a better language, he should try to do so, and 
> that's precisely what he's doing. However, he has also decided to use C 
> as the development language for the compiler for his own language, even 
> though his philosophical objections to the way C is designed make it 
> impossible for him to correctly understand how C works. That way leads 
> to insanity, and he seems to be headed there (if he hasn't already 
> arrived).
>
Bart's got a perfectly adequate understanding of C. He exaggerates
some of the problems for the purpose of promoting his own non-C
language, but that's a natural thing to do. There's another poster
who obviously has a very good knowledge of C and identifies many
deep and subtle problems with the language. I've got to say that
I've never been "bitten" by any of the weaknesses raised by this
second poster. But Bart's complaints often match my own experience
- code that pulls in half a library just to get a boolean definition,
for example.

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

C newb - third party libs and using and testing suite S390 <s390@tampascanner.info> - 2016-11-27 01:05 +0000
  Re: C newb - third party libs and using and testing suite Richard Heathfield <rjh@cpax.org.uk> - 2016-11-27 01:41 +0000
    Re: C newb - third party libs and using and testing suite Richard Heathfield <rjh@cpax.org.uk> - 2016-11-27 13:21 +0000
      Re: C newb - third party libs and using and testing suite S390 <s390@tampascanner.info> - 2016-11-28 03:35 +0000
        Re: C newb - third party libs and using and testing suite Richard Heathfield <rjh@cpax.org.uk> - 2016-11-28 10:19 +0000
          Re: C newb - third party libs and using and testing suite S390 <s390@tampascanner.info> - 2016-12-02 19:25 +0000
            Re: C newb - third party libs and using and testing suite "James R. Kuyper" <jameskuyper@verizon.net> - 2016-12-02 14:44 -0500
            Re: C newb - third party libs and using and testing suite BartC <bc@freeuk.com> - 2016-12-02 19:49 +0000
              Re: C newb - third party libs and using and testing suite S390 <s390@tampascanner.info> - 2016-12-04 13:27 +0000
          Re: C newb - third party libs and using and testing suite S390 <s390@tampascanner.info> - 2016-12-02 20:35 +0000
        Re: C newb - third party libs and using and testing suite James Kuyper <jameskuyper@verizon.net> - 2016-11-28 09:27 -0500
          Re: C newb - third party libs and using and testing suite S390 <s390@tampascanner.info> - 2016-12-02 20:43 +0000
            Re: C newb - third party libs and using and testing suite "James R. Kuyper" <jameskuyper@verizon.net> - 2016-12-02 16:35 -0500
              Re: C newb - third party libs and using and testing suite S390 <s390@tampascanner.info> - 2016-12-05 14:50 +0000
                Re: C newb - third party libs and using and testing suite James Kuyper <jameskuyper@verizon.net> - 2016-12-05 23:48 -0500
                Re: C newb - third party libs and using and testing suite S390 <s390@tampascanner.info> - 2016-12-09 22:12 +0000
                Re: C newb - third party libs and using and testing suite "James R. Kuyper" <jameskuyper@verizon.net> - 2016-12-09 18:38 -0500
                Re: C newb - third party libs and using and testing suite Keith Thompson <kst-u@mib.org> - 2016-12-09 16:34 -0800
                Re: C newb - third party libs and using and testing suite Keith Thompson <kst-u@mib.org> - 2016-12-09 15:54 -0800
                Re: C newb - third party libs and using and testing suite BartC <bc@freeuk.com> - 2016-12-10 00:09 +0000
                Re: C newb - third party libs and using and testing suite jameskuyper@verizon.net - 2016-12-09 16:37 -0800
                Re: C newb - third party libs and using and testing suite BartC <bc@freeuk.com> - 2016-12-10 01:09 +0000
                Re: C newb - third party libs and using and testing suite jameskuyper@verizon.net - 2016-12-09 17:32 -0800
                Re: C newb - third party libs and using and testing suite Keith Thompson <kst-u@mib.org> - 2016-12-09 17:36 -0800
  Re: C newb - third party libs and using and testing suite "James R. Kuyper" <jameskuyper@verizon.net> - 2016-11-26 21:14 -0500
    Re: C newb - third party libs and using and testing suite Richard Heathfield <rjh@cpax.org.uk> - 2016-11-27 09:21 +0000
      Re: C newb - third party libs and using and testing suite "James R. Kuyper" <jameskuyper@verizon.net> - 2016-11-27 10:36 -0500
  Re: Part II - C newb - third party libs and using and testing suite S390 <s390@tampascanner.info> - 2016-12-02 21:20 +0000
    Re: Part II - C newb - third party libs and using and testing suite "James R. Kuyper" <jameskuyper@verizon.net> - 2016-12-02 16:55 -0500
      Re: Part II - C newb - third party libs and using and testing suite Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-12-02 17:14 -0800
        Re: Part II - C newb - third party libs and using and testing suite BartC <bc@freeuk.com> - 2016-12-03 13:39 +0000
      Re: Part II - C newb - third party libs and using and testing suite BartC <bc@freeuk.com> - 2016-12-03 02:11 +0000

csiph-web