Hiện nay, hầu như tất cả các chương trình máy tính trong thực tế đều được viết bằng các ngôn ngữ bậc cao hay (đôi khi) hợp ngữ, và sau đó được dịch thành mã máy thực thi bằng các công cụ phụ trợ như trình biên dịch, trình hợp dịch hay trình liên kết. Ngoài ra, các chương trình được viết bằng ngôn ngữ thông dịch thì được dịch sang mã máy nhờ trình thông dịch tương ứng (có thể xem như là trình thực thi hay trình xử lý). Các trình thông dịch này thường bao gồm các mã máy thực thi trực tiếp (sinh ra từ mã nguồn hợp ngữ hay các ngôn ngữ bậc cao).