درست همانطور که انسان از زبان برای برقراری ارتباط استفاده می کند و مناطق مختلف دارای زبانهای مختلف هستند ، رایانه ها نیز زبانهای خاص خود را دارند.
انواع مختلفی از زبانها برای انجام انواع مختلف کار در رایانه ایجاد شده است. در اصل ، زبان ها را می توان با توجه به نحوه درک رایانه به دو دسته تقسیم کرد.
دو نوع اساسی زبان رایانه
- زبانهای سطح پایین: زبانی که مستقیماً با یک دستگاه خاص مطابقت دارد
- زبانهای سطح بالا: هر زبانی که مستقل از دستگاه باشد
همچنین انواع دیگری از زبانها وجود دارد که شامل آن است
- زبانهای سیستم: اینها برای کارهای سطح پایین مانند حافظه و مدیریت فرآیند طراحی شده اند
- زبان های اسکریپت: اینها تمایل به سطح بالا و بسیار قدرتمند دارند
- زبانهای خاص دامنه: اینها فقط در زمینه های بسیار خاص استفاده می شوند
- زبان های بصری: زبانهایی که مبتنی بر متن نیستند
- زبانهای باطنی: زبانهایی که شوخی می کنند یا برای استفاده جدی در نظر گرفته نشده اند
این زبانها متقابلاً منحصر به فرد نیستند. برخی می توانند متعلق به چندین دسته باشند. اصطلاحات سطح پایین و سطح بالا نیز برای تفسیر باز است و برخی از زبانهایی که زمانی سطح بالا در نظر گرفته می شدند ، اکنون سطح پایین در نظر گرفته می شوند زیرا زبانها همچنان به پیشرفت خود ادامه داده اند.
زبانهای سطح پایین
زبانهای رایانه ای سطح پایین یا کدهای دستگاه هستند یا به آنها بسیار نزدیک هستند. یک کامپیوتر نمی تواند دستورالعمل هایی را که به آن به زبان های سطح بالا یا انگلیسی داده شده است ، درک کند. این فقط می تواند دستورالعمل های ارائه شده به شکل زبان دستگاه ، یعنی باینری را درک و اجرا کند. دو نوع زبان سطح پایین وجود دارد:
- زبان دستگاه: زبانی که مستقیماً در سخت افزار تفسیر می شود
- زبان مونتاژ: یک زبان کمی کاربر پسند تر که مستقیماً با زبان ماشین مطابقت دارد
زبان ماشین
زبان ماشین پایین ترین و ابتدایی ترین سطح زبان برنامه نویسی است و اولین نوع زبان برنامه نویسی است که توسعه داده می شود. زبان ماشین اساساً تنها زبانی است که یک کامپیوتر می تواند آن را درک کند و معمولاً به صورت هگز نوشته می شود.
در حقیقت ، یک تولید کننده یک کامپیوتر را برای پیروی از یک زبان ، کد دستگاه آن ، که در داخل رایانه توسط یک رشته از رقم های باینری (بیت) 0 و 1 نشان داده شده است ، طراحی می کند. 1 مخفف وجود نبض برقی است. از آنجا که یک کامپیوتر قادر به شناخت سیگنال های برقی است ، زبان دستگاه را درک می کند.
مزایای
معایب
زبان ماشین باعث استفاده سریع و کارآمد از کامپیوتر می شود.
تمام کدهای عملیاتی باید به خاطر بسپارند
برای ترجمه کد نیازی به مترجم ندارد. به طور مستقیم توسط کامپیوتر قابل درک است.
تمام آدرس های حافظه باید به خاطر بسپارند.
اصلاح یا یافتن خطا در برنامه ای که به زبان ماشین نوشته شده است دشوار است.
زبان اسمبلی
زبان اسمبلی برای غلبه بر برخی از ناراحتیهای زبان ماشین ایجاد شد. این یکی دیگر از زبان های سطح پایین اما بسیار مهم است که در آن کدهای عملیات و عملوندها به جای 0 و l به شکل نمادهای الفبای عددی داده می شوند.
این نمادهای الفبایی به عنوان کدهای یادگاری شناخته می شوند و می توانند حداکثر در ترکیبات پنج حرفی ترکیب شوند، به عنوان مثال. ADD برای جمع، SUB برای تفریق، START، LABEL و غیره. به دلیل این ویژگی، زبان اسمبلی به عنوان "زبان برنامه نویسی نمادین" نیز شناخته می شود.
این زبان نیز بسیار دشوار است و برای مسلط شدن نیاز به تمرین زیادی دارد زیرا فقط کمی پشتیبانی انگلیسی در این زبان وجود دارد. بیشتر زبان اسمبلی برای کمک به جهت گیری های کامپایلر استفاده می شود. دستورالعمل های زبان اسمبلی توسط مترجم زبان به کدهای ماشین تبدیل می شوند و سپس توسط کامپیوتر اجرا می شوند.
مزایای
معایب
درک و استفاده از زبان اسمبلی در مقایسه با زبان ماشین آسانتر است.
مانند زبان ماشین، این زبان نیز وابسته/خاص ماشین است.
مکان یابی و تصحیح خطاها آسان است.
از آنجایی که به ماشین وابسته است، برنامه نویس نیز باید سخت افزار را درک کند.
به راحتی اصلاح می شود.
زبان های سطح بالا
زبانهای رایانهای سطح بالا از قالبهایی مشابه انگلیسی استفاده میکنند. هدف از توسعه زبان های سطح بالا این بود که مردم بتوانند به راحتی برنامه ها را در محیط زبان مادری خود (انگلیسی) بنویسند.
زبانهای سطح بالا اساساً زبانهایی نمادین هستند که به جای کدهای یادگاری از کلمات انگلیسی و/یا نمادهای ریاضی استفاده میکنند. هر دستورالعمل در زبان سطح بالا به بسیاری از دستورالعملهای زبان ماشین ترجمه میشود که کامپیوتر میتواند آن را بفهمد.
مزایای
معایب
زبان های سطح بالا کاربر پسند هستند
یک زبان سطح بالا باید توسط یک مترجم به زبان ماشین ترجمه شود، که زمان می برد
آنها شبیه به انگلیسی هستند و از واژگان انگلیسی و نمادهای شناخته شده استفاده می کنند
کد شی تولید شده توسط مترجم ممکن است در مقایسه با یک برنامه زبان اسمبلی معادل ناکارآمد باشد
یادگیری آنها آسان تر است
نگهداری آنها راحت تر است
آنها به جای اینکه مبتنی بر «ماشین» باشند، مسئله محور هستند
برنامه ای که به یک زبان سطح بالا نوشته شده است را می توان به بسیاری از زبان های ماشین ترجمه کرد و می تواند روی هر کامپیوتری که مترجم مناسبی برای آن وجود دارد اجرا شود.
زبان مستقل از ماشینی است که در آن استفاده می شود، یعنی برنامه های توسعه یافته در یک زبان سطح بالا را می توان بر روی هر متن کامپیوتری اجرا کرد.