ITSI.IR – برنامه نویس می تواند دستورات خود را در انواع متفاوتی از زبان های برنامه نویسی بنویسد ( همانند C# ) .تعدادی از این زبان ها به صورت مستقیم توسط کامپیوتر درک می شوند و تعداد دیگر نیاز به ترجمه دارند . تا قابل فهم برای کامپیوتر شوند . امروزه صدها زبان کامپیوتری مورد استفاده می باشند ، که می توان آنها را به سه دسته تقسیم کرد :
۱- زبان های ماشین
هر کامپیوتری مستقیما فقط زبان ماشین خود را درک می کند ، که توسط معماری سخت افزاری آن تعریف شده است . زبان ماشین عموما شامل رشته ای از اعداد است و نهایتا به ۰ ها و ۱ ها ختم می شود. درک زبان ماشین و نوشتن آن برای انسان طاقت فرسا و بسیار مشکل است ، کاربر ترجیح می دهد تا با کلماتی مانند جمع و تفریق به عملیات مورد نظر خود اشاره کند ، در حالیکه زبان ماشین از کد های عددی برای چنین دستوراتی استفاده می کند .
۲- زبان های اسمبلی و اسمبلر ها
زبان ماشین بسیار آهسته بود و کار کردن با آن هم سخت و ملال آور بود . در عوض ، بکار بردن رشته ای از اعداد که کامپیوتر بتواند بصورت مستقیم آنرا درک کند ، برنامه نویسان از عبارت کوتاه شده زبان انگلیسی برای فهماندن عملیات ابتدایی به کامپیوتر استفاده کردند .این عبارت مخفف شده شبیه انگلیسی ، مبنای زبان اسمبلی بودند . برنامه های مترجم بنام اسمبلر ( assembler ) مشهور می باشند که زبان اسمبلی را به زبان ماشین ترجمه می کنند . اگر چه این کد برای انسان از وضوح بیشتری برخور دار است اما برای کامپیوتر تا زمانی که به زبان ماشین ترجمه نشود معنی ندارد .
۳- زبان های سطح بالا ، کامپایلر ها و مفسر ها
برای افزایش سرعت برنامه نویسی زبان های سطح بالا توسعه پیدا کردند .که با استفاده از یک عبارت می توانند وظایف و اعمال وسیع تری را انجام دهند . برنامه های مترجم که وظیفه تبدیل زبان های سطح بالا به زبان ماشین را بر عهده دارند کامپایلر ( compiler ) نامیده می شوند . زبان های سطح بالا همانند visual ، C# ، Objecttive-C ، C ، C++ ، Basic و Java این امکان را به شما می دهند که دستورات مورد نیاز خود را تقریبا مانند زبان انگلیسی و عملیات ریاضی را به صورت روزمره بنویسید .
بدیهی است که زبان های سطح بالا نسبت به زبان های ماشین با اسمبلی از محبوبیت بیشتری در نزد برنامه نویسان برخور دارند . فرایند کامپایل کردن یک برنامه سطح بالا به زبان ماشین می تواند زمان قابل توجهی صرف کند . برنامه های مفسر ( interpreter ) برای اجرای مستقیم برنامه های زبان سطح بالا توسعه داده شده اند ( بدون اینکه نیازی به کامپایلر باشد ) اگر چه نسبت به برنامه های کامپایل شده از سرعت اجرایی کمتری برخوردار هستند .