Warning: Declaration of tie_mega_menu_walker::start_el(&$output, $item, $depth, $args, $id = 0) should be compatible with Walker_Nav_Menu::start_el(&$output, $item, $depth = 0, $args = Array, $id = 0) in /home3/afgsaane/public_html/wp-content/themes/jarida/functions/theme-functions.php on line 1904
تفاوت زبان ماشین، زبان اسمبلی و زبان سطح بالا - انجمن علمی دانشجویان افغانستان

بیاندیش …

تمام افکار خود را روی کاری که دارید انجام می دهید متمرکز کنید. پرتوهای خورشید تا متمرکز نشوند نمی سوزانند.

— گراهام بل
خانه / اسلاید / تفاوت زبان ماشین، زبان اسمبلی و زبان سطح بالا
تفاوت زبان ماشین، اسمبلی و زبان های سطح بالا
تفاوت زبان ماشین، اسمبلی و زبان های سطح بالا

تفاوت زبان ماشین، زبان اسمبلی و زبان سطح بالا

تفاوت زبان ماشین، زبان اسمبلی و زبان سطح بالا

تفاوت زبان ماشین، زبان اسمبلی و زبان سطح بالا

برنامه نویسان، دستور العمل ها را به زبان های برنامه نویسی گوناگونی می نویسند. برخی از این زبان ها، مستقیما برای کامپیوتر قابل فهمند و برخی دیگر نیز به مراحل میانی ترجمه (translation) نیاز دارند. امروزه از صدها زبان کامپیوتری استفاده می شود. این زبان ها را می توان به سه نوع کلی زیر تقسیم کرد:

۱٫ زبان های ماشین (Machine Languages )

۲٫ زبان های اسمبلی ( Assembly Languages )

۳٫ زبان های سطح بالا ( High-Level Languages )

هر کامپیوتر فقط می تواند زبان ماشین مربوط به خودش را مستقیما بفهمد. زبان ماشین « زبان طبیعی» کامپیوترهاست و توسط طراحی سخت افزار آنها تعریف می شود. (نکته: زبان ماشین را کد هدف (object code) نیز می نامند. این اصطلاح قبل از اصطلاح برنامه نویسی شی گرا (object-oriented programming) به وجود آمده است و Object موجود در دو اصطلاح ارتباطی به هم ندارند) دستور العمل های زبان ماشین به طور کلی، شامل رشته هایی از اعداد ( که در نهایت به ۰ و ۱ تبدیل می شوند) هستند که درهر لحظه ارای ابتدایی ترین اعمال را به کامپیوتر فرمان می دهند. زبان های ماشین، به ماشین وابسته هستند (machine dependent) و این بدان معناست که هر زبان ماشین خاص، تنها می تواند بر روی یک نوع کامپیوتر به کار رود. کار با زبان ماشین برای انسان ها سخت و دشوار است.

برنامه نویسی به زبان ماشین بسیار آهسته و مستعد خطا بوده و برای بیشتر برنامه نویسان کار پرمشقتی است. از این رو، برنامه نویسان به جای اینکه با رشته هایی از اعداد که مستقیما برای کامپیوتر قابل فهمند کار کنند، شروع به استفاده از مخفف های انگلیسی مانندی که بیانگر اعمال ابتدایی کامپیوتر هستند، کردند. این مخفف ها، پایه و اساس زبان اسمبلی را تشکیل داد. به دنبال آن، برنامه های مترجمی (translator program) موسوم به اسمبلر (assembler) نیز ایجاد شدند تا برنامه های زبان اسمبلی را به سرعت به زبان ماشین تبدیل کنند. این کدها برای انسان واضح تر هستند اما تا زمانی که به زبان ماشین ترجمه نشوند برای کامپیوتر مفهومی ندارند.

با پیدایش زبان اسمبلی، میزان استفاده از کامپیوتر ها به سرعت افزایش یافت، اما هنوز برنامه نویسان مجبور بودند، برای انجام ساده ترین کارها دستور العمل های زیادی را بنویسند. برای تسریع فرایند برنامه نویسی، زبان های سطح بالا ایجاد شدند که در آنها با نوشتن یک دستور (statement) کارهای زیادی انجام می شد. برنامه های مترجمی موسوم به کامپایلر (compiler)، برنامه های به زبان سطح بالا را به زبان ماشین تبدیل می کردند. به کمک زبان های سطح بالا، برنامه نویسان می توانستند دستوراتی بنویسند که تقریبا شبیه انگلیسی روزمره بوده و شامل نمادهای متداول ریاضی هستند.

از دیدی برنامه نویس، بدیهی است زبان سطح بالا بسیار مطلوب تر از زبان ماشین و زبان اسمبلی است. از جمله زبان های سطح بالا می توان به زبان C و C++ و زبان های Microsoft’s .Net ( مثل Visual Basic.Net، Visual C++.Net و C#) و Java اشاره کرد که امروزه بسیار متداول هستند.

بسیاری از برنامه نویسان تازه کار تصور می کنند که برنامه نویسی به زبان اسمبلی بسیار مشکل تر از برنامه نویسی به یک زبان سطح بالا است. در یک مثال ساده تفاوت برنامه نویسی در زبان اسمبلی و یک زبان سطح بالا را بررسی خواهیم کرد:

فرض کنید می خواهیم به یک ربات بگوییم تا حصاری دور باغ ایجاد کند. این دستور را در دو زبان مشاهده کنید

زبان سطح بالا:

با استفاده از میله های چوبی به قطره ۵/۲ سانتیمتر و طول یک و نیم متر، و به فاصله ۵/۲ متر از یکدیگر، حصاری دور باغ ایجاد کن.

زبان اسمبلی:

به چوب بری برو و ۷۰۰ عدد میله چوبی به طول یک و نیم و قطر ۵/۲ سانتیمتر خریداری کن. چوب ها را در وانت بگذار. به خانه برگرد و آنها را خالی کن. از گوشه شمال شرقی باغ شروع کرده و سوراخی به عمق نیم متر ایجاد کن. یکی از جوبها را بردار. چوب را در سوراخ قرار بده. در سوراخ سیمان بریز. ۵/۲ متر جلوتر برو اگر به گوشه دیگر نرسیده ای، یک سوراخ به عمق نیم متر ایجاد کن. یک چوب دیگر بردار و ….

با آنکه مثال زبان اسمبلی پیچیده تر به نظر می رسد، اما هر کدام از مراحل آن مانند (سوراخی به عمق نیم متر ایجاد کن) بسیار ساده و قابل فهم هستند.

فرآیند ترجمه زبان سطح بالا به زبان ماشین، می تواند زمان قابل ملاحظه ای از کامپیوتر را به خود اختصاص دهد. از این رو، برنامه هایی به نام مفسر (interpreter) به وجود آمدند که می توانستند برنامه های سطح بالا را مستقیما اجار کنند، اما این کار را بسیار کندتر انجام می دادند. در محیط هایی که دائما با افزودن ویژگی های جدیدی به برنامه و تصحیح خطاها، برنامه باید مجددا کامپایل شود، استفاده از مفسرها از محبوبیت بیشتری برخوردار است. پس از تکمیل برنامه، می توان نسخه کامپایل شده ای تولید کرد که بسیار کارآمد تر اجرا می شود.

گردآوری: گروه کامپیوتر/ انجمن علمی دانشجویان افغانستان

درباره امیر حمزه

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

۴ دیدگاه

  1. مثال جالبی بود :)

  2. عالی بود . استفاده کردم

  3. واقعا دمتون گرم علی بود

دیدگاهتان را ثبت کنید

آدرس ایمیل شما منتشر نخواهد شدعلامتدارها لازمند *

*

theme
رفتن به بالا

Warning: Parameter 1 to W3_Plugin_TotalCache::ob_callback() expected to be a reference, value given in /home3/afgsaane/public_html/wp-includes/functions.php on line 3510