صفحه 3 از 6 اولاول 12345 ... آخرآخر
نمایش نتایج 81 تا 120 از 202

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

Hybrid View

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

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

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

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

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

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

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

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

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

  7. #7
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727
    خب باید در جواب این سوال شما عرض کنم که سی ++ با وجود قدرت و سرعت زیاد پیچیدگی های خاص خودشو داره مخصوصا در مقوله های پیشرفته مثل MultiInheritance یا ارث بری چند گانه که برنامه ها رو خیلی پیچیده و گاه دچار اختلال و ایجاد OverHeading یا سربارگذاری حافظه میشد، از این رو مایکروسافت به فکر ایجاد زبانی افتاد تا علاوه بر قدرت سی ++، راحتی VB رو هم داشته باشه،از طرفی هم توسعه ی خود سی ++ با وجود پیچیدگی زیاد امکان پذیر نبود، این بود که سی شارپ در سال 2000 همزمان با معرفی دات نت متولد شد،زبانی که از لحاظ قدرت با سی ++ رقابت میکنه و از لحاظ سرعت تولید نرم افزار و مدیریت کد همتا نداره، زبانی که از سی ++ و جاوا تشکیل شده.

  8. #8
    سی شارپ از 100% قابلیت های دات نت با بالاترین کارایی استفاده میکند در حالی که در vb.net اینطوری نیست
    مثلا در vb.net، تکنولوژی GarbrageCollection باعث ایجاد سربارحاقظه میشود، نکته ی دیگه اینکه datatype هایی که uint هستد در vb.net به خوبی پیاده سازی نشدن، در نتیجه اگر کامپوننتی به زیان سی شارپ نوشته شده باشد و در ان از نوع های uint استفاده شده باشد و در vb.net آن کامپوننت مورد استفاده قرار گیرد، ممکن است برنامه دچار اختلال شد
    برای این ها مستنداتی هم دارید؟

    لحاظ قدرت با سی ++ رقابت میکنه و از لحاظ سرعت تولید نرم افزار و مدیریت کد همتا نداره،
    آیا برای این هم بنچمارک معتبر دارید؟

    زبانی که از سی ++ و جاوا تشکیل شده.
    منظورتون از این عبارت چیه؟
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  9. #9
    اصولا چنین مقایسه هایی کار درستی نیست. برای هر مقایسه ای باید معیار در نظر گرفت. هر ابزاری برای رسیدن به هدفی خاص طراحی شده و برای رسیدن به اون هدف هم توسعه داده میشه. زیاد لازم نیست در مورد بحث کنیم چون در این مورد زیاد تاحالا بحث شده و البته بحث بی فایده ای هم هست. این وظیفه طراح هر سیستمی که با توجه به عوامل موثر در پروژه خودش و case study های مختلف، در مورد استفاده از ابزارها تصمیم گیری کنه. برای درک واقعیت باید تعصب رو کنار گذاشت.
    http://www.barnamenevis.org/sh...ad.php?t=59570
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  10. #10
    فکر کنم بهتره پستهای titbasoft رو با دقت بخونید، مطالب قبلی که در مورد مقایسه این دو زبان گفته شده بود کاملا بی اساس هستن و در صورت لزوم می شه همه اونها رو به صورت مستدل رد کرد.

  11. #11
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727
    omid_Ahmadi عزیز بهتره یه نگاهی به آموزش سی شارپ در 21 روز بندازی.

  12. #12
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    38
    پست
    1,491
    زبانی که از سی ++ و جاوا تشکیل شده.
    من این مورد رو به کرات در جاهای دیگه دیدم... تقریبا میشه گفت که واقعا سی شارپ شی گرائی خودش رو از جاوا گرفته (بعضی موارد هم شنیدم از دلفی) و همونطور که جاوا از سی++ گرفته شده و سی# سعی کرده بیشتر به سی++ نزدیک باشه، پس به احتمال زیاد، منظور دوستمون همین بوده.

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

    http://www.grimes.demon.co.uk/dotnet/man_unman.htm

    البته شاید من اشتباه متوجه شدم، بهر حال خودتون برید ببینید.

  13. #13
    یک نکته جالب و خنده داری که خیلی جاها من میخونم اینه که مثلا #C یه چیزهایی رو ازجاوا گرفته یا جاوا یه چیزهایی رو از ++C گرفته ، این طوری به نظر میرسه انگار اینا یه قسمت هایی از کدهاشون رو از هم کش میرن !

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

    مثل وراثت چندگانه یا امثالهم!

    هر زبانی برای کاربردی طراحی میشه ، بنابراین مقایسه زبان های مختلف به این راحتی ها نیست!

    مثلا اگر قرار بود VB همه کارهای ++C رو انجام بده که دیگه به این راحتی نبود !

  14. #14
    تنها ارتباط #C با هر زبان دیگه ای فقط Anders Hejlsberg (آرشیتکت #C) می تونه باشه
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  15. #15
    omid_Ahmadi عزیز بهتره یه نگاهی به آموزش سی شارپ در 21 روز بندازی
    توی این کتاب چه چیزی گفته شده؟ (تا اونجایی که من می دونم امید اطلاعاتش نسبت به دات نت و البته زبان تخصصیش یعنی #C ، خوبه، پس بیخودی یه حرفی رو نمیزنه)
    در اون پست به یک مقاله انگلیسی برخورده بودم که گفته بود (("همواره سرعت کدهای مدیریت نشده از کدهای مدیریت شده بیشتر نیست")) یعنی در بعضی مواقع کدهای مدیریت شده، سرعت بیشتری به نسبت کدهای مدیریت نشده داشت. جالبه که بدونید سی# کمی ( زیاد نه ) سریعتر از سی++ مدیریت شده بود !
    این درسته اما چه ارتباطی به قدرت و سرعت تولید نرم افزار داره؟
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  16. #16
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    38
    پست
    1,491
    یک نکته جالب و خنده داری که خیلی جاها من میخونم اینه که مثلا #C یه چیزهایی رو ازجاوا گرفته یا جاوا یه چیزهایی رو از ++C گرفته ، این طوری به نظر میرسه انگار اینا یه قسمت هایی از کدهاشون رو از هم کش میرن !
    سنتکس رو ... !

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

  17. #17
    سرعت اجرای نرم افزار رو به عنوان یک قدرت
    این درسته اما چه ارتباطی به قدرت و سرعت تولید نرم افزار داره؟
    ----------
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  18. #18
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    38
    پست
    1,491
    نقل قول نوشته شده توسط titbasoft مشاهده تاپیک
    قدرت و سرعت تولید نرم افزار
    بله، حالا فهمیدم منظورتون چی بوده...
    اگر قدرت یک زبان رو در سطح پائین تر بودن و ارتباط بیشتر با سخت افزار بدونیم، اون وقت سی++ قوی تر از سی# خواهد بود (برای تولید نرم افزار)، اگر سرعت تولید نرم افزار رو مبنای بر زمان اتمام و طراحی یک نرم افزار برای ویندوز در نظر بگیریم، اون وقت سی# سرعت بیشتری در تهیه و تولید نرم افزار خواهد داشت.

  19. #19
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727
    همونطور که جاوا از سی++ گرفته شده و سی# سعی کرده بیشتر به سی++ نزدیک باشه، پس به احتمال زیاد، منظور دوستمون همین بوده.
    PC2st.ir عزیز ممنونم ازت، منم منظورم همین بود.

    توی این کتاب چه چیزی گفته شده؟ (تا اونجایی که من می دونم امید اطلاعاتش نسبت به دات نت و البته زبان تخصصیش یعنی #C ، خوبه، پس بیخودی یه حرفی رو نمیزنه)
    چیزایی که من گفتم در مورد دلیل به وجود آمدن سی شارپ و همچنین سربار حافظه ای که در vb.net براثر Garbrage Collection رخ میده و بسیاری چیزای دیگه مطرح شده.

    من حدود یه سال پیش یه مقاله ای پیدا کردم در مورد performence برنامه های نوشته شده توسط vb و سی شارپ که برنامه های نوشته شده با سی شارپ performence بهتری در اجرا داشتند،البته اصل موضوع مربوط به مقایسه ی دو زبان بود، دارم میگردم پیداش کنم به محض اینکه پیداش کردم لینکشو برای اونایی که از حرفای من تعجب کردن میذارم، در ضمن به جای ایراد گرفتن از حرفای من که استدلال نداره، شما اسنادی رو که بر اساس اون میگید حرف من مستدل نیست بیارید، من هم دارم دنبال اسنادم میگردم.

  20. #20
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    38
    پست
    1,491
    بهرحال، بد ندیدم که به یک مقاله به زبانی غیر از پارسی (!) بگردم، لینکش رو این زیر ملاحظه میکنید:

    http://en.wikipedia.org/wiki/Compari...ual_Basic_.NET

    اما یک خلاصه از پاراگرافهای اول از مطالب فوق:


    C#‎ has taken concepts from other languages, notably Java and Delphi, combined with a syntax similar to C and Java.


    1. ویژوال بیسیک کاربران رو مجبور نمیکنه که حتما به روش شی گرائی برنامه نویسی کنند.
    2. سی شارپ ساخته شده که فقط به روش شی گرائی برنامه نویسی کنه.
    پس: بعضی از دوستان که میگن سی شارپ، شی گرا تر از بیسیک دات نت است، شاید منظورشون این بوده.

    1. بیسیک دات نت برای برنامه های کوچک هست. (small appliaction)
    2. سی شارپ برای برنامه های Enterprise application development هست.
    پس: خودتون نتیجه بگیرید.


    1. There are large VB projects that are unusable in VB.Net due to the size of the project.
    2. If your solution is likely to include a large number of classes, C#‎ is highly recommended.


    همچنین:

    Visual Basic .NET culture :

    VB historically was a RAD tool, as well as a tool that was usable by untrained developers, or management. As a result of this wider user base, VB allowed for many shortcuts and ease of use features. These features allowed for the uninitiated to create code, but also contributed to maintenance and debugging issues. Examples of the shortcuts allowed in VB
    --- Optional declaration of variables
    --- Optional Weak Typing using late binding
    --- Optional Parameters

    که البته Optional Parameters رو به کمک دات نت، میشه واسه سی شارپ شبیه سازی کرد.

    و همچنین:

    C#‎ culture :

    C#‎ developers tend to be prior C/C++‎ developers, or Java developers. C#‎ is syntactically very similar to C and Java, the IDEs and command line tools work very similarly, and the culture is the same. Also, C#‎ inherited quite a bit of its style and culture from the Delphi/Object Pascal programming language.

    اینا رو از منبع نوشتم و توضیحات خیلی بیشتری که بهتره خودتون برید ببینید.

  21. #21
    اگر قدرت یک زبان رو در سطح پائین تر بودن و ارتباط بیشتر با سخت افزار بدونیم، اون وقت سی++ قوی تر از سی# خواهد بود (برای تولید نرم افزار)، اگر سرعت تولید نرم افزار رو مبنای بر زمان اتمام و طراحی یک نرم افزار برای ویندوز در نظر بگیریم، اون وقت سی# سرعت بیشتری در تهیه و تولید نرم افزار خواهد داشت.
    ببین این جمله رو با دقت بخون:
    لحاظ قدرت با سی++ رقابت میکنه و از لحاظ سرعت تولید نرم افزار و مدیریت کد همتا نداره
    جمله اول داره در مورد قدرت صحبت می کنه. بعد جمله دوم شروع میشه که میگه #C بی همتاست.
    تقریبا میشه گفت که واقعا سی شارپ شی گرائی خودش رو از جاوا گرفته (بعضی موارد هم شنیدم از دلفی) و همونطور که جاوا از سی++ گرفته شده و سی# سعی کرده بیشتر به سی++ نزدیک باشه، پس به احتمال زیاد، منظور دوستمون همین بوده.
    C#‎ has taken concepts from other languages, notably Java and Delphi, combined with a syntax similar to C and Java.
    شباهت مفهومی و سینتکسی به معنای این نیست که #C شی گراییش رو از جاوا یا ... گرفته. ببین ممکنه من لباسم رنگ لباس شما باشه، یک معلم داشته باشیم به نام Anders Hejlsberg، با هم خیلی هم دوست باشیم و خیلی چیزای مشابه داشته باشیم اما این معناش این نیست که اگر لباس من آبیه و لباس شما هم آبیه پس من لباس شما رو پوشیدم .روشن میگم؟

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

    1. بیسیک دات نت برای برنامه های کوچک هست. (small appliaction)
    2. سی شارپ برای برنامه های Enterprise application development هست.
    پس: خودتون نتیجه بگیرید.


    1. There are large VB projects that are unusable in VB.Net due to the size of the project.
    2. If your solution is likely to include a large number of classes, C#‎ is highly recommended.
    تحت عنوان
    No second class languages
    آورده شده اند
    و این مطالب:

    Visual Basic .NET culture :

    VB historically was a RAD tool, as well as a tool that was usable by untrained developers, or management. As a result of this wider user base, VB allowed for many shortcuts and ease of use features. These features allowed for the uninitiated to create code, but also contributed to maintenance and debugging issues. Examples of the shortcuts allowed in VB
    --- Optional declaration of variables
    --- Optional Weak Typing using late binding
    --- Optional Parameters

    که البته Optional Parameters رو به کمک دات نت، میشه واسه سی شارپ شبیه سازی کرد.

    و همچنین:

    C#‎ culture :

    C#‎ developers tend to be prior C/C++‎ developers, or Java developers. C#‎ is syntactically very similar to C and Java, the IDEs and command line tools work very similarly, and the culture is the same. Also, C#‎ inherited quite a bit of its style and culture from the Delphi/Object Pascal programming language.
    در مورد فرهنگ دارن صحبت می کنن و فرهنگ استفاده ربطی به قدرت و قص علی هذا نداره
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  22. #22
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727
    titbasoft عزیز شما به چه نتیجه ای میخوای برسی ؟؟؟

  23. #23
    سلام
    من که نفهمیدم ماجرا چه جوریاست؟
    تویه جا بعد از کلی بحث آخرش به این نتیجه می رسند که vb.net و C#‎ فقط تو سینتک با هم فرق می کنند (البته با کمی تفاوت های قابل گذشت)
    بعد تو یه جا دیگه بحث به اینجا می رسه که vb.net برا برنامه های کوچیکه!!!!!!!!!!
    1. بیسیک دات نت برای برنامه های کوچک هست. (small appliaction)
    2. سی شارپ برای برنامه های Enterprise application development هست.
    پس: خودتون نتیجه بگیرید.

    آقا تکلیف من و که می خوام یکی از این دو تا رو شروع کنم رو روشن کنید؟؟؟؟؟؟

  24. #24
    خیلی ساده:
    اصولا چنین مقایسه هایی کار درستی نیست. برای هر مقایسه ای باید معیار در نظر گرفت. هر ابزاری برای رسیدن به هدفی خاص طراحی شده و برای رسیدن به اون هدف هم توسعه داده میشه. زیاد لازم نیست در مورد بحث کنیم چون در این مورد زیاد تاحالا بحث شده و البته بحث بی فایده ای هم هست. این وظیفه طراح هر سیستمی که با توجه به عوامل موثر در پروژه خودش و case study های مختلف، در مورد استفاده از ابزارها تصمیم گیری کنه.
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  25. #25
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    38
    پست
    1,491
    نقل قول نوشته شده توسط titbasoft مشاهده تاپیک
    اصولا چنین مقایسه هایی کار درستی نیست. برای هر مقایسه ای باید معیار در نظر گرفت. هر ابزاری برای رسیدن به هدفی خاص طراحی شده و برای رسیدن به اون هدف هم توسعه داده میشه. زیاد لازم نیست در مورد بحث کنیم چون در این مورد زیاد تاحالا بحث شده و البته بحث بی فایده ای هم هست. این وظیفه طراح هر سیستمی که با توجه به عوامل موثر در پروژه خودش و case study های مختلف، در مورد استفاده از ابزارها تصمیم گیری کنه.
    من هم موافقم که این بحث ها ممکنه نتیجه جالبی نداشته باشه اما بهرحال بد نیست گفته بشه، مثلا شاید کسی هم بیسیک بلد باشه هم سی#، اونوقت با توجه به شرایط (بر اساس گفته شما) یکیش رو انتخاب میکنه و در آخر نتایج بحث این خواهد شد که هر زبان برای چه شرایطی خوبه.

  26. #26
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    38
    پست
    1,491
    نقل قول نوشته شده توسط titbasoft
    جمله اول داره در مورد قدرت صحبت می کنه. بعد جمله دوم شروع میشه که میگه #C بی همتاست.
    از نظر من، این دو جمله معانی جدای از هم داشته و منظور از بی همتائی، همون سرعت تولید و مدیریت کدها بوده که البته میتونه بی همتا نباشه ولی جزء بهترین هاست.

    در رابطه با جمله اول :
    لحاظ قدرت با سی++ رقابت میکنه
    در پست شماره 10 از همین تاپیک، در مورد تفاوت سرعت اجرای سی++ و سی# توضیح دادم که همواره سرعت سی# (Managed) پائین تر نیست، پس میتونه تا حدودی (نه کاملا) با سی++ (Unmanaged) برابری کنه.
    البته بازهم سوء تفاهم نشه، در این حالت، من سرعت رو جزئی از قدرت (توانائی) یک زبان به حساب میآرم و منظورم قدرت در نوشتن برنامه های سیستمی نیست ! اگر منظور اون باشه، سی# حرفی برای گفتن نداره (فکر کنم اینجا حرف شما رو تائید کرده باشم) و در ضمن نمیدونم که بیسیک دات نت چه سرعتی داره و تا حالا هم درباره سرعت بیسیک، حرف نزدم.
    بد نیست بگم که به غیر از نرم افزارهای سیستمی، ابزارهائی مثل Multimedia SDK برای سی++ در نظر گرفته شدن (گفتم خودم بگم که بعدا ازم ایراد نگیرید!)

    در رابطه با جمله دوم :
    از لحاظ سرعت تولید نرم افزار و مدیریت کد همتا نداره
    و اگر اون پست قبلیم که توش یک لینک داده بودم رو نگاه کنید، برای مدیریت کدها نوشته، اگر برنامه ای مینویسیم که دارای تعداد زیادی کلاس هست، بهتره که از سی# استفاده بشه (تا بیسیک) چون:
    If your solution is likely to include a large number of classes, C#‎ is highly recommended
    در ضمن سی++ پیچیدگیها و ظرافتهای خاص خودش رو داره و طبعا برای ایجاد یک application با سی++، چزئیات بیشتری رو پیاده سازی نمود. (مثلا در سی++ باید یکبار تابع رو اعلان کنید و بعد باید تابع رو پیاده سازی کنید)

    تحت عنوان No second class languages آورده شده اند
    من که مخالفتی ندارم :) قدرت بیسیک رو کار ندارم :) سنتکس اش هست که شاید باعث شده که بیشتر به درد small applications بخوره، در حالیکه میشه باهاش برنامه های بزرگتر هم نوشت!

    در مورد فرهنگ دارن صحبت می کنن و فرهنگ استفاده ربطی به قدرت و قص علی هذا نداره
    این مطالب رو همینجوری گذاشتم :) چون تا یکجائی از اون مقاله غیر زبان پارسی (!) رو به صورت گزینشی در این پست گنجانده بودم و منظوری از قدرت و غیره نبود !!! تازه بقیه مقاله رو بیخیال شدم گفتم خودتون بخونید :) وگرنه حتما ذکر میکردم که سی# MultiLine Comments هم داره :) (البته بیسیک.نت امکانات دیگری داره که به درد ساده سازی برای برنامه نویس میخوره)

    شباهت مفهومی و سینتکسی به معنای این نیست که #C شی گراییش رو از جاوا یا ... گرفته.
    به نظرم اینجا سوء تفاهمی شده (به احتمال زیاد بدجوری منظور خودم رو عنوان کردم)
    دقیقا منظور من از شباهت، شباهت Syntax و نحوه برخورد ظاهر با اشیاء از لحاظ ساختار دستوری و ... بود، که در نوشته زیر هم تائید شده و منظورم نحوه برخورد ساختار زبان برنامه نویسی سی# با اشیاء (نه از لحاظ فنی)، داده ها و ... که بعضی هاش رو از جاوا گرفته و بعضی هاش هم از سی و دلفی (منظورم این نیست که تکنولوژی اش رو گرفته، شکل ساختاری زبان برنامه نویسی یا محیط IDE (که البته محیط IDE ربطی به زبان نداره، گفتم خودم این رو بگم تا بعدا ازم ایراد گرفته نشه!) و ...)
    C#‎ has taken concepts from other languages, notably Java and Delphi, combined with a syntax similar to C and Java.
    معنی: سی#، طرز فکر خودش رو از دیگر زبانها گرفته است، بطور برجسته از جاوا و دلفی، ترکیب شده با یک سنتکس شبیه به سی و جاوا.
    و برای همچنین میگه:
    C#‎ is syntactically very similar to C and Java, the IDEs and command line tools work very similarly, and the culture is the same.
    Also, C#‎ inherited quite a bit of its style and culture from the Delphi/Object Pascal programming language

  27. #27
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    38
    پست
    1,491
    آقا تکلیف من و که می خوام یکی از این دو تا رو شروع کنم رو روشن کنید؟؟؟؟؟؟
    این دوتا فرقی ندارن، یکیش رو یاد بگیری، اون یکی هم راحت میشه یاد گرفت (چون در واقع در این زبانها، شما با دات نت کار میکنید)
    از اینکه نوشته شده بیسیک دات نت برای small application هست، نمیدونم شاید من اشتباه فهمیدم! ولی فکر کنم بخاطر این گفته که به احتمال زیاد، برنامه نویس در برنامه های بزرگتر، سخت تر میتونه پروژه اش رو کنترل کنه و فکر نمیکنم بخاطر قدرتش باشه.

  28. #28
    The major difference being that VB doesn't force the users to code in a Object Oriented way
    این جمله عبارت درستی نیست، بر اساس یک فرض غلط بیان شده و اون هم اینه که میشه با VB.Net غیر OO کد نوشت. تنها چیزی که میشه گفت اینه که #C کاربر خودش رو مجبور میکنه که تمام جزئیات رو به صورت خیلی Implicit ذکر کنه، که باز این هم با این جمله ای که ذکر شده خیلی تفاوت داره.
    پس نتیجه ای هم که از این جمله گرفته شده یعنی:
    Bottomline is that the VB.Net is for small application and C#‎ is for Enterprise application development.
    هم بر نتیجه گیری از یک استدلال اشتباهه

    آقا تکلیف من و که می خوام یکی از این دو تا رو شروع کنم رو روشن کنید؟؟؟؟؟؟
    بهترین پیشنهاد:
    سعی کنید خودتون رو توی چهارچوب یک تکنولژی خاص قرار ندید. سعی کنید کمی به جای تکنولژی Science یاد بگیرید. روشن تر اگر بخوام بگم اینه که سعی کنید برای یاد گرفتن ساختن برنامه بفهمید وقتی یک کد رو می نویسید داره چه اتفاقی میافته، تا اینکه یک کد رو بنوسید که یک اتفاق بیافته. در اون حالت اگر من هم الان بشینم یک زبان جدید برای دات نت به نام #H بوجود بیارم، شما در عرض چند ساعت می تونید باهاش کد بنویسید.

    پیشنهاد دوم: اگر پس زمینه کار با C ، جاوا یا دلفی دارید با #C و اگر پس زمینه VB دارید با VB.Net شروع کنید. اگر هم اصلا هیچ پس زمینه ای ندارید و کاملا بلنک بلنک هستید با #C شروع کنید چون یک تصور غلط حاکم بر اون وجود داره که از VB.Net بهتره
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  29. #29
    @PC2st.ir: مرسی از پاسخ هاتون. به نظر من بحث روشنه و زیادی پیچیدش نکنیم بهتره

    مجددا از همه دوستان خواهش می کنم به این قسمت توجه کنند:
    سعی کنید خودتون رو توی چهارچوب یک تکنولژی خاص قرار ندید. سعی کنید کمی به جای تکنولژی، Science یاد بگیرید. روشن تر اگر بخوام بگم اینه که سعی کنید برای یاد گرفتن ساختن برنامه بفهمید وقتی یک کد رو می نویسید داره چه اتفاقی میافته، تا اینکه یک کد رو بنوسید که یک اتفاق بیافته. در اون حالت اگر من هم الان بشینم یک زبان جدید برای دات نت به نام #H بوجود بیارم، شما در عرض چند ساعت می تونید باهاش کد بنویسید.
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  30. #30
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    38
    پست
    1,491
    چشم :)
    کاملا با شما موافقم.
    چون بحث زیاد منحرف شد ( خودم زیادی منحرفش کردم، ببخشید... )

  31. #31
    خیلی ممنون تقریبا جوابم رو گرفتم
    اما در مورد بیسیک که دوستی گفتند

    سخت تر میتونه پروژه اش رو کنترل کنه
    منظورش رو نفهمیدم؟



  32. #32
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    38
    پست
    1,491
    سخت تر میتونه پروژه اش رو کنترل کنه
    این حدسی بود که زدم به خاطر همون کلمه small appliacation.....
    و مهم نیست، چون به قول جناب titbasoft، مسئله انتخاب زبان (بین سی# و بیسیک.نت) در دات نت تا این حد بزرگ نیست که جلوه کنه.
    اصل همون تفکرات برنامه نویسیه، نه زبان برنامه نوسی.

  33. #33
    کاربر دائمی آواتار __H2__
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    یک جایی بین Framework و نارمک!
    پست
    1,059
    سلام
    من اطینان میدهم که مطلقاَ تفاوتی ندارند و مباحثی که دوستان مطرح میکنند صرفاَ ناشی از عدم اطلاع ایشان از تواناعی های زبان دیگر است، اساتید #C خیلی میبخشند! ولی چون به زبان VB.Net مسلط نیستند و نمیتوانند مثلاَ فلان کار را در VB.Net به راحتی #C انجام دهند، سریع مشکل را به ذات VB.Net وصل میکنند و لحظه ای تعمل نمیکنند که ما #C کار هستیم نه VB کار، پس طبیعی است که با کار در محیط VB.Net دچار مشکل میشویم.

    به دوستانی هم که میخواهند از بین VB.Net و #C یکی را انتخاب کنند، اول میگویم که انتخاب بسیار خوبی کرده اند و با هر یک از این دو زبان به راحتی میتواندد پروژه های مختلف را بنویسند و در انتخاب باید صرفاَ به سینتکس ها توجه کنند و از هر کدام بیشتر خوششان آمد همان را انتخاب کنند.

  34. #34
    نقل قول نوشته شده توسط __H2__ مشاهده تاپیک
    سلام
    من اطینان میدهم که مطلقاَ تفاوتی ندارند و مباحثی که دوستان مطرح میکنند صرفاَ ناشی از عدم اطلاع ایشان از تواناعی های زبان دیگر است، اساتید #C خیلی میبخشند! ولی چون به زبان VB.Net مسلط نیستند و نمیتوانند مثلاَ فلان کار را در VB.Net به راحتی #C انجام دهند، سریع مشکل را به ذات VB.Net وصل میکنند و لحظه ای تعمل نمیکنند که ما #C کار هستیم نه VB کار، پس طبیعی است که با کار در محیط VB.Net دچار مشکل میشویم.

    به دوستانی هم که میخواهند از بین VB.Net و #C یکی را انتخاب کنند، اول میگویم که انتخاب بسیار خوبی کرده اند و با هر یک از این دو زبان به راحتی میتواندد پروژه های مختلف را بنویسند و در انتخاب باید صرفاَ به سینتکس ها توجه کنند و از هر کدام بیشتر خوششان آمد همان را انتخاب کنند.
    من هم اطمینان میدهم مطلقا این حرف شما اشتباه است و فقط در مورد برنامه نویسان مبتدی صحت داره، شما اگر به هر دو زبان مسط باشید باید بدانید هر کدام این زبان ها ابزار هایی دارند که در دیگری یافت نمی شود ،( منظورم اصلا دات نت فریمورک نیست) ، در نسخه 2003 تفاوت این دو زیاد بود ولی در 2005 این تفاوت بسیار کم شده ، ولی به صفر نرسیده است!
    Iterators , Operator overloading ,متد های بی نام و .....
    به عنوان یک مثال خیلی پیش پا افتاده از keyword های این دو زبان: کلمه using قبلا(2003) در VB وجود نداشت! یا مثلا with که در VB خیلی کد نویسی رو راحت میکنه در #C کجاست؟
    یا مثلا ممکنه برای کاری در #C یک خط کد کافی باشه ولی در VB چند خط و برعکس!
    مطالب خیلی پیشرفته تری وجود داره که برید مطالعه کنید تا متوجه بشید.

    مصمئنا و بدون شک ماهیت هر کدام از این دو زبان باعث می شود برخی از کارها در یکی از این دو راحت تر انجام شود.


    پست شماره 27 titbasoft دوباره بخونید.

  35. #35
    سلام
    PC2st.ir تو یکی از پستاشون یه متنی رو گذاشته بودند من اون رو گرفتم و خوندم اما منظور از

    No second class languages
    رو نفهمیدم

    میشه توضیح بدین منظور از
    No second class languages چیه؟

  36. #36
    کاربر دائمی آواتار __H2__
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    یک جایی بین Framework و نارمک!
    پست
    1,059
    نقل قول نوشته شده توسط arsp_2004 مشاهده تاپیک
    من هم اطمینان میدهم مطلقا این حرف شما اشتباه است و فقط در مورد برنامه نویسان مبتدی صحت داره، شما اگر به هر دو زبان مسط باشید باید بدانید هر کدام این زبان ها ابزار هایی دارند که در دیگری یافت نمی شود ،( منظورم اصلا دات نت فریمورک نیست) ، در نسخه 2003 تفاوت این دو زیاد بود ولی در 2005 این تفاوت بسیار کم شده ، ولی به صفر نرسیده است!
    Iterators , Operator overloading ,متد های بی نام و .....
    به عنوان یک مثال خیلی پیش پا افتاده از keyword های این دو زبان: کلمه using قبلا(2003) در VB وجود نداشت! یا مثلا with که در VB خیلی کد نویسی رو راحت میکنه در #C کجاست؟
    یا مثلا ممکنه برای کاری در #C یک خط کد کافی باشه ولی در VB چند خط و برعکس!
    مطالب خیلی پیشرفته تری وجود داره که برید مطالعه کنید تا متوجه بشید.

    مصمئنا و بدون شک ماهیت هر کدام از این دو زبان باعث می شود برخی از کارها در یکی از این دو راحت تر انجام شود.


    پست شماره 27 titbasoft دوباره بخونید.
    سلام
    دوست عزیز معیار من همیشه آخرین ورژن است.
    1- Operator overloading کاملا و بدون شک در VB.Net پشتیبانی میشه
    2- در مورد متدهای بی نام هم لطفاَ کمی توضیح دهید.
    3- Iterators هم که با یک Collection در VB قابل حل است.
    3- در مورد دستور زیبا With هم حق با شماست ولی نباید تصور کرد که این دستور کار شاقی انجچام میدهد! کافی است یک متغییر در #C تعریف کنید و مقدار را در آن بریزید و هرکجا نیاز داشتید از آن استفاده کنید، (دقیقاَ With هم در باطن همین کار را میکند) منظورم انکار تفاوتها نیست ولی چیزهایی که به این راحتی حل میشود تفاوت به حساب نمی آید.


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

  37. #37
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    38
    پست
    1,491
    نقل قول نوشته شده توسط arsp_2004
    مصمئنا و بدون شک ماهیت هر کدام از این دو زبان باعث می شود برخی از کارها در یکی از این دو راحت تر انجام شود.
    منم موافقم :)

    نقل قول نوشته شده توسط sgb110
    میشه توضیح بدین منظور از No second class languages چیه؟
    یعنی بدون زبان درجه 2...
    That is, all of the various Microsoft languages should have the same level of access to all OS features, and all expose the same level of power and usability.
    بطور خلاصه یعنی: تمام زبانهای مایکروسافت مشابه (یکسان) هستند از لحاظ سطح دسترسی به سیستم عامل و قدرت و قابلیت استفاده. (فکر کنم منظورش در حیطه Managed بوده)

    همینطور که به مشخصات جدید سی# 3 و بیسیک.نت 9 دفت کنید، خواهید دید امکانات مشابهی (یکسانی) رو به نسخه جدیدشون اضافه کردند.

  38. #38
    ببینید گذشته از تفاوت هایی که دوستان مطرح کردند؛

    در VB.NET هنوز امکان برنامه نویسی مانند گذشته (VB6) وجود داره.
    یعنی هنوز می تونی خیلی کثیف کد نویسی کنی و به نتیجه هم برسی! از جمله مهمترین اینها Late binding است.

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


    Private Sub ّForm1_Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Form2.Show()
    Form2.Text = "Hello from form1"
    End Sub


    در ظاهر شاید این یک ویژگی به نظر برسه ولی سمی مهلک است که قالب شربت به برنامه نویسان تازه کار خورانده میشود. ( البته این مورد از dotNET 2 فراهم شده)


    ساختار زبان C#‎ به گونه ای است که برنامه نویس کمتر می تواند کثیف کد نویسی کند و این امکان برای او کمتر فراهم شده است.


    در مجموع بهترین زبان برای برنامه نویسی دات نت #C است.
    ولی اگر امکانات #C برای کار با .NETشما را راضی نمی کند بروید به دنبال C++‎.NET

  39. #39
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727
    دوستان اگه قرار بود سی شارپ و vb با هم یکی باشند، پس چه نیازی بود که مایکروسافت به فکر ایجاد زبانی تازه بیفته ؟ خوب همون C++‎ رو توسعه میداد، واسه چی سی شارپ رو تولید کرد ؟

    الان باز یکی گیر میده که کی گفته سی شارپ و vb با هم یکی هستند، منظورم از لحاظ طرز کار و performence برنامه ها و کلا از لحاظ امکانات برنامه نویسی و تکنولوژی است.

  40. #40
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    38
    پست
    1,491
    2- در مورد متدهای بی نام هم لطفاَ کمی توضیح دهید.
    متدهائی که بدون اینکه نامی داشته باشند، در یک شئ delegate قرار میگیرند.

    Iterators هم که با یک Collection در VB قابل حل است.
    ببخشید، منظورتون رو نفهمیدم که چطور میشه با Collection مشکل رو حل کرد.

    کافی است یک متغییر در #C تعریف کنید و مقدار را در آن بریزید و هرکجا نیاز داشتید از آن استفاده کنید، (دقیقاَ With هم در باطن همین کار را میکند)
    فکر نمیکنم که with چنین کاری انجام بده، بلکه در هنگام کامپایل، فضای نام مربوطه (یا کلاس مربوطه) رو اضافه میکنه (تا آدرس دهی بشه)، شاید هم شما درست بگی.

    بدون شک من که بیشتر وقتم را با Basic صرف نکردم نباید انتضار داشته باشم تمام قابلیت های #C را بشناسم و به همان سرعت و قدرت که در VB کد نویسی میکنم در #C کد نویسی کنم و منطقی نیست تا کاری را نتوانستم در #C انجام دهم
    بگویم #C نمیتواند فلان کار را انجام دهد! باید بگویم من تجربه کافی کار با #C را ندارم و نتوانستم فلان کار را به راحتی انجام دهم.
    دوست عزیز، منظور این نیست که بیسیک.نت توانائی مقابله با سی# رو نداره. منظور سنتکس بیسیک.نت هست، علاوه بر موارد قبلی که گفته شد، با فرض اینکه یک برنامه نویس تازه کار، بخواد در محیط بیسیک.نت شروع به کد نویسی کنه، ممکنه که خیلی از مفاهیم برنامه نویسی رو نفهمیده باشه، مثلا به قول دوستمون:
    نقل قول نوشته شده توسط SalarSoft
    برای مثال می تونید از سایر فرم ها های پروژه تان بدون تعریف نمونه استفاده کنید.
    پس در واقع برنامه نویسی میکنه و از جزئیاتش چیزی نمیفهمه و میاد در سی# مینویسه:

    form1.Show();

    کامپایل ارور میده و میگه که کلاس نمونه سازی نشده! (اصلا چنین شئ ائی وجود نداره !)
    همونطور که من در سی# عملیات باکسینگ و اینباکسینگ رو بدون نوشتن کد اضافی ( و تنها بصورت casting ) انجام میدم، بیام در سی++ چنین کاری بکنم با error روبرو میشم.

    به قول قدیمیها: نه به اون شوری شور (سی++) نه به این بی نمکی (بیسیک.نت) ... البته شوخی کردم، اجهاف نشه... بیسیک.نت خیلی بی نمک نیست، کمی از سی# بی نمک تر است چون در نهایت کد نهائی هر جفتشون IL میباشد. ایراد نگیرید، میدونم، شوری و بی نمکی رو شرایط موجود تعیین میکنند. مثلا اگر هدف نوشتن برنامه های خفن (!) باشه، شوری شور میشه اسمبلی و بی نمک میشه سی++ ( همه این شوری ها و بی نمکی ها از لحاظ سنتکس بود که گفتم )

    همچنین در تکمیل گفته هام بگم که بعدا معترض نباشید:
    1. با بیسیک.نت میشه برنامه های خوب و کاملی نوشت و نمیشه مخالف این بود.
    2. نوشتن برنامه ها با بیسیک.نت هیچ ایرادی نداره، چون در نهایت به کد IL ترجمه میشه.
    3. و غیره ( بقیه اش رو خودتون بهتر میدونید ) ...

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

صفحه 3 از 6 اولاول 12345 ... آخرآخر

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

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