check home phone-call search send

چه ابزاری برای برنامه نویسی لازم است؟

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

اولین ابزار برای برنامه نویسی داشتن یک سیستم کامپیوتر (pc یا لپ تاپ) است که روی آن باید یک سیستم عامل نصب باشید. از معروف ترین سیستم عامل های دنیا می‌توان به ویندوز، لینوکس و مکینتاش اشاره کرد. که معمولا بیشتر کاربران یا ویندوزه یا مکینتاش، که من بیشتر در مورد این دو صحبت میکنم.

ابزار برنامه نویسی

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

بعد از انتخاب یک زبان برنامه نویسی که در سایت سورس ایران در موردش صحبت کردیم نیاز به یک ویرایشگر (Editor) داریم که کدها رو داخل اون بنویسیم. یکی از ویرایشگرهای کد معروف که در سیستم عامل ویندوز به صورت پیش‌فرض نصب شده است، Notepad نام دارد که حتماً با آن آشنا هستید اما این در حالی است که نرم افزارهای بسیار پیشرفته‌تر از آن هم وجود دارند که در ادامه، بیشتر با آن‌ها آشنا خواهیم شد. ادیتور پیش فرض سیستم عامل گنو/لینوکس VIM نام دارد و مکینتاش اپل هم از ادیتوری تحت عنوان TextEdit برخوردار است.

بعد از این که کدهای برنامه نویسی رو داخل ویرایشگر نوشتیم به جز برنامه‌هایی که با استفاده از زبان ماشین نوشته می شوند، سایر برنامه‌ها نیاز به یک اسمبلر یا کامپایلر دارند تا سورس کد شما را به زبان قابل فهم برای سیستم تبدیل کنند. پس از تبدیل سورس کد، اسمبلر یا کامپایلر این دستوراتی که به زبان ماشین هستند را در فایل جداگانه ای تحت عنوان فایل EXE ذخیره می‌سازند (زمانی که شما یک نرم‌افزار را نصب می کنید، با همین فایل اجرایی نهایی سر و کار دارید.)
حال ممکن است این سؤال برای شما پیش بیاید که اگر بخواهیم برنامه ی خود را روی پردازنده های متفاوتی اجرا کنیم چه باید کرد؟ در پاسخ به این سؤال بایستی گفت که برنامه را می بایست برای پردازنده های مختلف به زبان ماشین مبدل ساخت.

بسیاری از کامپایلرها صرفاً برای یک سیستم عامل خاص و یک نوع پردازنده سورس کد را به زبان ماشین تبدیل می کنند. لذا، یک کامپایلر ویندوزی صرفاً خواهد توانست برنامه‌هایی که تحت سیستم عامل ویندوز اجرا می‌شوند را ایجاد کند (البته گفته می‌شود که بسیاری از برنامه‌های نوشته شده برای سیستم عامل مکینتاش دارای دو فایل اجرایی هستند؛ یکی برای پردازنده های PowerPC که در مک استفاده می‌شوند و دیگری برای پردازنده های Intel که در سایر سیستم‌ها من جمله سیستم‌های جدید مکینتاش مورد استفاده قرار می گیرند.)

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

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

دیدیم که استفاده از کامپایلرها کند بود و اینترپریترها ها هم منجر به لو رفتن سورس کد می شدند، لذا نیاز به راه‌کار سومی می‌بود تا برنامه نویسان بتوانند برنامه‌های خود را منتشر کنند و این شد که راه‌کار سومی تحت عنوان Byte-code یا Pseudocode که غالباً تحت عنوان P-code شناخته می‌شود ابداع شد. برخلاف روش اول که برنامه نویسان می‌آمدند و سورس کد خود را با استفاده از کامپایلر یک سیستم عامل خاص به زبان ماشین مبدل می ساختند، در روش سوم برنامه نویس برنامه اش را به یک فایل P-code کامپایل می کرد.

حال با استفاده از این فایل P-code و یک اینترپریتر اختصاصی (نام این فایل اصطلاحاً Virtual Machine یا ماشین مجازی است) می‌توان دستوارت قرار گرفته داخل این فایل را به کدهای باینری قابل فهم برای هر سیستم عاملی مبدل ساخت.

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

معروف ترین زبانی که از P-code استفاده می‌کند زبان برنامه نویسی جاوا است. پس از آن که شما برنامه‌ای با این زبان نوشتید، ابتدا می بایست آن را به یک فایل P-code کامپایل کنید سپس روی هر سیستمی که ماشین مجازی جاوا یا JVM نصب باشد، برنامه ی شما قابل اجرا خواهد بود.

ایده ی پشت P-code این است که برنامه نویس یک بار برنامه اش را می نویسد، سپس در هر جایی و روی هر سیستم عاملی آن را اجرا می‌کند (شعار زبان جاوا دقیقاً همین است؛ به عبارت دیگر، Write Once, Run Everywhere) توجه داشته باشیم که احتمال وجود دارد برنامه‌هایی که به این روش اجرا می‌شوند روی یک سیستم عامل به خوبی کار کنند اما روی سیستم عامل دیگری با کمی مشکلات مواجه باشند البته این در حالی است که زبان‌هایی همچون جاوا توانسته اند تا حد زیادی این مشکل را رفع کنند.

آشنایی با IDEها :

با گسترش نیازهای برنامه نویسان از یک سو و همچنین حرفه ای تر شدن (یا بهتر بگوییم گسترده تر شدن) زبان های برنامه نویسی، این نیاز احساس گردید تا ویرایشگرهای کد به چیزی بیش از یک ادیتور سورس کد مجهز شوند و نتیجه این شد که IDE ها توسط شرکت های نرم افزاری طراحی شده و روانه ی بازار شدند.

IDE های برنامه نویسی

IDE که مخفف واژگان Integrated Development Environment به معنی محیط یکپارچه توسعه ی نرم افزار است این امکان را در اختیار برنامه نویسان زبان های برنامه نویسی مختلف قرار می دهد تا علاوه بر کدنویسی، کارهایی همچون دیباگ کردن،‌ کامپایل کردن، ارتباط با گیت و بسیاری کارهای دیگر را انجام دهند. از معروف ترین IDEهای اپن سورس و رایگان، می توان به Eclipse اشاره کرد که از زبان های برنامه نویسی مختلف مثل سی، سی پلاس پلاس، جاوا، پی اچ پی و … پشتیبانی می کند. یا مثلا برای برنامه نویسی سی شارپ، ASP.Net و . . . از مایکروسافت ویژوال استودیو استفاده می شود.

نکته: ویژوال استودیو نام محیط یکپارچه توسعه نرم‌افزار (IDE) شرکت مایکروسافت است که جهت تولید برنامه رایانه‌ای برای مایکروسافت ویندوز است که برای تولید وب‌گاه، برنامه‌های کاربردی وب، خدمات وب نیز استفاده می‌شود.

Avatar
پشتیبان سورس ایران 2180 مطلب منتشر شده

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

دیدگاه کاربران

تعداد دیدگاه های کاربران : 11 دیدگاه
Avatar
محمد
پاسخ دهید

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

Avatar
fati
پاسخ دهید

سلام،ممنون از مقاله های عالیتون
واسه زبان پایتون چه نرم افزارهایی باید نصب کنم؟

Avatar
MHZ
پاسخ دهید

ببخشید با موبایل هم می توان برنامه نویسی کرد

    Avatar
    پشتیبان سورس ایران در پاسخ MHZ
    پاسخ دهید

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

      Avatar
      MHZ در پاسخ پشتیبان سورس ایران
      پاسخ دهید

      با چه برنامه ای

        Avatar
        پشتیبان سورس ایران در پاسخ MHZ
        پاسخ دهید

        بعدا داخل سایت در مورد برنامه نویسی در موبایل صحبت می کنیم و چندین مقاله قرار میدیم.

Avatar
ترمه
پاسخ دهید

ببخشید متوجه نشدم
برای c# دقیقا چه نرم افزارهایی نصب کنم؟

Avatar
Mahsa
پاسخ دهید

سلام.ممنون بابت مقاله های مفید


شما با موفقیت در خبرنامه ما عضو شدید