Quantum computers are expected to surpass conventional computers in tasks like integer factoring and quantum system simulation. In quantum programming, entangling operations between qubits are crucial. However, the program qubits are mapped to physical qubits within a quantum computing architecture that often features restricted connectivity, meaning that entangling operations can only be applied between specific pairs of qubits. As a result, it is essential to determine the map from program qubits to physical qubits throughout the computation. Additionally, it may be necessary to introduce new operations to ensure the quantum program conforms to the connectivity constraints. This challenge is known as layout synthesis for quantum computing. In this dissertation, we explore layout synthesis for quantum architectures, focusing on static architectures primarily based on superconducting circuits, as well as dynamic architectures based on neutral atoms. Given that fault tolerance is required for large-scale quantum computing, we also investigate program synthesis for a promising fault-tolerant quantum architecture based on surface codes.