زبان ماشین چیست؟ ارتباط کد ماشین با زبان سطح پایین چیست؟ کاربرد زبان ماشین چیست؟ ویژگی های Machine Languages چیست؟ معایب Machine code چیست؟ شباهت و تفاوت زبان برنامه نویسی کامپیوتر ماشین با اسمبلی در چیست؟ زبان ماشین چه ارتباطی با زبان سطح بالا دارد؟ اینها سوالاتی هستند که باید در این زمینه بدانید و ما در این مطلب از مجله برنامه نویسی شما را با جواب این سوالات آشنا می کنیم. تا آخر همراه آموزشگاه برنامه نویسی الکامکو باشید.
همانطور که می دانید هر برنامه نویس می تواند دستورات خود را با زبان های برنامه نویسی مختلفی بنویسد. زبان های برنامه نویسی زیادی برای کاربردهای مختلفی وجود دارند كه ميتوان همه آنها را به سه دسته زیر تقسيم بندی كرد:
- زبان ماشين (Machine Languages)
- زبان اسمبلي (Assembly Languages)
- زبانهاي سطح بالا (High-Level Languages)
زبان ماشین چیست؟
زبان ماشین (Machine Language) که با نام کد ماشین (Machine code) هم شناخته می شود، زبانی است که کامپیوتر فقط آن را مستقیما می فهمد و در واقع زبان ماشین، زبان منحصر به فرد یک کامپیوتر است. زبان ماشين معمولا به صورت باینری نوشته می شود که شامل رشتهاي از اعداد است و موجب ميشود كه كامپيوتر عمليات اصلي را كه در ارتباط با خود است درهر بار راهاندازي اجرا نمايد.
همچنین بخوانید » روش های درامدزایی از برنامه نویسی
ارتباط زبان ماشین با زبان سطح پایین چیست؟
کد ماشین یا زبان ماشین یک برنامه کامپیوتری است که به زبان ماشین نوشته شده است. از مجموعه دستورات یک معماری کامپیوتری خاص استفاده می کند. کد ماشین پایین ترین سطح نرم افزار است و در واقع یکی از زبان های سطح پایین (Low-level programming language) محسوب می شود. درك زبان ماشين براي انسان طاقت فرسا و بسيار مشكل است.
همچنین بخوانید » انواع فریم ورک های طراحی سایت
نمونه کد زبان ماشین در کامپیوتر چیست؟
همانطور که در ابتدای یادگیری هر زبان برنامه نویسی از مثال چاپ عبارت «Hello World» استفاده میشود، در این بخش نیز به عنوان مثالی از زبان ماشین این عبارت به صورت زیر نوشته شده است:
۰۱۰۰۱۰۰۰ ۰۱۱۰۰۱۰۱ ۰۱۱۰۱۱۰۰ ۰۱۱۰۱۱۰۰ ۰۱۱۰۱۱۱۱ ۰۰۱۰۰۰۰۰ ۰۱۰۱۰۱۱۱ ۰۱۱۰۱۱۱۱ ۰۱۱۱۰۰۱۰ ۰۱۱۰۱۱۰۰ ۰۱۱۰۰۱۰۰
در زبان ماشین برنامه نویسی به جای استفاده از دستورات انگلیسی، از اعداد صفر و یک و یا رقمهای باینری، برای نوشتن دستورات در آن استفاده شده است. که اغلب برای مشاهده و اصلاح انسان به صورت دستگاه شانزده شانزدهی (hexadecimal) تبدیل میشوند.
یک پردازنده از میلیونها سوییچ بسیار کوچک تشکیل شده است که میتوانند خاموش و روشن شوند. اگر برخی از این سوییچهای خاص را خاموش و روش کنیم، میتوانیم از پردازنده بخواهیم تا کار مورد نظر ما را انجام دهد.
به این صورت که به جای خاموش و روشن این سوییچها به روش دستی، زبان ماشین با صفر و یک این امکان را به ما میدهد که سوییچها را خاموش و روشن کنیم. (صفر به معنی خاموش و یک به معنی روشن است.) و به این طریق فرمان خود را به پردازنده بگوییم.
همچنین بخوانید » محیط توسعه یکپارچه (ide) چیست؟
زبان اسمبلی چیست و چه ربطی به زبان ماشین دارد؟
زمانيكه كامپيوترها مورد استفاده عموم قرار گرفتند، مشخص شد برنامهنويسي زبان ماشين براي بسياري از برنامهنويسان خسته كننده و ملالتآور است. در عوض، بكار بردن رشتهاي از اعداد كه كامپيوتر بتواند بصورت مستقيم آنرا درك كند، برنامهنويسان از عبارات كوتاه شده زبان انگليسي براي فهماندن عمليات ابتدايي به كامپيوتر استفاده كردند. اين عبارات مخفف شده شبيه زبان انگليسي، مبناي زبان اسمبلي هستند. برنامههاي مترجم بنام اسمبلر مشهور ميباشند كه زبان اسمبلي را به زبان ماشين ترجمه ميكنند.
قطعه برنامهاي كه در قسمت پايين آورده شده همان عمليات بالا را انجام ميدهد منتهي با استفاده از زبان اسمبلي كه نسبت به زبان های ماشین از وضوح (قابل فهم) بيشتري برخوردار است.
همچنین بخوانید » دوره فلاتر از مبتدی تا پیشرفته برای ساخت اپ های اندروید و ios | برنامه فلاتر چیست؟
شباهت زبان برنامه نویسی کامپیوتر ماشین با اسمبلی در چیست؟
- هر دوی زبان های برنامه نویسی ماشین و اسمبلی زبان های سطح پایین محسوب می شوند.
- کدهای نوشته شده در هر دو زبان برنامه نویسی اسمبلی و ماشین به ساختار پردازنده مرکزی کامپیوتر وابسته هستند.
همچنین مشاهده کنید » دوره های آموزش طراحی اپلیکیشن اندروید با جاوا در اندروید استادیو پروژه محور از صفر تا صد برای ورود به بازار کار : از اموزش نصب اندروید استودیو تا آموزش اندروید استودیو کامل | دوره برنامه نویسی اندروید با کاتلین
تفاوت زبان برنامه نویسی کامپیوتر ماشین با اسمبلی در چیست؟
علاوه بر اینکه زبان ماشین برنامه نویسی و زبان اصلی مشابه هم هستند ولی تفاوت هایی هم با هم دارند که از این تفاوت ها می توان دبه موارد زیر اشاره نمود:
- کدهای ماشین مستقیم توسط پردازنده اجرا میشود ولی کدهای اسمبلی برای اجرا، باید به زبان ماشین ترجمه شوند.
- درک کردن کدهای اسمبلی برای انسان امکان پذیر است. اما کد ماشین فقط برای رایانه قابل درک است.
- زبان اسمبلی از حروف کوتاه انگلیسی در دستورالعمل خودش استفاده میکند ولی دستورالعمل زبان ماشین رشته ای از اعداد صفر و یک است.
همچنین بخوانید » واسط برنامه نویسی کاربردی (API) چیست؟
زبان سطح بالا چیست و چه ربطی با زبان ماشین دارد؟
اگر چه اين كد براي انسان از وضوح بيشتري برخوردار است اما براي كامپيوتر تا زماني كه به زبان ماشين ترجمه نشود معني ندارد. زبان اسمبلي باعث افزايش سرعت برنامهنويسي شد اما هنوز هم مستلزم دستورات فراواني براي انجام يك عمل ساده بود. براي افزايش سرعت برنامهنويسي زبانهاي سطح بالا توسعه پيدا كردند. كه با استفاده از يك عبارت ميتوانند وظايف و اعمال وسيعتري را انجام دهند. برنامههاي مترجم كه وظيفه تبديل زبانهاي سطح بالا به زبان ماشين را برعهده دارند كامپايلر ناميده ميشوند. زبانهاي سطح بالا اين امكان را به برنامهنويس ميدهند كه دستورات مورد نياز خود را تقريباً مانند زبان انگليسي و عمليات رياضي را به صورت روزمره بنويسد.
sumpay= basePay + overTimePay
واضح است كه زبانهاي برنامه نویسی سطح بالا نسبت به زبانهاي ماشين يا اسمبلي از محبوبيت بيشتري در نزد برنامهنويسان برخوردارند. ويژوال بيسيك به صورت وسيع مورد استفاده ميباشد و از جمله زبانهاي سطح بالا به شمار ميآيد. عمل كامپايل كردن زبان سطح بالا به زبان ماشين ميتواند وقت زيادي از كامپيوتر را بگيرد. برنامههاي مفسر (Interpreter) توسعه يافته ميتوانند به صورت مستقيم برنامههاي زبانهاي سطح بالا را بدون نياز به كامپايل به زبان ماشين تبديل كنند.
اگر چه برنامههاي مفسر نسبت به برنامههاي كامپايلر آهستهتر عمل ميكنند، اما برنامههاي مفسر فوراً شروع به فعاليت ميكنند بدون اينكه تأخيرهاي ذاتي از عمل كامپايل را در خود داشته باشند.
همچنین بخوانید » مفسر برنامه نویسی چیست؟
نحوه ارتباط سطح زبان برنامه نویسی به روایت تصویر
کاربرد های زبان ماشین در برنامه نویسی چیست؟
- زبان ماشین برای پردازش دستورالعملهای انسانی در کامپیوتر مورد استفاده قرار میگیرد.
- پردازشهای دستورالعملهای انسانی تنها در صورتی امکانپذیر هستند که به زبان CPU تبدیل شوند. به همین دلیل زبان ماشین استفاده میشود و کاربرد فراوانی در پردازشهای کامپیوتر دارد.
- همچنین زبان ماشین برای مدیریت و استفاده از حافظه کامپیوتر به صورت کارآمد استفاده میشود. از آنجایی که حافظه کامپیوتر توسط کدهای ماشین به صورت مستقیم در دسترس هستند، چنین فرایندهایی توسط زبان ماشین به صورت یکپارچه انجام میشوند.
همچنین بخوانید » گرفتن پروژه برنامه نویسی اندروید، وب و غیره چگونه است؟
ویژگی های زبان ماشین در برنامه نویسی چیست؟
از ویژگیهای مهم زبان ماشین می توان به موارد زیر اشاره نمود:
- میتوان گفت که زبان ماشین پایینترین سطح زبانی به حساب میآید که دستورالعملهای آن به طور کامل توسط کامپیوتر درک میشوند، همچنین این زبان دیگر نیازی به مفسر، کامپایلر یا اسمبلر ندارد.
- کامپایلرها و مفسرها نقش مهمی بین انسانها و کامپیوترها دارند؛ زیرا میتوانند زبان ماشین را به کدهای زبان برنامه نویسی دیگر تبدیل کنند که برای انسان قابل درک باشند.
- زبان ماشین دنبالهای از «الگو بیتها» (Bit Pattern) است که قابل درک برای کاربران نیستند و فقط کامپیوترها آنها را درک میکنند، به همین دلیل به عنوان کدهای ماشین نیز شناخته میشوند.
- زبان ماشین امکان رفع خطا به کاربر نمیدهد و نمیتوان هیچ تغییری در کدهای آن ایجاد کرد.
- از آنجایی که همه دادههای این زبان در فرمت قابل خواندن برای کامپیوتر هستند، بنابراین، پیادهسازی برنامههای زبان ماشین نسبت به برنامههای نوشته شده با زبانهای برنامه نویسی دیگر سریعتر انجام میشوند.
- زبان اسمبلی برای درک زبان ماشین گزینه خوبی به حساب میآید؛ زیرا این دو زبان شباهت بسیاری با یکدیگر دارند، اما زبان ماشین از زبان اسمبلی نیز در سطح پایینتری قرار دارد.
همچنین بخوانید » معرفی سایت های فریلسری برنامه نویسی ایرانی و خارجی
معایب زبان ماشین در برنامه نویسی چیست؟
- یادگیری برنامه نویسی این زبان به علت حجم بالای رشته کدها بسیار ملال آور است.
- یادگیری و آموختن زبان برنامه نویسی ماشین بسیار سخت و مشکل است.
- وقتی شما دارید رشته کدها را می نویسید باید به ویژگی های ساختاری و هم چنین قطعات سخت افزاری کامپیوتر توجه کنید که کار را سخت تر می کند.
- عیب یابی در این نوع برنامه نویسی به خاطر حجم بالای رشته کدها تقریبا غیر ممکن و بسیار مشکل است.
همچنین بخوانید » بهترین سایت ها برای تمرین و حل مسائل برنامه نویسی