اگر تازه قصد دارید برنامهنویسی یاد بگیرید، ممکن است با شنیدن واژههایی همچون برنامهنویسی سطح پایین یا سطح بالا گیج شده باشید. معنی دقیق این سطح کجا شکل میگیرد و اینکه اساسا انتخاب بین هر کدام از اینها تفاوتی خواهد داشت؟ کانالهای یوتیوبی خوبی برای افرادی که قصد یادگیری برنامهنویسی به زبانهای مختلف از پایه را دارند وجود دارد.
زبانهای برنامهنویسی سطح بالا و سطح پایین
در این مقاله بارها به سطح زبانها اشاره میکنیم. اما اینجا بحث بر سر کیفیت برنامهها و زبانهای مختلف نیست بلکه این مفهوم به نزدیکی زبان برنامهنویسی به زبان ماشین اشاره دارد.
به صورت کلی این مفهوم متغیر است، برای مثال اگر برنامهنویس C باشید، از نظر شما جاوا یک زبان سطح بالا محسوب میشود در صورتی که اگر از زبان Ruby استفاده میکنید، جاوا برایتان یک زبان سطح پایین جلوه میکند.
زبان ماشین و زبانهای سطح پایین
با توجه به اینکه کامپیوتر تنها کدهای باینری را که متشکل از صفر و یک است میشناسد، پس ما به زبانی احتیاج داریم که هنگام نوشتن یک برنامه زبان ماشین را برای ما ترجمه کند. هر چه این زبان همچون assembly، به زبان ماشین نزدیکتر باشد، سطح پایینتر تلقی میشود.
امروزه زبان C به شدت بین کسانی که برنامهنویسی انجام میدهند محبوبیت پیدا کرده است، چون اگر چه زبانی سطح پایین محسوب میشود، در عین حال به اندازه assembly پیچیده و نزدیک به زبان ماشین نیست.
زبانهای سطح بالا
اگر چه زبانهای سطح پایین امکان مدیریت بهتری در استفاده از منابع را به کاربر میدهد، اما زبانهای سطح بالا هم دیگر همچین امکاناتی دارند. البته این دسترسی و امکانات در برنامهها و زبانهای مختلف متفاوت است.
برای مثال Ruby یا Python بسیار سطح بالا هستند و به همین علت دسترسی کمتری به عملگرهای مربوط به سختافزار خواهید داشت، در صورتی که کدهای این برنامهها برای نوشتن و خواندن بسیار سادهتر هستند. در این بین جاوا را هم نمیتوان فراموش کرد که در کنار کدهای خوانا و امکانات بیشمار از سطح نسبتا پایینتری در مقابل برنامههای یاد شده برخوردار است.
کدام سطح برای یادگیری مناسب است؟
و دوباره بر میگردیم به سوال اولی که مطرح شد، کدام یک مناسب یادگیری هستند؟ مسئله اینجاست که هیچ جواب درستی برای این معقوله وجود ندارد. هر کدام از طرفین (و گاها برنامههایی که در میان این دو سطح قرار میگیرند) منفعتهای خاص خود را دارند. برنامههای سطح پایین با توجه به ترجمه کمتر به زبان ماشین، به طور معمول سریعتر کار میکنند و به برنامهنویس امکان مدیریت بهتری بر روی نحوه استفاده از منابع دستگاه را میدهند.
در صورتی که برنامههای سطح بالا سادهتر هستند، امکانات بیشتری دارند و برای یادگیری نیز راحتترند. اما مدیریت منابعی که در سطوح پایینتر قرار دارند را نخواهند داشت.
در زیر بعضی از محبوبترین زبانهای برنامهنویسی به ترتیب از سطح پایین تا بالا را برای شما لیست کردهایم:
- C
- C++
- Java
- C#
- Perl
- Lisp
- JavaScript
- Python
- Ruby
- SQL
عالی. تشکر بابت وضیح جامع و کامل شما
🙏🏻🙏🏻