Insanely fast recursive descent single pass compilation.
Assignment and equality test have different tokens := vs =
Var parameters instead of messing with pointers
Functions return values, procedures don't
Strings that are automatically reference counted (no allocation or garbage collection to worry about), counted (so you always know how many bytes of text you have), and just work, yet can hold at least a gigabyte
Units for separate compilation
Strong typing
Then I'd add some things from elsewhere
pre and post increment/decrement from C
declarative programming, using a "magical assignment operator" <<==<< or something like that to indicate that the left is always made to equal the expression on the right, and updated any time the expression changes. -- from an experiment called Metamine that was here a few years ago