Re: Developing/compiling software
- From: David Brown <david.brown@xxxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Wed, 30 Sep 2009 01:08:33 +0200
ChrisQ wrote:
David Brown wrote:
I think the same thing applies to most languages. I guess we can blame this idiosyncrasy (or rather, idiocy) of C on the slow Dec Writer keyboards - K&R were more concerned about avoiding keystrokes than on making a good structured modular programming language. The default "int" is in the same category.
If all you have is a int, everything looks like a hammer etc, or have I mixed that up a bit.
C may not be perfect, but it's kept me in lunch for more years than I care to remember, Still enjoy the challenge and and still learning new stuff every day. What more could you ask for a way of earning a living, with half the world in employment slavery ?.
To paraphrase Churchill - C is the worst of all possible programming languages, except for all the others.
Everything is a compromise and C was originally designed in the days before computing as it is today. Code generated from it drives a large proportion of the world's engineering, apps, medicine, leisure and more, so perhaps they didn't do such a bad job...
When C was designed, there were plenty of other languages that were far safer, better structured, and in many ways more powerful - Algol and Pascal being the obvious examples. There are a number of points where C could have been much better, for very little cost - avoiding implicit ints and making file-scope objects static are clear examples. The lack of a proper interface-implementation separation is perhaps the biggest failing - people /still/ can't agree on a sensible style of how to name headers and C files, and what should go in each file. I suppose C++ shows that C is not as bad as it is possible to get.
It's fair enough to say that C's limitations and design faults are because K&R were writing it for a specific use, and it worked fine for that job. And it's also fair enough to say that any design is a compromise. But when C was designed, other current languages were significantly more "modern" in their structure and safety - C was a big step back in those areas.
.
- References:
- Re: Developing/compiling software
- From: FreeRTOS info
- Re: Developing/compiling software
- From: ChrisQ
- Re: Developing/compiling software
- From: FreeRTOS info
- Re: Developing/compiling software
- From: Niklas Holsti
- Re: Developing/compiling software
- From: David Brown
- Re: Developing/compiling software
- From: ChrisQ
- Re: Developing/compiling software
- From: David Brown
- Re: Developing/compiling software
- From: ChrisQ
- Re: Developing/compiling software
- From: David Brown
- Re: Developing/compiling software
- From: ChrisQ
- Re: Developing/compiling software
- From: David Brown
- Re: Developing/compiling software
- From: Jon Kirwan
- Re: Developing/compiling software
- From: Grant Edwards
- Re: Developing/compiling software
- From: David Brown
- Re: Developing/compiling software
- From: Grant Edwards
- Re: Developing/compiling software
- From: David Brown
- Re: Developing/compiling software
- From: ChrisQ
- Re: Developing/compiling software
- Prev by Date: Re: support for at91rm9200-ek in sam-ba
- Next by Date: Re: USB Host Implementation via device hardware
- Previous by thread: Re: Developing/compiling software
- Next by thread: Re: Developing/compiling software
- Index(es):
Relevant Pages
|
Loading