The computer keyboard largely descends from the typewriter via the teletype and data punch terminals. This gave a random selection of symbols that computer languages have used in different ways. A British portable typewriter may have had symbols for 1/2 (for halfpennies) and even 1/4 and 3/4 (for farthings)
but lacked the numbers 0 and 1, as you could use capital 'O' and lowercase 'L' instead.
Suppose computer users had said "what do we need?" rather than "what have we got?". There was a brief period when early home computers came with a built in keyboard, but nothing stuck.
The keyboard is for typing text, so anything used for that has to stay. We have Unicode so we don't need a key for every symbol. What do we need? I will start on the suggestions, and maybe you can see what I mean...
* Numbers
Always have a numeric keypad. Take the numbers from the top row. Have a decimal point character on the numeric keypad as the full stop is horribly overloaded.
* Logic and set symbols
Use the 'cup' and 'cap' symbols for unions and intersections instead of '|' and '&'. Any operator we think of as 'and' can give errors. How many cats and dogs do you have? None, because nothing is both a cat and a dog: we want the number of the union of the sets of cats and dogs.
* Neater test operators in computer languages
"A ?= B" is True if A and B have the same value. "A != B" is True if A and B do not have the same value. This could be extended to ?< !< ?> !> and so on. No new symbols required on the keyboard.
* Multiply symbol
The asterisk was re-purposed for multiplication. We could have a proper multiply instead.
* Arrow keys as symbols.
If we have the arrow keys, we can use them as symbols. There are all sorts of possible uses in coding.
* Separate open and close quotes.
These were reduced to one symbol for typewriters. Having separate open and close quotes would let us trap cases where quotes were unbalanced as we do with brackets.