کار با صفر و یک همانطور که گفته شد برای ما دشوار است، اما در استفاده از زبان های سطح بالا هم با این مشکل مواجه می شویم که کامپیوتر کد های ما را نمی فهمد، پس به یک مترجم نیاز داریم که برنامه های سطح بالای ما را به زبان صفر و یک ترجمه کنند. این گونه مترجم ها دو دسته‌اند.


Interpreter :

مفسرها برنامه ها را خط به خط می خوانند و خط به خط هم اجرا می کنند یعنی وقتی یک خط را ترجمه می کند آن را اجرا می کند و در حین این اجرا به سراغ خط بعدی می رود. در این صورت ما می توانیم برنامه را در حین اجرای خطوط قبلی ویرایش کنیم. اما مشکل اینجاست که اگر در اواسط برنامه به خطایی بربخوریم ، برنامه نیمه کاره اجرا شده است.



Compiler :

کامپایلرها برعکس مفسرها، برنامه را بطور کلی و یکجا ترجمه می کنند در این حین اگر خطایی در برنامه باشد آن را مشخص می کنند تا برنامه نویس آن را ویرایش کند و اگر هم در برنامه مشکلی نباشد آن را اجرا می کند.