Re: Developing/compiling software



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.
.



Relevant Pages

  • Re: [CodeGallery] MFC MD5 Calculator
    ... It ranks among the worst languages ever designed. ... ANSI standard began to emerge that the language design ... struct Point2; ...
    (microsoft.public.vc.mfc)
  • Re: Speculative Design Hypothesis (with predictions) 2nd draft
    ... languages are human products, but that does not make them "designed". ... natural languages has nothing to do with design. ... wings and echolocation. ... Because the genetics and fossil evidence show otherwise. ...
    (talk.origins)
  • Re: Overview Of New Intel Core i7(Nehalem) Processor
    ... people settled down and started doing more disciplined design. ... apps will still need mathematical, disciplined, unambiguous languages. ... See, tha tis wha tI mean, yo udo not knwo C, and yet yo uhave more opinions ... I wrote my first EPROM programmer with zeros and ones in machine code, ...
    (sci.electronics.design)
  • Re: high level languages for synthesis
    ... languages are more distinct from their cycle-accurate cousins than ... straightforward to use a spiral design methodology using VHDL, ... implement a wide variety of other scientific algorithms. ... FPGA-targeting C-syntax HLL is somehow inherently sequential. ...
    (comp.arch.fpga)
  • Re: Speculative Design Hypothesis (with predictions) 2nd draft
    ... languages are human products, but that does not make them "designed". ... natural languages has nothing to do with design. ... evidence to point to them not being human. ... wings and echolocation. ...
    (talk.origins)

Loading