مبانی برنامه نویسی و معرفی واژگان آن

مبانی برنامه نویسی و معرفی واژگان آن

علوم کامپیوتر

یک تعریف پیچیده: علوم کامپیوتر، علم مطالعه اطلاعات تکنولوژی، روند ها و تعاملات آن ها با جهان است.

یک تعریف ساده:علوم کامپیوتر علم یادگیری استفاده از کامپیوتر برای حل مسائل است.

مبانی کامپیوتر

یک کامپیوتر ماشینی است که عملیات محاسبات را بر مبنای دستورالعمل ها انجام می دهد.

یک کامپیوتر از دو جزء تشکیل شده است:

سخت افزار

نرم افزار

سخت افزار شامل اجزای فیزیکی کامپیوتر است.

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

برای جمع بندی سخت افزار هرچیزی است که بتوانید به صورت فیزیکی آن را لمس کنید و نرم افزار دستورالعمل هایی است که به سخت افزار می گوید چه کاری انجام دهد.

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

کد مترادف "دستورالعمل" در یک فایل است و با نرم افزار نیز مترادف است. کد درواقع دسته ای از کلمات و سمبل ها در یک برنامه کامپیوتری که با زبان های برنامه نویسی نوشته شده است، می باشد.

سخت افزار کامپیوتر

برای یادگیری برنامه نویسی اول باید مبانی سخت افزار کامپیوتر را یادبگیرید. اجزای مختلف سخت افزار کامپیوتر هرکدام اهداف مختلفی دارند. 6 جزء اصلی داریم که سخت افزار کامپیوتر را تشکیل می دهد:

واحد پردازش مرکزی (CPU)

حافظه اصلی

حافظه ثانویه

دستگاه های ورودی/خروجی (دستگاه های I/O)

شبکه

باس

معمولا به CPU مغز کامپیوتر می گویند. CPU مسئول اجرای دستورالعمل ها ، مانند کد های یک برنامه، می باشد.

حافظه اصلی همان "حافظه دسترسی تصادفی" (RAM) می باشد که برای ذخیره سازی 1)کد برنامه ها و 2) داده هایی که کد در حالی که برنامه به طور فعال اجرا می شود روی آن کار می کند استفاده می شود. زمانی که شما یک برنامه مانند Microsoft Word را در کامپیوتر خود باز می کنید، کدی که باید Word را اجرا کند در حافظه اصلی بارگذاری می شود.

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

دستگاه های I/O به افراد اجازه ی تعامل با کامپیوتر را می دهد. دستگاه های I/O به افراد اجازه می دهند تا داده وارد کامپیوتر خود کنند (کیبورد،موس،میکروفون) و یا داده از کامپیوتر بگیرند (صفحه نمایش،چاپگر،بلندگو)

باس دسته ای از سیم هاست که اجزای مختلف سخت افزار را به یکدیگر متصل می کند. این سیم ها به داده این امکان را می دهد تا بین اجزای مختلف سخت افزار جابجا شود. برای مثال وقتی شما یک برنامه را روی کامپیوتر خود اجرا می کنید، باس داده (به همراه کد برنامه) را که در حافظه ثانویه ذخیره شده به حافظه اصلی می فرستد.

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

اصطلاحات برنامه نویسی- مترادف ها

 بطور کلی می توانید هر کدام از سه گروه کلمات زیر را به عنوان مترادف در نظر بگیرید اما هرکدام مفاهیمی دارند که کمی با یک دیگر متفاوت است. برای یک درک مقدماتی می توانید موارد زیر را به عنوان مترادف درنظر بگیرید:

1) کد = درستورالعمل های کامپیوتری = نرم افزار = اپلیکیشن

2) کدزنی = برنامه نویسی = توسعه نرم افزار = مهندسی نرم افزار

3) برنامه نویس = کدزن = توسعه دهنده نرم افزار = توسعه دهنده وب = مهندس نرم افزار

زبان ماشین در مقایسه با زبان برنامه نویسی

کامپیوتر ها و انسان ها داده ها را به شکل های مختلفی نشان می دهند و متوجه می شوند.

هربار که شما داده ای را در کامپیوتر خود ذخیره می کنید (برای مثال یک فایل Word)، کامپیوتر تمام کاراکتر هایی را که شما تایپ کرده اید را در یک فرمت خاص به نام باینری و یا زبان ماشین ذخیره می کند.

باینری یک زبان است که از ترکیب 0 ها و 1 ها تشکیل شده است. هر کاراکتر روی کیبورد شما یک نمایش باینری یکتا دارد که آن را از سایر کاراکتر ها قابل تشخیص می سازد.

یک کاراکتر می تواند یک حرف، یک عدد، یک سمبل، space، tab و غیره باشد هر کاراکتر یک کد عددی منحصر به فرد دارد که آن را از دیگر کاراکتر ها قابل تشخیص می سازد. شما می توانید این کد عددی (کد اسکی) را از یک جدول اسکی پیدا کنید.

توجه کنید که کاراکتر "A" با کاراکتر "a" متفاوت است. کد عددی "A" 65 است و کد عددی "a" 97 است. این به این معنی است که هرگاه شما از کاراکتر "a" استفاده می کنید، کامپیوتر شما داده ای که برای آن ذخیره می کند یک مقدار باینری برابر با 97 است. توجه کنید که 97 یک فرمت قابل خواندن توسط انسان است که به آن فرمت ده دهی یا دسیمال می گویند. دسیمال نام فرمتی برای نمایش اعداد بر مبنای 10 می باشد به این معنی که از اعداد 0 تا 9 برای نمایش اعداد استفاده می شود.

فرمت باینری فرمتی است که مقادیر عددی بر مبنای 2 نمایش داده می شوند به این معنی که اعداد با دو مقدار 0 و 1 ساخته می شوند ممکن است کمی پیچیده به نظر بیاید اما شما می توانید بطور شگفت آوری با استفاده از فرمول های ریاضیاتی اعداد دسیمال را به باینری (و باینری را به دسیمال) تبدیل کنید. البته نیازی نیست که شما این کار را انجام دهید این موارد فقط به منظور اطلاعات عمومی شما می باشد و در واقع اگر خواستید نمایش باینری یک عدد دسیمال را ببینید می توانید از ماشین حساب های آنلاین استفاده کنید.

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

باینری (زبان ماشین) یک زبان سطح پایین است به این زبان سطح پایین می گویند زیرا توسط ماشین قابل فهم است.

برنامه نویس ها کد خود را با زبان های برنامه نویسی تایپ می کنند. یک زبان برنامه نویسی یک زبان سطح بالا است زیرا انسان می تواند آن را بخواند و متوجه شود. درست مانند زبان فارسی، زبان برنامه نویسی هم مجموعه دستور های خود یا Syntax های خود را دارد و همچنین یک سری کلمات تعریف شده به نام کلمات کلیدی ( یا کلمات رزرو شده) نیز دارد که زمان استفاده از آن ها در برنامه معنای خاصی دارند.

پارادایم های برنامه نویسی

درست همانند اینکه زبان های زیادی داریم و افراد با آن ها با یکدیگر ارتباط برقرار می کنند زبان های برنامه نویسی زیادی نیز داریم که برنامه نویسان از آن ها برای ساخت برنامه های خود استفاده می کنند.

یک برنامه نویس که چندین زبان برنامه نویسی مختلف می داند مناسب ترین آن ها را برای هر موقعیتی انتخاب می کند برای مثال زبان های برنامه نویسی وجود دارد که برای توسعه وب (ساخت وبسایت) مناسب هستند و زبان های برنامه نویسی وجود دارد که برای توسعه ی موبایل (ساخت اپلیکیشن تلفن های هوشمند) مناسب هستند.

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

در اینجا یک تعریف ساده برای واژه ی پارادایم داریم:

یک پارادایم راهی برای فکر کردن و یا انجام کاری است در واقع پارادایم یک طرز فکر است.

یک پارادایم برنامه نویسی راهی برای کلاس بندی زبان های برنامه نویسی بر مبنای شیوه یا متودولوژی برنامه نویسی آن ها می باشد.

در اینجا چندین نوع معمول از پارادایم های برنامه نویسی معمول را داریم:

پارادایم برنامه نویسی تابعی

پارادایم برنامه نویسی رویه ای

پارادایم برنامه نویسی دستوری

پارادایم برنامه نویسی شیئ گرا

به عنوان مثال جاوا و C مثال هایی از زبان های برنامه نویسی هستند. زبان برنامه نویسی جاوا مثالی از زبان های برنامه نویسی شیئ گرا است و زبان برنامه نویسی C مثالی از زبان های برنامه نویسی رویه ای است. این دسته بندی کمک می کند تا درک کنیم که زبان های برنامه نویسی مختلفی وجود دارد.

نوشتن و ذخیره کد

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

شما وقتی می خواهید یک مقاله بنویسید از یک اپلیکیشن کامپیوتری مانند Word یا هر ویرایشگر متن دیگری استفاده می کنید. شما به سادگی اپلیکیشن ویرایشگر متن را باز می کنید، یک فایل در آن می سازید،متن خود را تایپ می کنید و فایل خود را با فرمت مورد نظر خود مانند .docx یا .pdf ذخیره می کنید. روند نوشتن کد نیز مشابه همین است. شما کد خود را با استفاده از یک ویرایشگر متن یا محیط توسعه تجمیع شده (IDE) می نویسید. یک IDE یک اپلیکیشن کامپیوتری است که شامل تمام ابزار های مورد نیاز برای یک برنامه مانند ویرایشگر متن،کامپایلر،محیط زمان اجرا و یک دیباگ کننده است.

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

بعد از اینکه شما برنامه ی خود را ساختید باید کد خود را در یک فایل به نام Source file ذخیره کنید. یک Source file فایلی است که شامل Source code که همان کد برنامه شما است، می باشد. برای ذخیره کردن کد در یک Source file نیاز دارید تا به فایل یک نام و یک پسوند بدهید و نام فایل باید یکتا باشد و در واقع همان کاراکتر هایی است که در سمت چپ نقطه (.) قرار می گیرد و پسوند چیزی است که در سمت راست نقطه قرار می گیرد. شما به Source file پسوند مرتبط با زبان برنامه نویسی که برای Source Code خود استفاده کرده اید را می دهید. برای مثال پسوند .java برای فایل هایی که با زبان جاوا نوشته شده اند استفاده می شود و پسوند .c برای فایل هایی که با زبان C نوشته شده اند استفاده می شود.

کامپایل کردن و اجرای کد

در نظر بگیرید که شما یک برنامه با زبان برنامه نویسی C نوشته اید و آن را با نام myprogram.c ذخیره کرده اید در گام بعدی شما کد خود را اجرا می کنید تا ببینید آیا برنامه ی شما کاری را که شما درنظر گرفته بودید را انجام می دهد یا نه.

قبل از اینکه شما کد خود را اجرا کنید، Source file شما نیاز دارد تا از زبان C (که یک زبان سطح بالا تر است) به یک فایل قابل اجرا باینری ترجمه شود. یک فایل قابل اجرا فایلی است که ترجمه ی کد شما به باینری در آن قرار دارد و زمانی که آن فایل اجرا شود برنامه ی شما اجرا خواهد شد به این روند ترجمه کامپایل کردن می گویند.

کامپایل کردن روند ترجمه Sourse Code در یک Source file از یک زبان سطح بالا به یک زبان سطح پایین و سپس ذخیره کد ترجمه شده در یک فایل قابل اجرا، است.

یک کامپایلر یک برنامه ی کامپیوتری است که برای کامپایل کردن کد شما استفاده می شود که یک ابزار معمول است که شامل یک IDE نیز می باشد. وقتی شما از یک IDE استفاده می کنید IDE ممکن است اجرای برنامه کامپایلر را زمان اجرای کد برای شما مدیریت کند. وقتی شما از یک IDE استفاده نمی کنید نیاز دارید تا خودتان کامپایلر را اجرا کنید و Source file که می خواهید اجرا کنید را مشخص کنید.

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

زمانی که برنامه شما با موفقیت کامپایل شد شما می توانید برنامه خود را اجرا کنید و کامپیوتر شما دستورات برنامه شما را انجام خواهد داد.