نمایش نتایج 1 تا 9 از 9

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

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آذر 1386
    محل زندگی
    تهران
    پست
    198

    VB.net بهتر است یا سی شارپ

    از وقتی که روی زبان سی شارپ و قابلیت های آن دقیق شده ام ، خیلی کنجکاوی می کنم ببینم نظر مردم (برنامه نویسان و کارشناسان شرکت ها) درباره دو زبان اصلی دات
    نت فریم ورک چیست. نکته بسیار مهمی که اخیرا متوجه شدم اینست که هنوز بسیاری از افراد به اشتباه تصور می کنند زبان سی شارپ خیلی بهتر از زبان VB.NET است. حتی بعضی از برنامه نویسان آماتور که به تازگی با Framework دات نت آشنا شده اند به من گفتند که (( میگن VB.NET ضعیفه ، فقط سی شارپ! )) متاسفانه بسیاری از مدیران شرکت های نرم افزاری نیز دچار این توهم جدی هستند که سی شارپ نسبت به VB.NET مزیت قابل توجهی دارد و حتی قابل مقایسه نیست ! در این یادداشت می خواهم تفاوتهای اصلی این دو زبان را دقیقا ادرس بدهم و نسبت به این برداشت به شدت غلط هشدار بدهم. ابتدا یک پاراگراف از مقاله ای که اخیرا درباره معرفی زبان سی شارپ برای ماهنامه شبکه نوشتم را اینجا (با اضافه کردن چند جمله تکمیلی بیشتر) تکرار می کنم:

    واقعیت اینست که این دو زبان از نظر قابلیت‌ها و توانایی‌ها هیچ تفاوت عمده‌ای ندارند ، جز اینکه زبان سی‌شارپ به دلیل ارث بردن پاره ای خصوصیات از زبان پیشکسوت خود ، C ، هنوز به برنامه نویس اجازه می‌دهد که مستقیما حافظه را دستکاری و مدیریت کند. با این وجود هنوز هم بسیاری از برنامه‌نویسان و کارشناسان چه در ایران و چه در سایر نقاط دنیا بر این تصور اشتباه هستند که C#‎‎‎‎‎ از VB.NET قوی‌تر است. چنین نیست. دلیل این ادعا بسیار ساده است : هر دو زبان چیزی نیستند جز یک پوشش ظاهری برای زبان MSIL که هنگام کامپایل شدن سورس کد برنامه ای که با یک زبان دات نتی نوشته شده است تولید می شود. تمام برنامه هایی که برای پلاتفرم دات نت نوشته می شوند پیش از اینکه به کد زبان ماشین (Native Code) تبدیل شود به یک زبان میانی به نام Microsoft Intermediate Language تبدیل می شوند. زبانهای پلاترم دات نت به طور یکسان از این زبان میانی پشتیبانی می کنند. در واقع این زبانها مجبورند که از استاندارد MSIL تبعیت کنند نه اینکه هر مقداری از آن که دلشان بخواهد را پشتیبانی کنند. بنابراین وقتی قرار باشد نتیجه کار هر دو زبان ویژوال بیسیک دات نت و سی شارپ نهایتا به کد MSIL تبدیل شود ، دیگر چندان مهم نیست که مبدا این کد به چه زبانی نوشته شده است. بنابراین هر دو زبان به یک ترتیب از قابلیتهای کلیدی چارچوب دات نت پشتیبانی می کنند. مثلا مدیریت حافظه در VB.NET دقیقا به همان ترتیبی اتفاق می‌افتد که در سی شارپ. در گذشته چنین نبود و یکی از دلایل گزینش زبان C به جای ویژال بیسیک ، برتری محسوس C نسبت به ویژوال بیسیک در زمینه مدیریت حافظه و راندمان برنامه بود. این تفاوت دیگر از بین رفته است. مدیریت حافظه مستقیما توسط چارچوب دات‌نت انجام می‌شود و نوع زبان برنامه‌نویسی تاثیری ندارد. حتی برتری ویژوال بیسیک در زمینه Rapid Application Development و معماری Windows forms نیز در پلاتفرم دات‌نت از بین رفته است. برنامه سازی در سی شارپ دقیقا به همان سادگی ویژوال بیسیک دات‌نت است.
    تفاوت‌های اصلی میان دو زبان بیشتر در گرامر و Syntax زبان‌ است. در مقاله مفصلی که از اینجا قابل دریافت است ، مایکروسافت تمام کلیدواژه‌ها و syntax دو زبان را نظیر به نظیر بررسی کرده است و شما پس از مطالعه دقیقا این مقاله ۱۸ صفحه متوجه خواهید شد که این دو زبان تفاوت اندکی از نظر قابلیت ها و مزیتها دارند و هیچ کدام از نظر راندمان برنامه تولید شده و مدیریت حافظه به دیگری رجحان ندارند.

    تنها چیزی که می توانم بگویم اینست که زبان سی شارپ زبان خلاصه‌تر و موجزتری است. این شاید بهترین توصیف برای سی شارپ باشد. به عبارت دیگر برای پیاده سازی یک قطعه کد در زبان سی شارپ به حجم برنامه‌نویسی کمتری نیاز است. این مشابه تفاوت برخی زبان‌های تکلم در دنیاست. مثلا خیلی از جملات در زبان ژاپنی ممکن است تنها به دو کلمه احتیاج داشته باشند در حالی که در برخی زبان‌ها مثل فارسی شاید نتوان اغلب جملات را با تنها دو کلمه بیان کرد.
    یکی از تفاوت‌های شناخته شده میان دو زبان ، امکان تعریف سندهای مربوط به سورس برنامه است. در زبان سی شارپ می‌توانید سندهایی از نوع XML ایجاد کنید که با سورس کد برنامه شما پیوند خورده است. به این ترتیب به موازات پیشرفت پروژه برنامه نویسی می‌توانید خیلی راحت Documentation آن را نیز آماده کنید. چنین قابلیتی در VB.NET وجود ندارد اما خبر خوب اینست که در نسخه بعدی پلاتفرم دات‌نت (موسوم به Whidbey) این قابلیت به VB.NET افزوده شده است.
    یک تفاوت دیگر بین دو زبان آن است که در سی‌شارپ می‌توانید عملگر‌ها یا Operator های سفارشی بسازید. مثلا علامت > را طوری تعریف کنید که عبارت Today > Yesterday معنا پیدا کند و عملگرهای ریاضی بزرگتر و کوچکتر تنها محدود به اعداد نباشد. البته این قابلیت نیز در نسخه بعدی VB.NET افزوده شده است. در حقیقت همین چند درصد تفاوت فعلی میان قابلیتهای گرامر دو زبان ویژوال بیسیک دات‌نت و سی‌شارپ ، در نسخه شماره دو چارچوب دات‌نت ناپدید شده است. مقایسه‌ای میان قابلیت های سی شارپ و ویژوال بیسیک دات‌نت را می‌توانید .

    بنابراین دقت کنید که برتر بودن زبان سی شارپ نسبت به VB.NET چیزی جز یک شایعه و افسانه نیست. این دو زبان حدود فقط ۵ درصد با یکدیگر اختلاف دارند. حتی پیشرفته ترین مفاهیم برنامه نویسی OOP نیز در VB.NET وجود دارند (مثل مفهوم Delegates). کسانی که چنین اظهار نظرهایی می کنند یا هنوز فکر می کنند که همان تفاوت میان C و VB کماکان در مورد VB.NET و C#‎‎‎‎‎ نیز وجود دارد یا اینکه شناخت صحیحی از پلاتفرم دات نت ندارند. در واقع خیلی رک بگویم : کسانی که (بخصوص مدیران و کارشناسان ارشد شرکت های نرم افزاری) به این توهم دچارند کمترین آشنایی فنی با چارچوب دات نت ندارند. من به این افراد و نیز به نوآموزان فناوری دات نت اکیدا توصیه می کنم پیش از انتخاب یک زبان مبتنی بر دات نت ، حتما با اصول و مبانی NET Framework آشنا شوند.

    تکمیل ۱: یک سوال ، اگر سی شارپ و VB.NET از نظر قدرت و توانایی با هم فرقی ندارند پس مایکروسافت چرا این دوتا را درست کرد؟ دلیلش اینست که مایکروسافت نمی توانست برنامه نویسان هریک از این دو گروه را وادار به پذیرش syntax زبان دیگر کند. بهتر بود که آنهایی که به syntax زبان سی عادت دارند با همان روش ادامه بدهند و آنهایی که به ویژوال بیسیک علاقه دارند به همان منوال ادامه دهند. البته کار کسانی که از VB6 به VB.NET می آیند خیلی مشکل است زیرا VB.NET یک زبان OOP پیشرفته است و این موضوع کار برنامه نویسان ویژوال بیسیک را که به راحت طلبی عادت کرده بودند سخت می کند. ولی برنامه نویسان C کار چندان مشکلی ندارند و می توانند از دانش خود در زمینه برنامه نویسی شیء گرا کماکان بهره بگیرند.

    تکمیل ۲: صادقانه بگویم که زبان سی شارپ در اصل برای رقابت و چشم و همچشمی با جاوا خلق شده است و مزیت خاص دیگری نسبت به VB.NEّT ندارند. در واقع چون syntax سی شارپ خیلی شبیه جاوا و C است ، این ویژگی می تواند برخی از برنامه نویسان جبهه رقیب - جاوا - را قانع کند که ((بابا ! این سی شارپ و فناوری دات نت واقعا یک رقیب جدی برای جاوا است...)) همین ! واقعا زبان سی شارپ هیچ مزیت استراتژیک دیگری نسبت به ویژوال بیسیک دات نت ندارد. من خود با هر دو زبان کار کرده ام و از هر دو زبان خوشم میآید و هیچ تفاوت خاصی بین این دو نمی بینم.

    تکمیل ۳: لطفا مدیران و کارشناسان شرکت های برنامه نویسی چشم و گوششان را باز کنند : نباید بین برنامه نویسان این دو زبان تبعیض قائل شد. نباید حقوق و دستمزد این دو گروه متفاوت باشد. اگر شرکت شما هنوز یک دسیپلین مشخص درباره زبان سورس کد برنامه هایی که در شرکت می نویسید ندارد ، انتخاب زبان برنامه نویسی را به برنامه نویسان دات نت تحمیل نکنید. اصلا فرقی نمی کند که یک پروژه را با کدام یک از این دو زبان اجرا کنید (این برای دهمین بار !)
    البته این مقاله از آقای رضا کیان راد هست که آدرس سایتشون هم در زیر آمده .
    منبع
    http://www.kianrad.com

  2. #2
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    تهران
    سن
    35
    پست
    166

    نقل قول: VB.net بهتر است یا سی شارپ

    با همه ی این تفاسیر مشخصه که زبان سی شارپ قوی تر از VB هست.مواردی رو که شما در رابطه با اختلاف این دو زبان ذکر کردید آنچنان هم موارد کم و جزئی نیستند.

    من فکر میکنم دقیقا به همین اختلاف های ناچیزی که شما ذکر کردید اختلاف این دو مشخص میشه.

    نظر شما دقیقا مثه این میمونه که بگید من بین مرگ و زندگی تفاوت چندانی احساس نمیکنم.

  3. #3
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    آذر 1387
    محل زندگی
    تهران
    پست
    848

    نقل قول: VB.net بهتر است یا سی شارپ

    حرفهای شما صحیح است.
    کد IL را جلوی هر برنامه نویس حرفه ای بگذارید؛ هرگز نمیتواند بگوید که این با C#‎‎ یا VB یا #J و ... نوشته شده است.
    شاید تفاوت این دو در کلاس بالاتر C#‎‎ ؛ موقعیت یادگیری ؛ شغلی و دیگر جوانب بهتر است.
    البته اگر نسخه چهارم Net. را کنار بگذاریم؛ همین C#‎‎ آرگومان اختیاری نداشت؛ و باید برای شبیه سازی آن حداقل 2 بار پشتک میزدیم.

  4. #4
    کاربر دائمی آواتار Parham.D
    تاریخ عضویت
    خرداد 1386
    محل زندگی
    شيراز
    پست
    413

    نقل قول: VB.net بهتر است یا سی شارپ

    نقل قول نوشته شده توسط antisocial مشاهده تاپیک
    با همه ی این تفاسیر مشخصه که زبان سی شارپ قوی تر از VB هست.مواردی رو که شما در رابطه با اختلاف این دو زبان ذکر کردید آنچنان هم موارد کم و جزئی نیستند.

    من فکر میکنم دقیقا به همین اختلاف های ناچیزی که شما ذکر کردید اختلاف این دو مشخص میشه.

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

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

    پایدار باشید . . .
    آخرین ویرایش به وسیله Parham.D : چهارشنبه 18 آذر 1388 در 23:18 عصر

  5. #5
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    تهران
    سن
    35
    پست
    166

    نقل قول: VB.net بهتر است یا سی شارپ

    نقل قول نوشته شده توسط Parham.D مشاهده تاپیک
    دوست عزیز فکر کنم به هر حال مرغ برای شما فقط یک پا داشته باشه! (شوخی)

    در برابر توضیحات کامل به همراه مثال و نمونه‏‏‏ های که آورده شد، مواردی که شما گفتی قانع کننده نیست. ...............................

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

  6. #6

    نقل قول: VB.net بهتر است یا سی شارپ

    من هم در دوران اوج vb6 خیلی حرفه ای با این زبان کار میکردم.وقتی دات نت اومد اصلا نتونستم محیط جدید vb.net رو تحمل کنم و کوچ کنم سمت این زبان.ولی نمیدونم به چه دلیل با اینکه خیای با c میونه خوبی ندارم به راحتی جذب زبان C#‎ شدم و کم کم دارم باهاش کنار میام
    البته من بدون جبهه گیری خاصی ، فقط تجربه و شرایط خودمو تشریح کردم
    در تندیس های تخت جمشید هیچ کس در حال تعظیم نیست ، هیچ کس عصبانی نیست ، هیچ کس سرافکنده و شکست خورده نیست ، هیچ کس سوار بر اسب نیست ، هیچ قومی بر قوم دیگر برتر نیست ، هیچ کس برده نیست و هیچ تصویر خشنی دیده نمیشود.
    ************************************************** ******************************************
    اندیشه کن , آنگاه سخن گو تا از لغزش بر کنار باشی

  7. #7
    کاربر دائمی آواتار Hossis
    تاریخ عضویت
    آبان 1386
    محل زندگی
    بیرجند
    پست
    1,731

    نقل قول: VB.net بهتر است یا سی شارپ

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

  8. #8
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,170

    نقل قول: VB.net بهتر است یا سی شارپ

    سلام

    من خودم VB.NET کار میکنم و تازگی به سمت C#‎ رفتم. البته من هم از سینتکسش خیلی بدم میومد و الان هم دارم بهش عادت میکنم و نه اینکه خوشم اومده. به هر حال هر زبانی نقاط مثبت و منفی خودش رو داره. جدای از توانایی های هر زبان به نظرم باید به منابع در دسترس و فراوانی منابع جهت یادگیری و رفع اشکال هم توجه کرد. به نظرم برای زبان C#‎ منابع بیشتر و بهتری در دسترس هست. چه کتاب چه فیلم و یا سایر منابع دیگه. با این حال خودم به نوعی دارم VB.NET رو ترک میکنم و کلا میخوام برم سمت C#‎ که یکی از دلایلی که در قبل گفتم هست و دیگری اینکه خیلی از زبان های وب و ... شباهت بیشتری از نظر سینتکس با C#‎ دارند و دوری کردن از اون میتونه آزار دهنده باشه و در انتها به این نتیجه رسیدم که برای همیشه C#‎ رو انتخاب کنم و پیشنهاد میکنم شما هم همین کار رو انجام بدید. البته این طور که معلوم هست مایکروسافت هم دیگه در نسخه های بعدی VS زبان VB.NET رو بروزرسانی نخواهد کرد. البته جای نگرانی نیست. VB همچنان داره کار میکنه چه برسه به VB.NET که اگر هم بروز رسانی نشه به گمانم سالیان سال بتونه با قدرت کار کنه.

  9. #9
    کاربر دائمی آواتار Hossis
    تاریخ عضویت
    آبان 1386
    محل زندگی
    بیرجند
    پست
    1,731

    نقل قول: VB.net بهتر است یا سی شارپ

    نقل قول نوشته شده توسط mmbguide مشاهده تاپیک
    سلام

    من خودم VB.NET کار میکنم و تازگی به سمت C#‎‎‎ رفتم. البته من هم از سینتکسش خیلی بدم میومد و الان هم دارم بهش عادت میکنم و نه اینکه خوشم اومده. به هر حال هر زبانی نقاط مثبت و منفی خودش رو داره. جدای از توانایی های هر زبان به نظرم باید به منابع در دسترس و فراوانی منابع جهت یادگیری و رفع اشکال هم توجه کرد. به نظرم برای زبان C#‎‎‎ منابع بیشتر و بهتری در دسترس هست. چه کتاب چه فیلم و یا سایر منابع دیگه. با این حال خودم به نوعی دارم VB.NET رو ترک میکنم و کلا میخوام برم سمت C#‎‎‎ که یکی از دلایلی که در قبل گفتم هست و دیگری اینکه خیلی از زبان های وب و ... شباهت بیشتری از نظر سینتکس با C#‎‎‎ دارند و دوری کردن از اون میتونه آزار دهنده باشه و در انتها به این نتیجه رسیدم که برای همیشه C#‎‎‎ رو انتخاب کنم و پیشنهاد میکنم شما هم همین کار رو انجام بدید. البته این طور که معلوم هست مایکروسافت هم دیگه در نسخه های بعدی VS زبان VB.NET رو بروزرسانی نخواهد کرد. البته جای نگرانی نیست. VB همچنان داره کار میکنه چه برسه به VB.NET که اگر هم بروز رسانی نشه به گمانم سالیان سال بتونه با قدرت کار کنه.
    کاملا موافقم
    البته هنوز هم در نسخه های جدید vs از ویژوال بیسیک پشتیبانی می کنه

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

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