لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 9
مونو ؛ تحولی در برنامهنویسی تحت لینوکس
داتنت محدود به نوع خاصی از برنامهها نیست، از این چارچوب میتوان برای تولید برنامههای تحت ویندوز، تحت وب، سرویسهای مبتنی بر وب و ... استفاده کرد.
داتنت محدود به نوع خاصی از برنامهها نیست، از این چارچوب میتوان برای تولید برنامههای تحت ویندوز، تحت وب، سرویسهای مبتنی بر وب و ... استفاده کرد. یکی دیگر از ویژگیهای داتنت، دارار بودن کتابخانهای بزرگ و جامع از کلاسها و توابع است که همانطور که گفتیم، تمام زبانهای تحت داتنت میتوانند از توابع و کلاسهای موجود در آن، استفاده کنند.
در شمارههای قبل، به معرفی یک IDE متنباز به نام لازاروس پرداختیم که در واقع، جایگزینی برای دلفی در لینوکس محسوب میشد. اما از آنجا که تکنولوژی .NET، بحث روز علم برنامهنویسی است، تلاشهای زیادی نیز از سوی حامیان دنیای اپنسورس برای پیادهسازی این تکنولوژی در سیستمعامل لینوکس انجام شده است. در این مقاله، به بررسی پروژه Mono یا به عبارت دیگر، همان داتنت تحت لینوکس خواهیم پرداخت.
ابتدا لازم است تا کمی با ویژگیهای چارچوب داتنت و مزیتهای آن آشنا شویم. اما داتنت چیست؟ شاید داتنت یکی از گیجکنندهترین علائم تجاری مایکروسافت باشد، بنا به تعریف خود مایکروسافت، داتنت گردایهای از تکنولوژیهایی است که اتصال به اطلاعات، اشخاص، تجهیزات و قطعات را از طریق نرمافزار فراهم میآورد.
اما این تعریفی نیست که بیشتر کاربران از .Net دارند. آنچه معمولا به داتنت اطلاق میشود، برنامهنویسی در چارچوب یا FrameWork داتنت است. یکی از بزرگترین مزیتهای چارچوب داتنت، مسئله مستقل از زبان بودن آن است. برنامههای کاربردی در چارچوب داتنت، میتوانند به هر زبانی که از این frameWork پشتیبانی میکند، نوشته شوند.
این امر، به واسطه وجود یک زبان میانی (IL) فراهم شده است. در هنگام برنامهنویسی خارج از چارچوب داتنت، کد نوشته شده مستقیما به کد قابل فهم برای CPU کامپایل میشود، اما در داتنت، برنامه به هر زبانی که نوشته شده باشد، در مرحله اول، به این زبان میانی ترجمه میگردد (که در بین تمام زبانهای این چارچوب مشترک است).
نتیجه وجود زبان میانی این است که امکان برقراری ارتباط بین زبانهای مختلف برنامهنویسی فراهم میشود. هر زبان در چارچوب دات نت، دارای یک کامپایلر خاص است، و به کمک این کامپایلر میتواند با برنامههایی که در سایر زبانهای تحت .Net نوشته شدهاند، ارتباط برقرار کند. چراکه در مرحله اول، برنامه به هر زبانی که نوشته شده باشد به این زبان میانی ترجمه میشود.
داتنت محدود به نوع خاصی از برنامهها نیست، از این چارچوب میتوان برای تولید برنامههای تحت ویندوز، تحت وب، سرویسهای مبتنی بر وب و ... استفاده کرد. یکی دیگر از ویژگیهای داتنت، دارار بودن کتابخانهای بزرگ و جامع از کلاسها و توابع است که همانطور که گفتیم، تمام زبانهای تحت داتنت میتوانند از توابع و کلاسهای موجود در آن، استفاده کنند.
از مزیتهای دیگر این چارچوب، میتوان به مسئله مدیریت حافظه اشاره کرد. در برنامهنویسی خارج از چارچوب داتنت، این مدیریت میبایست توسط برنامهنویس انجام شود و ممکن است با یک اشتباه کوچک از سوی برنامهنویس، حافظه زیادی به هدر برود و برنامه با مشکل کمبود حافظه مواجه شود. در FrameWork داتنت، سیستمی به نام GC، در فاصلههای زمانی غیر ثابت به بررسی حافظه میپردازد و دادههایی را که دیگر استفاده نمیشوند از حافظه سیستم حذف میکند و نیز به کاربر اطمینان میدهد که با پایان برنامه، حافظه اختصاص داده شده به آن، به طور کامل بازیابی میشود.
از دیگر ویژگیهای برنامهنویسی تحت داتنت، میتوان به عدم دسترسی مستقیم به سختافزار و حذف اشارهگرها و ... اشاره کرد که توضیح کامل این مسائل، از حوصله این بحث خارج است. بسیاری معتقدند که ایده داتنت، ابتدا در کمپانی Borland مطرح شد و سر انجام سر از مایکروسافت درآورد! اما آنچه مسلم است، این است که مایکروسافت با معرفی این تکنولوژی، انقلابی را در عرصه برنامهنویسی در ویندوز پدید آورد.
البته مهمترین کمبود داتنت همین مسئله بود؛ این که فقط به یک سیستمعامل تعلق داشت، هرچند مستقل از معماری پردازگر بود. مشکلی که در حال حاضر توسط پروژه Mono در حال مرتفع شدن است. مونو تنها پروژهای نیست که قصد دارد داتنت را برای سایر سیستمعاملها پیادهسازی کند، اما در حال حاضر میتوان به عنوان کاملترین و امیدوارکنندهترین پروژه از آن نام برد.
هدف مونو پیادهسازی متنبازی از داتنت مایکروسافت است. مونو دارای کتابخانهای از کلاسها و توابع است که به سرعت رو به تکمیل شدن میرود و نیز کامپایلری برای زبان C دارد و در کنار IDE ویژه خود (MonoDevelop)، ابزار مناسبی را برای برنامهنویسی در چارچوب داتنت فراهم میآورد. توسعهدهندگان این پروژه اعلام کردهاند که به زودی برای بیشتر زبانهایی که نسخه تحت داتنت دارند، کامپایلرهایی را ارائه خواهند کرد.
علاوه بر سیستمعامل لینوکس، نسخههایی از مونو برای مکینتاش، یونیکس و سولاریس ارائه شده است. این پروژه از سوی کمپانی Novell پشتیبانی مالی و
تحقیق و بررسی در مورد مونو تحولی در برنامهنویسی تحت لینوکس