دانشجویان کامپیوتر فردوسی مشهد

 
چارچوب NET. و ارتباط آن با #C
نویسنده : محمد صادقی پور - ساعت ٩:٢۸ ‎ق.ظ روز ۱۳۸۸/٥/۱٦
 

 

قبل از اینکه به سراغ مباحث دیگر زبان #C یرویم ابتدا نگاهی کلی به تکنولوژی NET. خواهیم داشت و بعد از معرفی اجزای آن سعی می کنیم ارتباط آنها با یکدیگر را شرح دهیم. NET. هنوز یک تکنولوژی جدید محسوب می شود و دارای مباحث فنی زیادی است که فراگیری آنها در ابتدا کمی مشکل به نظر می رسد. مشکل بودن آن نیز به این علت است که NET. یک چارچوب یا framework است و یک framewok راه و روش جدیدی را برای طراحی و توسعه ی نرم افزار ارائه می دهد. در این قسمت سعی می کنیم مفاهیم جدید ارائه شده در NET. را به طور خلاصه و اجمالی بررسی کنیم.

چارچوب NET. چیست؟

قبل از هر چیز بهتر است تعریف دقیقی از کلمات framework یا چارچوب و همچنین platform ارائه دهیم. در تعریف NET. می توانیم بگوییم که "چارچوب NET. یک platform است که توسط مایکروسافت برای طراحی و توسعه ی نرم افزار ایجاد شده است" ...


 
ادامه مطلب...
comment نظرات ()
 
 
آشنایی با زبان #C
نویسنده : محمد صادقی پور - ساعت ٥:۳۸ ‎ب.ظ روز ۱۳۸۸/٢/٢٩
 

آشنایی با زبان برنامه نویسی C#

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

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

تاریخچه:

زبان C# یک زبان برنامه نویسی جدید است که در ژوئن 2000 به عموم مردم عرضه شد. در ابتدا نام این زبان Cool انتخاب شده بود که کوتاه شده ی عبارت "C-like Object Oriented Language" است. اما به هر حال زمانی که مایکروسافت از زبان جدید خود رونمایی کرد نام C# را برای آن برگزید. طراحی این زبان توسط تیمی متخصص از مایکروسافت به مدیریت Andres Hejlsberg انجام شده است. این شخص از مهندسینی است که در تولید سایر زبان ها چون Borland C++ و Borland Delphi نقش موثر و جدی داشته است. تمرکز وی در C# حفظ جنبه های مثبت و افزودن امکاناتی برای ایجاد زبانی بهتر بوده است.

این زبان از نوادگان C به شمار می رود و امکانات بسیاری را از زبان های C++،  Java و Visual Basic به ارث برده است. مایکروسافت ادعا می کند که C#، قدرت و کمال C++ را همراه زیبایی و سادگی Visual Basic یکجا ارایه می کند. در C# توان شما به قوه تخیل شما محدود می شود و خود زبان هیچ قیدی را به شما تحمیل نمی کند. گر چه بسیاری از متخصصان دنیای برنامه نویسی ادعا می کنند که زبان C# از بسیاری جهات به زبان Java شبیه است و شاید یک کپی از آن به شمار رود، اما به هر حال این زبان با اقبال عمومی همراه بوده است.

ویژگی ها:

C# بر روی CLR که ماشین مجازی برای اجرای برنامه های .NET است، اجرا می شود(به علامت dot قبل از عبارت NET دقت کنید). کامپایلر این زبان توسط مایکروسافت به نام .NET Framework SDK ارایه شده و به طور رایگان قابل دریافت است. البته تلاش هایی در جهت پیاده سازی .NET Framework در سیستم عامل لینوکس شده است که از آن جمله می توان به پروژه dot GNU و پروژه mono اشاره کرد.

C# در اصل برای برنامه سازی در محیط سیستم عامل ویندوز طراحی و بهینه شده است. C# به عنوان زبان منتخب برای برنامه نویسی در محیط .NET Framework شناخته شده است. برنامه های نوشته شده برای محیط .NET این قابلیت را دارند که توسط هر زبان دلخواهی، از C++ و Visual Basic گرفته تا Delphi و PHP و ASP و حتی جاوا و J# و JavaScript طراحی شوند و از امکانات و مزایای هر یک از این زبان ها استفاده کنند. (در آینده به طور مفصل درباره ی .NET Frame work و ویژگی های آن بحث خواهم کرد.)

به عقیده بسیاری از مردم با وجود زبان هایی نظیر C++، Java  و ... نیازی به یک زبان برنامه نویسی جدید وجود ندارد زیرا زبان های موجود کلیه امکانات مورد نیاز را فراهم می کنند. حال چرا C# ؟

 

پاسخ سوال بالا را می توان به صورت زیر خلاصه کرد:

 

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

 

امروزی بودن زبان : چه چیزی یک زبان را امروزی می سازد؟ ویژگی هایی نظیر Exception Handling و Garbage Collection ،انواع داده ای قابل بسط و ایمنی کد از ویژگی های قابل انتظار زبان های امروزی هستند و C# تمامی آنها را داراست. شاید زیباترین ایده در C# مربوط به نحوه تعریف و استفاده از Delegate ( شبیه pointer to function در C++ ) و event هاست.

 

شی گرایی : کلید زبان های شی گرا در مفاهیمی چون کپسوله کردن، وراثت و چندریختی نهفته است .C# به خوبی از این مفاهیم پشتیبانی می کند.

 

قدرت و انعطاف پذیری : این زبان قابلیت کاربرد گسترده ای برای ایجاد واژه پردازها، برنامه های گرافیکی، صفحات گسترده و حتی کامپایلرها دارد. همچنین کتابخانه این زبان، مربوط به .NET Framework بوده و بسیار غنی است. این کتابخانه شامل کلاس هایی برای گرافیک، وب، XML، تاریخ و کار با پایگاه داده است. انواع داده ای در C# بیشتر از آنکه عضوی از زبان باشند، عضو .NET Framework هستند؛ به عنوان مثال نوع داده ای string و String تفاوتی ندارند.

 

حداقل کلمات کلیدی : تعداد کلمات کلیدی زبان C# انگشت شمار است و این خود قابلیت مهمی برای زبانی با این درجه از قدرت به شمار می آید.

 

قابلیت استفاده ی مجدد : کد C# در بخش هایی با عنوان کلاس نوشته می شود . کلاس ها و روال های آنها در سایر برنامه ها قابل استفاده مجدد هستند.

 

کسب محبوبیت عام : یکی از دلایل کلیدی موفقیت و محبوبیت مایکروسافت در برنامه نویسی، تکنولوژی .NET آن است. دلایل دیگر محبوبیت، ویژگی هایی هستند که پیشتر ذکر کردیم : سادگی، شی گرا بودن، انعطاف پذیری و ...

 

همان طور که در ابتدا گفتم، هر یک از ویژگی های ذکر شده را در آینده با نوشتن قطعات کد تشریح خواهم کرد.


 

 



 
comment نظرات ()
 
 
 



Click to join FUM_ACM

Click to join FUM_ACM