قبل از اینکه بخواید به یک برنامه نویس حرفهای تبدیل بشید، بهتره انواع زبان های برنامه نویسی رو بشناسید. زبانهای برنامه نویسی از چند نظر قابل دستهبندی هستن. در ادامه این دستهبندیها رو بهتون معرفی میکنم. به این ترتیب میتونید انتخاب دقیقتر و بهتری در رابطه با انتخاب زبان برنامه نویسی تون داشته باشید. بیشتر از این مقدمه چینی نیمیکنم. پس سریع بریم سراغ آموزش?.
زبان های برنامه نویسی چه ویژگیهایی دارند؟
به عنوان برنامه نویس مهمه که فرق بین زبان برنامه نویسی و شبه زبانها رو بدونید. برای مثال خیلیها توی وبسایتون مقالههایی تحت عنوان مقایسه زبان php و ASP.NET برای طراحی سایت رو منتشر میکنند. درحالی ASp.NET یک زبان برنامه نیست بلکه یک فریمورکه. و یا برای مثال تعداد زیادی از افراد حیسن صحبتهاشون بیان میکنن که به زبان html مسلط هستن. درحالی که html به هیچ عنوان یک زبان برنامه نویسی نیست.
زبانهای برنامه نویسی معمولا ساختاری مشخص دارن و از قابلیتهایی مثل تعریف متغیر، دستورات پرش و تکرار، دستورات شرط و تصمیمگیری و … برخوردارند. کلیه این مفاهیم در جلسات بعدی با جزئیات بیشتر بهتون توضیح داده میشه.
انواع زبان های برنامه نویسی – زبان سطح بالا و سطح پایین:
اگه یادتون باشه جلسه پیش در رابطه با کامپایلرها با هم صحبت کردیم. متوجه شدیم کامپایلر واحدی هست که کدهای نوشته شده توسط برنامه نویس رو به کدهای قابل فهم برای کامپیوتر تبدیل میکنه. کامپایلرهای مختلف عملکرد متفاوتی دارند. بعضی کامپایلرها دستورات رو مستقیما به زبان ماشین تبدیل میکنند. در حالی که بعضی کامپایلرها دستورات رو به یک زبان میانی نزدیک به زبان ماشین تبدیل میکنند.
جالبه بدونید زبانهای برنامه نویسی که ما باهاشون سر و کار داریم بر همین اساس (میزان قابل فهم بودن برای کامپیوتر)، قابل دستهبندی هستن. اگه زبانی به زبان ماشین (کامپیوتر) نزدیکتر باشه، زبانی سطح پایینه. برای مثال زبان اسمبلی. اما اگه زبان برنامه نویسی مورد نظر از زبان ماشین دور و به درک و فهم انسان نزدیکتر باشه، زبانی سطح بالا است. برای مثال زبانهایی مثل پایتون، C، سی پلاس پلاس، سی شارپ و…، همگی زبانهای سطح بالا هستند.
زبان کامپایلری در برابر زبان مفسری:
در کامپیوترها بخشی به نام مفسر وجود داره که وظیفهاش دقیقا مشابه کامپایلر هست. یعنی مفسر هم مثل کامپایلر دستورات برنامه نویسی رو خط به خط اسکن میکنه و به ورودی قابل فهم برای ماشین تبذیل میکنه. اگرچه کارکرد کلی مفسر و کامپایلر شباهتهای زیادی به هم دارن، اما تفاوتهایی در عملکرد این دو بخش وجود داره. از بارزترین تفاوت مفسر و کامپایلر میشه به این مورد اشاره کرد که کامپایلر تمام کد منبع رو بررسی و به یک باره به کد میانی و یا کد قابل فهم برای ماشین تبدیل میکنه. درحالی که مفسر اینکار رو خط به خط انجام میده. علاوه بر این کامپایلر بعد از هر یک مرتبه کامپایل برنامه، نیازمند کامپایل مجدد نیست مگر اینکه کد منبع توسط برنامه نویس تغییر کنه. اما مفسر، حتی وقتی که کد منبع هیچ تغییری نکرده، به ازا هر درخواست و هر کاربر عملیات تفسیر رو از نو انجام میده.
در نتیجه میشه گفت زبانهای مفسری سرعت بسیار کمتری نسبت به زبانهای کامپایلری دارن. اما از جمله مزیتهای مفسر نسبت به کامپایلر میشه به این مورد اشاره کرد که به روز رسانی کد منبع زبان مفسری بدون توقف برنامه امکان پذیره. در حالی که اگه کد منبع شما به زبان کامپایلری نوشته شده باشه، هر تغییر کد منبع نیازمند توقفی کوتاه و کامپایل مجدد کد منبع هست. از جمله زبان های کامپایلری میشه به زبان سی، سی پلاس پلاس، سی شارپ و… اشاره کرد. و از جمله زبانهای مفسری هم میشه به زبان پایتون، PHP و… اشاره کرد.
زبانهای Server Side و Client Side:
هر نرم افزار به دو بخش Server Side به معنی سما سرور، و Client Side به معنی سمت کاربر تقسیم میشه.معمولا سمت سرور یک نرم افزار به پیاده سازی منطق درونی نرم افزار اختصاص داره. در حالی که سمت کاربر مربوط به پیاده سازی رابط کاربری برنامه هست. زبانهای برنامه نویسی با توجه به امکاناتی که دارند میتونن یکی از زبانهای سمت سرور و یا سمت کلاینت باشند. بعضی از زبانها هم مثل زبان جاوا، میتونن هم Server Side باشن و هم Client Side.
جمع بندی:
توی این جلسه از دوره آموزشی قبل از شروع برنامه نویسی، درباره انواع زبان های برنامه نویسی صحبت کردیم. امیدوارم این مطلب براتون مفید بوده باشه. و کمک کنه به درک بهتری از انواع زبان های برنامه نویسی برسید و با اصطلاحات ذکر شده در این مطلب آشنا بشید.