تفاوت میان زبان‌های برنامه‌نویسی، برچسب‌گذاری و اسکریپتی

گردآوری و تالیف : ارسطو عباسی
تاریخ انتشار : 16 آذر 1397
دسته بندی ها : برنامه نویسی

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

گاهی اوقات استفاده از یک نوع این موارد می‌تواند کارتان را راه بیاندازد و هدف‌تان را به انجام برساند، اما گاهی اوقات اینگونه نیست و نیاز دارید که آن‌ها را با همدیگر ترکیب نمایید. برای مثال چنین قضیه‌ای در فرایند توسعه اپلیکیشن‌های مبتنی بر وب اتفاق می‌افتد. 

در این مطلب قصد داریم شما را به صورتی ساده با این سه نوع از زبان‌ها آشنا کنیم و بفهمیم که تفاوت آن‌ها چیست.

۱. زبان برنامه‌نویسی

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

این دستورالعمل‌ها توسط برنامه‌نویس نوشته می‌شود، کسی که دانش عمیق و منحصر به فردی از زبان‌ برنامه‌نویسی دارد. این فرد نه فقط در سینتکس یک زبان برنامه‌نویسی بلکه در مفاهیمی مانند ساختمان داده، الگوریتم و… نیز تبحر دارد. 

نمونه‌هایی از یک زبان برنامه‌نویسی شامل C، C++، Java و Python است.

۲. زبان برچسب‌گذاری/نشانه گذاری

براساس نامی که این دسته از زبان‌ها دارند می‌توانیم بگوییم که یک زبان‌های  برچسب گذاری شامل یک سری بلوک‌های بصری و ظاهری هستند. به صورتی اساسی باید بگوییم که این موضوع هدف و نقش اصلی زبان‌های برچسب‌گذاری است. از آن‌ها برای نمایش محتوا بیشتر استفاده می‌شود. این زبان‌ها تعیین می‌کنند که خروجی‌های بدست آمده از یک زبان برنامه‌نویسی و یا اسکریپتی به چه شکلی باشد. دو مورد بسیار محبوب از این نوع HTML و XML است. اگر با HTML آشنایی داشته باشید می‌دانید که استفاده از این زبان در صنعت طراحی وبسایت به چه میزان مهم است.

زبان‌های برچسب‌گذاری با استفاده از یکسری تگ نوشته می‌شود. با استفاده از این تگ‌هاست که ما محتوای یک سند را به صورتی ساختارمند ایجاد می‌کنیم. زبان‌های برچسب‌گذاری معمولا قابلیت بالایی در خوانش دارند، به همین دلیل انسان‌ها به خوبی می‌توانند کدهای آن را مطالعه کنند.

نوع‌های مختلفی از زبان‌های برچسب‌گذاری نیز وجود دارد که در زیر می‌توانید دو مورد از آن‌ها را مشاهده بکنید:

  1. HTML راه به عنوان یک زبان برچسب‌گذاری می‌شناسیم که برای ساختار دادن به یک وبسایت و اجزای آن استفاده می‌شود.
  2. این در حالیست که XML به عنوان یک زبان نشانه‌گذاری دیگر بیشتر برای ذخیره اطلاعات و انتقال داده‌های ساختاردهی شده استفاده می‌کنیم.

۳. زبان اسکریپتی

یک زبان اسکریپتی نوعی از زبان کدنویسی است که برای ادغام شدن و ارتباط برقرار کردن با دیگر زبان‌های کدنویسی ساخته شده است. نمونه‌های بسیار محبوبی از این زبان را می‌توان جاوااسکریپت، پی‌اچ‌پی، وی‌بی‌اسکریپت و… دانست. برای مثال PHP را در نظر بگیرید. پی‌اچ‌پی یک زبان اسکریپتی است که با HTML در حوزه وب پیوند می‌خورد و در نهایت موجب به ساختن یک اپلیکیشن می‌شود. بسیاری از افراد معتقد هستند که هر زبان اسکریپتی در واقع بخشی از زبان‌های برنامه‌نویسی است. اما چنین موضوعی به صورت عکس درست نیست. 

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

دقیقا به همین دلیل است که اغلب می‌‌گوییم زبان‌های اسکریپتی سریع‌تر از زبان‌های کامپایلری اجرا می‌شوند. در سال های اخیر ما روند بسیار وسیعی از استفاده زبان‌های اسکریپتی را مشاهده کردیم که جلودار آن‌ها PHP و Javascript بوده است.

در پایان

اگر قبلا نمی‌توانستید که تفاوت میان این زبان‌ها را بدانید، امیدوارم که در این مطلب به پاسخ خود رسیده باشید. همواره در نظر داشته باشید که زبان‌های برنامه‌نویسی، برچسب‌گذاری و اسکریپتی با همدیگر تفاوت دارند.

منبع

مقالات پیشنهادی

تفاوت میان لینوکس و گنو/لینوکس

یکی از پربحث ترین موضوعات انجمن های لینوکس برای مبتدیان علاقه مند به لینوکس این سوال است که آيا بین لینوکس و گنو/لینوکس تفاوتی وجود داره

تفاوت import و require در Node.js

از اونجایی که Node.js از ماژول بندی commonJS استفاده می کنه, من به فرآیند کاری Node با استفاده از ماژول های commonJS اشاره می کنم و برای ماژول های ECM...

تفاوت میان سفارشی سازی و شخصی سازی

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

تفاوت‌های اصلی میان ReactJS و React-Native چه هستند؟

React Native به مدت دو سال در صحنه حضور داشته است، و از آنجایی که می‌تواند برای اندروید استفاده شود و ما را قادر سازد تا برنامه‌های موبایل میان پلتفرم...