Inprise
یک شنبه 03 فروردین 1382, 20:18 عصر
در این مقاله کوتاه با بخشی از توانائی های ویژوال سی دات نت آشنا خواهید شد .
با توسعه مجموعه دات نت و ویژوال استودیو دات نت تحول بزرگی در عرصه برنامه نویسی ( فعلا ) ویندوز پدید آمده است . آنچه که این روزها بر سر زبانهاست تنها بخشی از توانائی هائیست که دات نت در اختیار گسترش دهندگان نرم افزار قرار میدهد . ( برنامه نویسان ویژوال بیسیک که قبلا از نعمت توانائی طراحی برنامه های سرویس - چند ریسمانی و مد کنسول محروم بودند این حقیقت را بهتر از دیگران درک میکنند !!! )
زبان برنامه نویسی در عالم دات نت تنها یک معنا دارد و آن چیزی نیست جز : Syntax ! کلاسهای واحد و محیط توسعه قدرتمند و قابل گسترش دات نت یکی از بزرگترین تحولاتیست که در عالم نرم افزار تا کنون رخ داده است . این تغییر تاثیرات شگرفی بر ویژوال سی برجای گذارده که معدودی از آنها ذیلا معرفی میشود .
هر چند برنامه نویسان ویژوال سی همچنان میتوانند از MFC و حتی ATL برای توسعه نرم افزار استفاده کنند ( که این خود بزرگترین امتیاز برای این محیط محسوب میشود . برنامه نویسان ویژوال سی مثل برنامه نویسان وی بی لازم نیست لباس جدید و رسمی بپوشند (!) و خود را برنامه نویس معرفی کنند !!! ) اما با باز کردن پروژه های قدیمی خود در محیط ویژوال استودیو دات نت و دادن پاسخ مثبت به یک سوال و به تبع آن تولید یک فایل sln . توسط محیط توسعه میتوانند از امکانات جدید و فدرتمند دات نت استفاده کنند و لزومی به تغییر هیچکدام از جزئیات برنامه نیست !
دیگر اثری از ClassWizard نمیبینید ! مایکروسافت با تقلیدی (!) هوشمندانه از محیطهای توسعه شرکت اینپرایز اکنون به توسعه دهندگانش این امکان را میدهد که در قالبی سهل و البته عاقلانه تر به گسترش نرم افزار های مبتنی بر رخداد ( event-Driven ) بپردازند .
در صورتیکه تمایل دارید همچنان از قابلیتهای میانبر کیبورد نسخه های قدیمی ویژوال سی و محیط تسوعه نرم آن به جای محیط جدید استفاده کنید کافیست از منوی Help گزینه Show Start Page را انتخاب کرده و با دستکاری کردن My Profile در انتهای صفحه خود را به عنوان Visual C++ Developer معرفی کنید و بس !!
بزرگترین تغییر از دست رفتن محیط یکدست توسعه رابط کاربری است !!! ( بهتر است بگوئیم غم انگیز ترین تغییر !!! ) . برنامه نویسان ویژوال سی دیگر مثل گذشته های دور و دوست داشتنی (!) امکان تولید برنامه های GUI را با آن قالب سابق ندارند . هر چند مایکروسافت برای این برخورد خود تفاصیل زیادی آورده است ( ر.ک ام اس دی ان ) اما با تقلیدی دیگر ( و هوشمندانه تر از مورد قبل ! ) سیستم ثبت اطلاعات موقعیتی GUI را از اینپرایز قرض گرفته و توسعه دهنده برنامه مبتنی بر ویژوال سی میتواند مولفه های ظاهری برنامه خود را در محیطهای سی شارپ یا وی بی طراحی کرده و مشخصات ضبط شده آن را برای پیاده سازی به محیط ویژوال سی وارد کند .
در پایان - هر چند بی ربط - چند سطری هم در مورد تفاوتهای ویژوال سی و سی شارپ بخوانید :
الف )سی شارپ ( برادر کوچکتر دلفی !!! ) برای تفکیک subnamespace از Namespace ایضا تفکیک Class از Namespace و همچنین دسترسی به متدها و اعضای یک کلاس از نقطه ( Dot ) استفاده میکند در حالیکه ویژوال سی همچنان از :: و <- مثل گذشته استفاده مینماید .
ب) سی شارپ ( برادر کوچکتر دلفی !!! ) بعد از استفاده از New یک نمونه از شی تولید شده را بر میگرداند در حالیکه ویژوال سی تنها یک اشاره گر به موقعیت شی را برخواهد گرداند .
ج)برای نوشتن برنامه های #C نیازی به ورود دستی منبع توابع به پروژه را ندارید و میتوانید از طریق منو های موجود این کار را انجام دهید در حالیکه در محیط ویژوال سی مجبورید از Using# استفاده کرده و آدرس منبع ( مثلا System.dll ) را وارد کنید . ( نگران نباشید !!! اینبار مایکروسافت مشتریانش را شگفت زده کرده است !!! از طریق راهنمای برخط محیط میتوانید بفهمید که کدام کلاس در کدام اسمبلی و محدوده وجود دارد و در کدام فایل ! )
د) Null در سی شارپ با حروف تمام کوچک و در ویژوال سی با حروف تمام بزرگ نوشته میشود !
ه) سی شارپ pre-processor ندارد !
و) سی شارپ :
this.button1.Click += new System.EventHandler(this.button1_Click);
( تعجب نکنید ! این اصلا دلفی نیست ! این سی شارپ است ... Hello world !!!! ;) )
ویژوال سی :
button1->Click += new System::EventHandler(this, &Form1::button1_Click);
امید است این سطوری اطلاعات مفید ( هر چند اندک ) درباره محیط جدید توسعه نرم افزار مایکروسافت به شما داده باشد ( ... و ای کاش مایکروسافت در حرکتی جوانمردانه (!) نام محصول جدید خود یعنی سی شارپ را * مایکروسافت دلفی * میگذاشت !!! ;) )
موفق و سلامت و جوانمرد (!) باشید ! ;) inpriZ
با توسعه مجموعه دات نت و ویژوال استودیو دات نت تحول بزرگی در عرصه برنامه نویسی ( فعلا ) ویندوز پدید آمده است . آنچه که این روزها بر سر زبانهاست تنها بخشی از توانائی هائیست که دات نت در اختیار گسترش دهندگان نرم افزار قرار میدهد . ( برنامه نویسان ویژوال بیسیک که قبلا از نعمت توانائی طراحی برنامه های سرویس - چند ریسمانی و مد کنسول محروم بودند این حقیقت را بهتر از دیگران درک میکنند !!! )
زبان برنامه نویسی در عالم دات نت تنها یک معنا دارد و آن چیزی نیست جز : Syntax ! کلاسهای واحد و محیط توسعه قدرتمند و قابل گسترش دات نت یکی از بزرگترین تحولاتیست که در عالم نرم افزار تا کنون رخ داده است . این تغییر تاثیرات شگرفی بر ویژوال سی برجای گذارده که معدودی از آنها ذیلا معرفی میشود .
هر چند برنامه نویسان ویژوال سی همچنان میتوانند از MFC و حتی ATL برای توسعه نرم افزار استفاده کنند ( که این خود بزرگترین امتیاز برای این محیط محسوب میشود . برنامه نویسان ویژوال سی مثل برنامه نویسان وی بی لازم نیست لباس جدید و رسمی بپوشند (!) و خود را برنامه نویس معرفی کنند !!! ) اما با باز کردن پروژه های قدیمی خود در محیط ویژوال استودیو دات نت و دادن پاسخ مثبت به یک سوال و به تبع آن تولید یک فایل sln . توسط محیط توسعه میتوانند از امکانات جدید و فدرتمند دات نت استفاده کنند و لزومی به تغییر هیچکدام از جزئیات برنامه نیست !
دیگر اثری از ClassWizard نمیبینید ! مایکروسافت با تقلیدی (!) هوشمندانه از محیطهای توسعه شرکت اینپرایز اکنون به توسعه دهندگانش این امکان را میدهد که در قالبی سهل و البته عاقلانه تر به گسترش نرم افزار های مبتنی بر رخداد ( event-Driven ) بپردازند .
در صورتیکه تمایل دارید همچنان از قابلیتهای میانبر کیبورد نسخه های قدیمی ویژوال سی و محیط تسوعه نرم آن به جای محیط جدید استفاده کنید کافیست از منوی Help گزینه Show Start Page را انتخاب کرده و با دستکاری کردن My Profile در انتهای صفحه خود را به عنوان Visual C++ Developer معرفی کنید و بس !!
بزرگترین تغییر از دست رفتن محیط یکدست توسعه رابط کاربری است !!! ( بهتر است بگوئیم غم انگیز ترین تغییر !!! ) . برنامه نویسان ویژوال سی دیگر مثل گذشته های دور و دوست داشتنی (!) امکان تولید برنامه های GUI را با آن قالب سابق ندارند . هر چند مایکروسافت برای این برخورد خود تفاصیل زیادی آورده است ( ر.ک ام اس دی ان ) اما با تقلیدی دیگر ( و هوشمندانه تر از مورد قبل ! ) سیستم ثبت اطلاعات موقعیتی GUI را از اینپرایز قرض گرفته و توسعه دهنده برنامه مبتنی بر ویژوال سی میتواند مولفه های ظاهری برنامه خود را در محیطهای سی شارپ یا وی بی طراحی کرده و مشخصات ضبط شده آن را برای پیاده سازی به محیط ویژوال سی وارد کند .
در پایان - هر چند بی ربط - چند سطری هم در مورد تفاوتهای ویژوال سی و سی شارپ بخوانید :
الف )سی شارپ ( برادر کوچکتر دلفی !!! ) برای تفکیک subnamespace از Namespace ایضا تفکیک Class از Namespace و همچنین دسترسی به متدها و اعضای یک کلاس از نقطه ( Dot ) استفاده میکند در حالیکه ویژوال سی همچنان از :: و <- مثل گذشته استفاده مینماید .
ب) سی شارپ ( برادر کوچکتر دلفی !!! ) بعد از استفاده از New یک نمونه از شی تولید شده را بر میگرداند در حالیکه ویژوال سی تنها یک اشاره گر به موقعیت شی را برخواهد گرداند .
ج)برای نوشتن برنامه های #C نیازی به ورود دستی منبع توابع به پروژه را ندارید و میتوانید از طریق منو های موجود این کار را انجام دهید در حالیکه در محیط ویژوال سی مجبورید از Using# استفاده کرده و آدرس منبع ( مثلا System.dll ) را وارد کنید . ( نگران نباشید !!! اینبار مایکروسافت مشتریانش را شگفت زده کرده است !!! از طریق راهنمای برخط محیط میتوانید بفهمید که کدام کلاس در کدام اسمبلی و محدوده وجود دارد و در کدام فایل ! )
د) Null در سی شارپ با حروف تمام کوچک و در ویژوال سی با حروف تمام بزرگ نوشته میشود !
ه) سی شارپ pre-processor ندارد !
و) سی شارپ :
this.button1.Click += new System.EventHandler(this.button1_Click);
( تعجب نکنید ! این اصلا دلفی نیست ! این سی شارپ است ... Hello world !!!! ;) )
ویژوال سی :
button1->Click += new System::EventHandler(this, &Form1::button1_Click);
امید است این سطوری اطلاعات مفید ( هر چند اندک ) درباره محیط جدید توسعه نرم افزار مایکروسافت به شما داده باشد ( ... و ای کاش مایکروسافت در حرکتی جوانمردانه (!) نام محصول جدید خود یعنی سی شارپ را * مایکروسافت دلفی * میگذاشت !!! ;) )
موفق و سلامت و جوانمرد (!) باشید ! ;) inpriZ