در آموزش برنامه نویسی، استفاده از اصطلاح «سینتکس» بسیار رایج است و در منابع آموزشی از این عبارت به وفور استفاده میشود. به سینتکس در برنامه نویسی «نحو» یا «قواعد نحوی» هم گفته میشود. سینتکس از جمله مفاهیم اساسی و مهم در برنامه نویسی به حساب میآید و افرادی که شروع به یادگیری برنامه نویسی میکنند، حتماً باید با این مفهوم آشنایی داشته باشند. بنابراین، پس از اینکه به درک درستی در باره اینکه برنامه نویسی چیست رسیدید و کاربرد انواع زبان های برنامه نویسی را شناختید، در این مقاله به این سوال پاسخ داده میشود که سینتکس چیست و برای درک بهتر آن، مثالها و نمونه کدهایی به زبان C ارائه شده است.
در برنامه نویسی سینتکس چیست ؟
سینتکس یا نحو (قواعد نحوی) در برنامه نویسی به قوانینی گفته میشود که ساختار آن زبان را تعریف میکنند. نحو یا سینتکس در برنامه نویسی کامپیوتری یعنی قوانینی که ساختار نمادها، علایم نگارشی و کلمات یک زبان برنامه نویسی را کنترل و مدیریت میکنند. بدون سینتکس، درک معانی یا معناشناسی (Semantics) یک زبان برنامه نویسی تقریباً غیرممکن است.
اگرچه، رعایت سینتکس به معنی قابل درک بودن مفهوم نیست، اما رعایت سینتکس برای درک معنا و مفهوم کدها در برنامه نویسی یک پیششرط ضروری و حیاتی به حساب میآید. برای مثال، دنبالهای از کلمات فارسی مثل عبارت «فاعل یک نیاز دارد و جمله آیا یک فعل» بدون قواعد نحوی یا همان سینتکس تقریباً هیچ معنایی ندارد. اما اگر قواعد نحوی و سینتکس به آن اضافه شود، جمله «آیا یک جمله به فاعل و فعل نیاز دارد؟» به دست میآید که کاملاً مفهوم را میرساند و دارای معنا است.
زبانهای برنامه نویسی هم بر اساس همین قواعد عمل میکنند. اگر سینتکس یک زبان برنامه نویسی رعایت نشود، کدها توسط کامپایلر یا مفسر قابل درک نخواهند بود. کامپایلرها، کدهای نوشته شده به زبانهایی مثل جاوا یا C++ را به کدهای دودویی (باینری) تبدیل میکنند که برای کامپیوترها قابل درک هستند. اگر سینتکس رعایت نشود و صحیح نباشد، کدها کامپایل نخواهند شد.
مفسرها زبانهای برنامه نویسی مثل جاوا اسکریپت یا پایتون را در هنگام Runtime اجرا میکنند. سینتکس نادرست، باعث میشود که اجرای کدها با شکست مواجه شود. به همین دلیل است که ضرورت دارد برنامه نویس با دقت به سینتکس زبان برنامه نویسی توجه داشته باشد. چرا که هیچ برنامه نویسی دوست ندارد خطای سینتکس (Syntax Error) دریافت کند.
درک مفهوم سینتکس در برنامه نویسی
زبان انسانها هم قواعدی دارند که بدون این قانونها، برقراری ارتباط غیرممکن خواهد بود. یکی از اولین مواردی که در یادگیری یک زبان خارجی مثل انگلیسی باید انجام شود، یادگیری سینتکس آن زبان است.
برای نوشتن کد و برنامه نویسی هم درست مثل یادگیری یک زبان خارجی، باید روی سینتکس زبان برنامه نویسی مورد نظر تمرکز و به آن توجه کرد. پس از آنکه کدها نوشته میشوند، معمولاً افراد زیادی این کدها را میخوانند. گاهی ممکن است کدها سالها پس از نوشته شدن خوانده شوند و این حقیقت نشان میدهد که چقدر رعایت کردن استانداردها در زمان کدنویسی اهمیت دارند.
سینتکس پایه Basic Syntax چیست؟
«سینتکس پایه» (Basic Syntax) به قوانین بنیادی و اساسی یک زبان برنامه نویسی گفته میشود. بدون این قوانین نحوی اساسی (سینتکس پایهای)، نوشتن کدهایی که کارایی داشته باشند غیرممکن خواهد بود.
هر زبان برنامه نویسی دارای مجموعه قوانین نحوی مربوط به خودش است که سینتکس پایه آن را تشکیل میدهند.
قراردادهای نام گذاری یا Naming Conventions چه هستند؟
قراردادهای نامگذاری (Naming Convention) جز اصلی قوانین نحوی به حساب میآیند و در هر زبانی متفاوت هستند. در ادامه چند مورد از قراردهای نامگذاری در زبانهای برنامه نویسی مختلف شرح داده شدهاند:
- حساسیت به حروف بزرگ و کوچک: جاوا، C++ و پایتون مثالهایی از زبانهایی هستند که در سینتکس آنها نسبت به حروف بزرگ و کوچک حساسیت وجود دارد. مُعرفهایی (Identifier) مثل world و World دارای معانی متفاوتی در این زبانهای برنامه نویسی هستند. زبانهایی مثل Basic و SQL به حروف بزرگ و کوچک حساسیت ندارند، یعنی word و Word معنی یکسانی دارند.
- نام کلاسها: در جاوا اولین حرف کلمه مربوط به نام کلاس باید بزرگ باشد. برای مثال، یک اعلان نام کلاس میتواند به صورت «class FirstJavaClass» باشد. در زبانهایی مثل C یا C++ برای جدا کردن کلمات از خط زیرین (Underline|Underscore) استفاده میشود. در زبان برنامه نویسی C، نام کلاس مثلاً میتواند به صورت «first_java_class» باشد.
- نام فایلهای برنامهها: نام فایل یک برنامه جاوا باید با نام کلاس مربوطه یکسان باشد و تنها پسوند «java.» در انتهای نام فایل قرار میگیرد. برای مثال، «FirstJavaClass.java» میتواند نام فایل برنامهای برای کلاس FirstJavaClass باشد. فایلهای C و C++ نیاز به پسوندهای «c.» و «cpp.» دارند. اما به غیر از این، هیچ مقررات دیگری برای C و C++ وجود ندارد.
زبانهای برنامه نویسی مختلف برای اضافه کردن کامنت، نحوه استفاده از فضای خالی یا تعریف کردن متغیرها، قوانین متفاوتی دارند. زبانهای برنامه نویسی شیگرا مثل جاوا و C از متُدهایی استفاده میکنند که دارای قواعد نحوی متفاوتی هستند. اولین گام در آموزش و یادگیری هر یک از زبانهای برنامه نویسی، درک مفاهیم پایهای مثل ساختار عبارت (ساخت گروهی | Phrase Structure)، سینتکس صحیح و کدهای به درستی ساختاربندی شده است.
فیلم های آموزش برنامه نویسی
برنامه نویسی دنیای وسیعی دارد و زبانهای برنامه نویسی بسیاری برای مقاصد و کاربردهای مختلف به وجود آمدهاند. در بسیاری از زمینههای مختلف علمی، تحقیقاتی، صنعتی، پزشکی و تجاری از برنامه نویسی استفاده میشود. درآمد بالای برنامه نویسی و سایر جذابیتهای متعدد آن افراد زیادی را به این حوزه جذب میکند و بسیاری از افراد به دنبال آن هستند که با کمترین هزینه دورههای آموزش برنامه نویسی کاربردی و جامع را بگذرانند.
یکی از روشهای مقرون به صرفه برای دسترسی به دورههای آموزش ویدیویی برنامه نویسی، استفاده از دورههای تم آف است. تقریباً تمام دورههای آموزش برنامه نویسی تم آف برای دسترسی آسانتر در یک مجموعه آموزشی گردآوری شدهاند. در این مجموعه جامع، دورههای آموزشی بسیاری با محوریت برنامه نویسی از سطوح مقدماتی، تکمیلی و پیشرفته برای زبانهای برنامه نویسی مختلف ارائه شدهاند و علاقهمندان میتوانند بر حسب نیاز از هری از این دورههای ویدیویی استفاده کنند.
- برای دسترسی به مجموعه فیلم های آموزش برنامه نویسی + اینجا کلیک کنید.
اهمیت قراردادهای نام گذاری در سینتکس چیست ؟
قراردادهای نامگذاری (Naming Conventions) در برنامه نویسی باعث افزایش خوانایی کدها میشوند. با وجود قراردادها و رعایت آنها، میتوان اطمینان حاصل کرد که چهار اصل مهم در کدنویسی که به آن «چهار C کدنویسی» گفته میشود، رعایت میشوند:
- Communication (ارتباط)
- Code integration (یکپارچهسازی کد)
- Consistency (انسجام)
- Clarity (وضوح)
هدف استفاده از قواعد و قراردادها این است که کدها به گونهای ساده و روان نوشته شوند و در واقع «خودتوضیح دهنده» باشند. در صورت بدیهی و خودتوصیفگر بودن کدها، میتوان به جای صرف وقت برای درک مفهوم و معنی کدها، بیشتر روی طراحی و بهبود برنامه تمرکز کرد. استفاده از استانداردهای هماهنگ و همسو باعث میشود که سایر برنامه نویسان هم بتوانند کدهای نوشته شده را به راحتی بخوانند و آنها را درک کنند.
اگر کدها از قواعد و قراردادها تبعیت نکنند، نظم و ترتیبی وجود نخواهد داشت و خواندن کدها بسیار دشوار میشود. در اصطلاح برنامه نویسی به کدهای نامرتب و بدون سازماندهی، «کدهای اسپاگتی» (Spaghetti Code) گفته میشود. این اصطلاح بار منفی دارد و نشان دهنده این است که برنامه نویس مهارتها و تجربه مورد نیاز برای نوشتن کدهای خوانا را ندارد.
مثال برنامه نویسی C برای درک بهتر اینکه سینتکس چیست ؟
در این بخش، یک برنامه کوچک به زبان C آمده است که جمله «My first line of code» به معنی «اولین خط کد من» را چاپ میکند. تمام دستورات C با حروف کوچک نوشته میشوند:
#include
int main() {
printf( “My first line of code” );
}
برای سادهتر شدن مثال بالا، بهتر است فعلاً از عبارت include در خط اول چشمپوشی شود. تمام برنامههای C باید با تابع main() آغاز شوند و بعد از آن یک علامت آکولاد باز (}) قرار بگیرد. این قاعده نحوی، مشخص کننده شروع یک برنامه است. در زبان برنامه نویسی C، یک علامت آکولاد بسته هم نشان دهنده پایان برنامه خواهد بود.
در برنامه بالا، تابع مورد استفاده برای عملیات چاپ، یعنی «printf»، فراخوانی میشود و به دنبال آن هم آنچه میآید که باید چاپ شود. متنی که قرار است چاپ شود باید در علامت نقل قول احاطه شود و در داخل پرانتز قرار بگیرد.
همه گزارهها در زبان برنامه نویسی C باید به علامت نقطه ویرگول (Semicolon) یعنی « ؛ » ختم شوند. مثلاً برای چاپ کردن یک جمله دیگر، باید گزاره زیر را قبل از علامت آکولاد بسته به کدهای بالا اضافه کرد:
printf( “just printed!” );
برنامه اجرا شده در خروجی، جمله زیر را نمایش خواهد داد:
My first line of code just printed!
فیلم آموزش برنامه نویسی C
با یادگیری برنامه نویسی C میتوان عملکرد داخلی سیستمهای کامپیوتری را درک کرد و دیدگاهی روشنتر نسبت به آن به دست آورد. زبان C را مادر همه زبانهای برنامه نویسی مینامند و مدت زیادی است که دانشجویان کامپیوتر در دانشگاهها مهارت برنامه نویسی را از طریق زبان C میآموزند. کاربرد کلیدی زبان برنامه نویسی C در حوزه اسکریپتنویسی برای کاربردهای سیستمی است. برای یادگیری زبان C میتوان از دوره کاربردی و جامع آموزش برنامه نویسی C تم آف استفاده کرد.
- برای مشاهده فیلم آموزش برنامه نویسی C + اینجا کلیک کنید.
کامنت گذاری در سینتکس زبان C
قرار دادن کامنت در ابتدای هر تابع یا زیر روال (Subroutine)، یکی از اصول صحیح کدنویسی به حساب میآید. استفاده از کامنت روشی مناسب برای اطلاعرسانی به دیگران در خصوص هدف کدها است. برخی از برنامه نویسان ترجیح میدهند از «خطوط کامنت» (Line Comment) استفاده کنند. استفاده بیش از حد از خطوط کامنت معمولاً نمرکز خواننده را بر هم میزند.
در زبان برنامه نویسی C، یک کامنت بین «*/» و «/*» و پس از تابع main() قرار میگیرد. این مسئله در مثال زیر نشان داده شده است:
#include
int main() {
/*print function to display My first line of code just printed!*/
printf( “My first line of code” );
printf(“just printed!” );
}
مثال کوتاه فوق، نشان دهنده میزان اهمیت سینتکس در برنامه نویسی برای نوشتن کدهای با کیفیت است. باز هم تاکید میشود که در زبان برنامه نویسی C عدم استفاده از نقطه ویرگول بعد از یک گزاره یا عبارت میتواند منجر به کامپایل نشدن کدها شود. البته همانطور که در مثال فوق ملاحظه میشود، این مسئله در خصوص کامنتها صدق نمیکند.
جمعبندی
سینتکس در برنامه نویسی هم به اندازه سینتکس در زبان انسانها اهمیت دارد. در این مقاله ابتدا به این سوال پاسخ داده شده است که سینتکس چیست و سپس به ارائه توضیحات بیشتری برای درک مفهوم سینتکس در برنامه نویسی پرداخته شد. پس از آن مفهوم «سینتکس پایه» نیز توضیح داده شد.
قراردادهای نامگذاری هم موضوع مهمی است که در کنار مفهوم سینتکس در برنامه نویسی مطرح میشوند و در خصوص آنها نیز در این مقاله توضیحات لازم ارائه شدند. برای آشنایی عملی با این موضوع که در برنامه نویسی سینتکس چیست ، مثالهایی ساده به زبان C ارائه شدند.