PDA

View Full Version : گفتگو: محدودیت زبان VB.NET



mmbguide
جمعه 08 شهریور 1392, 20:37 عصر
سلام به همه برنامه نویسان

چندی پیش دوتا از دوستان داشتند منو قانع میکردند که زبان vb رو رها کن و برو دنبال زبان C# و کلی دلیل فنی آوردن که زبان c# خیلی قویتر و انعطافپذیرتره. البته دلایلشون فنی بود و من زیاد سر در نیاوردم.

سوال من اینه که مثلا چه برنامه ای نوشتنش با vb.net نشدنیه که من اون رو رها کنم و برم دنبال یک زبانی که فقط انعطافپذیرتره؟ واقعا پیشنهاد اون دوستان درسته؟

ممنون میشم اگه نظر بدید و بگید چه مرحله از برنامه نویسی هستش که باید گفت "خداحافظ vb، با تو نمیشه ادامه برنامه رو نوشت".

barnamenevisjavan
جمعه 08 شهریور 1392, 23:46 عصر
به نظر من هیچ فرقی ندارن
توی دهن میگی سی شارپ دات نت و ویژوال بیسیک دات نت
یعنی هر دو از دات نت استفاده میکنن پس یعنی هرچی این انجام بده اونم انجام میده
سی شارپ یکسری دستوراتش خلاصه تره مثلا برای تعریف یه مقدار توی وی بی باید بنویسی
dim Test As Integer
ولی همین کد توی سی شارپ میشه int Test;
من که تا حالا برنامه ای نبوده نتونم با هردو بنویسم

mohamad_torabi
جمعه 08 شهریور 1392, 23:51 عصر
سلام
هیچ چیزی نیست وجود نداره که بگیم کدوم بهتره هر دوشون شبیه هم و در یه حد هستم

Mani_rf
شنبه 09 شهریور 1392, 07:30 صبح
هیچ فرقی وجود نداره جز جهل گوینده.
(من هردوتاشون رو در سطح بالا کار میکنم و تجربه عملی دارم.)

با هرکدوم که راحتتری با همون کار کن.

arman_Delta2002
شنبه 09 شهریور 1392, 15:54 عصر
پس چرا وی بی ماژول داره ولی سی شارپ نداره :قهقهه:(حالت ویندوز فرم)

lastmory
شنبه 09 شهریور 1392, 15:55 عصر
با هرکدوم که راحتتری با همون کار کن.

دقیقا و کاملا موافقم ، یه سریا هستن که فقط فاز منفی میدن ، اما جفتشون دارن از .net بهره میبرن و هیچ تفاوتی نداره

farbod61
شنبه 09 شهریور 1392, 16:14 عصر
یه سوال
اکثر کلاسای آموزش که ASP رو آموزش میدن با #C آموزش میدن
مگه با VB نمیشه ASP کار کرد؟

Mani_rf
شنبه 09 شهریور 1392, 16:21 عصر
یه سوال
اکثر کلاسای آموزش که ASP رو آموزش میدن با #C آموزش میدن
مگه با VB نمیشه ASP کار کرد؟

چرا میشه. من این سایت (http://davari.seo.ir/)رو با VB.Net زدم. البته خوب کیفیت خیلی خوبی نداره اما ایراد به Vb.net وارد نیست، مشکل از بی تجربگی من بوده.
هیچ فرق عمده ای بین دوتا زبان وجود نداره.
فقط VB باحالتره :لبخند:

yakooza2009
شنبه 09 شهریور 1392, 18:33 عصر
خود سایت مایکروسافت به عنوان خالق هر دو زبان میگه فرقی در استفاده از زبان در پلتفرم دات نت نیست چون که هر ویژگی که در دات نت هست از خصایص اون زبان نیست بلکه کلاس ها و توابع همه از خود دات نت هستن که توی همه زبان ها قابل استفاده هست
شاید در سینتکس فرقی داشته باشن زبان سی شارپ خلاصه نویسی داشته باشه که اونم اصلا مهم نیس !

systam
یک شنبه 10 شهریور 1392, 09:31 صبح
سلام
کار ندارم چون توی دانشگاهها زبان #C تدریس میشه علت همینه
برای همینه توی ایران این زبان برنامه نویسی طرفدار بیشتر داره
ولی من یه استاد داشتم میگفت توی این دوره زمونه باید همه فن حریف باشی اشنایی مختصری از زبان های برنامه نویسی داشته باشی
یه جایی بدردت میخوره


به نظر من فرقی نداره


یا علی

r. salehi
یک شنبه 10 شهریور 1392, 19:01 عصر
سلام
من هم مشکل شما را داشتم نمی دونستم باید سراغ کدوم برم به همین دلیل تحقیقاتی کردم که نتیجه اش به شرح زیره:


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

حالا منی که از دوران دبیرستان بیسیک و کیو بیسیک را دوست داشتم و در دوران دانشجویی ویژال بیسیک 6 را شروع کردم بهترین انتخاب چه چیزی میتونست باشه؟ قطعا VB.Net
پس اگر بین انتخاب بین این دو زبان شک دارید بهتره که فقط به سلیقه خودتون مراجعه کنید و ببینید کدوم را بیشتر می پسندید. همین
موفق باشید

mmbguide
یک شنبه 10 شهریور 1392, 22:57 عصر
سلام و ممنون از همه

بعضی ها موضوع سطح پایین بودن زبان C# رو مطرح می کنند و میگن VB این قابلیت رو نداره؟ و یا اینکه دستگاه های خودپرداز و سایر تجهیزات الکترونیکی رو میشه فقط با C# برنامه نویسی کرد. اگه میشه توضیحی هم در این خصوص بدید. تشکر

Mani_rf
سه شنبه 12 شهریور 1392, 09:45 صبح
ببخشید که اینطوری میگم،اما واقعا بعضی چیز ها رو باید همونطوری که واقعا هست بگی.
اونی که میگه #C زبان سطح پایینه دیگه خیلی خیلی خیلی از ماجرا پرته!!!
شما تعریف زبان سطح پایین رو بخون، بعد با استدلال خودت بسنج ببین اصلا #C میتونه 1زبان سطح پایین باشه یا نه.

دست گاه های خود پرداز و چیز هایی به این شکل مثل پایانه های فروش بلیط خود کار تو مترو اگر دقت کرده باشی 1برنامه است که داره تو ویندوز کار میکنه! تنها تفاوتی که داره اینه که معمولا از طریق پرت Rs232 یک سری اطلاعات رو بین برنامه و 1قطعه الکترونیکی رد و بدل میکنه که اگر وارد جزئیات بشی میبینی که برای این کار از 1 کامپاننتی به اسم SerialPort استفاده میشه که مربوط به .Net مشه و تو تولباکس VB.Net هم کاملا به چشم میخوره.

برای همین من تو جواب اولی که دادم خیلی صریح نوشتم تفاوتی نیست جز جهل گوینده.

بله دوست عزیز من، تو زبان ++C , C میتونی بنویسی :
asm
{

}

بعد توش مستقیم کد اسمبلی بنویسی، اما فکر میکنی تو #C هم میشه؟
مطمعنا نه!

من تو 1تاپیکی به اسم فکر میکنم مقایسه VB.Net و #C با 1جمعی از دوستان #C کار 1ماهی بحث کردم، نتیجه میدونی چی شد؟ توی همه این بحث ها به این نتیجه رسیدم که اونا متاسفانه اصلا Vb.net بلد نیستن و چون #C یاد گرفتن فکر میکنن که خیلی بهتره. و متاسفانه چون VB.net بلد نیستن اصلا نمیدونن که چقدر توانایی داره و چه امکانی داره و یا نداره. این که آخرش میگفتن برتری #C اینه که شما میتونی بنویسی ;++X اما تو VB.Net نمیشه.

بیا اینو امتحان کن؛ شما از اون دوستی که میگه #C قوی تره بپرس چه کاری رو شما میتونی تو #C انجام بدی و تو VB.Net نمیتونی، بعد کدی که نوشته برات رو بیار تا من برات تو VB.net بنویسم ببر تحویلش بده.

من از سال 79 شروع کردن به کار کردن با VB6، از سال 84 طبیعتا رفتم سراغ VB.Net، و از سال 88 رسما دارم تو محل کارم #C کار میکنم و در کنار اون هم کد های خودم رو با Vb.Net مینویسم. چند سالی هست که دارم حداقل از هر دوتا زبان صورت کاملا حرفه ای و روزی 10، 12 ساعت استفاده می کنم، این استفاده هم فقط محدود به ویندوز اپلیکشن ها نمیشه و از تکنولوژی های مختلفی مثل WPF،WCFT,ASP.Net استفاده کردمو طبیعتا همه نوع کدی رو تو این مدت نوشتم. راستش تا الان پیش اومده که کدی رو تو Vb.Net بتونم بنویسم که کارم رو راحت انجام بده اما تو #C نتونستم اما برعکسش هیچ وقت پیش نیومده.

ببین من برای خودم 1 فریم ورک کامل رو با VB.Net نوشتم که هم بخش هایی مثل بایندینگ و لیزی لودینگ داره، هم چیز هایی مثل مدیریت حافظه و امنیت توش کاملا رعایت شده؛ مگه شما دیگه میخای چیکار کنی با 1زبان برنامه نویسی بیشتر از این! (هرچند بیشتر از اینها خیلی وجود داره.)

نتیجه :
کد نویسی تو VB.Net راحتتر از #C است اما تو #C سریعتر از VB.Net است.
خوانایی کد ها تا VB.Net بسیار بالاتر از #C است، و رفع خطا ها بسیار راحت تر است، اما تو #C معمولا درگیری بیشتری داری.
تو VB.Net تبدیل متغییر ها هوشمند و توسط خود زبان انجام می شود اما تو #C حتما باید برنامه نویس تبدیل کنه. که البته این هم خوبه هم بد و نیازمند دقت بالاست.
برای انجام بعضی کار ها تو #C واقعا خیلی باید کد کمتری بنویسی که نوشتن رو لذت بخش تر میکنه. تو VB.Net بیشتر باید بنویسی اما بجاش خود IDE این کار رو بخوبی برات انجام میده و کد نویسی رو راحت میکنه، اما خب موقعی که میخای کدی که تو #C نوشتی رو بخونی سخت تر میتونی بخونی و تفسیر کنی. مخصوصا اگر کد کس دیگه رو بخای بخونی :گریه:
و...
همه تفاوت های ظاهری و سطحی

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

موفق باشی دوست من

aliagamon
سه شنبه 12 شهریور 1392, 10:03 صبح
درسته این دو زبان کاملا مشابه هم هستن از نظر زیرساخت فقط syntax های متفاوتی دارن.....البته فکر میکنم یکی از دلایل محبوبیت بیشتر c# این باشه که قدیما c++ از vb بهتر بوده حالا یه ذهنیت به وجود اومده که خانواده سی بهتر از وی بیه ....(که کاملا اشتباهه).....
من خودم با خانواده سی بیشتر حال میکنم ... اما خدایی کد هایی که با وی بی مینویسی قابل درک تر هستن(به زبان انسان نزدیک تره انگار داری کتاب مینویسی)....
خودت ببین با کدوم بیشتر حال میکنی اونو انتخاب کن...یکمی در مورد syntax اون یکی هم بدونی خوبه چون اگه یه موقع سورسی نیاز داشتی که تو (مثلا سی شارپ بود)....بتونی ببری رو وی بی استفاده کنی...

mmbguide
سه شنبه 12 شهریور 1392, 10:40 صبح
از همه ممنونم. قانع شدم و بیشتر از این دنبال تفاوت ها و برتری زبان ها نمیرم. VB.NET رو عشق است.