چگونه برنامه نویسی را شروع کنیم؟ زبان برنامه نویسی چیست و چه کاربردی دارد؟ در این مقاله با شما هستیم تا پاسخ را بیابیم.
در دنیای امروز که همه چیز به سمت اینترنتی شدن میرود، زبان برنامه نویسی یک ابزار قدرت است.
هوش مصنوعی ، رباتیک ، بازاریابی دیجیتال و … از رشتههای مهمی هستند که برنامه نویسی در آن کاربرد اساسی دارد.
اتوماسیون در رشتهها و مشاغلی مانند پزشکی ، شیمی ، ریاضیات و … گسترش روزافزون پیدا میکند. پس این رشتهها هم دارند بیشتر و بیشتر با برنامه نویسی عجین میشوند.
زبان برنامه نویسی چیست و چه کاربردی دارد؟
تعریف زبان برنامه نویسی
ساختارهای زبانی دستورمدار که قراردادی هستند و به وسیله آن میتوان یک الگوریتم را در رایانه پیادهسازی کرد.
یک زبان مصنوعی انگلیسی که برای بیان محاسبات یک ماشین (به ویژه رایانه) طراحی شده باشد.
زبان برنامه نویسی برای ایجاد برنامههایی به کار میروند که رفتار یک ماشین را مشخص میکند.
کارکردهای زبان برنامه نویسی به شکل خلاصه چنین است:
تعیین الگوریتم و پیادهسازی آن در یک ماشین ، تعیین و کنترل رفتار یک ماشین ، ساختاری برای ارتباط میان انسان و ماشین.
اجزای زبانهای برنامه نویسی
یک زبان انسانی را در نظر بگیرید. این زبان دارای جملات است که از واژهها تشکیل شده. هر واژه نیز از حروفی شکل گرفته.
زبان برنامه نویسی هم دارای اجزای مشابهی هست. این اجزا کد Code نامیده میشوند. کدها شامل متغیرها (که میتوانند عدد یا حروف – در اصطلاح: رشته – بگیرند) ، پارامترها و عملگرهای ریاضی (مانند چهار عمل اصلی) و یا منطقی (و یا) هستند.
ساختار و محتوای زبانهای برنامه نویسی
دستور و قواعد نحوی یا سینتکس (Syntax)
زبانهای گفتاری انسانها دارای قواعد نحوی از نظر نوع و نقش کلمات در جمله است. یا از نظر ترتیب قرارگیری کلمات بر اساس نقش (اسم ، فعل ، قید و … ). همچنین هر زبانی دارای قواعد نشانهگذاری خاص خود است.
هر زبان برنامه نویسی نیز دارای نحو یا در اصطلاح تخصصی “سینتکس” ویژه خود است.
مثالهایی از سینتکس:
نوع معرفی متغیرهای عددی یا رشتهای
داشتن سمی کالن (؛) در پایان هر جمله
حساسیت داشتن به حروف بزرگ (Case Sensitive)
حداکثر طول مجاز هر کلمه
تورفتگیها
و … از موارد سینتکس است که در هر زبانی متفاوت است.
معنا شناسی و محتوا (Semantics)
شامل دلالت یک نشانه بر یک مفهوم است. برای مثال ، واژه دوچرخه دلالت بر یک مفهوم دارد که شامل تصویر دوچرخه و ویژگیهای آن در ذهن ما هست. این یک مدل ذهنی و انتزاعی از دوچرخه در ذهن ماست. و ویژگیهای مشخصی دارد مانند داشتن دو تا چرخ ، پدال ، زنجیر و قابلیت رانده شدن.
هر وقت یک دوچرخه در محیط ببینیم ، واقعیت عینی این دوچرخه را به مدل ذهنی و انتزاعی دوچرخه در ذهن خود نسبت میدهیم. وقتی هم واژه دوچرخه در جایی نوشته میشود ، در ذهن ما همان مفهوم انتزاعی دوچرخه تداعی میشود. یعنی واژه دوچرخه روی کاغذ ، ما را به همان مفهوم و تصویر ذهنی رهنمون میشود. این همان دلالت لفظ بر معنا است.
در مثالی دیگر ، واژه “اکبر” هم اسم خاص است و به یک شخص انسانی دلالت دارد. وقتی میگوییم “اکبر دوچرخه دارد” ، این جمله از نظر سینتکس صحیح است و دلالت معنایی مشخصی هم دارد. پس از نظر معناشناسی هم صحیح است. یعنی فردی وجود دارد به نام اکبر که صاحب یک چیز از همان چیزهایی است که ما به عنوان دوچرخه میشناسیم. و مالکیت یک شی به نام دوچرخه به یک شخص به نام اکبر نسبت داده شده است. تداخل معنایی وجود ندارد و تناقضی هم رخ نداده.
اما وقتی میگوییم “اکبر دوچرخه است” ، اگرچه از نظر نحوی و سینتکس جمله ما صحیح است (چون دارای نهاد و گزاره میباشد.) ولی معنای غلطی دارد. چون اکبر اسم خاص انسان و دوچرخه اسم یک نوع وسیله نقلیه است و بین موجودیت انسان و موجودیت یک وسیله نقلیه مثل دوچرخه ، اتحادی برقرار نمیشود و در نتیجه در این جمله ارتباط معنایی ناممکن است.
در زبان برنامه نویسی نیز عیناً همین تداخل معنایی ممکن است رخ دهد. ممکن است سینتکس یک کد صحیح باشد ، ولی ارتباط معنایی غلط یا مبهمی داشته باشد. مثلا یک رشته (یا عبارت) به یک متغیر عددی نسبت داده شود. و در نتیجه کد دارای خطای معنایی یا Semantics Error باشد.
کد صحیح:
int a = 4
کد غلط:
int b = “Akbar”
چون نماد int دلالت بر متغیر عدد صحیح دارد (Integer) ولی Akbar یک عبارت رشتهای (String) است. پس دلالت معنایی مشخصی مابین یک متغیر عدد صحیح و یک ارزش رشتهای وجود ندارد.
ابداع اولین زبان برنامه نویسی به دوران پیش از اختراع کامپیوتر باز میگردد. زبانهای برنامه نویسی نخستین برای کاربردهایی مثل هدایت یک ماشین نساجی یا نوازندگی اتوماتیک پیانو ابداع شدند. اما این تلاشها چندان موفقیت آمیز نبودند.
مهارتهای مورد نیاز برنامه نویسی
کدنویسی: گاهی با خود برنامه نویسی اشتباه گرفته میشود ولی بخشی از آن و در اصل مقدمه آن است. با سینتکس سر و کار دارد. یک برنامه نویس باید به طور کامل ساختار کدها و نحوه نوشتن آن آشنا باشد.
توانایی حل مسئله: داشتن تفکر حل مسئله در مدلهای مختلف آن نظیر تفکر الگوریتمی
بهینهسازی: برنامه نویس باید برای هر مسئله به دنبال بهترین ، کوتاهترین و به صرفهترین راهکار باشد.
رفع خطا: داشتن توانایی و حوصله خطایابی و رفع آن (Debugging) و تست برنامه.
سایر مهارتها و پیشنیازها: آشنایی با اینترنت ، مهارت تایپ چند انگشتی
انواع زبان برنامه نویسی
انواع زبان برنامه نویسی بر اساس سطح کارکرد
بر اساس یک تعریف کلاسیک میتوان زبانهای برنامه نویسی را به سه سطح اصلی پایین ، میانی و بالا تقسیم نمود.
زبان برنامه نویسی سطح پایین: بنیادیترین زبان برنامه نویسی است که فهم آن برای کامپیوترها بسیار آسان و برای انسانها بسیار دشوار است. چون با منطق بولی (صفر و یک) کار میکند. هر صفر و یک ، حروف این زبان بنیادی است که بیت نامیده میشود. رشتههایی هشتایی از این صفر و یکها ، یا بیتها یک بایت را میسازند. در حقیقت بایتها واژگان این زبان هستند. برای اندازهگیری حجم جملات نوشته شده با صفر و یک ، واحدهای دیگری هم استفاده میشوند. مانند کیلو بایت که شامل ۱۰۲۴ بایت است ، مگا بایت که شامل ۱۰۲۴ کیلو بایت است ، و الخ.
زبان برنامه نویسی سطح میانی: تنها زبان شاخص این سطح زبان اسمبلی (Assembly) است. این زبان به نوعی در نقش ویرایشگر کدهای صفر و یک است. و کار با بیتها و بایتها و واحدهای بزرگتر را آسانتر مینماید. اما قواعد نحوی (Syntax) بسیار مشکلی دارد و برای آسانسازی زبان برنامه نویسی برای فهم انسان ، هنوز یک لایه Abstraction دیگر نیاز داریم.
(توجه: دستهبندی زبان اسمبلی به عنوان سطح میانی یک دستهبندی کلاسیک است. با توجه به توسعه انواع مختلف زبانهای برنامه نویسی و ایجاد لایههای جدیدتری مثل IDE ، فریمورک ، کتابخانه و … زبان اسمبلی دیگر در عمل یک زبان سطح پایین محسوب میشود.)
زبان برنامه نویسی سطح بالا: بسیاری از انواع زبانهای معروفی که میشناسیم در این طبقه قرار میگیرند. نخستین زبانهای معروف این شاخه شامل زبانهای فورترن ، کوبول و پاسکال بودند. یکی از مهمترین زبانهای سطح بالای اولیه ، زبان Basic بود. ابتدا کاربرد آموزشی داشت ولی سپس برای کاربردهای دیگری هم توسعه یافت. بعدها اشکالی دیگر از آن منتزع شد مثل Qbasic , GWbasic و سپس نوع دارای رابط گرافیکی کاربری (GUI) آن یعنی Visual Basic.
هر چه به زمان خود نزدیکتر میشویم ، زبانهای برنامه نویسی سطح بالاتر میشوند ، یعنی به زبان و فهم انسان نزدیکتر میگردند. زبانهای جاوا ، C++ و C# از زبان اولیه C بسیار سطح بالاترند.
سطح بالا شدن زبانهای برنامه نویسی چگونه اتفاق افتادند؟
پارامترهای مهمی در سیر صعودی سطح بالا شدن زبانهای برنامه نویسی دخیل بودهاند. مانند توسعه ویژگیهای شیءگرایی ، کامپایل (ترجمه پاراگرافی در مقابل ترجمه خط به خط Interpretation) ترجمه خط به خط (تفسیر) و … .
مهمترین انگیزه تولید زبانهای سطح بالا ، ایجاد تشابه بین منطق زبان برنامه نویسی با شیوه تفکر انسان بوده است. اینجا بود که مفهوم شی گرایی یا (Object Orientation) شکل گرفت. که بر اساس آن کدها در قالب اشیاء تعریف میشوند و هویت مییابند. و میتوان آنها را کلاسبندی کرد. چون ذهن انسان با اشیاء و مفاهیم انتزاعی که به این اشیاء نسبت میدهد سر و کار دارد.
انواع زبانهای برنامه نویسی بر اساس نوع ترجمه
بر این اساس به دو دسته Compiler (کامپایلر) و Interpreter (مفسر) تقسیم میشوند.
انواع زبانهای برنامه نویسی بر اساس عملکرد
زبانهای برنامه نویسی تابعی ، رویهای ، منطقی ، اعلانی (توصیفی) ، شی گرا ، دستوری و … .
بر اساس پلتفرم
برنامه نویسی تحت وب (مناسب طراحی وبسایت) ، تحت دسکتاپ (برای نوشتن برنامههای کاربردی تحت ویندوز یا مک) و تحت موبایل (برای اپلیکیشنهای اندرویدی یا IOS)
حتما بخوانید: انواع زبانهای برنامه نویسی
ابزارهای برنامه نویسی
ابزارهای بسیاری برای ساده کردن برنامه نویسی و رفع خطاهای اتوماتیک توسعه یافتهاند. به صورت فهرستوار عبارتند از:
اسکریپت ، کتابخانه ، فریمورک ، IDE ، Toolkit ، API و … . در مقاله مجزایی باید به آنها پرداخته شود.
اما اگر بخواهیم مثالی سریع بزنیم ، زبانهای html و css (که البته در تعریفی دقیقتر زبان نشانهگذاری صفحات وب هستند) دارای فریمورکی به نام بوت استرپ میباشند. بوت استرپ کلاسها و اسکریپتهای معروف این دو زبان است. شما میتوانید برای شتاب بیشتر در کارتان از آنها استفاده کنید. و چرخ را دوباره اختراع نکنید.
این مقاله برای من مفید بود
1+ 0 نفر این مقاله را پسندیده