...

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

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

اولین ابزار برای برنامه نویسی داشتن یک سیستم کامپیوتر (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) شرکت مایکروسافت است که جهت تولید برنامه رایانه‌ای برای مایکروسافت ویندوز است که برای تولید وب‌گاه، برنامه‌های کاربردی وب، خدمات وب نیز استفاده می‌شود.

دیدگاه و پرسش
برای ایجاد نظر باید وارد سایت شوید
نویسنده: