Main implementations: the same as electronic switches: vacuum tubes in the past, and transistors in the second half of the 20th century.
Although transistors were revolutionary, it is fun to note that they were just "way cheaper and more reliable and smaller" versions of exactly the main functions that a vacuum tube could achieve