توی مطلب قبلی در مورد اینکه برنامه نویسی چیه حرف زدم، الانم میخوام به صورت مختصر و مفید در مورد زبان های برنامه نویسی صحبت کنم زبان های برنامه نویسی رو میشه به دو دسته ی سطح پایین (Low Level) و سطح بالا (High Level) تقسیم کرد. زبان های سطح پایین به صورت مستقیم با پردازنده ی کامپیوتر (CPU) در ارتباط هستن و می تونن دستورات پایه ای برنامه نویسی رو اجرا کنن. مثلا یکی از زبان های سطح پایین، زبان ماشین (Machine Language) نام داره که در آن از اعداد 0 و 1 برای نوشتن دستورات استفاده میشه. یکی دیگه از زبان های سطح پایین، زبان اسمبلی (Assembly language) نام داره.
حالا برای اینکه بفهمیم زبان ماشین چطوری کار میکنه، اول باید بفهمیم که پردازنده چطوری کار میکنه. خب پردازنده ها از میلیون ها سوئیچ که می تونن خاموش و روشن بشن تشکیل شدن و با خاموش یا روشن کردن این سوئیچ ها میشه از پردازنده خواست که کاری رو انجام بده. حالا به جای اینکه سوئیچ رو بردارین و ساعت 6 صبح تو یه روز سرد زمستونی برین با سلام و صلوات و ضدیخ و ... به صورت دستی ماشینتون رو روشن کنین، با استفاده از زبان ماشین که همون 0 و 1 است، می تونین سوئیچ هارو خاموش رو روشن کنین که عدد 0 یعنی خاموش و عدد 1 یعنی روشن کردن
اسم دیگه ی زبان ماشین، زبان ریشه ای یا باینری (Binary Language) است که اون اعداد 0 و 1 رو اعداد ریشه ای یا باینری هم میگن. خب قدیما که فقط زبان ماشین برای برنامه نویسی وجود داشت، دانشمندان علوم کامپیوتری زبان دیگه ای به نام زبان اسمبلی رو طراحی کردن، چون برنامه نویسی به زبان ماشین کاری سخت و احتمال وجود خطا در برنامه ها نیز زیاد بود. هدف اصلی زبان اسمبلی این بود که برنامه نویسی رو آسون تر کنه. اگرچه زبان اسمبلی نسبت به زبان ماشین راحت تر بود ولی بازم هنگام ساختن نرم افزار های بزرگ و پیچیده؛ زبان دشواری محسوب می شد.
در گذشته بیشتر برنامه ها به زبان اسمبلی نوشته میشدن ولی خب سر و کله زدن با سختی های زبان ماشین و زبان اسمبلی منجر شد که دانشمدان علوم کامپیوتر به فکر طراحی زبان های برنامه نویسی ساده تر بیفتن که اصطلاحا به اون ها زبان های برنامه نویسی سطح بالا میگن. برخلاف زبان ماشین و زبان های برنامه نویسی سطح پایین، دستورات زبان های برنامه نویسی سطح بالا از کلمات انگلیسی تشکیل شده تا برنامه نویسی رو راحت و راحت تر کنه و برای انسان قابل فهم تر باشه. وقتی برنامه نویس میاد از این زبان ها استفاده می کنه، یه نرم افزار واسطه ای وجد داره که میاد این کدهای انگلیسی رو به زبان ماشین ترجمه و تفسیر میکنه، چون کامپیوتر ها موجودات خنگی هستن که فقط زبان ماشین یا همون 0 و 1 هارو می فهمن
هدف اصلی زبان های برنامه نویسی سطح بالا این بود که برنامه نویسی رو آسون تر بکنن و این امکان رو در اختیار برنامه نویس ها قرار بدن که هر دستوری به کامپیوتر بدن و اصلا کاری به این نداشته باشن که سیستم اون دستورات رو چطوری انجام میده و برنامه نویس هارو کمتر وارد جزئیات برنامه نویسی و اینکه پردازنده ها چطوری کار می کنن بکنه.
بعد از همه ی این حرفا و تفاسیر، این سوال به وجود میاد که کدوم زبان برنامه نویسی سریعتره؟ زبان ماشین؟ زبان اسمبلی یا زبان های سطح بالا؟ مسلما زبان ماشین سریعتره چون زبان مادری کامپیوترهاست و دیگه نرم افزار واسطه ای وجود نداره که دستورات زبان اسمبلی یا زبان های سطح بالا رو به زبان ماشین ترجمه و تفسیر کنه! برنامه های نوشته شده توسط زبان های سطح بالا به صورت مستقیم برای کامپیوترها قابل فهم نیست، به همین خاطر دانشمندان علوم کامپیوتری نرم افزارهای واسطه ای تحت عنوان کامپایلر (Compiler) رو طراحی کردن تا کدهای زبان های برنامه نویسی سطح بالا رو به زبان ماشین تبدیل کنن تا برای کامپیوترها قابل فهم باشه! با اینکه زبان های برنامه نویسی سطح بالا کارو برای برنامه نویس ها خیلی آسون تر کرده بودن ولی بازم بعضی جاها اون طور که باید و شاید دست برنامه نویس ها برای ارتباط برقرار کردن با پردازنده باز نبود، به همین خاطر زبان برنامه نویسی سی (C) ابداع شد تا این امکان رو به برنامه نویس ها بده تا پردازنده رو مثل زبان اسمبلی کنترل کنن اما در عین حال برنامههایی بنویسن که برای انسانها قابل فهم و قابل خوندن و نوشتن باشه. خیلی از برنامههای کاربردی که امروزه میبینیم مثل سیستم عامل های ویندوز، لینوکس، مکینتاش و ... با استفاده از این زبان نوشته شدن و زبان C یک زبان مادر در دنیای برنامه نویسی محسوب میشه.