سلام به همه دوستان
هر کدوم از شما تجربه کار با یه زبان برنامه نویسی رو دارید . می خواستم بدونم برای کسایی که میخوان وارد دنیای Net. بشن چه زبانی رو پیشنهاد می کنید و چرا ؟
سلام به همه دوستان
هر کدوم از شما تجربه کار با یه زبان برنامه نویسی رو دارید . می خواستم بدونم برای کسایی که میخوان وارد دنیای Net. بشن چه زبانی رو پیشنهاد می کنید و چرا ؟
فکر می کنم که پاسخ دهنده / دهندگان باید با هر چهار مورد آشنایی داشته باشند تا شما نتیجه صحیحی از این همه پرسی بدست بیاورید که در غیر این صورت شما یک جامعه آماری از میزان استفاده این زبانها بدست خواهید آورد که فکر می کنم اول VB بعد سی شارپ باشید.
فرقی نمی کنه مهم اینه که Net. باشه!
هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مىآورند
چرا فرقی نمیکنه ؟؟؟
خیلی هم فرق میکنه . جانم فدای سی شارپ :
http://aspadvice.com/blogs/ssmith/ar...ure-Notes.aspx
موفق باشید
Delhpi.Net اشتباه تایپ شده است لطفا اصلاح نمایید.
من با وی بی دات نت کار می کنم و هیچ مشکلی هم ندارم
اما پیشنهاد من برای کسانی که می خوان ویندوزی کار کنند همین vb.net هست و برای کسانی که web کار کنند #C هست بخاطر اینکه به زبان جاوا نزدیک تر هست و ...
چرا همیشه دنبال فرق هستیم ؟!!!
زندگی مسابقه نیست، بازیه...
...مرا به خانه ام ببر، اگرچه خانه؛ خانه نیست
بستگی به طرف هم داره
اونایی که Vb کار بودند vb.net براشون خوبه و اونایی که c کار می کردند به نظر من #C بهتره در ضمن اونایی که ب بسم الله رو می خوان بزنن #c بهتره
این هایی گفتن فقط در حال appplication هستش و روی web من نظری ندارم
در ضمن تا انجایی که من می دونم کاری نیست که نشه با #c کرد ولی با vb.net نشه و یا برعکس چون حتی دقت بکبنبم کلاساشون هم یکی فقط syntaxt با هم فرق می کنه
با سلام ...
TitbaSoft دو تا لینک گذاشته که اگر سری بهشون بزنید بد نیست !!! و به نظر من گویای همه چیز هست ! مزایای هر دو زبان و همچنین تفاوت هاشون رو ذکر کرده ...
موفق باشید .
منظورتون از اینکه گنگ هستند چیه ؟؟ من VB کار نمی کنم ولی یک کد VB رو خیلی سریع و راحت میخونم .
vb.net هم مثله C# شی گرا هست و من مشکلی در ساختارش تا حالا ندیدم. مشکلی که در برنامه های نوشته شده در ایران میبینید اینکه "معمولا" برنامه نویسهای بی تجربه کمی تنبل از این زبان استفاده می کنند . اگر مثالهای ساده که برنامه نویسهای مایکروسافت نوشتن رو ببینی منظورمو متوجه میشی.
من خودم تا حالا با VB.NET کار جدی انجام ندادم شاید شما مشکلاتی دیدید که من ندیدم حالا اگر مشکلی در ساخت یافتگی VB.NET میبینید که C# اون مشکل را نداره لطفا عنوان کنید
کل تو سری خوردن VB.NET به خاطر جدش VB هست که کلی از مشکلات برنامه سازی به خصوص عدم پشتیبانی کامل از مباحث شی گرایی رو با خود یدک می کشید. ولی در VB.NET و مخصوص نسخه 2005 اون تمام این مشکلات برداشته شد.
همانطور که خیلی از دوستان نیز عرض کردند بزرگترین اختلاف C# و VB.NET در syntax دستورات هست. اگر کسی از دوستان هر دوی این زبانها را استفاده کرده باشد به احتمال زیاد تصدیق می کند که از نظر برنامه سازی و سرعت توسعه برنامه سازی قدرت VB.NET بیشتر هست یا بهتر بگم C# هنوز از جد بزرگوارش C++ تا حدی دردسرهای خاص خودش رو به ارث.
ولی در مجموع مهم نیست که با VB.NET می نویسید یا C# مهم این هست چی می نویسید. مهم الگوریتم و ساختار برنامه هست بعد نوع ابزار جهت توسعه اندیشه و دانش. ما هنوز که هنوزه یک نظام تولید نرم افزار منسجم نداریم. رشته ای که توی دنیا یکی از بهترین رشته هاست (شاید خیلی از شما بدونید کسی که توی اروپا و آمریکا .NET بلد باشه بیکار نمی مونه) توی کشور ما به سبکی پیش می ره که یک برنامه نویس حتی نمی تونه از امنیت شغلی خودش مطمئن باشه. اصلا چه فرقی می کنه من الگوریتم مورد نظرمو با Turbo C 1.0 توسعه می دهم. تا وقتی بازار درستی برای عرضه محصول تولیدی نباشه پس چه فرقی می کنه که با چی کار رو پیش ببرید.
حواسمون باشه !
.NET Framework is intended to be language independent
من با جفشون کار کردم . و با Syntax های #C راحترم .
اما حتما لینک که TITBOSOFT معرفی کردن رو مطالعه کنید جالبه و مفید هست.
در نهایت به نظر من زبان برنامه نویسی مهمتر از تفکر برنامه نویسی نیست !
به قول یکی از اساتید خوبم:
یک مهندس نرم افزار تنها سرمایه اش فکراش است !
غلطه مهمترین فزق سی شارپ با وی بی دات نت در مورد نوشتن کدهای مدیریت نشده میباشددر ضمن تا انجایی که من می دونم کاری نیست که نشه با #c کرد ولی با vb.net نشه و یا برعکس چون حتی دقت بکبنبم کلاساشون هم یکی فقط syntaxt با هم فرق می کنه
یعنی اینکه مایکروسافت بازهم اینجا دسته گل به آب داده و اینکه اگر شما بخواهید برفرض مثال دسترسی مستقیم به حافظه بگیرید با سی شارپ میتوانید ولی با وی بی دات نت خیر
و در ضمن اینطور که شنیدم وی بی دات نت هم کم کم داره از دور ساپورت خارج میشه و اینکه شما در محیط دات نت فقط یک زبان (البته ++c و IL asm همیشه وجود دارند) خواهید داشت #C
در ضمن مزیت دیگه یادگرفتن syntax مانند C,++C,C# در این هست که شما میتوانید سریع تر زبانهای برنامه نویسی های هم شکل آنها را یاد بگیرید مثل JAVA و یا PHP و ... .
خب با این اوصاف باز هم رو ویبی اصرار دارید؟
(راستی من خودم 4 سال با وی بی کار میکردم اما حیف دیر دلفی رو پیدا کردم ;) )
دقیقا، یا بهتر بگیم حداقل تا وقتی بیلی توی مایکروسافت هست VB هم هست.تا وقتی شرکتی به اسم ماکروسافت هست ویبی هست
احتمالا با VB6 کار کردید چون دلفی نسبت به vb.net یک برتری داره اونم عدم نیاز به فریم ورک هست (اونم اگه دلفی 8 نباشه)(راستی من خودم 4 سال با وی بی کار میکردم اما حیف دیر دلفی رو پیدا کردم ;)
فقط MFC توانایی تولید کد های مدیریت نشده رو داره. یعنی در حال حاضر فقط VC++.NET این توانایی رو داره که هم کد های مدیریت شده تولید کنه و هم مدیریت نشده.غلطه مهمترین فزق سی شارپ با وی بی دات نت در مورد نوشتن کدهای مدیریت نشده میباشد
یعنی اینکه مایکروسافت بازهم اینجا دسته گل به آب داده و اینکه اگر شما بخواهید برفرض مثال دسترسی مستقیم به حافظه بگیرید با سی شارپ میتوانید ولی با وی بی دات نت خیر
و در ضمن اینطور که شنیدم وی بی دات نت هم کم کم داره از دور ساپورت خارج میشه و اینکه شما در محیط دات نت فقط یک زبان (البته ++c و IL asm همیشه وجود دارند) خواهید داشت #C
ضمناً کد های مدیریت نشده در حال کنار گذاری هستند! همین VC++.NET در حال حاضر از مدارک مایکروسافت خارج شده.
تفاوت VB.NET و C#.NET هم در حال حاضر به حدی نیست که یکی رو بر دیگری ترجیح بدیم! اما این تغییرات در آینده ویندوز مایکروسافت کاملاً از بین خواهند رفت. (منتظر سال 2012 باشید و ویندوز جدید MS)
در مورد ماندگاری Basic هم که دوستان گفتند. این اولین محصول مایکروسافت بوده و بیل علاقه عجیبی به اون داره
همانطور که خیلی از دوستان نیز عرض کردند بزرگترین اختلاف C# و VB.NET در syntax دستورات هست. اگر کسی از دوستان هر دوی این زبانها را استفاده کرده باشد به احتمال زیاد تصدیق می کند که از نظر برنامه سازی و سرعت توسعه برنامه سازی قدرت VB.NET بیشتر هست یا بهتر بگم C# هنوز از جد بزرگوارش C++ تا حدی دردسرهای خاص خودش رو به ارث.خب...منظور من این نبود که بشه یه برنامه رو تو #C نوشت ونشه این برنامه رو تو VB نوشت .
منظور من ساختار یافتگی #C هستش . اون ساختار سی شارپ بی نظیر هستش .
کدهای Vb گنگ هستند , یعنی اون نظم و ساختار لازم رو ندارند .
می توانم بگم که فرانسه گنگ تر از انگلیسی است! چون ساختار انگلیسی را ندارند (من فرانسه بلد نیستم)!!!
راستی کسی لینک های Tibasoft رو دیده؟
http://blogs.msdn.com/csharpfaq/arch.../11/87816.aspxفقط MFC توانایی تولید کد های مدیریت نشده رو داره. یعنی در حال حاضر فقط VC++.NET این توانایی رو داره که هم کد های مدیریت شده تولید کنه و هم مدیریت نشده.
ضمناً کد های مدیریت نشده در حال کنار گذاری هستند! همین VC++.NET در حال حاضر از مدارک مایکروسافت خارج شده.
تفاوت VB.NET و C#.NET هم در حال حاضر به حدی نیست که یکی رو بر دیگری ترجیح بدیم! اما این تغییرات در آینده ویندوز مایکروسافت کاملاً از بین خواهند رفت. (منتظر سال 2012 باشید و ویندوز جدید MS)
در مورد ماندگاری Basic هم که دوستان گفتند. این اولین محصول مایکروسافت بوده و بیل علاقه عجیبی به اون داره
البته احتمالاً مترجم کتاب visual studio.net 2001 انتشارات غزال بدترجمه کرده بوده
ولی در اینجا به مبحثی به نام unsafe code که مختص c شارپ نیز میباشد اشاره کرده.
Operator overloadingیک مثال بزن که با #C بشه انجامش داد اما با VB.Net نه؟!
Unsafe Code هیچ ربطی به Unmanaged Code ندارهولی در اینجا به مبحثی به نام unsafe code که مختص c شارپ نیز میباشد اشاره کرده.
بنده هم گفتم به اشتباهی که کردم پی بردم
بنده یه سوال هم در مورد دلفی دات نت داشتم !
مگه دات نت ماله مایکروسافت و دلفی هم ماله بورلند نیستند ؟؟
مگه این دوتا شرکت با هم رقیب نیستند ؟
حالا این دلفی دات نت رو کی داده بیرون ؟؟
و اصلا اصول کاریش چیه ؟؟
و چه فرقی با اینا داره ؟
سلامبنده یه سوال هم در مورد دلفی دات نت داشتم !
مگه دات نت ماله مایکروسافت و دلفی هم ماله بورلند نیستند ؟؟
مگه این دوتا شرکت با هم رقیب نیستند ؟
حالا این دلفی دات نت رو کی داده بیرون ؟؟
و اصلا اصول کاریش چیه ؟؟
و چه فرقی با اینا داره ؟
دلفی دات نت بورلند هم مانند ویژوال استودیوی مایکروسافت یک محیط توسعه تحت چهار چوب کاری دات نت هست.
اما مایکروسافت در حال کنارگذاری متد قدیمی برنامه نویسی (Win32) هست. به همین خاطر با ارائه دات نت در سال 2000 و در طی یک برنامه 12ساله تصمیم داره تا سیستم عامل های خودش رو به طور کامل بر مبنای فریم ورک ایجاد کنه. به همین خاطر حرف از سال 2011 گفتم. در این ساختمان سیستم عامل های نوین قراره تا با طراحی یک Scope مجتمع کنترل سیستم بر حافظه بیشتر بشه و در واقع هر شی فقط یک بار در حافظه لود بشه. از طرفی در این سیستم جدید مشکلات نا همگونی Win32 رو نخواهیم داشت ضمن این که در این محیط مجتمع سیستم عامل کاربر هم کنترل بیشتری روی سیستم خودش خواهد داشت.
در واقع قراره که محیطی شبیه لینوکس داشته باشیم!!!
لذا مایکروسافت باید محیط های توسعه قدیمی رو کنار بذاره و اونا رو با محیط های توسعه دات نت تعویض کنه.ضمن این که به این نکته توجه داشته باشید که این حرکت بیشتر از این که به نفع بورلند باشه به نفع مایکروسافت بوده. دلفی در حال حاضر دات نت نسخه 1.1 رو پشتیبانی می کنه در حالی که نسخه 3.0 دات نت هم برای VS.NET عرضه شده.
سی شارپ:هر کدوم از شما تجربه کار با یه زبان برنامه نویسی رو دارید . می خواستم بدونم برای کسایی که میخوان وارد دنیای Net. بشن چه زبانی رو پیشنهاد می کنید و چرا ؟
1. چون Syntax دوست داشتنی داره.
2. چون استفاده از اشاره گرها رو امکان پذیر ساخته.
3. چون هر چی که توش اسم C باشه، آینده داره (!) (شوخی کردم، جدی نگیرید!)
چه روی وب و چه در برنامه های کاربردی #C
شاید به خاطر اینکه خودم VB کار بودم خسته شده بودم ازش!
هرچند #C خیلی اذیتم میکنه! نه به خاطر مشکل نرم افزاری به خاطر تفاوتهای زیادش با VB6 اما به هر حال #C !!!!
به این لینک مراجعه کن:
http://blogs.msdn.com/csharpfaq/arch.../11/87816.aspx
و یا کتاب :
oop with ms visual basic.net and ms visual C#.net فصل12
شاید تو ورژن 2005 اضافه کرده؟(منظورت این بود؟)
به هر حال من ترجیح میدم سختیهای خانواده سی رو تحمل کنم ولی بی وفایی وبی رو نه!
Operator overloading در حال حاضر توسط کامپایلر FCL وی بی پشتیبانی میشه
من خودم اینجا به VB.NET رای دادم ولی این بخاطر این هست که خودم 4،5 ساله دارم وی بی کار می کنم.اما همونطوری که بارها گفتم به نظر من فرق شایان و بزرگی بین زبان های دات نت نیست.ببینید،تمام زبان های دات نت حالا چه VB چه C# و غیره (J#,Delphi) همگی از یک IDE و از یک فریم ورک استفاده می کنن.به عنوان مثال شما وقتی که می خواهید از C# به رجیستری ویندوز دسترسی داشته باشید از یه سری کلاس های فریم ورک استفاده می کنید.حالا اگه بخواین همین کار رو با VB.NET انجام بدین باز هم از همون کلاس ها استفاده می کنید.بعد از اون اینکه با هر زبانی هم که شما کدتون رو بنویسید در آخر به CLR ترجمه میشه که فرقی نمی کنه با چه زبانی نوشته شده باشه! اما خوب یه سری از دوستان اعتقاد دارن که C# در زمینه هایی از سرعت و قدرت بالاتری نسبت به بقیه زبان های دات نت برخوردار هست.مثلا VB خودش بصورت خودکار سر ریز حلقه ها رو چک می کنه و مثلا چک نمی کنه که فلان متغیری که استفاده شده تعریف شده یا نه ؟ که خوب این کنترلر ها رو هم می شه تنظیم کرد.حالا اگر در این رابطه من کم تجربه هستم یا اشتباه می کنم لطفا کسی مطلبی رو دریغ نکنه!
اگر operator overloading در vb هم پشتیبانی می شه پس فرق به جز گرامر در این دو زبان نیست.(vb و C#)
چون بیل گیتس علاقه عجیبی به بیسک داره آینده روشنی رو برای VB می بینم شاید روزی قدرتمندترین زبان بشه (اگر الآن نباشه)
فعلا فقط این دو تفاوت رو بین basic و سی شارپ میدونم (در مورد صحتشون دقیقا مطمئن نیستم!):
1. basic میتونه پارامترهای optional داشته باشه و سی شارپ نمیتونه (بدرد پلاگین نویسی واسه office) (البته به این معنا نیست که سی شارپ نمیتونه واسه office پلاگین بنویسه) (منبع: MSDN البته اگر اشتباه نفهمیده باشم)
2. سی شارپ اشاره گرها (unsafe mode) رو ساپورت میکنه ولی basic خیر (این مورد زمانی بدرد میخوره که بخوایم از توابعی در کتابخانه های خارجی استفاده کنیم که یک اشاره گر رو به عنوان خروجی برمیگردونند مثل توابعی که به کمک ++c نوشته شدند)
قابلیت نوشتن توابع با تعداد پارامتر های مختلف و نوعهای متفاوت در C# وجود داره (منظورم Function Overloading نیست). basic میتونه پارامترهای optional داشته باشه و سی شارپ نمیتونه (بدرد پلاگین نویسی واسه office) (البته به این معنا نیست که سی شارپ نمیتونه واسه office پلاگین بنویسه) (منبع: MSDN البته اگر اشتباه نفهمیده باشم)
ببینید دوستان عزیز
تفاوت در سینتکس نمی تونه ملاکی برای برتری یک زبان نسبت به دیگری باشه
این به معنی پارامتر های اختیاری نیست!قابلیت نوشتن توابع با تعداد پارامتر های مختلف و نوعهای متفاوت در C# وجود داره
Because of the previous differences between Visual Basic and C/C++, many developers assume incorrectly about the capabilities of Visual Basic .NET. Many Visual Basic developers think that Visual C# is a more powerful language than Visual Basic. In other words, Visual Basic developers assume that you can do many things in Visual C# that you cannot do in Visual Basic .NET, just as there are many things that you can do in C/C++ but cannot do in Microsoft Visual Basic 6.0 or earlier. This assumption is incorrect.
Although there are differences between Visual Basic .NET and Visual C# .NET, both are first-class programming languages that are based on the Microsoft .NET Framework, and they are equally powerful. Visual Basic .NET is a true object-oriented programming language that includes new and improved features such as inheritance, polymorphism, interfaces, and overloading. Both Visual Basic .NET and Visual C# .NET use the common language runtime. There are almost no performance issues between Visual Basic .NET and Visual C# .NET. Visual C# .NET may have a few more "power" features such as handling unmanaged code, and Visual Basic .NET may be skewed a little toward ease of use by providing features such as late binding. However, the differences between Visual Basic .NET and Visual C# .NET are very small compared to what they were in earlier versions.
The "Differences Between Microsoft Visual Basic .NET and Microsoft Visual C# .NET" white paper describes some of the differences between Visual Basic .NET and Visual C# .NET. However, remember that the .NET Framework is intended to be language independent. When you must select between Visual Basic .NET and Visual C# .NET, decide primarily based on what you already know and what you are comfortable with. It is easier for Visual Basic 6.0 developers to use Visual Basic .NET and for C++/Java programmers to use Visual C# .NET. The existing experience of a programmer far outweighs the small differences between the two languages.
از آدرس http://support.microsoft.com/kb/308470
دوستان اینجا همه مسلط بر انگلیسی هستند ولی ترجمه بخش اولش را هم می نویسم .
"بخاطر تفاوتهای قبلی بین ویژوال بیسیک و سی/سی++ خیلی از برنامه نویسان درباره قابلیتهای ویژوال بیسیک.نت پنداشت نادرستی دارند.خیلی از برنامه نویسان ویژوال بیسیک.نت می پندارند که ویژوال سی شارپ خیلی از ویبی.نت قدرتمندتر است.بعبارت دیگر ، برنامه نویسان ویبی.نت می پندارند که کارهای بسیاری می تواند با سی شارپ انجام دارد که با ویبی.نت نمی تواند انجام داد،فقط بخاطر اینکه چیزهایی هست که با سی/سی++ می شود انجام داد که با زبان ویژوال بیسیک 6 یا نسخه قبل تر از آن نمی شود انجام داد.این پنداره نادرست هست.
هر چند که تفاوتهایی بین ویبی.نت و سی شارپ هست، هر دوی آنها زبانهای برنامه نویسی بلند پایه (فرست کلاس) هستند که بر روی .نت فریم ورک بناشده اند ، و آنها توانایی یکسان دارند. ویبی.نت یک زبان برنامه نویسی واقعا شی گرا هست که شامل خصوصیات جدید و توسعه یافته مانند ارث بری ، چند ریختی ، اینترفیس و بارگذاری هست. هر دوی این زبانهای از CLR استفاده می کنند . و تقریبا هیچ تفاوتی از نظر کارایی بین این دو زبان نیست."
اگر بحث در مقایسه قابلیتهای این دو زبانه، باید مواردی مطرح بشه که در یک زبان وجود داشته باشه و در زبان دیگه نه اون قابلیت و نه روشی برای پیاده سازی اون به هر نحوی وجود نداشته باشه. مثل Operator Overloading که در نسخه قبلی VB وجود نداشت، و راهی هم برای پیاده سازی اون قابل ارائه نبود.این به معنی پارامتر های اختیاری نیست!
اما نیاز به استفاده از پارامترهای اختیاری در C# با سولوشنهای مشابهی مرتفع میشه (نه دقیقا با منطقی که VB برای این کار ارائه می ده)