Using soft-tab seems to be a good practice for programming. However, you provably find that you got frustrated with typing delete/backspace keys many times. This is a solution for that.
Using hungry-delete, one hit of delete-key eats the following white spaces and new lines, or just delete one character. One hit of backspace-key eats the preceding white spaces, or just delete one character.
Configure your load-path and just require hungry-delete.
(require 'hungry-delete)
Call add-hooks to enable hungry-delete in specific modes.
(add-hook 'tuareg-mode-hook #'(lambda () (hungry-keyboard tuareg-mode-map)))
(add-hook 'ruby-mode-hook #'(lambda () (hungry-keyboard ruby-mode-map)))
Or, you can enable it in global (not recommended).
(hungry-keyboard global-map)
Written by Soutaro Matsumoto.
Distributed under MIT License.