[article] Language Design Deal Breakers

Paulo Pinto pjmlp at progtools.org
Sun May 26 04:13:30 PDT 2013


Am 26.05.2013 09:36, schrieb Walter Bright:
> On 5/26/2013 12:03 AM, Paulo Pinto wrote:
>> After being a Turbo Pascal heavy user, C always felt backwards to me
>> with its
>> weak types, lack of proper strings, modules and namespaces.
>
> I had the opposite experience. Being a Pascal user from the late 70's, I
> hated Pascal's limitations. A friend loaned me K+R and it was like
> someone opened a window. I never wrote another line of Pascal; I threw
> it under the bus, and couldn't work up any interest in TP (which came
> along later).
>
> Proper strings? Those length-prefixed ones that couldn't be longer than
> 255 characters? Argh. C botched them too with 0 terminated ones, but at
> least they were usable.
>

Pascal string limitations were only an issue in classic Pascal, both 
Extend Pascal its sucessors Modula-2 and so on follow a model similar to 
what D offers.

Now it is too late for it, but at the time C could have stayed as 
powerful as it is while offering:

- proper modules, or at least namespaces

- no automatic conversions between arrays and pointers. how hard it is 
to write &a[0]?

- arguments by reference, no need to check for null for every parameter

- strong typed enumerations

- memory allocation without requiring the developer to use sizeof everywhere

- strings similar to what D has

- proper arrays, after all the compilers for other languages always 
offered control over when bound checking code was generated

In the end, same syntax, just some semantic improvements on the type system.

But now it is too late, we only have modern C++ with its warts, or 
hopefully D, Rust, Go, C#, or something else as possible replacement.

However, given that C and UNIX are one and only, it will outlive us all.

--
Paulo


More information about the Digitalmars-d mailing list