Update
This commit is contained in:
parent
367af6e637
commit
e47f0871fe
17 changed files with 1860 additions and 1829 deletions
1
c.md
1
c.md
|
@ -176,6 +176,7 @@ Now let's admit that nothing is [perfect](perfect.md), not even C; it was one of
|
|||
- **Some undefined/unspecified behavior is probably unnecessary** -- undefined behavior isn't bad in general of course, it is what allows C to be so fast and efficient in the first place, but some of it has shown to be rather cumbersome; for example the unspecified representation of integers, their binary size and behavior of floats leads to a lot of trouble (unknown upper bounds, sizes, dangerous and unpredictable behavior of many operators, difficult testing etc.) while practically all computers have settled on using 8 bit bytes, [two's complement](twos_complement.md) and IEEE754 for [floats](float.md) -- this could easily be made a mandatory assumption which would simplify great many things without doing basically any harm. New versions of C actually already settle on two's complement. This doesn't mean C should be shaped to reflect the degenerate "[modern](modern.md)" trends in programming though!
|
||||
- Some basic things that are part of libraries or extensions, like fixed width types and binary literals and possibly very basic I/O (putchar/readchar), could be part of the language itself rather than provided by libraries.
|
||||
- All that stuff with *.c* and *.h* files is unnecessary, there should just be one file type probably.
|
||||
- It's not [Forth](forth.md).
|
||||
- ...
|
||||
|
||||
## Basics
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue