زبان برنامه نویسی سطح بالا و سطح پایین یعنی چه؟
با سلام خدمت همه علاقمندان به تکنولوژی، من حسام علیزاده هستم و با یک مقاله دیگه از مجموعه مقالات تکنولوژی در مجله رادیب، در خدمت شما هستم. در این مقاله قصد داریم در مورد تفاوت های زبان های برنامه نویسی سطح بالا و سطح پایین صحبت کنیم. اما ابتدا نیاز است در مورد هر کدام از آنها توضح مختصری خدمت شما ارائه کنم.
زبان های برنامه نویسی سطح پایین چه زبان هایی هستند؟
زبان های برنامه نویسی سطح پایین زبان های وابسته به ماشین هستند. کامپیوترها تنها زبان دودویی را درک می کنند، به این معنی که دستورالعمل ها برای آن ها به شکل 0 و 1 هستند. بنابراین این زبان برنامه نویسی سطح پایین بهترین راه برای دادن سیگنالهای مستقیم به کامپیوترها هستند.
زبان های برنامه نویسی سطح پایین زبان های وابسته به کامپیوتر هستند. این زبان ها ممکن است به عنوان زبان مادری کامپیوتر شناخته شوند. زبان های برنامه نویسی سطح پایین به زبان کامپیوتر نزدیکتر هستند.
زبان های برنامه نویسی سطح بالا چه زبان هایی هستند؟
زبان های برنامه نویسی سطح بالا، زبان های برنامه نویسی ای مانند C، پاسکال و یا Fortran هستند که برنامه نویس را قادر می سازند برنامه ای بنویسد که مستقل از کامپیوتر است. چنین زبان هایی سطح بالا در نظر گرفته می شوند چرا که آن ها به زبان انسان نزدیک تر و از زبان ماشین دور هستند. زبان های سطح بالا زبان های هستند که مستقل از ماشین اند و نوشتن، خواندن، ویرایش و درک آنها راحت است.
زبان های برنامه نویسی سطح پایین و سطح بالا چه تفاوت هایی دارند؟
1. سرعت برنامه
برنامه های زبان های سطح پایین زبان دودویی یا نوشته می شوند. آن ها به هیچ تفسیری نیاز ندارند و ارتباط مستقیمی با ثبت و حافظه دارند بنابراین نسبت زبان های سطح بالا بسیار سریع تر هستند.
زبان های سطح بالا از جملات انگلیسی برای نوشتن برنامه استفاده میکنند. از این رو، کامپایلرها یا مترجمان را مجبور به ترجمه منبع به زبان ماشین می کنند. همچنین به طور مستقیم با سخت افزار ارتباط برقرار نمی کنند. بنابراین سرعت کمتری از زبان های سطح پایین دارند .
2.استفاده از حافظه
زبان های سطح پایین حافظه کمتری مصرف میکنند. در صورتی که زبان های سطح بالا این گونه نیستند. آن ها معمولا در یک محیط خاص اجرا می شوند و همچنین چندین برنامه دیگر هم همزمان در حال اجرا هستند تا کارایی مطلوب برنامه را افزایش دهند که همه این برنامه ها منجر به استفاده از حافظه می شوند. بنابراین مصرف حافظه زبان های سطح بالا نسبتا بیشتر از زبان های سطح پایین است .
3.راحتی
زبان های سطح پایین، زبان های سازگار با ماشین هستند. برای نوشتن یک برنامه به زبان سطح پایین باید دانش دودویی مجموعه دستورالعمل های زبان های سطح پایین را بدانیم. به خاطر سپردن مجموعه دستورالعمل های مختلف برای ساختار های متفاوت تقریباً غیر ممکن است. در نتیجه یادگیری زبان های برنامه نویسی سطح پایین دشوار است چرا که نیاز به دانش و تجربه در مورد معماری آن ماشین خاص دارد.
اما زبان های سطح بالا، زبان های برنامه نویسی مناسب تری هستند. برنامه های زبان های سطح بالا با استفاده از جملات انگلیسی نوشته می شوند که بسیار راحت تر از به خاطر سپردن باینری های سطح پایین است. از این رو یادگیری زبان های برنامه نویسی سطح بالا بسیار راحت تر است.
4. قابلیت انتقال
زبان های سطح پایین شامل مجموعه دستورالعمل های کامپیوتری سطح پایین هستند. و این دستورالعمل ها وابسته به ماشین بوده و برای هر ساختار مختلفی، متفاوت هستند. از این رو برنامه های توسعه یافته معمولاً وابسته به ماشین بوده و قابل انتقال نیستند.
اما همانطور که گفته شد، زبانهای سطح بالا از جملات انگلیسی برای نوشتن برنامه ها استفاده میکنند. این زبان ها با استفاده از یک کامپایلر یا مترجم ،به زبان ماشین ترجمه می شوند و همچنین یک مترجم و یا کامپایلر مجزا برای معماری هر ماشین مختلفی وجود دارد که منبع را به زبان ماشین مورد نظر ترجمه میکند و به همین خاطر زبان های سطح بالا مستقل از ماشین بوده و قابل انتقال هستند.
5.میزان انتزاعی بودن
زبان های سطح پایین هیچ انتزاعی را برای سخت افزار به وجود نمی آورند. آنها نزدیک ترین زبان به سخت افزار هستند و به طور مستقیم با ثبت و حافظه کامپیوتر ها تعامل دارند.
زبان های سطح بالا سطوحی از انتزاع را از سخت افزار به وجود میآورند و به طور مستقیم با قسمت ثبت و حافظه کامپیوتر تعامل ندارند. یک لایه سیستم عامل و نرم افزارهای دیگر بین زبان برنامه نویسی و سخت افزار وجود دارد.
6. اشکال زدایی و تعمیر و نگهداری
زبان های سطح پایین دارای خطاهای بیشتری هستند. از خطاهای کوچک گرفته تا نشت حافظ (memory leak). تشخیص خطا و تعمیر و نگهداری یک روند خستهکننده و زمانبر است.
زبان های سطح بالا دارای خطای کمتری هستند. تقریبا تمام خطاهای سینتکس توسط کامپایلر ها یا مفسران شناسایی شده، اشکال زدایی می شوند و تعمیر و نگهداری آن ها آسان است.
7.دانش و تجربه اضافی
زبان های سطح پایین وابسته به ماشین هستند. آن ها پیش از اینکه بخواهید برنامه ای برای آن کامپیوتر بنویسید، به دانش قبلی از معماری کامپیوتر خاص نیاز دارند.
زبان های سطح بالا مستقل از ماشین هستند و در نتیجه هیچ گونه اطلاعات قبلی در مورد معماری کامپیوتر نیاز ندارند.
8. برنامه های کاربردی
همانطور که گفته شد زبان های سطح پایین هیچ انتزاعی را و یا انتظار کمتری را از سخت افزار فراهم می کند. آن ها در مقایسه با زبان های سطح بالا، بسیار سریع هستند. بنابراین معمولاً برای توسعه سیستم عامل و سیستمهای جاسازی شده استفاده می شوند.
امروزه تقریبا تمام نرم افزارها با استفاده از زبان های سطح بالا طراحی میشوند. این زبان توسعه برنامه های مختلفی مانند برنامه های دسکتاپ، وب سایت ها و برنامه های موبایل استفاده می شوند.
منبع: مجله رادیب
کسانی که این مقاله را خوانده اند مقالات زیر را هم دنبال کرده اند