برنامه نویسی نرم افزار چیست و چگونه کار می کند؟
برنامه نویسی نرم افزار چیست و چگونه کار می کند؟
رویای اول و آخر شخصی ام این بود که بتوانم یک برنامه نرم افزاری تحت ویندوز مانند نرم افزار های معروف بسازم و در ابتدا اشتیاق برای انجام این کار بالاست. کم کم تونستم به دانش اولیه در این زمینه دست پیدا کنم ولی برنامه نویسی نرم افزار کار راحتی نبود و برای یادگیری و درک نحوه کار یک نرم افزار راههای مرحله مرحله ای نیاز بود.
این راه ها را یاد گرفتم و تونستم به سطح بالاتری از یک برنامه ساده برسم و با بانکهای اطلاعاتی برای کار با نرم افزارها آشنا شدم. بعد به سراغ برنامه نویسی تحت وب رفتم و در این زمینه مشغول فعالیتم. این مسیر بنده از ابتدای آشنایی با برنامه نویسی نرم افزار تا اکنون بود. حالا شما چه مسیر و راهی را برای اینکار انجام خواهید داد.
در این مقاله سعی داریم با زبانی ساده و شیوا اصول برنامه نویسی نرم افزار را بررسی کنیم و ببینم نرم افزار چگونه کار می کند؟! برای یافتن جواب سوال تا انتها با کدنویسی به زبان ساده همراه باشید.
برنامه نویسی نرم افزار چیست؟
کامپیوترها آنچه را که به آن ها گفته میشود انجام میدهند. دستورالعملهایی که به کامپیوتر داده میشود، همان برنامههایی هستند که توسط انسان نوشته میشود.
برنامهنویسان کامپیوتر کد منبع را طوری مینویسند که توسط انسان قابل فهم باشد، اما همین کد منبع برای کامپیوترغیر قابل فهم است.
در بسیاری از موارد، این کد منبع به کد ماشین ترجمه میشود، در این حالت کد ماشین به صورتی قابل فهم برای کامپیوتر تبدیل میشود ولی درعین حال برای انسان غیرقابل فهم است.
رایجترین زبان های برنامه نویسی نرم افزار قابل کامپایل عبارتند از :
• Visual Basic
• Delphi
• C
• C++
• C#
• Cobol
• Fortran
• Objective-C
• Swift
• Pascal
• Python
در برخی موارد لزومی ندارد که برنامههای نوشته شده به صورت جداگانه کامپایل شوند. ولی در عوض در یک فرایند just-in-time در زمان اجرای برنامه عمل کامپایل انجام میگیرد. به این برنامهها، برنامههای تفسیری (interpreted) گفته میشود.
رایج ترین زبانهای برنامهنویسی نرم افزار که از این روش کامپایل استفاده میکنند عبارتند از:
• Javascript
• Perl
• PHP
• Postscript
• Python
• Ruby
زبانهای برنامهنویسی هر کدام قوانین و واژگان خاص خود را دارند. یادگیری یک زبان برنامهنویسی جدید درست مثل یادگیری یک زبان گفتاری جدید است.
یک برنامه کامپیوتری چگونه کار میکند؟
اساسا برنامهها، متنها و اعداد را دستکاری میکنند. اینها ملاکهای سازنده هربرنامه هستند. زبان برنامهنویسی به شما اجازه میدهد ازاعداد و متن به روشهای مختلف استفاده کنید سپس اطلاعات را روی دیسک ذخیره کنید و برای بازیابی بعدی از آنها استفاده کنید.
اعداد و متنها در زبان برنامهنویسی متغیرنامیده میشوند و میتوان آنها را به صورت جداگانه یا در مجموعههای ساختاری مورد استفاده قرار داد. در++C، متغیرمیتواند برای شمارش اعداد نیز استفاده شود.
به عنوان مثال یک متغیر struct در داخل کد میتواند اطلاعات مربوط به حقوق و دستمزد را برای یک کارمند حفظ کند مانند:
• Name
• Salary
• Company Id Number
• Total Tax Paid
• SSN
یک پایگاه داده میتواند میلیونها رکورد مثل این را نگه دارد وآنها را به سرعت واکشی کند.
نوشته شدن برنامهها برای سیستم عامل خاص
هر کامپیوتر دارای یک سیستم عامل است، خود سیستم عامل نیز یک برنامه است. برنامههایی که در کامپیوتراجرا میشوند باید با سیستمعامل موجود بر روی کامپیوتر سازگاری داشته باشند.
سیستم عاملهای پر طرفدار عبارتند از:
• Windows
• Linux
• MacOS
• Unix
• Android
قبل از جاوا، برنامهها باید برای هر سیستمعامل سفارشی میشدند. برنامهای که بر روی یک کامپیوتر با سیستم عامل لینوکس اجرا میشد نمیتوانست بر روی یک کامپیوتر با سیتم عامل ویندوز یا مک اجرا شود. جاوا، امکان این را میدهد که یک بار برنامه را بنویسید و سپس بتوانید آن را در همه جا اجرا کنید.
جاوا از ترجمه تفسیری استفاده میکند. درترجمه تفسیری، کد ابتدا در زمان اجرا خط به خط ترجمه میشود و به بایت کد تبدیل میشود. هر سیستم عامل دارای یک مترجم جاوا در درون خود است که برای آن نوشته شده است و میتواند بایت کدها را تفسیر کند.
ممکن است در برنامهنویسی به بروزرسانی برنامههای کاربردی موجود و سیستمهایعامل نیاز داشته باشیم. برنامهها از ویژگیهای ارائه شده توسط سیستمعامل استفاده میکنند وهنگامی که آنها تغییر میکنند، برنامهها نیزباید تغییرکنند.
به اشتراک گذاری برنامههای کامپیوتری بسیاری از برنامهنویسان، برنامه نویسی نرم افزار را یک گذر خلاقانه برای خود میدانند. دنیای اینترنت پر از وبسایتهایی است که در آنها کدهای منبع توسط برنامه نویسان آماتور نوشته شده است که بیشتر برای سرگرمی این کار را انجام میدهند و خوشحال هستند که بتوانند کد خود را با همه به اشتراک بگذارند.
لینوکس به همین صورت توسعه یافت، لینوس توروالدز کدی را که نوشته بود به اشتراک گذاشت و این کد بعدها توسعه یافت و لینوکس به وجود آمد.
تلاش فکری در نوشتن یک برنامه متوسط میتواند با نوشتن یک کتاب قابل مقایسه باشد، با این تفاوت که هرگز یک کتاب را دوباره نمیتوان اشکال زدایی کرد.
برنامهنویسان کامپیوتر، همواره در جستجوی راههای جدیدی برای ساختن برنامهای برای ایجاد یک کار خاص هستند، یا دنبال یافتن راه حلی برای حل یک مشکل خاص میگردند.