speed builds up and bleeds off
Acceleration and friction move the velocity toward the input speed by a set amount per second, instead of setting it in one frame. The bottom character reaches full speed in 0.2 s, stops 0.1 s after release, and brakes twice as hard when the input flips direction. The top character copies the input directly, so its speed trace is a square wave and it starts, stops and turns around in a single frame.
Give horizontal movement acceleration and friction: each frame move the velocity toward input times max speed with an acceleration that reaches max speed in 0.1 to 0.2 s, decelerate to a stop in about 0.1 s when no direction is held, use twice that deceleration when the input points against the current velocity, and halve both rates while airborne.