صفحه 2 از 6 اولاول 1234 ... آخرآخر
نمایش نتایج 41 تا 80 از 202

نام تاپیک: تاپیک جامع برای مقایسه ی VB.net و سی شارپ

  1. #41
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379
    تکلیف کسایی که سیستم نویسی می کنن چیه؟ چون فکر نکنم بشه با net. برنامه های سیستم نوشت!
    درسته. مایکروسافت تلاش میکند تا حد ممکن دست برنامه نویسان سیستم را ببندد تا خودش بتواند سیاست بازار اینگونه محصولات را نیز تعیین کند.

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

  2. #42
    نقل قول نوشته شده توسط DelphiAssistant
    جالب بود. اما این یک تکامل است یا یک انقلاب؟
    انقلاب :)

  3. #43
    آقای DelphiAssistant
    سلام خسته نباشید
    منظور من این است که Delphi.net نیز هرچقدر قدرت و برتری داشته باشد (قابل قبول) بالاخره از .net استفاده می کند و آخر قدرت Delphi.net در Net Framework میکروسافت ببینی حال ممکن است یک دو ابزار هم قوی تر برای Generate کردن کد و یا تولید ابزار داشته باشد ولی در نهایت .net است (من منظورم این بود)
    یعنی امکانات delphi.net هر چی باشه در Net Framework میکروسافت است آیا به نظر شما غیر از اینه

    من در روزهای اول که میکروسافت Net Framework را می خواندم و در مقاله های میکروسافت نوشته بود که در صف زبانه قرار است زبان پاسکال هم قرار بگیرد که درست از آب درآمد(delphi.net)

    حال بورلند هم آمده یکی دوتا امکانات بیشتر قرار داده ولی در آخر خودش از کلاسهای .net میکروسافت استفاده می کند

    الان میکروسافت باشرکت های زیادی کار می کنه خوب borland هم روش پس بورلند زیر شاخه میکروسافت و میکروسافت هم ریشه



    به نظر من افرادی که با delphi.net کار می کنند آنها دیگر نباید بر علیه میکروسافت صحبت کنند چون در اصل آنها جزئی از میکروسافت هستند.


    Microsoft.Net=Borland.Net=Delphi.Net



    ممکن است تغییراتی در ساختار زبان VB.NET داده شود، اما این فقط یک تغییر برای VB.NET است و الزاما بدین معنا نیست که زبانهای دیگر دات نت هم میبایست چنین تغییری را متحمل شوند.
    منظور من این بود که vb.net زبان متزلزلی است و میکروسافت آنقدر دنبال انحصار طلبی است که نمی تواند طوری برنامه ریزی کند که از بدو تولد یک زبان دوباره آن را تغییر ندهد.آنقدر آدمهای کودن در آن شرکت هستند که نتوانند یک زبان را به درستی طرح ریزی کنند و از طراح دلفی استفاده کنند.

    و در آخر

    دوست عزیز، zehs_sha:
    به شما حق میدهم که اینطور در مورد Delphi.Net قضاوت کنید، چرا که اطلاعات کافی درباره آن ندارید.
    بعنوان یک دوست توصیه میکنم قبل از اینکه در مورد چیزی اینطور اظهار نظر کنید کمی درباره آن مطالعه کنید.
    دوست عزیز DelphiAssistant
    به شما حق می دهم که در مورد من اینجور قضاوت کنید چون شما صحبت های من را با دقت نخوانده اید
    VIP=Very Important Person

  4. #44
    انقلاب
    انقلاب در برده داری و رفتن زیر بار یوغ استعمار از پشت کامپوتر های شخصی
    VIP=Very Important Person

  5. #45
    به شما حق می دهم �ه در مورد من اینجور قضاوت �نید چون شما صحبت های من را با دقت نخوانده اید
    دوست گرامی من حرفهای شما را دو بار با دقت خواندم
    نه تنها با نظر آقای دلفی اسیستنت موافقم احساس میکنم
    مطالب شما دارای چهارچوب و اسلوب منطقی نیست و صرفا
    به دنبال گریزی برای "ضایع" کردن بورلند بودید که اینجا به لطف
    دات نت این فرصت را پیدا کردید من در مورد مطالب شما حرف خاصی
    ندارم اما فکر میکنم آدم برای اظهار نظر در مورد یک مطلب باید
    بطور کامل بر آن احاطه داشته باشد . در غیر این صورت مطالبش
    در حد همان شعار یا داد و بیداد باقی خواهد ماند و فقط به درد
    افرادی که اینطور مطالب را میپسندند خواهد خورد .
    اطلاعات من در مورد دات نت خیلی کم است
    اما همینقدر میدانم که بین زبانهای استفاده کننده از دات نت
    هیچ فرقی وجود ندارد چون همگی به IL تبدیل میشوند و همگی
    از استاندراد ECM برای تولید کد استفاده میکنند . یعنی نظرات
    شما در مورد VB .NET و فرق آن با سی شارپ به هیچ وجه علمی
    و صحیح نیست . بورلند هم کار عجیب یا خارق العاده ای نکرده است
    که اینطور بی رحمانه به آن میتازید . همین حالا حدود سی زبان برنامه نویسی
    دات نت را حمایت کرده اند . از SmallTalk قدیمی گرفته تا TCL که بیشتر
    روی یونیکس کاربرد دارد تا PERL و ......... حالا بورلند هم یک دلفی دات نت
    تولید کرده است . اگر به دنبال ابراز قضاوتهای شخصی و بدون
    دلیل خود هستید شاید چنین محیطهائی مناسب نباشد
    بخشی از حرفهای آقای اسیستنت در مورد دلفی دات نت برای من
    جالب بود ( قبلا نمیدانستم ) و در دلم یک آفرین به بورلند گفتم
    حالا شاید شما اینطور فکر میکنید که هرر کسی باید خودش یک
    سیستم عامل بنویسد ...... یک کامپایلر بنویسد ....... یک فریمورک بنویسد ......
    ( عطف به مطلب شما در بخش سیستم عامل ملی ) اما واقعیت این
    است که آدمهای زرنگ سعی نمیکنند برای رسیدن به نوک
    یک درخت بلند از ابتدا خودشان نردبان بسازند بلکه چند تا بردبان بلند و
    محکم و قابل اعتماد را به هم وصل میکنند و وقتی به آن مطمئن شدند
    بالا میروند ( این فقط یک مثال بد بود ) ....... من هم مانند شما سیاستهای
    انحصاری مایکروسافت را نمیپسندم اما نمیخواهم چشمم را بروی
    فعالیتهای مثبت آن هم ببندم . میگویند دات نت خیلی خوب وقدرتمند
    است . این را از بسیاری از دوستان با سوادم هم شنیده ام
    ( خودم فرصت یادگیری ندارم ..... اما شاید در همین عید ....... :) )
    اگر چیزی واقعا" خوب است چرا آدم نباید از آن استفاده کند ؟
    هر چند که هر چیزی خرج دارد و باید هزینه ای برایش پرداخته شود
    و طبیعی است اگر شما میخواهید راحت با کامپیوتر کار کنید ......
    دردسرهای محیطهای یونیکس را نداشته باشید ..... راحت برنامه بنویسید و .....
    باید با بعضی از مشکلات مایکروسافت هم بسازید و تحملش کنید .....
    دنیا اصلا همین است :) امیدوارم از حرفهای من ناراحت نشده باشید اما به
    شما توصیه میکنم فقط در مورد مطالبی حرف بزنید که بطور کامل در
    مورد آن احاطه دارید ........ امیدوارم همه ما همینطور باشیم :)

  6. #46
    نقل قول
    صرفا به دنبال گریزی برای "ضایع" کردن بورلند بودید
    :evil:
    آخه پدر کشتگی دارم با برولند :?:
    تازه اگر هم به دنبال "ضایع" کردن برولند بودم عطف به حرف شما مثل شما به کسی توهین نکردم
    شما هر آنچه که خواسته اید به من نسبت داده اید من هم فکز می کردم می توانم مانند بقیه نظر های شخصی خود را بنویسم و اصلا هم نظرم را منطقی نخوانده ام
    شما به چه حرفهایی منطقی می گوئید و ملاک شما برای حرفهای منطقی چیست آیا نه اینکه حر فهایی که باب نظر شما باشد حرف منطقی و اگر حرفی هم خوشایند شما نباشد غیر منطقی است

    اگر اظهار نظر هایم غیر منطقی است باشد بگذار هر خواننده در مورد من قضاوت کند چرا شما در مورد من پیش داوری می کنید حرفهای من هم اگر داد بیداد باشد(عطف به حرف شما) حداقل دل کسی را بدرد نیاورده ام و به کسی توهین نکرده ام

    نقل قول
    اگر به دنبال ابراز قضاوتهای شخصی و بدون
    دلیل خود هستید شاید چنین محیطهائی مناسب نباشد
    من در این محیط آزادم که نظر شخصی ام را بدهم حال ممکن است که از نظر شما مطقی نباشد
    اما این محیطها جهت بستن توهین و افترا به شخصی خاص محیطهائی مناسب نمی باشد شما می توانستید از طریق PM هرجه بد بیرا می خواستید به من بگوئید نه جلوی دوستان

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

    شما خیلی راحت می توانستید نظر های خود را بگوئید چه نیازی بود که به من توهین کنید

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

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

    من هم اگر توهینی کردم به شرکتی بوده است شخص خاص مد نظرم نبوده است
    اینجا هوایش نامناسب است و استفائ اینجانب از بحث :(

  7. #47
    دوست عزیز از اینکه از حرفهای من رنجیده اید متاسفم :|
    البته عذرخواهی لازم نیست چون من نه توهین کردم و نه حتی
    حرف تندی زدم و این همه سر و صدای شما فقط بخاطر یک
    توصیه دوستانه من است که گویا تحمل ان را نداشته اید :)
    بهر حال هر زمان که فکر کردید میتوانید بدون داد و بیداد و فقط
    در قالب مطالب مستند و علمی در مورد مساله ای بحث
    کنید و زود از حرفهای دیگران ناراحت نشوید خوشحال میشوم
    حرفهای شما را بشنوم
    متاسفانه یکی از مواردی که در این سایت به وفور به چشم میخورد
    ( بر خلاف خیلی از سایتهای مشابه خارجی ) نوشتن مطالب
    بدون اطلاع و دانش است و شما هم اگر مطالبتان اینطور نبود
    بهتر بود در مورد مسائل فنی موجود در مطلب من حرف میزدید
    بهتر است کمی دیدتان را نسبت به "توهین" تغییر دهید
    :)

  8. #48
    سلام
    من قصد بحث کردن در این مورد را ندارم.چون فایده ی چندانی ندارد و باعث ایجاد کدورت می شود.در نهایت هم هر کس به راه خودش می رود و تغییر چندانی در افکار ایجاد نخواهد شد.اما در مورد:
    سویچ کردن به سیستم عامل دیگری با توجه به مواردی که در بحث سیستم عامل ملی مطرح شد کاری تقریبا غیر ممکن است و با توجه به طیف وسیعی از کاربران کامپیوتر که اکنون از محصولات مایکروسافت (شامل ویندوز، مجموعه آفیس، و ...) استفاده میکنند زمانی که قرار باشد کشورهایی مانند ایران به قانون کپی رایت بپیوندند چاره‌ای غیر از استفاده از محصولات مایکروسافت و پرداخت هزینه به آنها نخواهند داشت
    به صورتیکه شما تصور می کنید،غیر ممکن است.این رو من و کسانی که به فکر سیستم عامل ملی هستندهم می دانند.اما مساله اینجاست که سیستم عامل ملی به معنی تغییر سیستم عامل تمام رایانه ها نیست.توجه داشته باشید این کار حد اقل در مورد ایران غیر ممکن است.چون بسیاری از افراد تصوری از «رایانه ی بدون ویندوز » را ندارند.و فکر می کنند ویندوز جزء لاینفک رایانه است.(البته ایت مورد در مورد افراد آماتور صحیحه نه افراد حرفه ای و نیمه حرفه ای)پس ویندوز بیشتر از یک سیستم عامل یک فرهنگه.گرچه فرهنگ درستی نیست( :evil2: ) ولی وجود داره.منظوره از سیستم عامل ملی اینه که کارهای رسمی دولت توسط این سیستم عامل انجام بشه.یا بستر کارها لینوکس باشه.یا یک نمونه دیگش اینه تمام سرورهای دولتی از لینوکس استفاده کنند.تا حداقل دولت از هزینه کپی رایت خلاص بشه.مردم هم اگه بخواهند می توانند مهاجرت کنند و اگر نخواهند که هیچ.ولی این احتمالا یکی از مقدمات پذیرش کپی رایت است.توجه داشته باشید بسیاری از کشورها به اوپن سورس مهاجرت کرده اند(ر.ک:مبحث سیستم عامل ملی)شما که دیگه خودتون در مورد انحصارطلبی مایکروسافت همه چیز رو می دونید.
    بنابراین:
    با ایجاد سیستم عامل ملی مشکلی برای آینده کاری من و شما و بقیه ایجاد نخواهد شد.همون طور که برای برنامه نویسان دیگر کشورها مشکلی ایجاد نکرده.
    به هر صورت:به جای این حرفها به فکر عید باشید که در پیشه.سیستم عامل ملی رو هم یه کاریش می کنیم.
    برای اطلاعات بیشتر ر.ک:
    http://farsilinux.org
    :D
    بیا ای خسته خاطر دوست ! ای مانند من دلکنده و غمگین
    من اینجا بس دلم تنگ است
    بیا ره توشه برداریم
    قدم در راه بی فرجام بگذاریم


  9. #49
    سلام
    تا به حال چندین مقایسه بین زبانهای گوناگون انجام گرفته است و به نظر من این کار ها با همه ی محاسنی که دارند معایبی هم دارد و تقریبا می توان گفت که این کار مشوش کردن ذهن برنامه نویسان غیر حرفه ای(از جمله خودم) است . دو ستان توجه داشته باشند که ما فرصت یاد گیری تمام زبانها را نداریم در ضمن فرصت از این شاخه به اون شاخه پریدن را هم نداریم . یک روز از مزایای VB.NET گفته می شود (حالا هم آن را زبانی متزلزل می نامند) روز دگر درباره ی Delphi حالا هم : shock: :shock: #Cوتازه سیتم عامل ملی :?: و از انحصار مایکروسافت بیرون آمدن و بر نامه نویسی برای لینوکس :-x :roll: مانده ایم کدام را ادامه دهیم .
    (یکی نیست به این برنامه ریزان مملکتی :?: بگوید تا به حال چند هزارتومان به مایکروسافت داده ایدکه حالا می خواهید از انحصار آن بیرون بیایید.نیست که شرکت لینوکس سیتم عاملش را مجانی به ما می دهد.باید قبول کنیم که خودمان نتوانسته ایم ... ما هم بدمان نمی آید سیتم عامل ملی داشته باشیم )
    از یک طرف می خواهیم از غافله عقب نمانیم از طرف دیگر هنوز راه را پیدا نکرده ایم .
    از دوستانی که بر مسایل روز اشراف دارند به ما بگو یند بالاخره چه کار کنیم ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟ :?:

  10. #50
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379
    از دوستانی که بر مسایل روز اشراف دارند به ما بگو یند بالاخره چه کار کنیم
    خودتان بهترین راه را انتخاب کرده‌اید:
    پیش به سوی NET.

  11. #51
    نقل قول نوشته شده توسط DelphiAssistant
    از دوستانی که بر مسایل روز اشراف دارند به ما بگو یند بالاخره چه کار کنیم
    خودتان بهترین راه را انتخاب کرده‌اید:
    پیش به سوی NET.
    ولی کدامیک? :?:
    VB.NET ? C#‎? Delphi.NET

  12. #52
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379
    هر کدام که با آن راحت تر هستید.

  13. #53
    با عرض ادب:
    یه لینک دستم گرفته بودم و همینجوری می گشتم نمی دونستم کجا بذارمش. گفتم بذازم اینجا:

    http://lug.farsilinux.org/PDF%20File...opensource.pdf
    کسی سمینار این بابا رو گوش داده؟

    یه عشق برنامه نویسی خفن
    one of the main causes of the fall of the Roman Empire was that, lacking zero, they had no way to indicate successful termination of their C programs. -- Robert Firth

  14. #54
    خیلی خیلی ممنون از دوستان که جواب منو دادن
    اگه می شه لطفا کتابی در مورد مباحثی چون C#‎ مدیریت پروژه طراحی الگوریتم و ... معرفی کنید.
    یه چیز دیگه:من تصمیم گرفته بودم C#‎ بخونم ولی با چیزهایی که این اواخر از delphi.net شنیدم و تجربه ی کمی که در برنامه نویسی delphi دارم دوباره به شک افتادم.
    لطفا یکی از اساتید زحمت بکشن و این شک من رو بر طرف کنن :oops:
    راستی سعی کنیم این دم عیدی بیشتر به همنوع خودمون کمک کنیم :wink:
    شاد باشین

  15. #55
    به قول آقای نصیری
    سی شارپ گواهی ایزو گرفته
    من هم تصمیم گرفته ام سراغ سی شارپ برم.

  16. #56
    ولی من delphi.net را ترجیح می دم. مهم اینه که با کدومشون راحتتر هستی.

  17. #57
    کاربر دائمی
    تاریخ عضویت
    آبان 1382
    محل زندگی
    ایران - تهران - تهران پارس
    پست
    237
    خانوم مونا من رو هم بد جووووووووووری شدیییییییییییییدا به یاد یکی میندازه که.... :o
    وای بلا به دور عباس جان گرفتم گرفتم....... 8)

  18. #58
    VIP آواتار Anti_Evil
    تاریخ عضویت
    فروردین 1382
    محل زندگی
    سرگردان در کهکشان !
    پست
    529
    میدونید ؟! من در مدت عضویتم در این سایت یکی از بزرگترین اشتباهاتمو مرتکب شدم ):
    چرا که این توپیک رو اصلا نگاه نکردم )):
    آخه فکرشو نمیکردم بحث تا اینجاها گسترش پیدا کنه.
    باید فکرشو میکردم که حتما چیزی بوده که توجه دیگران جلب شده ...

    ولی از یه جهت خیلی خوشحالم، از این جهت که در غیاب بنده خانوم Mona زحمت کشیدند و با اطلاعات خودشون همه را در بسیاری از موارد روشن کردند. واقعا ممنون X:
    البته دوست داشتم Mona خانوم در جواب ها بیشتر توضیح میدادند که جای شبهه ای برای کسی باقی نماند ولی با توجه به حساسیت موضوع و زمان ارسال جواب ها واقعا جای تقدیر دارد. (:

    البته من دقیقا منظورم در مورد وضعیت و آینده MFC بود.

    آقای کرامتی با این پاسخ هایشان باعث شدند من 2 دقیقه در کمای مطلق فرو بروم (:
    خوب بگذریم ...

    من تمام سوالهای پرسیده شده در مورد MFC را بخاطر ندارم ولی بزرگترین چیزی که الان به خاطرم میرسد در مورد آینده MFC است ...
    Microsoft پشتیبانیشو از روی MFC بر نخواهد داشت. ( اگر چیزی ضد این شنیدید بدونید کذبه )

    من واقعا در عجبم که چرا آقای Inpy در این مورد تا به حال چیزی ننوشته اند ؟!
    شاید ایشان هم نظیر بنده دچار افسون ( ندیدن این تاپیک ) شده باشند ...

    در آخر به جمله ای از یکی از پیامبران برنامه نویسی ( Tom Archer ) اشاره میکنم که فرمود: ++C کار کنید تا رستگار شوید.

    اگر همچنان کسی در مورد جزئیات مربوط به ++VC و MFC سوالی دارد من از الان در خدمتم (:

  19. #59
    برادر Anti-Evil

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


    متاسفانه یکی از بلاهائیکه دامن گیر محیطهای تکنیکی مثل این وب سایت است "حال گیری" ضمن بحث و تبادل نظر با طرف مقابله . این پدیده اگر جنبهء شوخی داشته باشه و برای ایجاد تنوع در محیط بحث اتفاق بیفته البته مباح که هیچ بلکه مستحب است . اما اگر یک نفر خیلی جدی تصمیم بگیره حین بحث و تبادل نظر بخاطر عدم تطابق نظرش با فرد مقابل یا احیانا" حقیر شمردن فرد مقابل سعی کنه حالش رو بگیره ، تصریحا" یا تلویحا" ، نتیجه ای جز خراب شدن فضای بحث و مالیده شدن نتیجه گیری صحیح و منطقی نخواهد داشت . بارها دیدم که وقتی بین دو تا مساله خاص تو مایه های دلفی و وی بی ، ویندوز و لینوکس ، دات نت و جاوا و ... بحثی بین دو یا چند نفر شروع میشه ، از همون ابتدا حرفهای حاشیه ای و تیکه ها حال گیر و مطالب نا مربوط متولد میشن و تا آخر بحث به حیات خودشون ادامه میدن . طبیعیه که ایجاد چنین فضائی باعث میشه بعد از مدتی تمام کاربران سایت با دیدن بحثی این چنین میل و رغبتی برای حضور در اون نداشته باشند چرا که حدس میزنن به احتمال زیاد این وسط حال چند نفر اساسی و حال چند نفر غیر اساسی گرفته میشه و ته داستان چیز خاصی عاید کسی نمیشه . ( اتفاقی که همین حالا تا حدودی افتاده است ) . این نوع رفتار و برخورد فوق العاده مخرب است و به طور جدی و اساسی باید جلوش گرفته بشه . واضح و مبرهن است که یک بحث داغ و خیلی تند و حتی خشن اما تکنیکی اگر هیـــچ فایده ای نداشته باشه ، حداقل کمک میکنه وجوه مختلف موجود یا موجودات مورد بحث توسط طرفین کاملا" بررسی بشن و در بدترین حالت حداقل یه تعداد Keyword و عنوان جدید به دست تازه کارهائی که مدتی بعد دارن اون بحث رو مطالعه میکنن میرسه که حتما" میتونه براشون مفید باشه ، تیکه پرونی و حال گیری نه تنها باعث خط خطی شدن اعصاب طرفین بحث میشه ، و نه تنها "بحث" رو به "مشاجره" تبدیل میکنه ، که باعث میشه به مرور پدیده "بحث" به یک موجودیت مضموم تبدیل بشه که همه ازش فراری هستند ( که همین حالا هم متاسفانه تا حدودی همین طور شده ) . امیدوارم همه رفقا ، از خود این حقیر گرفته تا ...سعی کنیم بجای نگاه عاقل اندر سفیه به طرف مقابل و گل مال کردن حس و حال و اعصاب طرف ، سعی کنیم اگر چیزی در چنته داریم بریزیم رو دایره و اگر حرف خاصی نداریم گوش کنیم و یاد بگیریم و البته اظهر این است که مدیران ، از مدیر سایت گرفته تا مدیران بخشها باید حساسیت خاصی رو این رفتارهای مخرب داشته باشن و بدون کوچکترین تردید این طور مطالب رو از هر کسی که میخواد باشه از بیخ قیچی کنن تا فرهنگ صحیح تبادل اطلاعات بدون حال گیری نهادینه بشه . در عرایض بالا نگاه خاصی به هیچکدام از افراد حاضر در بحث نداشتم و عرایضم مربوط میشه به همه زمانها و همه بحثها و هدف هم چیزی نبود جز بهبود جو سایت که امیدوارم خوانندگان بخوبی درک کنند که حتما" هم همینطور هست :)
    مجددا" تاکید میکنم هیچ خواهر یا برادری از حضار ( و غیر حضار ) هدف مشخص این نوشته نیست . به کرات توی بحثهای مختلف سایت با پدیدهء تیکه پرونی و حالگیری مواجه شدم و در اغلب موارد در اثر همین برخوردها فضای بحث به گند کشیده شده ( از بحث دلفی و سی بگیر تا مباحث مربوط به دلفی و وی بی و ... مباحث جدید تر ) . من هم به عنوان یکی از مدیران سایت نظرات شخصی خودم رو دارم و تمایل دارم ابرازشون کنم اما دوست ندارم در سایهء برخوردهای غیر تکنیکی هم اعصاب خودم خراب بشه هم وقتی که بابت نوشتن دو صفحه مطلب میزارم دود بشه . به طور جدی از برادران مدیر درخواست میکنم فارغ از نظرات شخصی و عقیده و گرایش ، هر جا "بحث" تکنیکی پیش اومد که بینش به هر ترتیبی مطلب غیر تکنیکی و بصورت "تیکه" یا برای حالگیری مطرح شد ، بلافاصله قیچی کنن ( ر-ک دردسرهای اولیه بخش امنیت و وضعیت فعلی اش :) ) و مطمئن باشن "رفتار صحیح" بعد از مدتی خود به خود نهادینه میشه :)
    اگر رفقائی که در مورد دات نت و تکنولوژی های مربوطه سوال پرسیدند هنوز هم نقاط ابهامی تو ذهنشون وجود داره و رفقای پیش کسوت تر فکر میکنن امکانش هست بی سوادی مثل حقیر هم پنج دقیقه ای منبر بره کلهم اجمعین ندا بدن تا حقیر هم چند سطری در باب " ابزارهای توسعهء دات نت " حرف بزنم :wink:

    همگی موفق باشید :kiss:

    مطالبی که نوشتم بیشتر ناظر بر بحثهای دیگه بود اما نگاه کردم و دیدم اینجا هم مثل سایر "بحث" های سایت دچار همین آفت شده . یکی به دیگری میگه تو هدفت ضایع کردن بوده اون یکی میگه فحش نده یکی دیگه میگه اصلا جفتتون بی سوادید یکی دیگه ... یکی دیگه ... ؟؟؟ چند تا مطلب "نا مربوط" الان توی این تاپیک هست ؟ اصلا" چرا باید باشه ؟ :?

  20. #60
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379
    به طور جدی از برادران مدیر درخواست میکنم فارغ از نظرات شخصی و عقیده و گرایش ، هر جا "بحث" تکنیکی پیش اومد که بینش به هر ترتیبی مطلب غیر تکنیکی و بصورت "تیکه" یا برای حالگیری مطرح شد ، بلافاصله قیچی کنن
    موافقم. برادران مدیر، یا علی.

    اگر رفقائی که در مورد دات نت و تکنولوژی های مربوطه سوال پرسیدند هنوز هم نقاط ابهامی تو ذهنشون وجود داره و رفقای پیش کسوت تر فکر میکنن امکانش هست حقیر هم پنج دقیقه ای منبر بره کلهم اجمعین ندا بدن تا حقیر هم چند سطری در باب " ابزارهای توسعهء دات نت " حرف بزنم
    بسم‌ا...
    سراپا گوشیم...

  21. #61
    کاربر دائمی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    Iran
    پست
    801
    اگر رفقائی که در مورد دات نت و تکنولوژی های مربوطه سوال پرسیدند هنوز هم نقاط ابهامی تو ذهنشون وجود داره و رفقای پیش کسوت تر فکر میکنن امکانش هست حقیر هم پنج دقیقه ای منبر بره کلهم اجمعین ندا بدن تا حقیر هم چند سطری در باب " ابزارهای توسعهء دات نت " حرف بزنم
    ما هم سراپا گوشیم. لطفا تمام جنبه‌ها رو بررسی کنید.

  22. #62
    VIP آواتار Anti_Evil
    تاریخ عضویت
    فروردین 1382
    محل زندگی
    سرگردان در کهکشان !
    پست
    529
    Inpy جان ما همیشه منتظر شنیدن نقطه نظرهای شما هستیم (:

  23. #63
    اگر رفقائی که در مورد دات نت و تکنولوژی های مربوطه سوال پرسیدند هنوز هم نقاط ابهامی تو ذهنشون وجود داره و رفقای پیش کسوت تر فکر میکنن امکانش هست بی سوادی مثل حقیر هم پنج دقیقه ای منبر بره کلهم اجمعین ندا بدن تا حقیر هم چند سطری در باب " ابزارهای توسعهء دات نت " حرف بزنم
    همگی موفق باشید
    تو ذهن من نقاط ابهام زیادی باقی مونده امیدوارم نظر شما دوست عزیز رو هم بشنوم.
    راستی باید بگم من همون ehsaanjoon هستم که به عللی(ضایع بودن id) با اجازه مدیر سایت idم رو عوض کردم.
    در مورد حال گیری هم کاملا با نظر شما موافقم.یکی مثل من هیچی از کامپیوتر نمیدونه و یکی مثل شما خدای برنامه نویسیه.
    ولی این دلیل نمی شه که کسی دیگری رو تحقیر کنه.
    هر چی سواد انسان بالاتر میره باید خضوعش هم بیشتر بشه.
    فکر می کنم اومدیم اینجا که در جوی دوستانه از هم چیزهایی یاد بگیریم(از اخلاق گرفته تا کامپیوتر)
    یا علی :flower: :kiss:

  24. #64
    از اساتید و دوستان عزیزی هم که وقت گرانبهاشون رو برای جواب دادن به دوستانشون میذارن تشکر میکنم. :flower: :flower:

  25. #65
    کاربر دائمی
    تاریخ عضویت
    آبان 1382
    محل زندگی
    ایران - تهران - تهران پارس
    پست
    237
    خوب برادر Anti Evil
    یه سوال چرا VB به یک باره بازنویسی شد و برای تبدیل اون به دات نت فقط مایکروسافت یه ویزارد در اختیار کاربران قرار داد که البته جوابگو هم بود؟

    چرا برنامه های که در ++VJ نوشته شده بود باز هم فقط با یه ویزارد به راه حل های #VJ تبدیل شد؟
    خانوم مونا گفتن بسیاری از شرکت ها برنامه هاشون رو با VC و MFC تهیه کردن و کایکروسافت نمیتونه حمایتشو از MFC قطع کنه ولی من فکر میکنم احتمالا بلایی که به سر VB و ++VJ اومد به سر MFC هم خواهد آمد البته من این طور فکر میکنم.
    در ضمن فکر میکنم یکی از اون حرفهای نامربوط رو من زدم که امیدوارم منو ببخشین دیگه هم تکرار نمیشه از قدیم گفتن حرف حساب جواب نداره :)

  26. #66
    سلام ؛

    من قبلا" مطلبی در مورد جاوا ، J2EE و قابلیتها و ویژگی ها و چیستی و چگونگی کاربردهای مبتنی بر اونها نوشتم و لازم میدونم چنین کاری رو برای دات نت هم انجام بدم . هر چند اهالی دات نت در این سایت خیلی فعال هستند و در مورد دات نت بطور جدی بارها حرف زده شده و خودم منم در مورد کم مطلب ننوشتم اما سعی میکنم مطلب حاضر Template ای مطابق مطلب قبلی در باب جاوا داشته باشه تا بتونه بیشتر مفید واقع بشه و برای ارجاعات آینده کاربردی باشه . بعد از اینکه این مطلب تموم شد در مورد بعضی از مطالب مطرح شده توسط رفقا هم چند خطی مینویسم :)

    مطلب اول رو به این قسمتها تقسیم میکنم :

    • - دات نت دقیقا" چیه
      - نقش دات نت در توسعهء نرم افزار
      - دات نت و سایر فناوری ها
      - ابزارهای مایکروسافت برای توسعهء دات نت
      - سایر ابزارها


    -- دات نت دقیقا چیه ؟

    تعریف اغراق آمیز و با مزهء MSDN در مورد دات نت میگه :


    <span dir=ltr>

    • The .NET Framework is an integral Windows component that supports building and running the next generation of applications and XML Web services. The .NET Framework is designed to fulfill the following objectives:

      To provide a consistent object-oriented programming environment whether object code is stored and executed locally, executed locally but Internet-distributed, or executed remotely.
      To provide a code-execution environment that minimizes software deployment and versioning conflicts.
      To provide a code-execution environment that promotes safe execution of code, including code created by an unknown or semi-trusted third party.
      To provide a code-execution environment that eliminates the performance problems of scripted or interpreted environments.
      To make the developer experience consistent across widely varying types of applications, such as Windows-based applications and Web-based applications.
      To build all communication on industry standards to ensure that code based on the .NET Framework can integrate with any other code.


    </span>

    پس جالبه بدونید مایکروسافت ، دات نت رو به عنوان یک عنصر " مبتنی بر ویندوز" و " ویندوز محور" معرفی میکنه و این یعنی صراحتا" مایکروسافت وجود دات نت رو جائی در جائی به غیر از ویندوز به رسمیت نمیشناسه ( و طبیعیه که من و تو و امثال ما اهمیت چندانی نمیدیم که مایکروسافت دقیقا چه چیزهائی رو به رسمیت میشناسه یا نمیشناسه ، چون بیزینس ما و مایکروسافت نقاط مشترک چندانی نداره و دقیقا" به همین دلیل موجوداتی مثل Mono متولد شدن :) )

    دات نت یک بستر و پایه است برای تولید نرم افزارهای کاربردی سطح بالا ، برنامه های مبتنی بر شبکه و اینترنت و سرویسهائی که به موارد مذکور مربوط هستند . دات نت دقیقا تشکیل شده از مجموعهء وسیعی از Wrapper که Win32 API رو محصور میکنند ، یک کتابخانهء کلاس نسبتا" کامل برای تولید نرم افزار ، مترجم کد به باینری ، و یک استاندارد برای تولید مترجم .

    سوال بی موقع : خوب اینطوری که من میبینم اینجا چیز جدید وجود نداره ، درسته ؟ تک تک اجزاء قبلا" در تکنولوژی های مختلف وجود داشتن و کل این مجموعه هم سالهاست که تحت عنوان جاوا داره کار میکنه ، من درست فکر میکنم یا نفهمم و دات نت کارهائی که تصور میکنن مایکروسافت کار عجیب و بزرگی انجام داده درست میگن ؟

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

    من به شخصه معتقدم مایکروسافت قبل از دات نت حداقل در حوزهء تولید نرم افزار حرف خاصی برای گفتن نداشت :) ویژوال استودیو تشکیل شده بود از این عناصر : ویژوال بیسیک - ویژال سی - ویژوال فاکس پرو - ویژوال اینتر دو - ویژوال دی بیس . اصلا" نمیخام وقتم رو تلف کنم و در مورد مسخرگی ویژوال فاکس و ویژوال بیسیک حرف بزنم . ویژوال اینتر دو برای توسعهء مبتنی بر وب ابزار خوبی بود اما اصولا" فرق چندانی با ابزارهای مشابه نداشت . تنها عنصر موفق مخلوق مایکروسافت ویژوال سی بود به این دلائل :

    • کامپایلر قدرتمند
      MFC
      ATL


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

    یادمه اولین توصیفی که در مورد دات نت توی یه چت خوندم این بود : i like it 'cuz it is quick ! :) دات نت یه محیط واقعی RAD است ( Rapid application Development ) . اهمیت RAD در صنعت نرم افزار فوق العاده بالاست . ( یادمه سر این مورد بحث نسبتا" مفصلی با کامبیز داشتیم ) اهمیت RAD حتی از توانائی کامپایلر یا سیستم عاملهای حمایت شده و ... بیشتره . صنعت نرم افزار دارای بی شمار مشتری است که هر روز و هر روز نیاز به نرم افزار مختلف و کوچک و خاص منظوری دارن که در یک فرصت کوتاه ایجاد بشن و یک کار خاص رو انجام بدن و بعد فوت کنن :) شاید چنین مفهومی در ایران خیلی ملموس نباشه اما دنیای پیشروی امروز به نرم افزار نگاهی مثل ساختمون ، میز ، صندلی ، کارمند و ... داره . یه چیز جدی که باید در یک لحظهء خاص و برای هدفی خاص در دسترس باشه و کاملا" فرمان پذیر . RAD به تحقق این نیاز کمک زیادی میکنه . همین حالا مدیر شرکت تصمیم گرفته از تعداد زیادی سند الکترونیکی موجود یک گزارش خاص منظور بگیره و دادهء خاصی رو ازشون استخراج کنه و به ترتیب خاصی مرتب کنه . دپارتمان نرم افزار سازمان باید بتونه بالافاصله یه نرم افزار کوچولو و جمع و جور رو تحویل مدیر بده . جستجوی تعداد زیادی سند و اجاد یک بانک اطلاعاتی ازشون و جستجو در اون بانک و مرتیب کردن داده ای خاص در یک محیطی مثل ویژوال سی درست مثل یک کابوس میمونه ! :roll: در حالیکه محیط RAD ای مثل دلفی با یک برنامه نویس متوسط میتونه در کمتر از دو ساعت این برنامه رو تحویل بده :) نقش RAD متاسفانه در بحثهای اینچنین خیلی کم مورد توجه قرار میگیره .

    حالا مایکروسافت یک محیط RAD داره که توی این محیط ضمن اینکه میشه جزئیات سیستم رو تحت کنترل درآورد ، میشه وظایف عمومی رو به سرعت انجام داد ، از توسعه برای ویندوز گرفته تا توسعه برای وب :) دات نت بر فراز غولهائی مثل VCL ، QT و JDK متولد شد ، از تجربیات مفید اونها استفاده کرد و تمام تلاشش رو کرد برای کسانیکه به هر دلیلی از مایکروسافت و ابزارهاش پیروی میکنن توانائی بیشتر در کنار تلاش و زحمت کمتر رو ایجاد کنه . پس دات نت "جدید" نیست ، "خلاقانه" هم نیست ، امکان و ویژگی محیر العقولی هم نداره . دات نت صرفا" یه ابزار خوبه ، در کنار سایر ابزارهای خوب :) و جلوتر از ابزارهای بد ، که خیلی شون ، سری قبلی محصولات مایکروسافت هستند :wink:

    -- نقش دات نت در توسعهء نرم افزار

    بلا شک دات نت موفقیت قابل توجهی کسب کرده و هر کسی هم محبوبیت دات نت رو انکار کنه نابینائی خودش رو به اثبات رسونده . اما من تصور میکنم محصولات مایکروسافت به دلیل اینکه خوب هستند موفق نمیشن ( اینجا من از عبارت موفقیت به معنای کسب مزیت اقتصادی قابل توجه استفاده کردم :) ) بلکه کاریزمای خاص مایکروسافت که بخشیش محصول "ویندوز" و بخشی دیگر محصول توانائی قابل توجه اقتصادی- تبلیغاتی است میدونم . این اعتقاد باعث نمیشه من فکر کنم دات نت موجود بیخودی است ، خیر .

    دات نت صرفا" یه ابزار خوبه ، در کنار سایر ابزارهای خوب :) و جلوتر از ابزارهای بد ، که خیلی شون ، سری قبلی محصولات مایکروسافت هستند
    اما همین اعتقاده که باعث میشه فکر نکنم که عده ای موجود بی نهایت باهوش و مدبر در مرکز فرماندهی مایکروسافت نشسته اند و طی یک استراتژی بلند مدت و مبتنی بر برنامه دارن اهداف بلند مدت مایکروسافت رو محقق میکنند . :) حرکت جاهلانهء مایکروسافت در طراحی ساختار "دات نت فریم ورک" باعث میشه شما هر از چند گاهی با یه نسخهء جدید دات نت مواجه بشید ، به عنوان کاربر ، و با یه نسخهء جدید SDK ، به عنوان توسعه گر . هر از چند گاهی با یه کادر مکالمه ای حاوی یه پیام خطا مواجه بشید ، به این مضمون که برنامهء مورد تقاضای شما با نسخهء فریمورک نصب شده سازگار نیست ، به عنوان کاربر ، و با کامپوننتهائی مواجه بشید که هر کدام برای نسخهء خاصی از فریمورک نوشته شده اند ، به عنوان توسعه گر و قس علی هذا . من حتی تصور نمیکنم سناریوی بلند مدت و مدونی برای رسیده به "آنجائیکه دات نت قرار است به سمت آن برود" وجود داشته باشه . اینجا بحث رفع باگ یا افزودن قابلیت نیست ، که این رفتار صحیح و پسندیده ایه اگر منطقی اتفاق بیفته ، ( رجوع کنید به JDK ) بلکه اینجا اصولا" اینفرااستراکچر فریمورک تغییر میکنه . این بستر در حال تغییر به شدن به ویندوز وابسته است ، ویندوز هم در حال تحوله ، که محصول این تغییرات چیزی نخواهد شد به غیر از یک محیط ناسازگار که ضمن وابستگی غیر قابل توصیف به ویندوز ( این یکی از اهداف استراتژیک مایکروسافته ) توسعه گران رو به ارتقاء دائمی نرم افزارها ، ویندوز ، سخت افزار و ... هدایت میکنه که نتیجه اش چیز جز سرایز شدن میلیونها دلار به جیب "حضرات" نیست . لازمه توضیح بدم که دقیقا" همین سیاست زیرکانه مایکروسافت رو به چنین غولی مبدل کرده . وقتی ویندوز 3.1 توزیع شد من با یونیکس SVR4 رو دیده بودم و بخوبی با موجودی بنام X آشنا بودم . قبل از اون اپل هم موفقیت بزرگی کسب کرده بود و ...

    دات نت بلاشک نقش مؤثری در توسعهء نرم افزار خواهد داشت چون هم ابزار خوبی است ، هم محصول بزرگترین غول نرم افزاری دنیاست ، هم با ویندوز ارتباط خوبی داره ، هم سهل الاستفاده است . :)

    -- دات نت و سایر فناوری ها

    دات نت بر فراز غولهائی مثل VCL ، QT و JDK متولد شد ، از تجربیات مفید اونها استفاده کرد و تمام تلاشش رو کرد برای کسانیکه به هر دلیلی از مایکروسافت و ابزارهاش پیروی میکنن توانائی بیشتر در کنار تلاش و زحمت کمتر رو ایجاد کنه
    CLR از دنیای جاوا و FrameWork از دنیای VCL و QT آموزه های زیادی دارن . آندره هلسبرگ که اولین نگارش توربو پاسکال رو نوشت و مدتها در راس هرم توسعهء VCL بود گرفته تا خرید محصولات آزمایشگاههای تحقیقاتی بورلند توسط مایکروسافت تا توسعه بی حد و حصر جاوا و مشاهدهء عوامل موفقیتش و ... همگی نقشهای مهمی در سناریوی موفقیت دات نت ایفا میکنن :) و البته نباید خود تیم توسعهء نرم افزار مایکروسافت رو با این دیدگاه که "تولید کنندهء ویندوز" هم هستند ، در این موفقیت نا دیده گرفت . و در کنار همهء این اما ها نباید این امای آخر رو نادید گرفت (!) : اما با همهء این حرفها توسعه گران به همهء بخشهای هدیه ای که مایکروسافت به اونها داده نیاز ندارن در حالیکه باید برای استفاده از بخش کوچکیش هزینه های مادی و غیر مادی همهء اون رو بپردازن . توسعه گران لینوکس از QT براحتی در محیط لینوکس استفاده میکنن و بی شمار برنامهء کاربردی با اون نوشتن که با کمترین هزینه ( و حتی خیلی اوقات مجانی ) اون رو تولید کردن . برنامه نویسان دلفی یا سی بیلدر سالهاست دارن از VCL استفاده میکنن ( که دات نت کارها تازه دارن طعمش رو میچشن ) و ... اما توسعه گرانی که سرنوشت فعالیتهای خودشون رو به نقشه های مایکروسافت پیوند زدند باید دات نت رو با ران تایم حجیم و سرعت بسیار کند و توزیع دشوار و قیمت فوق العاده بالا و پیوستگی جدی با ویندوز تحمل کنند :) در واقع دات نتی که به "خوب" بودنش ایمان دارم ، فضای نه چندان جدید ی برای توسعه گرانش ایجاد کرده که اونها ضمن رسیدن به "هیچ امکان جدید"ی باید هزینهء بیشتری نسبت به راه حلهای قبلی بپردازن . این دقیقا" همون مساله ایه که من بارها سعی کردم توجه توسعه گران دات نت رو بهش جلب کنم اما اغلب عینک آفتابی تعصب ( یا عدم وجود دانش در مورد سایر محیطها ) باعث میشه این حقیقت چندان که باید مورد توجه قرار نگیره . :)

    -- ابزارهای مایکروسافت برای توسعهء دات نت

    بصورت پیشفرضبسته های VB .NET و #C و Managed C و #J توسط مایکروسافت توزیع میشن . اگر هدف " توسعهء مبتنی بر دات نت" باشه هیچکدام از این محیطها با هم متفاوت نیستند . همگی نه تنها به Intermediate Language ترجمه میشن ، حتی برای ساختار زبان هم از یک Design Pattern استفاده میکنن . "همهء" این زبانها محصولاتی جدید هستند ، هر چند که اگر توسعه گری تجربه و آشنائی با دلفی یا جاوا داشته باشه محیط سی شارپ و اگر تجربهء جاوا داشته باشه محیط جی شارپ رو آشنا خواهد دید . :) مبدلهای مختلفی هم برای تبدیل کدهای نوشته شده به یک زبان دیگر وجود داره ، چه IL رو داشته باشید چه سورس کد و در هر لحظه که بخواهید میتونید زبان برنامه رو بطور کل تغییر بدید .

    اگر هدف توسعهء دات نت در کنار سایر تکنولوژی ها باشه باید سی شارپ و VB .NET رو فراموش کرد . Managed C میتونه بصورت همزمان از کدهای مدیریت نشده و دات نت استفاده کنه . این واقعا" مهمه :) میلیونها میلیون خط کد نوشته شده برای مقاصد مختلف وجود داره که "همین حالا" تبدیل کردن اونها به "کدهای مدیریت شده" غیر ممکنه ، دات نت هم که فقط مبتنی بر ویندوزه ، پس چه خوبه بشه از این کدهای مدیریت نشده در کنار قدرت کتابخانهء کلاس دات نت استفاده کرد . اینجا Managed C خودش رو نشون میده و مطمئنا" یکی از ابزارهای مهم محیط توسعهء دات نت است چرا که همین حالا برنامه نویسان C ( و نه سی شارپ تازه متولد شده ) از سایر توسعه گران بیشتر هستند و منطقا" یک برنامه نویس C در محیطهای جدید هم اول به دنبال دوست خودش میگرده . من "برنامه نویس" نیستم و دانش نسبتا" خوبی در مورد Managed C و #C دارم اما "اول" از همه در محیط دات نت به سراغ Managed C رفتم و به دلائل شخصی بیشتر از بقیه بهش اهمیت میدم :) #J هم میتونه کمک کنه یک برنامهء ویندوز یا وب را با ترکیبی از کدهای مدیریت شدهء مبتنی بر ویندوز و JDK جاوا تولید کنید . یعنی همانطور که Managed C امکان ترکیب دات نت و کدهای معمولی C رو میده ، جی شارپ امکان ترکیب دات نت و JDK رو میده . البته فقط تا JDK 1.3 نه بیشتر :(

    نهایتا" اگر هدف توسعه نرم افزار نا مربوط به دات نت باشه باز هم Managed C امکانات زیادی در اختیارتون میزاره . میتونید کماکان از MFC استفاده کنید و برای توسعه کاربردهای مبتنی بر COM همچنان ATL وجود داره و هر دو با نسخه های جدید و بهینه تر رو صحنه ظاهر شدن ، برای توسعهء سرویسهای وب ( نا مربوط به دات نت ) اینجا ATL Server و افزونه های Managed Extentions برای Managed C وجود داره . اگر هدف تولید کاربردهای مبتنی بر وب باشه باز هم ISAPI و ATL Server ها موجود هستند . ( بخش قابل توجهی از سایت خود مایکروسافت خصوصا" بخش دات نت پاسپورت با Managed C نوشته شده ، بصورت ATL Server . احتمالا" موقع ثبت نام برا یک پاسپورت دات نت دیده اید که فایلهائی با فرمت srf. نوع صفحات رو تشکیل میدن . به این فایلها اصطلاحا" استنسیل گفته میشه . این استنسیلها روی ATL Server ها قرار میگیرن و در واقع PlaceHolder ای برای تگهای HTML هستند . ( دلیل اینکه چرا وقتی پای امنیت فوق العاده بالا به میون میاد حتی پای خود مایکروسافت هم روی دات نت میلرزه و ... مفصله که اگر کسی علاقه داشت بعدا" در موردش حرف میزنیم :) )

    نتیجتا" شما هر هدفی در حوزهء "ویندوز - وب" داشته باشید چه بصورت مدیریت شده چه مدیریت نشده ، همگی توسط ابزارهای مایکروسافت قابل پاسخگوئی هستند . پس نتیجه میگیریم مایکروسافت هیچ نوع کاربردی رو - بجز ویژوال بیسیک 6 - منسوخ نکرده و خودش هم تلویحا" یا تصریحا" پا فشاری خاصی روی هیچکدام نداره ، خودش هم از ترکیبی از همهء اینها برای توسعهء محیطهای شخصی اش استفاده میکنه :) ( همین حالا اگر زمان اجراهای خاص #J نباشه ، محیط دات نت 2003 اجرا نمیشه ! منظورم DevEnv هست ها ! )

    آنچه که گذشت :

    • - دات نت دقیقا" چیه
      - نقش دات نت در توسعهء نرم افزار
      - دات نت و سایر فناوری ها
      - ابزارهای مایکروسافت برای توسعهء دات نت


    و بخش آخر این مبحث :

    -- سایر ابزارها

    طبیعی است که انتخاب دات نت از طرف مایکروسافت به عنوان بستری برای آیندهء توسعه نرم افزار تمام تولید کنندگان ابزارهای برنامه نویسی تحت ویندوز رو ترغیب به تولید ابزارهائی مبتنی بر بستر دات نت کنه :) خوب تا دیروز هم همهء این محیطها روی Win32 API کار میکردند که اون هم محصول مایکروسافت بود و هست . به علت کثرت محیطهای مبتنی بر دات نت و مباحث مطرح شده در این تاپیک من فقط در مورد محصولات Inprise ( :wink: ) صحبت میکنم . بورلند هم به عادت مالوف دو محصول جدید مبتنی بر دات نت یعنی C Sharp builder و Delphi 8 for .NET رو توسعه داده و توزیع کرده . وضعیت این دو محصول دقیقا" چیه؟ و با وجود محیطهای مایکروسافتی توجیه لزوم وجود / کاربرد این محصولات منطقی است ؟ برای جواب دادن به این سوال باید اول از همه ببنیم این محیطها دقیقا" چی هستند ، موافقید ؟

    سوال : دلفی 8 برای دات نت دقیقا" چیه ؟ چه ویژگیها و توانائی هائی داره ؟

    جواب :

    ( به دقت مطالعه کنید ، اهمیت داره )

    <span dir=ltr>

    • Delphi™ language RAD development for the Microsoft® .NET Framework, including
      VCL Forms, Windows® Forms, ASP.NET, Web Forms, Web Services, ADO.NET, and
      more


      Type-safe, hardware-independent, and fully object-oriented
      PE Verifiable CIL code generation
      Imports symbols directly from .NET assemblies; no header file translations or external
      declarations needed

      Unicode® strings
      Class variables/class static data
      Operator overloading
      Interoperability support through COM+ 1.0 and .NET Framework services with typelibrary-
      based access

      Program more simply, safely, and productively with garbage collection, structured
      exception handling, and type safety

      Records with methods (value types)
      Support for unsafe mode, for using pointers to manipulate memory that is not under
      the control of the Garbage Collector

      Nested types
      Custom attributes to mark types with information that can be recovered at runtime
      Compatibile with existing Delphi source code
      Supports pointer operations such as PChar in special unsafe code blocks
      Unmanaged C style library DLL export option for use with non .NET code without
      COM interop! –Statically link or getproc with Delphi 7 or prior!
      Commercial development license for professional software sales

      Foundation Class Library (FCL) – More than 4500 classes that encapsulate rich
      functionality such as XML, data access, file upload, regular expressions, image
      generation, performance monitoring and logging, transactions, message queuing,
      SMTP mail, and much more!


      Common Language Runtime (CLR) – Improve application reliability, security,
      deployment, and performance, and run applications on high-volume, low-cost
      hardware

      XML SOAP Web Services – Built on XML and incorporates the latest Web Services
      standards to facilitate cross-platform integration

      .NET Framework remoting – simplifies working with distributed .NET objects

      Unified programming model – Leverage the same skills and technologies for both
      Web and desktop Windows®-based applications, including XML Web Services as well
      as Web and smart-client applications for devices, PCs, and servers

      Common Language Infrastructure (CLI) – Applications written in different
      programming languages integrate deeply with each other, allowing current
      development skills to carry forward without retraining

      Designer Integration – .NET Framework features were designed specifically to
      improve the quality of the tools that use them, such as integrated debugging and
      profiling. Delphi is built to take advantage of the .NET Framework

      Component Based Design – Write less code with the .NET Framework, which uses a
      highly componentized, plumbing-free design that enables developers to focus on
      writing business logic

      Direct CLR class access; no need to translate header files

      Employ Windows® Application Services with Windows Server™ 2003 and Windows®
      2000 Server. For example, .NET Framework-based transactions are COM+
      transactions, and all the new COM+ capabilities in Windows Server 2003 can be used
      from the .NET Framework

      XCOPY deployment – With .NET Framework metadata technology, installing
      applications is as easy as copying them into a directory

      Side-by-side execution for strong-binding to help eliminate potential versioning
      conflicts

      No-Touch Deployment – Smart-client applications can be deployed to client desktops
      through remote Web servers in the same manner as Web applications

      Managed Code Execution – With memory, threads, and processes managed by the
      .NET Framework, memory leaks, overwrites, and buffer overflows are eliminated

      Role-based security – provides a unified model for authorization and authentication of
      principals based on identity and roles

      ASP.NET Web Security supports HTTP authentication for Basic, Digest, NTLM,
      Kerberos, and SSL/TLS client certificates as well as Microsoft® Passport
      authentication and Forms-based (Cookie) authentication

      Evidence-based security applies and enforces different levels of trust to all running
      code

      VCL for the .NET Framework – managed Visual components for rapid application
      development

      Standard, Data Controls, Dialogs, Internet Direct (Indy), Additional, Win32,® System,
      Win 3.1, Data Access, and BDE component categories


      Borland® dbExpress, and Borland® DataSnap™ (client) component categories

      VCL Visual Form Inheritance and Form linking to reduce coding and simplify
      maintenance

      Object-oriented, fully extensible and reusable component and application architecture
      in VCL for the Microsoft .NET Framework


      Object Repository for storing and reusing forms, Data Modules, and experts

      TDateTime extensions accelerate your date and time calculations

      SubComponent classes combine commonly mixed components for greater utility and
      speed the creation of user interfaces

      Visual Component creation

      Support for Advanced Custom Draw functions for increased control over the Windows
      API

      Designed for seamless integration of the Unified Modeling Language™ (UML™)
      modeling environment, development, and runtime phases with Enterprise Core
      Objects (ECO™) for the Microsoft .NET Framework


      With the Borland® LiveSource™ model designer, visually create and edit your UML
      class diagrams, powered by Borland® Together® technology

      Integrated XMI support is engineered to provide seamless import of UML models to
      ECO from popular third-party modeling tools such as Borland Together and other
      XMI-compliant tools

      Delphi code visualization powered by Borland Together technology provides a live
      UML Model View of your Delphi code


      Instant model-powered .NET enterprise architecture and automatic object-level
      capabilities

      ECO object-relational persistence mapper for seamless model-powered mapping of
      cached objects to SQL database and XML files

      ECO Space Designer for configuring UML packages, verifying models, and
      generating and evolving the database

      Borland Optimizeit™ Profiler for the Microsoft .NET Framework – integrated memory,
      CPU, and CLR profiling

      High-level performance overview to understand, in real time, whether a performance
      issue is related to CPU, memory, or both

      Powerful yet easier-to-use WYSIWYG HTML/WebForms designer to enable rapidly
      building rich ASP.NET Web applications

      Develop ASP.NET User Controls using the Visual Designer

      Automatically detect any changes, dynamically compile the files if needed, and store
      the compiled results to reuse for subsequent requests

      DataSnap (formerly MIDAS) client and ADO.NET connector

      Borland® dbExpress data access architecture includes support for MSSQL 2000,
      Oracle 9i, and SQL Anywhere® 9


      InterBase® Express™ (IBX) applications, based on the custom data access Delphi
      component architectures, provide access to advanced InterBase features and offer
      the highest-performance component interface for InterBase

      Two-way visual UML class designers for ECO applications

      State-of-the-art IDE with a fully integrated Code Editor and debugger, view history,
      easier-to-understand error messages, and color syntax highlighting

      Syntax highlighting for Delphi, C#‎, C/C++‎, Visual Basic .NET, HTML, ASPX, and
      XML, SQL, Javascript,™ and IDL

      Modules/Runtime scope view provides a global runtime view of the namespaces and
      classes available to your program, including a list of source files used to build your
      programs and assemblie

      Create ASP.NET XML Web Services and add XML Web Services running on other
      machines easier

    </span>

    اون حتما" مطالعه کردید در وهلهء اول این حقیقت رو به ذهن متبادر میکنه که دلفی برای دات نت همانطور که دلفی 7 به طور کامل تولید و توسعه برای Win32 رو حمایت میکنه ، به همان خوبی ، تولید و توسعه برای دات نت رو حمایت میکنه و در وهلهء بعد این حقیقت رو پر رنگتر میکنه که برنامه نویسان ویژوال بیسیک باکدها شون خداحافظی میکنند و برنامه نویسان ویژوال سی یا باید مسیر MFC را ادامه دهند یا دوباره برای دات نت کدبنویسند و اینجا " فقط" ( تاکید میکنم "فقط" ) برنامه نویسان دلفی هستند که بخش قابل توجهی از برنامه هایشان بدون تغییر و بخشی دیگر با تغییرات خیلی کم براحتی روی دات نت هم ترجمه میشن و کار میکنن :) این "خیلی خیلی" اهمیت داره :) و در مرحلهء آخر نگاهی اجمالی به قابلیتهای دلفی برای دات نت مشخص میکنه که دارای توانائی هائی است که محیطهای مایکروسافتی ازش بی بهره هستند . خصوصا" Indy که برای تولید برنامه های شبکه ای بی نظیره و برنامه نویسان سی شارپ حتی خواب چنین تولید سریع و راحتی را نمیتوانند ببینند یا ECO که رسما" برنامه نویسی با دلفی را به "نقاشی" تبدیل کرده :) در مورد ECO قبلا" مطلب نوشتم توی بخش مقالات حتما" بخونیدش و ...

    نتیجه : دلفی برای دات نت فقط " یه زبون مبتنی بر دات نته دیگه " نیست ، بلکه به جرات قدرتمندترین محیط برای توسعه مبتنی بر دات نته و البته تنها محیطی است که توسعه گران قدیمی ش هنوز هم میتونن از کدهاشون نگهداری کنن :)

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


    مزیت ها و برتری های بزرگ سی شارپ بیلدر باعث میشه افرادی که اهل تدقیق در امور هستند بهش مثبت نگاه کنند .

    1. سیاست بورلند برای ایجاد پلی بین دات نت و J2EE ( معروف به Borland Bridge ) : یکی از اهداف بورلند در تولید ابزارهای تولید نرم افزار ایجاد قابلیتهای ارتباطی غیر انحصاری بین تکنولوژی ها و بسترهای متفاوت است .سی شارپ بیلدر با استفاده از نسخه اولیه تکنولوژی بورلند یعنی Janeva تنها ابزاری است که میتونه بین زمان اجراهای دات نت و جاوا و حتی روشهای اتصالی مثل CORBA تماس ترنسپرنت برقرار کنه !

    2. تولید و توسعه گسترده و بهینه : یکی از مشخصات سی شارپ بیلدر هماهنگی اش با ابزارهای قدرتمند بورلند برای مدیریت تولید تیمی - تولید مبتنی بر مدل - تولید مبتنی بر نیازهای و پذیرنده تغییرات حین پیاده سازی و ... . وجود یکدستی بین سی شارپ بیلدر و کالیبر آر ام و استار تیم و بورلند پراجکت پورتال و از همه مهمتر بورلند توگدر و اتصال رویه مدار همزمان ( ریل تایم پروسیجرال ) توگدر و سی شارپ بیدلر برای توسعه کد بدون نگارش متن نرم افزار همزمان با تغییرات مدل نرم افزار حین طراحی پروژه ! ( این مفاهیم رو فقط افرادی که به واقع در پروژه های سازمانی و بزرگ شرکت داشته اند و خصوصا معماران نرم افزار بخوبی درک میکنند . اگر نیت نوشتن هلو ورلد باشه بین کوئیک بیسیک و سی شارپ چه فرقی هست ؟ )

    3. ECO ( در موردش در بخش دلفی دات نت مطلب نوشته ام لزومی به تکرار نیست )

    4. زمان اجرای ECO : توسط این بستر میتونی در زمان اجرا مدل نرم افزار رو تغییر بدی ! مدل توسط بستر ECO در زمان اجرا به کد مناسب تبدیل میشه . این طلیعه توسعه هوشمند متن نرم افزاره و البته قرار نیست همه ، خصوصا" با توجه به جوان بودن سی شارپ بیلدر ، این رو درک کنند .

    5. بهره مندی از LiveTeam به عنوان یک ابسترکشن لی یر برای ارتباط با ابزارهای کنترل سورس مختلف .

    6. بهره مندی از borland OptimizIT چه بصورت یک ابزار خارجی چه بصورت شفاف و حین تولید نرم افزار برای بهینه سازی کد تولید شده تا حد ممکن . ( آزمایش شخصی من روی یک برنامه خیلی ساده نشون داد سرعت اجرا برنامه حدود 20 درصد افزایش پیدا کرد )

    7. لایه قدرتمند دسترسی به دادهء BDP : BDP یک لفاف است برای ADO .NET با قابلیتهای بیشتر .

    8. تولید خودکار پراکسیهائی برای برقراری ارتباط EJB ها ( Enterprise Java Beans ) با اسمبلی های دات نت .

    نتیجه : سی شارپ بیلدر مطابق با سیاستهای همیشگی بورلند برای تولید ابزارهای "سازمان مقیاس" برای توسعه برنامه های گسترده است . بورلند ادعا نکرد قرار است ابزاری متفاوت (؟) از آنچه مایکروسافت ساخته است بسازد ! بورلند با تولید Wrapper ها و ترکیب تکنولوژی هاست که همیشه موفق بوده ، هست و خواهد بود . ( ر- ک جوائز دریافتی بورلند حتی از خوانندگان مجله MSDN ! و ایضا" ر-ک مشتریان ابزارهای گسترده مدیریتی بورلند برای توسعه نرم افزار مانند دپارتمان دفاع مشترک امریکا - WhitePaper ای خودشون نوشته اند و برای بورلند ارسال کرده اند برای مشاهده موجوده )
    بورلند اینبار هم با استفاده از یکی از بسترهای موجود و اضافه کردن توانائی های خاصی که اغلب مشتریان ناراضی مایکروسافت از آن شکایت دارند ، یعنی عدم وجود سازمان مناسب برای حمایت از تمام مراحل سنجش - بررسی - آنالیز - طراحی - تولید - بهینه سازی و مدیریت نرم افزار که بورلند به همه این درخواستها پاسخ داده است و ابزارهایش را هم برای حمایت از این روند طراحی میکند ! نکته بعدی ارتباط و اتصال دات نت و J2EE است که قبل از توزیع سی شارپ بیلدر ، مهمترین شعاری بود که بورلند روی ان تاکید میکرد . ( یکی از Live Seminar های بورلند هم با حضور CEO اش به همین مساله یعنی Borland Bridge اختصاص داشت )

    خلاصه :


    سازگاری با ابزارهاپی که Unified Process رو حمایت میکنند ( پوشش کلیه درخواستهای مهندس نرم افزار)
    ارتباط با سایر بستر ها و تکنولوژی ها
    نتیجتا" سی شارپ بیلدر با استفاده از بستر دات نت و زبان سی شارپ سعی میکنه محیط منطقی تر برای توسعه های متوسط و بزرگ نرم افزار ایجاد کنه .

    نتیجه گیری کلی : محیطهای دلفی برای دات نت و سی شارپ بیلدر با رسالتهای خاص خودشون ، امکانات ، ویژگی ها و ... محیطهای فوق العاده قابل تامل و جذاب برای توسعهء مبتنی بر دات نت هستند .

    سوال : تو به عنوان یک آدم نسبتا" بی سواد چه محیطی رو برای توسعه و برنامه نویسی دات نت توصیه میکنی ؟

    جواب : بی سواد خودتی ! (:D)

    بدون مقدمه چینی : اگر برنامه نویس با سابقهء C هستید و تقریبا" با سایر محیطها بیگانه اید بهترین محیط برای شما Managed C خواهد بود . اگر برنامه نویس دلفی هستید ، چه چیزی بهتر از دلفی دات نت ؟ و اگر قرار است با دات نت شروع کنید ، سی شارپ میتونه پیشنهاد بهتری باشه چون آشنائی با ساختار زبانش میتونه مثلا" در یادگیری زبانهائی مثل جاوا و برنامه نویسی با دلفی هم بسیار زیاد مؤثر باشه و "من" محیط سی شارپ بیلدر رو توصیه میکنم . اگر هم بدون توجه به نوع زبان دنبال کسب امکانات خاصی که در محیط مایکروسافتی دات نت نهفته است هستید ، Managed C بهترین انتخاب است . در سایهء ترکیب دات نت و MFC و سورسهای فراوان و تولید ASP .NET با ++C و تولید ATL Server ها گرفته تا COM Programming و ... . طبیعی است برنامه نویسان سابق وی بی ممکنه به VB .NET متمایل باشن که البته و صد البته نه تنها فوائد زیادی در سایهء مهاجرت به دات نت کسب میکنند ، میتونن بعد از تسلط نسبی به VB .NET سایر زبانها مانند سی شارپ را هم براحتی تجربه کنن :)
    شاید کمی بی ربط به نظر بیاد اما با عنایت به خبری که در بخش اخبار نوشتم ، کسایکه برنامهء مبتنی بر ویندوزی دارند که با استفاده از QT نوشته شده حالا میتونن ازش خروجی دات نت بگیرن یا با زبانهائی که دات نت را حمایت میکنه برای QT برنامه بنویسن ( QT مهمترین پلت فرم برنامه نویسی اهالیه لینوکسه و وجود چنین قابلیتی باعث هموار تر شدن مسیر حرکت لینوکس کارها به سمت برنامه نویسی دات نت میشه . از طرف دیگه محصولی بنام #QT در دست تهیه است که بر فراز مونو ، برنامه نویسی برای دات نت روی لینوکس رو سریعتر و راحت تر میکنه :) )

    آنچه گفته شد :

    • - دات نت دقیقا" چیه
      - نقش دات نت در توسعهء نرم افزار
      - دات نت و سایر فناوری ها
      - ابزارهای مایکروسافت برای توسعهء دات نت
      - سایر ابزارها


    &lt;اتمام بحث در مورد دات نت>

    امیدوارم این مطالب تونسته باشه تا حدی روشن کننده بعضی مفاهیم مطرح شده در حوزهء دات نت باشه . یه مقداری از عرایض بنده هم میمونه برای بعد ، اگر حسش بود :?

    موفق و خوش باشید :)
    UNIX is simple. It just takes a genius to understand its simplicity
    -- Dennis Ritchie

  27. #67
    VIP آواتار Anti_Evil
    تاریخ عضویت
    فروردین 1382
    محل زندگی
    سرگردان در کهکشان !
    پست
    529
    آقای SSP، شما لطفا جواب آقای Inprise را مطالعه کنید.
    ---

    خوب قبل از هر چیز از Inpy عزیز تشکر میکنم که مثل همیشه خیلی قشنگ و پر حوصله تقریبا به تمام مسائل مورد بحث دوستان جواب کامل دادند.
    خیلی ممنون ای Inpy جان (: X:

    یکی از مشکلاتی که من دارم اینه که واقعا نمیتونم این همه مطلب رو تو قالب جملات بگم ...
    بعضی موقع ها که میشینم پای کامپیوتر و میخوام شروع کنم به یک پست کلی مطلب تو ذهنمه ولی وقتی شروع به نوشتن میکنم احساس میکنم حتی از ساختن یک جمله ساده هم ناتوانم ):

    خلاصه همین که آدم بتونه این حجم اطلاعات رو انتقال بده خودش یه هنره، دوباره تشکر (:

    تازه میتونم یه نفس راحت بکشم (:

    خلاصه برای آدمای عصر حجری مثل من که حرف عادیشونم به زور میزنن این فوروم یه موهبت آسمانیه !

    راستی Inpy جان، من واقعا فکر میکنم حضور و نظریات شما در مباحثی نظیر این واقعا الزامیه (:

    با تشکر،
    هادی

  28. #68
    کاربر دائمی
    تاریخ عضویت
    بهمن 1382
    محل زندگی
    فعلا ایران - فعلا تهران
    پست
    2,628
    این مقاله مشکلات موجود در برنامه نویسی تحت ویندوز را مورد بررسی قرار داده و راه حل هایی را که NET. برای رفع آنها ارائه کرده ، بیان می کند.
    NET. تکنولوژی جدید مایکروسافت برای رفع مشکلات COM و برنامه نویسی تحت اینترنت است.
    قبل از شروع کار با NET. تصور برنامه نویسان، نسخه ای جدید از زبانهای موجود مانند VB با VC++‎ است اما NET. یک محیط برنامه نویسی جدید است که می توان گفت شباهتهای زیادی با محیط های قبلی دارد. اگر چه برنامه های VB یا VC++‎ را می توان با تغییرات نسبتاً کم به محیط NET. انتقال داد، ولی اگر می خواهید از توانائیهای NET. بهره مند شوید، چیزهای زیادی برای یادگیری و تغییرات زیادی در برنامه ها دارید (خصوصاً برنامه نویسان VB).

    مشکل عدم هماهنگی در نسخه های ویندوز:
    هر برنامه نویسی که چند سال در محیط ویندوز برنامه نویسی کرده از تغییرات سریع و زیاد آن گله منداست.
    - خود محیط ویندوز در نسخه های 16 ، 32 و 64 بیتی وجود دارد و نوشتن برنامه ای که در همه نسخه ها کارکند مستلزم در نظر گرفتن نکات زیادی است.
    - مدلهای مختلفی برای نوشتن برنامه های گرافیکی ارائه شده مانند GDI ، DirectX و Open GL .
    - مدلهای مختلفی برای کار با بانکهای اطلاعاتی وجود دارد مثل DAO ، RDOوADO
    برنامه نویسان برای استفاده از توانائیهای مدلهای جدید احتیاج به اعمال تغییرات زیادی در برنامه ها دارند.
    - Security در محیط های NT ،2000 با 95،98 متفاوت است . COM نیز مدل خود را دارا است. توجه نداشتن به این مسئله از زمان طراحی بخصوص در ایران زیاد دیده می شود.

    راه حل در .NET :
    .NET یک مدل شی گرا (Object Oriented) شامل صدها کلاس ارائه داده که عدم هماهنگی در محیط‌های ویندوز را از دید برنامه نویس مخفی می کند. براساس نسخه های مختلف ویندوز یک کلاس ممکن است برای توابع گرافیکی از GDI ،DirectX و یا Open GL استفاده کند و برنامه نویس نیاز به نگرانی در مورد این عدم هماهنگی ندارد.
    Security در داخل محیط NET. قرار داده شده و برنامه نویس یا حتی مسئول نصب و نگهداری برنامه می‌تواند اجازه دسترسی به منابع مانند فایلها یا registry را از داخل محیط برنامه و یا خارج آن به یک کاربر داده یاسلب کند (مسئول نصب یا Administrator این‌کاررا از طریق فایلهای Config انجام‌می دهد).

    مشکلات COM :
    مایکروسافت COM را برای نوشتن برنامه هایی که روی Server ها اجرا می شوند ارائه داد ولی از نظر تکنیکی نوشتن یک برنامه بزرگ با مدل COM مشکل است و احتیاج به طراحی قوی و تیم برنامه‌نویسی با دانش بالا دارد.
    - COM وراثت (Inheritance) را به طور مستقیم حمایت نمی کند و این مسئله استفاده مجدد از کدهای نوشته شده را مشکل می کند.
    - COM که به شکل .Ocx, .dll و یا فرم های دیگر وجود دارد احتیاج به ثبت در Registry دارد که از نظر مشکل زا بودن معروف است.
    - مسئله دیگر مشکل Version است. در یک زمان نمی توان بیشتر از یک نسخه از COM با یک GUID را برروی یک کامپیوتر داشت.(GUID یک شناسه 128 بیتی منحصر به فرد برای یک COM است).
    - نصب COM نیز مشکل دیگری است باید COM را در شاخة خاصی کپی کرده و سپس آنرا Register کرد و امیدوار بود که مشکل عدم هماهنگی با نرم افزارهای نصب شده روی کامپیوتر پیش نمی آید. در چنین حالتی شخصاً با Uninstall کردن بعضی از برنامه ها روی کامپیوتر شروع می کنم و گاهی پروسه ممکن است به نصب مجدد ویندوز ختم شود!
    - مشکل Memory Leaking (نشتی حافظه) در COM .
    در موقع اجرا در COM object یک شمارنده (Counter) ، تعداد ارجاعات به آن را نگه می دارد و موقعی که این تعداد صفر شود حافظه اختصاص یافته آزاد می شود. فرض کنید برنامه به شیء A اشاره می‌کند (Pointer دارد) و شیء A به شیء B و همچنین شیء B به شیء A . حال اگر برنامه شی ء A را رها کند شمارندة‌ شیء A به یک کاهش پیدا می کند (ونه صفر) و دو COM object تا زمان اتمام برنامه در حافظه باقی می مانند این مشکل در برنامه هایی که روی سرورها برای مدتهای طولانی اجرا می‌شوند، مقدار زیادی از حافظه را تلف می کند.

    راه حل در NET. :
    می توان به NET. به عنوان نسل جدید COM نگاه کرد اما در نحوه عمل آنها کاملاً متفاوت هستند.
    (لازم به ذکر است که مایکروسافت استفاده از COM را در محیط NET. پشتیبانی می کند هر چند که مشکلاتی هم در این زمینه وجود دارد)
    در NET. به جای Component ،‌اسمبلی داریم . هر اسمبلی می تواند علاوه بر کد فایلهای دیگری نظیر .html ،.gif و یا حتی یک .dll دیگر را در خود جا دهد . اسمبلی با پسوند .exe یا .dll وجود دارد.
    هر اسمبلی مانند COM یک Version دارد ولی در Registry ثبت نمی شود. مایکروسافت تاحدی به روش قدیمی خود یعنی ini فایلها برگشته اما این بار از فایلهایXML برای ذخیره اطلاعات استفاده کرده این فایلها می توانند اطلاعات را بصورت ساختار یافته ذخیره کنند. مسیر و تنظیمات تمام اسمبلی‌های یک برنامه در یک Config فایل که در شاخه اصلی برنامه و در کنار فایل اجرایی اصلی برنامه قرار دارد ذخیره می شود. بنابراین شما می توانید یک برنامه و تمام اسمبلی های آنرا در یک شاخه و زیرشاخه های آن داشته باشید و نسخه دیگر برنامه به همراه اسمبلی های آنرا در شاخه دیگر. تنهاکاری که باید بکنید آن است که مسیر اسمبلی ها را در Config فایلها تعیین کنید و هر دو برنامه بدون هیچ تداخلی اجرا می شوند !
    سوالی که ممکن است به ذهن برسد این است که با استفاده از Registry منبع مشترکی از Componentها داریم و نیازی نیست که یک نسخه COM را به صورت تکراری داشت.
    NET. این مسئله را با مفهوم Shared Assembly حل کرده.
    مسئله نصب نیز در محیط NET. بسیار ساده شده همه عملیات نصب با یک Xcopy انجام می شود.
    فایل Config اطلاعات دیگری نظیر نحوه نمایش خطاهای برنامه و یا تنظیمات Security را نیز در خود دارد.
    .NET مشکل Memory Leaking را با عوض کردن نحوه مدیریت object ها حل کرده. دیگر خود یک شیء اطلاعاتی را که برای زندگی ویااز بین رفتنش احتیاج است، ذخیره نمی کند. تمام اشاره گرها تحت کنترل محیط اجرایی .Net وتوسط Garbage Collector آزاد می شوند. این کار در زمان پر شدن heap (حافظه اختصاص یافته به object ها) ونبود حافظه لازم برای object های جدید انجام می شود.
    مشکل استفاده از چند زبان برای تهیه یک برنامه (Cross-Language Interoperability)
    با وجود تبلیغات زیاد مایکروسافت برروی این مسئله محیط ویندوز هنوز مشکلات زیادی دارد. زبانهای مختلف روشهای متفاوتی را برای فراخوانی توابع ویندوز (API) استفاده می کنند. بعضی از زبانها مانند C++‎ از Unsigned Integer استفاده می کنند که در زبانهای دیگر قابل دسترسی نیستند. مشکل دیگر روش اعلان خطاها به محیط بیرون از یک COM یا یک API است که مثل هم نیستند .

    راه حل در .NET:
    تمام زبانها در .NET مساوی خلق شده اند! اکثر توانایی های محیط .NET در لایة مشترک آن قرار دارد و نه در خود زبانها. به طور مثال کلاس هایی که با متغیرها، فرم ها،فایلها، بانکهای اطلاعاتی و با XML کار می کنند در خود .NET هستند بنابراین قابلیت و سرعت برنامه های VB .NET دیگر کمتر از C#‎ نیست.(خوانده می شود"سی شارپ ")
    اختلاف زبانها بیشتر در جزئیات و Syntax آنها است. برنامه نویسان VB بعد از مدتی کار با VB .NET به راحتی می توانند یادگیری C#‎ را شروع کنند.
    وراثت (Inheritance) جزء اصول طراحی کلاس های .NET است. کلاس هایی هم که شما می نویسید می توانند کلاس های .NET را به ارث ببرند و این مسئله استفاده مجدد از کد نوشته شده را راحت می‌کند (Code Reusability) . لازم به ذکر است وراثت به طور مستقیم در مدل COM قابل پیاده سازی نیست.

    مشکلات برنامه نویسی اینترنت:
    مشکل ASP :
    هر برنامه نویس با تجربه ای که برای اولین بار با ASP کار می کند متوجه مشکلات زیادآن می شود. برنامه نویس باید کدهای ASP را در بین تگهای HTML بنویسد و رفع مشکلات برنامه نیز کار بسیار مشکلی است .عملاً نوشتن برنامه های بزرگ با ASP غیر ممکن است .
    کدهای ASP هر بار توسط IIS خط به خط تفسیر می شوند( Interprete) که در سرعت اجرای آنها تأثیر منفی دارد.

    راه حل در .NET :
    خیلی ها ASP .NET را مهمترین قسمت .NET می دانند . برنامه های ASP .NET را می توانید در محیط های VB .NET ، C#‎ و یا هر زبان دیگر .NET بنویسید. ساخت یک برنامه ASP .NET تا حد زیادی شبیه برنامه های VB است. قسمتهایی از کد که شکل ظاهری صفحات HTML را می سازند (تگها) و کدهای ASP کاملاً از هم جدا شده اند و به راحتی قابل debug هستند این کدها کامپایل می شوند که دو مزیت دارد اول اینکه سریعتر اجرا می شود و دوم (حتی شاید مهم تراز مزیت اول) بسیاری از خطاهای برنامه در زمان کامپایل مشخص می شوند و نه در زمان اجرا.
    مزیت دیگری که ASP .NET دارد آن است که حتی در حال اجرا نیز می توانید اسمبلی های جدید را جایگزین کنید. ASP .NET قبل از اجرا آنها را در شاخه دیگری کپی کرده و سپس از آنها استفاده می کند بنابراین نسخه اصلی فایل قابل جایگزینی است و در هنگام یک فراخوانی (Call) جدید در صورت تغییر به شاخه ثانویه کپی و سپس اجرا می شود.با این روش کل یک برنامه ASP .NET را بدون توقف وب سایت می توان جایگزین کرد.
    ASP .NET می تواند متغیرهای Session را به جای اینکه برروی کامپیوتر کاربر و بصورت Cookie ذخیره کند ،آنها را در سرور و حتی در بانک اطلاعاتی SQL Server ذخیره نماید. بنابراین حتی اگر کاربر Cookie را در Internet Explorer غیر فعال کرده باشد برنامه های ASP .NET باز هم بخوبی کار می کنند.

    دنیای جدید اینترنت:
    عرصه های جدیدی به دنیای اینترنت در حال اضافه شدن است در دنیای صنعت و تجارت نیاز ارتباط بین دو کامپیوتر بدون دخالت انسان روزافزون است.
    یک برنامه کاربری نیاز دارد اطلاعات کالاها و قیمت روزآنها را از کامپیوتر فروشندگان، اطلاعات قیمت ارز را از وب سایت بانک مرکزی و درخواست ها را از برنامة روی کامپیوتر مشتریان بگیرد و آنها را پردازش کند. همه اینکارها بدون استفاده از مرورگرهای وب و یا Email و به وسیله Web Service و به کمک XML انجام می شود.
    Web Service یک برنامه کاربردی است که درخواست را روی اینترنت و با فرمت XML گرفته ،دستورات داخل آنرا پردازش کرده و نتیجه را برای آن کامپیوتر با فرمت XML پس می فرستد. نتیجه می تواند حاوی داده های یک بانک اطلاعاتی و یاحتی نتیجه یک پردازش ریاضی پیچیده باشد. برای آشنایی با XML می توانید به مقالاتی که در این مورد در این وب سایت موجود است مراجعه کنید.
    کلاس های زیادی در محیط .NET. برای تولید webService موجود است . .NET همچنین یک پردازشگر سریع XML نیز ارائه داده است.


    یکی از بحث بر انگیزترین خصوصیات محیط .NET تولیدکد واسط به جای کد زبان ماشین است. در کد واسط (Intermidiate Language), مسقیماً نام CPU registers و یا آدرسهای حافظه ذکر نمی شود. مفاهیمی همچون استثنا (Exception که نام جدیدی برای Error است) و object شناخته شده است. برنامه نویسان Java کاملاً با مفهوم کد واسط (IL) آشنا هستند.
    در این مقاله دلایل روی کرد مایکروسافت به این مفهوم بررسی می شود. ولی قبل از آن ببینیم که کدواسط چگونه کار می کند.
    وقتی برنامه های نوشته شده در VB.NET و C#‎ و سایر زبانهای تحت .NET ، کامپایل می شوند به جای زبان ماشین کد واسط تولید می شود. کد واسط با پسوند .exe ، .dll و ... ساخته می شود.
    در زمان اجرا این کد توسط یک کامپایلر به نام JIT (Just In Time) به زبان ماشین تبدیل شده و سپس اجرا می شود. علت اینکه مایکروسافت آنرا کامپایلر نامیده و نه مفسر (Interpreter) آن است که JIT عملیات تبدیل به زبان ماشین را فقط در اولین فراخوانی یک متد انجام می دهد و در فراخوانی های بعدی تا زمان پایان اجرای برنامه از همان کد ترجمه شده استفاده می کند.
    کدواسط را Managed Code نیز می خوانند. من بهترین ترجمه برای آنرا کد قابل کنترل می دانم.
    بسیاری هدف مایکروسافت را از کامپایل دو مرحله ای، ایجاد قابلیت اجرای کد برروی سخت افزارهای مختلف می دانند (Cross-platform) که همان ایده اصلی Java و Virtual Machine است. ولی مایکروسافت بیشتر هدف امنیت و تایید کد را مدنظر دارد.
    امنیت کد یعنی اینکه کد درست قبل از اجرا تحت بررسی محیط اجرای .NET قرار گیرد.(مفهوم کدقابل کنترل). در این زمان تمام پارامترهای متدها چک می شود (از نظر تعداد ونوع) همچنین همه اشاره گرهای برنامه در زمانی که نقطه اشاره آنها مشخص است (یعنی زمان اجرا) چک می شوند تا اطمینان حاصل شود که برنامه قسمت هایی از حافظه را که خارج ازمحدودة آن است تغییر نمی دهد. اشاره گرهای اشتباه یکی از مهمترین دلایل fatal Error در ویندوز است.
    در ویندوزهای 95 و 98 مشکل در یکی از برنامه های در حال اجرا منجر به اشکال در سایر برنامه ها و حتی خود محیط ویندوز می شود. در ویندوز NT،2000 هر قطعه برنامه در یک پروسه جدا قرار می‌گیرد تا امکان دسترسی به حافظه سایر برنامه ها ممکن نباشد (مفهوم Isolation) . اینکار به قیمت تلف کردن CPU و سایر منابع انجام می شود. حتی با این وجود برنامه نویسان خبره با روشی به نام DLL Injection می توانند به حافظه سایر برنامه ها که به طور همزمان برروی کامپیوتر اجرا می شوند دسترسی یافته و با تغییر محتویات حافظه باعث خرابی آنها و حتی سیستم عامل می شوند. ویروسها از این ضعف نهایت سوء استفاده را می کنند.
    .NET با مفهوم کد قابل کنترل می تواند با خیال راحت چند برنامه را در یک پروسه قرار داده و علاوه بر صرفه جویی در منابع، سرعت فراخوانی بین برنامه های مختلف را افزایش دهد.
    بنابراین در مقام مقایسه .NET از قابلیت اطمینان بسیار بالاتری برخوردار است.
    عملیات چک و تایید کد در زمان اجرا اجباری نیست و Administerator می تواند آنرا برای یک برنامه غیرفعال کند در .NET SDK برنامه ای کمکی با نام PEVerify.exe می تواند عملیات چک و تایید را انجام دهد. بنابراین برنامه نویسان باید این برنامه کمکی را برروی برنامه های خود اجرا کنند تا مطمئن شوند که برنامه از نظر امنیت مشکلی ندارد. در مقالات آتی سرعت اجرای کدواسط و نگرانی های مربوط به آن را بررسی می‌کنیم.

    نکاتی در مورد محیط اجرای.NET :

    JIT در فایلی به نام MSCorEE.dll قرار دارد. برای اجرای برنامه های نوشته شده در محیط .NET لازم است خود محیط، برروی ویندوز نصب شود. می توانید محیط .NET را از وب سایت مایکروسافت down load کنید. بدین منظور 20 MB فضای خالی روی کامپیوتر خود احتیاج دارید. این محیط با نصب Visual Studio.NET نیز نصب می شود
    آخرین ویرایش به وسیله بابک زواری : جمعه 12 اسفند 1384 در 16:51 عصر

  29. #69
    کاربر دائمی آواتار ehsan_ansaripoor
    تاریخ عضویت
    تیر 1384
    محل زندگی
    isfahan
    پست
    706
    با اجازه از بزرگترها بنده به عنوان یه ریز برنامه نویس تمام بحث این تاپیک را خوندم و چیزی که متوجه شدم این بود که عزیزان دلفی کار سنگ Delfi.Net را به سینه می زنند دوستان Vb کار سنگ Vb.Net و یکسری از دوستان هم ++C و #C به نظر من در آینده نه چندان دور دیگه زبانی به نام Delfi.Net یا VB.Net و ++C و... وجود خارجی نخواهد داشت مجموعه عظیمی به نام Visual Stadio.Net به بازار خواهد آمد که در عمل کل زبانهای برنامه نویسی را در خود حل کرده باشد دوستان اگر الان هم Visual Stadio.Net را نگاه کنند موقع انتخاب زبان برنامه نویسی شاید صحبت بنده را تایید کنند

  30. #70
    کاربر جدید آواتار مهران فروردین
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    تهران
    پست
    14

    Cool

    سلام،
    ویژوال بیسیک از طرف کسی که سیستم عامل مورد استفاده قریب به اتفاق همه ما برنامه نویسان ایرانی را عرضه می کنه بشدت پشتیبانی میشه، با توجه به انحصار طلبی میکروسافت معلوم نیست در آینده نزدیک چه سرنوشتی در انتظار زبان های ارائه شده توسط کمپانی های دیگر بخصوص بورلند که پدیدآورنده دلفی است باشه ، آیا نگارش های بعدی ویندوز بطور کامل با دلفی سازگارند یا نه من بارها در پروژه های بزرگی که انجام دادم را تا نیمه راه را با دلفی برنامه نویسی کرده ام اما زمانیکه حجم بالا می رود و هنگامیکه اطلاعات با حجم بالا از سرور شبکه که سیستم عامل آن ادونس سرور 2000 یا اکس پی باشد توسط یک ایستگاه کاری لود می شود با خطاهای زیادی مواجه شده ام که مقصر من نبودم بلکه عدم سازگاری دلفی بود و به ناچار پروژه را از ابتدا با ویژوال بیسیک برنامه نویسی کرده و بدون هیچ مشکل خاصی تحویل داده ام.
    آخرین ویرایش به وسیله مهران فروردین : شنبه 22 بهمن 1384 در 00:05 صبح

  31. #71
    من یک جورایی حرفای جناب ehsan_ansaripoor را تایید می کنم !
    ولی در حال حاضر C#‎ برای برنامه نویسان ز C , C++‎ خیلی عالی و VB.NET هم برای VB کارا
    ....
    فقط باید گفت که C#‎ آینده خوبی داره ، منظورم طراحی میکرو کرنل سیستم عامل جدید ( آینده )مایکروسافت با این زبان .... بنابر این C#‎ یکم آینده دار تره !

  32. #72
    کاربر دائمی
    تاریخ عضویت
    بهمن 1382
    محل زندگی
    فعلا ایران - فعلا تهران
    پست
    2,628
    دوست عزیز اگر دقت میکردی این بحث مال دو سال پیش بود

  33. #73
    کاربر دائمی آواتار M.GhanaatPisheh
    تاریخ عضویت
    اردیبهشت 1383
    محل زندگی
    ----------
    پست
    1,267
    نقل قول نوشته شده توسط برادران
    طراحی میکرو کرنل سیستم عامل جدید ( آینده )مایکروسافت با این زبان .... بنابر این C#‎ یکم آینده دار تره !
    دلیل با مزه ای بود.

  34. #74
    دوست عزیز اگر دقت میکردی این بحث مال دو سال پیش بود
    بحث مال 10 سال پیش هم که باشه برای اون کسی که برای اولین بار این رو می خونه تازه است اگر قرار بود با تاپیک های قدیم کاری نداشته باشیم که صاحب این سایت اقدام به حذف آن می کرد چه کاری بود که حجم بانک سایت رو بالا ببره. پس باید نظرمان را در هر تاپیکی که می دونیم بگیم تا دیگران استفاده ببرند.

  35. #75
    بحث مال 10 سال پیش هم که باشه برای اون کسی که برای اولین بار این رو می خونه تازه است اگر قرار بود با تاپیک های قدیم کاری نداشته باشیم که صاحب این سایت اقدام به حذف آن می کرد چه کاری بود که حجم بانک سایت رو بالا ببره. پس باید نظرمان را در هر تاپیکی که می دونیم بگیم تا دیگران استفاده ببرند.
    شما هم اگر دقت می کردی میدیدی که این بحث هم واسه یک سال پیشه. یعنی بعد از یک سال نیازی به گوشزد کردن این نکته بود؟!؟

  36. #76
    کاربر دائمی آواتار CodeMasterX
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    Iran, Shiraz
    سن
    35
    پست
    960

    Thumbs up

    نقل قول نوشته شده توسط Abbas Arizi مشاهده تاپیک
    من حقیقتش از این کارای مایکروسافت سر در نمیارم. فکر می‌کنم بیلی آخر عمری عقلشو از دست داده.
    با سلام
    اول باید خدمت این دوست عزیزمون عرض کنم مایکروسافت تمام کارهاش بدست آقای بیل گیتس نیست.بیل گیتس تقریبا از سال 1998 به بعد مدیریت رو کنار گذاشت و مدیران جدیدی بعد از اون روی کار اومدن و بیل گیست خودش فقط به عنوا ریاست،طراح،نو آور و شاید ناظر بود.بعد از این باید در مورد دات نت یه چیزی بگم.البته اینجا کسانی مثل Inspire و DelphiAssistant از اساتید ما هستند.
    ببینید عزیزان دات نت یک Framework Class Library داره که تمام کلاس ها اونجا تعبیه شدن.شما هر کدی و هر نوع پروژهای رو که بخواین بسازین از این کتابخانه کلاس استفاده میشه.حالا شما با هر کدوم از زبان های دات نت از VB.NET گرفته تا j#.NET و C++‎.NET و C#‎.NET همه از کلاس های مشترکی استفاده می کنند.پس در کل نمیشه قدرت و برتری رو به یک زبان خاص اختصاص داد به البته درسته ممکنه در اجرا کردن بک سری کد ها و مفاهیم زبانی مثل C#‎.NET راحت تر و سهولتی نسبت به VB.NET داشته باشه اما قدرت و امکانات یکی است!

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

  37. #77
    کاربر دائمی آواتار saeed_rezaei
    تاریخ عضویت
    آبان 1385
    محل زندگی
    ایلام
    پست
    430

    فاصله وی بی تا سی #

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

    پیشاپیش ممنونم

  38. #78
    کاربر دائمی آواتار reza.palang
    تاریخ عضویت
    دی 1385
    محل زندگی
    میون یهک جفت کروشه
    پست
    299
    تا اونجایی که من میدونم تفاوت VB و #C فقط و فقط توی syntax هست. یعنی تمام زبان های Net. اینگونه هست. دلیل اینکه من به #C علاقه مند شدم یه مقدازی احمقانه هست، پس بیخیال این قسمت میشم. اما از همون syntaxش خوشم میاد.
    فقط ایراد بزرگی که اینا دارن اینه که حتی برای اجرای برنامه های کوچک هم باید Net. حتمان نسب باشه.

  39. #79
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727
    تا اونجایی که من میدونم تفاوت VB و #C فقط و فقط توی syntax هست
    سی شارپ زبانی از خانواده ی سی است ولی از صفر نوشته شده، سی شارپ و جاوا تنها زبانهای استاندارد ISO هستند، سی شارپ زبان پیشفرض دات نت است، سی شارپ از 100% قابلیت های دات نت با بالاترین کارایی استفاده میکند در حالی که در vb.net اینطوری نیست، مثلا در vb.net، تکنولوژی GarbrageCollection باعث ایجاد سربارحاقظه میشود، نکته ی دیگه اینکه datatype هایی که uint هستد در vb.net به خوبی پیاده سازی نشدن، در نتیجه اگر کامپوننتی به زیان سی شارپ نوشته شده باشد و در ان از نوع های uint استفاده شده باشد و در vb.net آن کامپوننت مورد استفاده قرار گیرد، ممکن است برنامه دچار اختلال شد، یکی دیگر از مزیتهای سی شارپ نزدیکی آن به زبان پدر خود یعنی C++‎ است، به طوری که میتوان در برنامه های سی شارپ کدهای unmanage C++‎ نوشت
    بسه یا بازم بگم ؟؟
    امیدوارم جواب سوالتو گرفته باشی.

  40. #80
    کاربر دائمی آواتار saeed_rezaei
    تاریخ عضویت
    آبان 1385
    محل زندگی
    ایلام
    پست
    430
    باتشکر از جواب های شما دوستان
    حالا این سوال پیش می یاد، ایا خود پدر سی# یعنی سی ++ قابلیت بیشتری نداره مخصوصا خیلی راحت تر کدهای unmanage رو می شه توی اون اجرا کرد.
    ساده تر بگم، با وجود سی ++ که هنوز هم ویژوال استودیو از اون پیشتیبانی می کنه، چرا مایکروسافت، ورژن سی # رو خلق کرد. آیا می شه گفت که انگیزه اصلی، جدا کردن تدریجی سی مایکروسافت از سی بورلند باشه. چون همیشه سی ++ رو با سی بورلند مقایسه می کنند اما من تا حالا ندیدم که سی# رو با بورلند مقایسه کنند.

صفحه 2 از 6 اولاول 1234 ... آخرآخر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •